根据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, 30); } }
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 > 0) cookie.Expires = DateTime.Now.AddDays(saveDays); cookie.Value = HttpUtility.UrlEncode(value); response.AppendCookie(cookie); }
前端获取浏览器中存在的cookie
document.cookie
111111