练习-模拟选科
- 需求分析
- 技术方案选型
- 数据模型设计
- 路由和API设计
- 开发页面功能
1. 需求分析
理解需求,流程,梳理功能
- 微信授权,获取用户头像和昵称
- 保存用户选择的科目
- 获取出所有热门科目
- 模拟微信分享,建立关系
- 需要用户完成相应的任务
2. 技术方案选型
根据功能点,来制定前端与后端的技术方案,搭建基础项目
前端
- vue
- 微信SDK
后端
- egg
- mysql
3. 数据模型设计
设计数据、表关联
- 用户表
- 选择的科目表
- 分享关系表
simulation_subject_user
用户表字段名称 | 类型 | 说明 |
---|---|---|
openid | varchar | 用户的唯一标识 |
nick_name | varchar | 用户昵称 |
head_img_url | varchar | 用户头像 |
school | varchar | 在读学校 |
varchar | 邮箱 |
simulation_subject_choose
选择的科目表字段名称 | 类型 | 说明 |
---|---|---|
user_id | varchar | 用户id,对应openid |
subject | varchar | 选择的科目 |
major | varchar | 选择的专业 |
simulation_subject_share
分享关系表字段名称 | 类型 | 说明 |
---|---|---|
user_id | varchar | 用户id,对应openid |
share_id | varchar | 分享人id,通过它注册 |
4. 页面路由和API设计
确定页面和接口,以及之间的关系
页面路由
- /home
- /login
- /start
- /hot
- /share
- /success
API接口
- 授权、登录
/login
- 获取用户信息接口
/getUserInfo
- 保存选择的科目
/putSubject
- 获取热门数据
/getHotSubject
- 获取分享数据
/getShareData
- 提交邮箱
/putEmail
5. 开发页面功能
开发每个页面的具体功能
home
- 去授权