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有了新的理解.于是,打算重新写一篇文章,介绍移动端视口的相关概念. 关于这篇文章说到的所有知识 ...
随机推荐
- C# 版本和.NET 版本以及VS版本的对应关系
https://en.wikipedia.org/wiki/C_Sharp_(programming_language)#Versions http://stackoverflow.com/quest ...
- MyBatis使用小案例
首先回顾一下MyBatis封装简化Dao层连接数据库操作的顺序. 首先MyBatis是一个引入的jar包,还有一些依赖包,可能用不到的jar包,一并引入就好了,再多引入一个Juntil.jar测试包( ...
- BZOJ 2226 【SPOJ 5971】 LCMSum
题目链接:LCMSum 这个题显然就是要我们推式子了……那么就来推一波: \begin{aligned}&\sum_{i=1}^n lcm(i,n) \\=&\sum_{i=1}^n\ ...
- a href 属性
两种用法: 页面跳转时使用 url (部分浏览器会阻止新窗口弹出页面),其他情况一律遵循 ‘结构样式行为分离’ 1. url href="#" 文档顶部 ...
- 解决本地项目推送到码云(github),上提示:failed to push some refs to ...
本地项目上传github 命令如下: 1.git init 2.git add . 3.git commit -m "init" 4.git remote add origin ...
- java中字面量,常量和变量之间的区别(附:Integer缓存机制)
一.引子 在各种教科书和博客中这三者经常被引用,今天复习到内存区域,想起常量池中就是存着字面量和符号引用,其实这三者并不是只在java中才有,各个语言中都有类似的定义,所以做一下总结,以示区分. 二. ...
- 雷林鹏分享:Ruby 文件的输入与输出
Ruby 文件的输入与输出 Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现.所有的 I/O 方法派生自 IO 类. 类 IO 提供了所有基础的方法,比如 read. wr ...
- Android 之低版本高版本实现沉浸式状态栏
沉浸式状态栏确切的说应该叫做透明状态栏.一般情况下,状态栏的底色都为黑色,而沉浸式状态栏则是把状态栏设置为透明或者半透明. 沉浸式状态栏是从android Kitkat(Android 4.4)开始出 ...
- HDU 4522 (恶心建图)
湫湫系列故事——过年回家 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
- halcon之屌炸天的变形匹配(1)
在日常工程应用中,我们通常通过halcon的 shape-based matching(形状匹配)进行各种定位, 如以前文章介绍的这样,理解各个参数并灵活应用通常就能得到很好的匹配效果和匹配速度, 当 ...