| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- @startuml
- left to right direction
- skinparam monochrome true
- actor "个人用户\n经销商\n参展商\n等等" as User
- actor "管理员" as SysUser
- rectangle "CMS + 管理系统" {
- "CMS浏览:\n门户信息\n公告\n等等" as (cms)
- "CMS发布:\n门户信息\n公告\n等等" as (cmsSys)
- "短信发送服务" as (sms)
- "用户信息" as (userInfo)
- "楼层、展会、参展商信息" as (3info)
- (专属海报-企业) <.. (分享邀请-企业) : <<包含>>
- (sms) <.. (营销短信) : <<依赖>>
- (cms) ..> (cmsSys) : <<依赖>>
- User --> (cms)
- (3info) <-- SysUser
- (cmsSys) <-- SysUser
- (userInfo) <-- SysUser
- (分享邀请-企业) <-- SysUser
- (营销短信) <-- SysUser
- }
- rectangle 微信服务 {
- "实名+人脸识别" as (wx)
- "解析身份信息" as (wx2)
- (wx) ..> (wx2) : <<包含>>
- (wx2) ..> (userInfo) : <<依赖>>
- }
- rectangle "硬件-门禁" {
- "人脸识别" as (jcc)
- "解析身份信息" as (jcc2)
- (进出场) ..> (jcc) : <<包含>>
- (jcc) ..> (jcc2) : <<包含>>
- (jcc2) ..> (userInfo) : <<依赖>>
- }
- rectangle 小程序 {
- "登录/注册" as (login)
- User --> (login)
- (login) ..> (wx) : <<依赖>>
- (login) ..> (渠道来源) : <<包含>>
- (login) ..> (短信验证码) : <<包含>>
- (短信验证码) ..> (sms) : <<依赖>>
- User --> (分享邀请-个人)
- (分享邀请-个人) .> (专属海报-个人) : <<包含>>
- User --> (专属海报-个人) : <<浏览其它用户的海报>>
- (专属海报-个人) ..> (邀请关系关联) : <<包含>>
- (邀请关系关联) ..> (userInfo) : <<依赖>>
- User --> (进出场)
- User --> (导航)
- (导航) ..> (地图) : <<包含>>
- (导航) ..> (线上展馆) : <<包含>>
- (地图) ..> (3info) : <<依赖>>
- }
- @enduml
- @startuml
- left to right direction
- skinparam monochrome true
- map "字典-渠道" as channel{
- code => PK
- name =>
- }
- map "现有CMS的用户表" as u{
- id => PK
- ... =>
- }
- map "邀请海报" as invitation {
- id => PK
- url => 海报的访问地址
- content => 海报的内容\n是图片还是富文本?\n根据业务来定,可能还要单独的表
- code => 邀请码?
- user_id => 用户ID
- type => 类型\n区别个人还是企业
- }
- invitation::user_id --> u::id
- map "用户扩展表" as user{
- user_id => PK:用户ID
- invitation_user => 邀请的用户
- channel_code => 注册时的渠道码\n保存当时选择的渠道快照
- channel_name => 注册时的渠道名\n保存当时选择的渠道快照
- 微信相关 => 不清楚CMS是否能接入微信\n不能的话,就要扩展微信相关字段
- }
- user::user_id --> u::id
- user::invitation_user --> u::id
- user::channel_code ..> channel::code
- user::channel_name ..> channel::name
- map "参展商信息" as exhibitors{
- user_id => PK:用户ID
- ... => 一些说明或公司介绍等字段?
- }
- exhibitors::user_id --> u::id
- map "展会" as act{
- id => PK
- start_time => 展会开始时间
- end_time => 展会结束时间
- ... => 一些展会的介绍等字段?
- }
- map "字典-展位" as booth{
- code => PK:展位比如1-001
- floor => 楼层
- ... => 一些位置的介绍说明等字段?
- }
- map "展会详情" as act_info{
- id => PK
- act_id => 展会ID
- booth_code => 展位编码
- exhibitors_id => 参展商ID
- ... =>
- }
- act_info::act_id --> act::id
- act_info::booth_code --> booth::code
- act_info::exhibitors_id --> exhibitors::user_id
- map "短信" as sms{
- id => PK
- message => 短信消息
- code => 验证码,可能会有
- user_id => 接收的用户
- tel => 电话号码
- status => 状态,默认1\n1:未发送\n2:发送成功\n3:发送失败
- max_retry => 最大失败重试次数,默认3
- retry => 已失败重试次数,默认0
- }
- map 现在CMS的文章表 {
- id => PK
- content => 文章内容
- }
- @enduml
- @startuml
- participant 小程序 as ui
- participant 后台 as sys
- ui -> sys: wx.login 登录,带上code
- sys --> ui: 返回用户在微信的唯一标识openid\n如果已经注册过用,就返回用户信息和登录标识cookie\n如果没注册过,不会有登录标识cookie
- ui -> sys: 注册:\nwx.authorize(授权)\nwx.getUserProfile(得到用户信息)\ngetPhoneNumber(获得手机号)\n短信验证\n带上openid
- sys --> ui: 注册的结果
- ui -> sys: 业务操作,带上登录标识cookie
- @enduml
|