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有了新的理解.于是,打算重新写一篇文章,介绍移动端视口的相关概念. 关于这篇文章说到的所有知识 ...
随机推荐
- 【同步时间】Linux设置时间同步
所有节点都要确保已安装ntpd(在步骤4已安装) 1.首先选择一台服务器作为时间服务器. 假设选定为node1.sunny.cn服务器为时间服务器. 2.ntp服务器的配置 修改ntp.conf文件: ...
- 第二章 第二个spring-boot程序
上一节的代码是spring-boot的入门程序,也是官方文档上的一个程序.这一节会引入spring-boot官方文档推荐的方式来开发代码,并引入我们在spring开发中service层等的调用. 1. ...
- angular 之路由
1.用angular-cli建一个工程自带路由怎么做? 命令:ng new 项目名 --routing 2.怎么使用路由器和路由器的一些基本使用. //html页面 <a routerLink ...
- activemq、rabbitmq、kafka原理和比较
一.activemq 虽然是java写的消息队列,但是提供Java, C, C++, C#, Ruby, Perl, Python, PHP各种客户端,所以语言上是没什么问题的.配置和使用,基本上是j ...
- dbms_job.submit方式创建job,太老了
--方法一declarejobno number; begin dbms_job.submit(jobno, 'xxxx;', xxxx, 'xxxx'); commit ...
- Arachni web扫描工具
扫描工具-Arachni from:https://blog.csdn.net/zixuanfy/article/details/52818527 ./arachni_console ...
- notepad++支持自定义文件类型
场景描述: 使用notepad++编辑less.ejs文件,发现高亮和提示均无效,修改如此需要进行额外的设置: 解决方法: 以less为例, 1.设置 >语言格式设置 >语言里找到CSS, ...
- linux 命令 --if
if else-if else 语法格式: if condition1 then command1 elif condition2 then command2 else commandN fi 例如: ...
- idea如何热部署(转)
IntelliJ IDEA 怎么热部署,每次修改java文件就得重启tomcat 原文链接:http://blog.csdn.net/dandandeshangni/article/details/ ...
- linux命令返回值的含义
linux命令执行后无论成功与否都有一个返回值: 如果为 0,则表示命令执行成功,其它值则表示错误, 具体的错误码含义如下: "OS error code 1: Operation not ...