根据cookie记录跟踪ID来确定分享对象
一 :思路分析
1:用户注册的时候标记推客
2:推客生成分享链接
分享链接构成 (环境前缀+(此链接打开时需要调用的接口+推客的标记+&url=(商品的链接)))
3:需要写一个分享链接调用的接口
当别人根据分享链接下单时 。后端记录推客的标记 ,记录订单来源到cookie ,跳转链接
下订单时前台读取cookie并传入下单接口写入数据库(推客标记,订单来源)
例:www.taobao.com.cn+/tuike/tranck.aspx?tid=123456(表示一个推客)+&url=产品链接
public ActionResult Tranck()
{
string tid=Request.QueryString["tid"].tostring();
string url=Request.QueryString["url"].tostring();
//降tid写入cookie
// 返回url
//下订单时写入数据库
}
二:写入cookie读取cookies
后端添加cookie
public static string ChannelCID
{
get { return CookiesHand.GetCookie("ChannelCID"); }
set { CookiesHand.SaveCookie(Framework.Config.Domain, "ChannelCID", value, ); }
}
public static void SaveCookie(string domain, string name, string value, int saveDays)
{
HttpCookie cookie;
HttpRequest request = HttpContext.Current.Request;
HttpResponse response = HttpContext.Current.Response;
cookie = request.Cookies[name];
if (cookie == null)
cookie = new HttpCookie(name);
////指定客户端脚本是否可以访问[默认为false]
//cookie.HttpOnly = true;
////指定统一的Path,比便能通存通取
cookie.Path = "/";
cookie.Domain = domain;
if (saveDays > )
cookie.Expires = DateTime.Now.AddDays(saveDays);
cookie.Value = HttpUtility.UrlEncode(value);
response.AppendCookie(cookie);
}
前端获取浏览器中存在的cookie
document.cookie
根据cookie记录跟踪ID来确定分享对象的更多相关文章
- cookie记录用户名
在说如何用cookie记录用户名之前,我们先来说说cookie的工作原理: cookie : 存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来像访问者电脑上存储数据 ; 1. ...
- cookie记录浏览记录
cookie记录浏览记录 HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做 ...
- cookie记录用户的浏览商品的路径
在电子商务的网站中,经常要记录用户的浏览路径,以判断用户到底对哪些商品感兴趣,或者哪些商品之间存在关联. 下面将使用cookie记录用户的浏览过的历史页面.该网站将每个页面的标题保存在该页面的$TIT ...
- cookie记录横向滚动条位置
一.Css <style type="text/css"> #x{ width: 100%; white-space: nowrap; overflow-x: scro ...
- JS利用cookie记录当前位置实现刷新页面后还可以保持菜单栏的展开或闭合
代码如下,重点是JS部分的代码(部分样式引用的是Bootstrapt中的): <style> .sidebar-menu .special{ font-size: 16px; marg ...
- SSM获取表单数据插入数据库并返回插入记录的ID值
以下指示插入操作以及获取记录值的ID的部分操作代码!!! 首先是简单的表单实现 <%@ page language="java" contentType="text ...
- 通过cookie记录,设置页面访问的跳转页
通过cookie记录,设置页面访问的跳转页 转载自:http://blog.csdn.net/yixiao_naihe/article/details/26679515. 目的: 1.访问fm.htm ...
- ThinkPHP框架返回插入记录的id号
ThinkPHP返回插入记录的id号 $Form->create()) $result = $Form->add(); 在执行上述语句后,若存在auto_increment字段,则可以使用 ...
- MyBatis插入数据之后返回插入记录的id
MyBatis插入数据的时候,返回该记录的id<insert id="insert" keyProperty="id" useGeneratedKeys= ...
随机推荐
- html5中如何去掉input type date默认
html5中如何去掉input type date默认样式 2.对日期时间控件的样式进行修改目前WebKit下有如下9个伪元素可以改变日期控件的UI:::-webkit-datetime-edit – ...
- 洛谷P4117 [Ynoi2018]五彩斑斓的世界 [分块,并查集]
洛谷 Codeforces 又是一道卡常题-- 思路 YNOI当然要分块啦. 分块之后怎么办? 零散块暴力,整块怎么办? 显然不能暴力改/查询所有的.考虑把相同值的用并查集连在一起,这样修改时就只需要 ...
- 判断js数据类型的四种方法,以及各自的优缺点(转)
转载地址:https://blog.csdn.net/lhjuejiang/article/details/79623973 数据类型分为基本类型和引用类型: 基本类型:String.Number.B ...
- 手把手教你React Native 实战之开山篇《一》
先说一下我为什么学习RN 18年3月29号,随着自己内心的欲望和冲动,任务交接了一下,正式离开一家医疗公司.第二天就入职了这之前已经找好的公司,由于自己对代码浓厚的热情,自己终于也不再带团队.正好有充 ...
- swift 学习- 18 -- 自动引用计数
// Swift 使用 自动引用计数 (ARC) 机制来跟踪和管理你的应用程序的内存, 通常情况下, Swift 内存管理机制会一直起作用, 你无须自己来考虑内存的管理, ARC 会在类的实例不再被使 ...
- Confluence 6 home 修改 Home 目录的位置
当 Confluence 第一次启动的时候,Confluence 将会读取 confluence-init.properties 文件并从这个文件中确定如何去查找 Home 目录. 希望修改 home ...
- Confluence 6 注册单一小工具
如果你不能订阅一个应用的小工具,你需要将小工具一个一个的添加进来.针对网站不支持小工具订阅和你的应用和你的 Confluence 不能建立信任连接的情况,你就只能这样添加了. 首先你需要获得小工具的 ...
- x学生管理系统(用中间件)-------基于FORM组件
目的:实现学生,老师,课程的增删改查 models.py from django.db import models # Create your models here. class UserInfo( ...
- FFmpeg的一般流程
FFMPeg一般流程: 1.av_register_all();//注册所有文件格式和编解码库 2.avformat_network_init();//打开网络视频流 3.av_open_input_ ...
- Lottie 动画
#### 三方框架之Lotti使用Lottie 的使用 1.添加 Gradle 依赖 dependencies { compile 'com.airbnb.android:lottie:1.5.3'} ...