2024年7月17日 17:59 by wst
web开发当做平台型项目的时候,一般希望用户的数据可以统一。并且用户数据可以打通,同时积分在各子平台可以通用。
假如有如下的实体关系:
说明:
* 左边的绿色块为应用,包括手机APP、网站、小程序;
* 有很多个商家,可以入驻各平台(应用);
* 用户可能通过应用访问多个商家;
那么该怎么设计表,以及处理他们之间的关系呢?
首先要确定的是,我们通过什么唯一确定一个用户;
其次,怎么统一各平台的数据;
再次,怎么给各实体分配ID;
这里的解决方案是:
1. 设计平台(应用)表、商家表、用户表、商家-平台表、店铺表、用户日志表;
2. 它们之间的关系是:
* 商家可以入驻多个平台;
* 商家可以拥有多个店铺;
* 一个用户可以访问多个店铺;
* 用户每次访问的“用户中心”的时候记录平台信息、商家信息、店铺信息、全局ID;
3. 内置关系:
* 每个平台都有一个事先预设的平台ID(来自于平台表);
* 用户在打开平台的时候,会自动定位最近的店铺;
* 用户在访问店铺的时候,会带上平台ID、商家ID、店铺ID请求到后台;
4. 唯一确定一个用户是通过unionid或者手机号,每个唯一用户都有一个用户编码code;
以上就是用户中心的设计方案,不同开发语言实现方式各不相同;
如果在实现的过程中碰到问题,欢迎留言!