电商设计手册之用户体系[下]
前言
本文主要涉及交互设计和接口设计,架构设计与数据模型设计请查看电商设计手册之用户体系[上]
交互设计
友情提示:一大波图片即将到来,此处图片较多,不清楚的可点击大图查看
注册
注册成功之后存在至少两种交互方式:
- 注册成功 -> 跳转到登陆页面
- 注册成功 -> 自动登陆 -> 跳转到应用首页(或者其他页面)
具体交互流程如下:
登陆
快捷登陆
快捷登录的流程基本和上面一致只是验证密码换成了验证验证码。
第三方登陆
第三方登录的交互其实存在这样的问题:
- 第三方账户登陆成功后还需要绑定手机号/Email吗?
因为我发现有些PM为了提高用户使用的简单快捷性,往往第三方登陆成功后会直接产生uid,而不进行账号的绑定。这样之后在再进行账号绑定就涉及账号合并的问题,很麻烦(如果有钱包等)。如果我们一开始就进行绑定操作,这样未来账号的关系就清晰明了便于维护,第三方登陆其实就相当于普通账号的别名。
最后这个事情做不做的结果就是,账户表account_user和第三方用户信息表account_platform是的一对多还是一对一的关系。
- 如果绑定,已经注册的手机号/Email是否可以绑定?
这个还好说,一般来说绑定的选择基本是正确的。最后具体的流程图如下:
交互界面图如下:
后台权限管理
首先,我们的后台管理系统需要个响亮的称号,想了一会以前公司用过apollo,于是我准备用mars但突然冒出来个earth,地球万物之根,刚好我们这又是个全业务的基础服务管理系统,哈哈就这样吧~ Earth System
Earth System的权限管理功能主要分为以下四部分:
- 系统管理(The manage system page)
- 编辑页面
- 列表页面
- 菜单管理(The menu page)
- 编辑页面
- 列表页面
- 角色管理(The role page)
- 编辑页面
- 列表页面
- 员工与角色关联管理(The role staff map page)
- 编辑页面
- 列表页面
具体交互如下:
接口设计
应用层接口(对外)
1.注册接口
请求参数:
字段 | 类型 | 是否必传 | 描述 |
---|---|---|---|
username | string | 非必传 | 用户账号 |
string | email/phone两者择一 | 用户邮箱 | |
phone | string | email/phone两者择一 | 用户手机号 |
code | int | 必传 | 验证码 |
交互方式一(跳转到登陆页面)响应内容:
{ |
交互方式二(跳转到首页页面)响应内容:
{ |
2.登录接口
请求参数:
字段 | 类型 | 是否必传 | 描述 |
---|---|---|---|
username | string | username/email/phone三者择一 | 用户账号 |
string | username/email/phone三者择一 | 用户邮箱 | |
phone | string | username/email/phone三者择一 | 用户手机号 |
password | string | 必传 | 密码 |
响应内容:
{ |
3.快捷登录接口
请求参数:
字段 | 类型 | 是否必传 | 描述 |
---|---|---|---|
string | email/phone两者择一 | 用户邮箱 | |
phone | string | email/phone两者择一 | 用户手机号 |
code | int | 必传 | 验证码 |
响应内容:
{ |
4.第三方登录接口
请求参数:
字段 | 类型 | 是否必传 | 描述 |
---|---|---|---|
type | string | 必传 | 平台类型 1:facebook,2:google,3:wechat,4:qq,5:weibo,6:twitter |
platform_id | string | 必传 | 第三方平台用户ID |
platform_token | string | 必传 | 第三方平台令牌 |
响应内容:
{ |
5.用户信息修改接口
请求参数:
字段 | 类型 | 是否必传 | 描述 |
---|---|---|---|
username | string | 非必传 | 用户账号 |
nickname | string | 非必传 | 昵称 |
avatar | string | 非必传 | 头像url |
gender | string | 非必传 | 用户性别,male:男,female:女,other:未知 |
响应内容:
{ |
6.用户登录状态校验
请求参数:
字段 | 类型 | 是否必传 | 描述 |
---|---|---|---|
s_token | string | 必传 | 用户会话标示 |
响应内容:
{ |
服务接口(基础服务,对内)
账户服务:
- 注册
请求参数:
字段 | 类型 | 是否必传 | 描述 |
---|---|---|---|
username | string | 非必传 | 用户账号 |
string | email/phone两者择一 | 用户邮箱 | |
phone | string | email/phone两者择一 | 用户手机号 |
交互方式一(跳转到登陆页面)响应内容:
{ |
- 登陆
请求参数:
字段 | 类型 | 是否必传 | 描述 |
---|---|---|---|
username | string | 非必传 | 用户账号 |
string | email/phone两者择一 | 用户邮箱 | |
phone | string | email/phone两者择一 | 用户手机号 |
password | string | 必传 | 密码 |
响应内容:
{ |
- 第三方登录
请求参数:
字段 | 类型 | 是否必传 | 描述 |
---|---|---|---|
type | string | 必传 | 平台类型 1:facebook,2:google,3:wechat,4:qq,5:weibo,6:twitter |
platform_id | string | 必传 | 第三方平台用户ID |
platform_token | string | 必传 | 第三方平台令牌 |
响应内容:
{ |
权限服务
- 获取系统菜单
请求参数:
字段 | 类型 | 是否必传 | 描述 |
---|---|---|---|
ms_id | string | 必传 | 系统ID |
响应内容:
{ |
- 权限校验
请求参数:
字段 | 类型 | 是否必传 | 描述 |
---|---|---|---|
menu_id | string | 必传 | 菜单ID |
响应内容:
{ |
结语
文章太长,拆成了两部分,架构设计与数据模型设计请查看电商设计手册之用户体系[上]
最后,如果有写的不对或者不完善的地方,希望大家多多评论,互相学习互相进步~
项目地址: https://github.com/skr-shop/manuals
skr-shop项目成员简介
排名不分先后,字典序
昵称 | 简介 | 个人博客 |
---|---|---|
AStraw | 研究生创业者, 现于小米科技海外商城组从事商城后端研发工作 | ——– |
大愚Dayu | 国内大多人使用的PHP第三方支付聚合项目Payment作者,创过业,现于小米科技海外商城组从事商城后端研发工作 | 大愚Talk |
lwhcv | 曾就职于百度/融360, 现于小米科技海外商城组从事商城后端研发工作 | ——– |
TIGERB | PHP框架EasyPHP作者,拥有A/B/C轮电商创业公司工作经验,现于小米科技海外商城组从事商城后端研发工作 | TIGERB.cn |