根据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= ...
随机推荐
- springmvc框架原理分析和简单入门程序
一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解这个思想,struts2在web层,spring在中间控制,hibernate在dao层与数据库打交 ...
- MongoDB、Hbase、Redis等NoSQL优劣势、应用场景
NoSQL的四大种类 NoSQL数据库在整个数据库领域的江湖地位已经不言而喻.在大数据时代,虽然RDBMS很优秀,但是面对快速增长的数据规模和日渐复杂的数据模型,RDBMS渐渐力不从心,无法应对很多数 ...
- functions 示例
示例1: ","字符串截取 CREATE OR REPLACE FUNCTION splitstr(p_string IN VARCHAR2, p_delimiter IN VA ...
- Confluence 6 配置白名单
Confluence 管理员可以通过添加 URLs 到白名单选择出入的链接和使用 RSS 宏,HTML 包含宏和小工具中的内容. 如果一个内容被添加到 Confluence 系统中,但是这个 URLs ...
- ionic3 极光推送
参考网站:http://www.jianshu.com/p/eb8ab29329d9 遇到的问题是 执行以下命令一直报错 cordova plugin add https://github.com/ ...
- webpack2配置备份
package.json: { "name": "leyi", "version": "1.0.0", "ma ...
- algorithm的基本注意事项
find(): 返还指向该迭代器的指针,找不到返还last:lnlt find(lnlt first,lnlt last ,const T&val);范围[first,last); list: ...
- ubuntu18.04进不了桌面
ubuntu升级18.04进不了桌面 https://chengfeng.site/2018/05/02/ubuntu%E5%8D%87%E7%BA%A718-04%E8%B8%A9%E7%9A%84 ...
- mybatis初始化过程
mybatis初始化如下: //加载配置文件InputStream resourceAsStream = Resources.getResourceAsStream("testMybatis ...
- JS去除空格和换行的正则表达式(推荐)
//去除空格 String.prototype.Trim = function() { return this.replace(/\s+/g, ""); } //去除换 ...