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 没有

 

posted @ 2018-11-28 20:37  凯宾斯基  阅读(1878)  评论(0编辑  收藏  举报