根据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= ...
随机推荐
- Spring Boot (一): Spring Boot starter自定义
前些日子在公司接触了spring boot和spring cloud,有感于其大大简化了spring的配置过程,十分方便使用者快速构建项目,而且拥有丰富的starter供开发者使用.但是由于其自动化配 ...
- win2008 C盘清理
需要在Windows Server 2008上安装“桌面体验”才能使用磁盘清理工具,安装“桌面体验的”的具体步骤如下: 1. 打开“服务器管理器”——在“功能摘要”下,单击“添加功能”. 2. ...
- 关于main函数的参数问题
我们经常用的main函数都是不带参数的.因此main 后的括号都是空括号.实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数.C语言规定main函数的参数只能有两个, 习惯上这 ...
- Confluence 6 使用 CSS 样式化 Confluence 的介绍
这个页面对 Confluence 通过修改 CSS 来改变外观和感觉的情况进行了说明. 层叠样式表(Cascading Style Sheets (CSS))是对 Web 页面进行样式化的工业化标准. ...
- servlet 乱码解决方法
一. servlet 发送的html 页面中文乱码 解决方法, 1.加入如下代码 response.setCharacterEncoding("UTF-8"); 2.在html页面 ...
- C语言访问一个链接
示例代码1: # include <Windows.h> int main(){ system("start http://""www.baidu.com&q ...
- jenkins 回滚发布
#jenkins拉取文件路径 workspace=/data/wos/testtemp #备份路径 backspace=/data/wos/back #不能提Git的文件 config=/data/w ...
- js两种写法执行速度比较
记录 function test1(){ this.say = function(){} } function test2(){ this.say = function(){} return this ...
- 通过自定义比较器排序(C#版)
一.方法概述 自定义比较器需要实现接口IComparer<T> 二.示例过程 1.新建一个Product产品类 /// <summary> /// 产品类 /// </s ...
- IDEA新建模块