c端用户体系实现方案
问题:
同个用户的来源 有微信,脸书,浏览器 怎么鉴定他们为同一个人呢?
解决:
数据库2张表
c_user表 记录c端用户 信息 记录 唯一uuid ,平台来源 手机号码
浏览器进来是匿名用户 无手机号码 头像 名称
微信、脸书进来 也无手机号码 ,但是能获取其 头像 和 昵称
c_user_CUS表 记录 不同agent ,哪些c端用户访问过他的东西 or 咨询
一个新的c端用户访问agent的东西,首先会往c_user表(记录进过我们app的c端用户)和c_user_CUS表(每个agent名下关联的c端用户,即进过我们app的c端用户 那些又看过他文章的) 各存一条这个c端用户的信息
业务逻辑: c端用户访问产品 资讯顾问的时候要授权一个手机号码
如
一个微信用户访问了agentA信息并授权了手机号码,那么他c_user表 和 c_user_CUS表 会记录他的手机号码 mobile
然后,用户A去浏览器再访问agentA的产品 首先会往c_user表和c_user_CUS表 各存一条这个c端用户的信息,咨询的时候他又授权了手机号码,
注意 授权手机号码的时候,后台先拿 这个浏览器授权的手机号码去c_user表里面 手机号码字段比对,是否存在相同的授权手机号(还可以加个判断 先取微信来源 表里有typec端用户类型字段,没有微信来源取脸书,没有脸书取浏览器,相同来源类型下有多个相同的授权手机号码,再按c端用户进来c_user表的创建时间倒序 取最新进来的那个),存在就把这个用户再写入到c_user_CUS表 里,原来浏览器未授权时的记录就会删除掉,如果c_user_CUS表 该agent关联的c端用户已存在相同的授权用户,就不再写入,并返回 相同授权手机号码的用户的唯一uuid 返回给浏览器 存储在Local Storage里,
这个浏览器再次咨询,会带上Local Storage里面的uuid ,那么后台就可以把这个行为归为那个 微信授权了手机号码那个用户
清除Local Storage里面的uuid,浏览器再次授权手机号码,再次往后台比对,后台再返回原来已授权手机号码用户的uuid存到浏览器里面
如果这个c_user表和c_user_CUS表只有一个用户浏览器A,当浏览器A授权手机号码时,应为在cuser表里没有找到对应的手机号码,那么会往当前这个用户的信息加上授权手机号码c_user表和c_user_CUS表同时加上,这个浏览器A的行为就是他自己的行为,当浏览器合并了用户后,他的行为都归到合并的用户名下
cookie 和 local storage 区别
https://www.cnblogs.com/zr123/p/8086525.html
cookie是有时效的, local storage 没有
c端用户体系实现方案的更多相关文章
- webapp用户身份认证方案 JSON WEB TOKEN 实现
webapp用户身份认证方案 JSON WEB TOKEN 实现Deme示例,Java版 本项目依赖于下面jar包: nimbus-jose-jwt-4.13.1.jar (一款开源的成熟的JSON ...
- 如何写好B端产品的技术方案?
B端产品为企业提供协同办公的工具,帮助企业解决某类经营管理问题,核心价值在于为企业增加收入.降本提效.管控风险,企业级SaaS产品也是B端产品中的一类. B端产品有以下特点: 客户是一个群体:B端产 ...
- 关于Hadoop用户体系的设想(胡思乱想)
关于Hadoop的用户体系设计设想 Hadoop并没有一个完整的用户体系,其权限控制的对象,主要是Linux的其它用户(即非安装Hadoop的用户),控制方式也和Linux的文件权限很像,目前权限控制 ...
- YII学习,实现基于数据库的后台登录,用户体系.
上次研究Yii框架写到了要完成用户登陆系统.这次接着上次的写. 参考官方权威指南和参考手册,外加各种博客文章.历尽千辛万苦,数遍天上滴星星.完成了后台用户登录.这里用到了YII框架的 CUserIde ...
- 基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范
基于rem的移动端响应式适配方案(详解) : https://www.jb51.net/article/118067.htm 移动端H5页面的设计稿尺寸大小规范 http://www.tuyiyi.c ...
- Istio 生产环境用户流量接入方案
总结Istio 生产环境用户流量接入方案 方案1 Client -> istioGateway域名(微服务) -> VritualService匹配路由并绑定网关 -> Destin ...
- Kubernetes 用户流量接入方案
总结Kubernetes 生产环境用户流量接入方案 方案1 client -> ddos -> waf -> slb 7层域名 -> nginx端口 -> ingress ...
- 国内外移动端web适配屏幕方案
基础知识点 设备像素:设备像素又称物理像素(physical pixel),设备能控制显示的最小单位,我们可以把这些像素看作成显示器上一个个的点. iPhone5的物理像素是640X1136. PS: ...
- 基于REM的移动端响应式适配方案
视口 在前一段时间,我曾经写过一篇关于viewport的文章.最近由于在接触移动端开发,对viewport有了新的理解.于是,打算重新写一篇文章,介绍移动端视口的相关概念. 关于这篇文章说到的所有知识 ...
随机推荐
- nodejs v8引擎
Node.js 线程你理解的可能是错的 本文代码运行环境 系统:MacOS High Sierra Node.js:10.3.0 复制代码 Node.js是单线程的,那么Node.js启动后线程数是1 ...
- bzoj 2226 LCMSum 欧拉函数
2226: [Spoj 5971] LCMSum Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 1123 Solved: 492[Submit][S ...
- Java回顾之I/O
这篇文章主要回顾Java中和I/O操作相关的内容,I/O也是编程语言的一个基础特性,Java中的I/O分为两种类型,一种是顺序读取,一种是随机读取. 我们先来看顺序读取,有两种方式可以进行顺序读取,一 ...
- JavaScript--变量和运算符
JavaScript--变量和运算符 一.心得 JavaScript语法:变量声明 var弱类型 var中可以是任何类型在JavaScript里面,单&单|是位运算符.变量没有值使用的话就是u ...
- Django配置让其他电脑访问网站(包括:修改IP和端口)
http://blog.sina.com.cn/s/blog_9c5364110101fyk7.html
- UVALive-3887 Slim Span (kruskal)
题目大意:定义无向图生成树的最大边与最小边的差为苗条度,找出苗条度最小的生成树的苗条度. 题目分析:先将所有边按权值从小到大排序,在连续区间[L,R]中的边如果能构成一棵生成树,那么这棵树一定有最小的 ...
- vue 点击按钮 input框架获取焦点的方法
在按钮事件里加上这一段this.$nextTick(() =>{ this.$refs.input.focus()})
- redis集群登陆
如何登陆redis集群 redis-cli -h 10.12.4.45 -p 7000 -c -a alkdsjf134rj01 ip:10.12.4.45 集群中的一个点 -c 以集群方式登陆.cl ...
- OAF调用JavaScript新开窗口
在OAF框架中,ORACLE标准本身并不推荐使用JS,但是仍然提供了相应的方法. String oaUrl="https://www.baidu.com/"; pageContex ...
- nodejs 前端工具总结
htmlhint https://github.com/yaniswang/HTMLHint 使用 var HTMLHint = require("htmlhint").HTMLH ...