练习-植树节
项目地址
开发
- 需求梳理
- 技术方案
- API 设计
- 数据表设计
- 连接数据库
- 完成业务逻辑
1. 需求梳理
功能点:
- 微信授权获取信息
- 保存用户提交的数据
流程:
2. 技术方案
- node
- mysql
- sequelize
3. API 设计
/loginUser
: 授权登录,获取用户信息/joinActivity
: 提交活动/checkActivity
: 检验是否参加了活动
4. 数据表设计
业务分析:根据需求,分析出需要记录的数据
逻辑设计:根据分析出的数据,设计 ER 图,数据类型,对象命名
物理设计:将 ER 图转换成数据库模型图和数据表
用户信息表:user_info
- id: 主键
- 微信 openid
- 微信名称
- 微信头像
列名 | 数据类型 | 命名 |
---|---|---|
ID(PK) | int | id |
微信 openid | varchar(50) | wxOpenId |
微信名称 | varchar(50) | wxNickName |
微信头像 | varchar(200) | wxAvatarUrl |
提交数据表:activity
- 微信用户 id:关联主键
- 树苗名称
- 姓名
- 手机号
- 收获地址
- 随机到的树
列名 | 数据类型 | 命名 |
---|---|---|
微信用户 id(PK) | int | wxUserId |
树苗名称 | varchar(50) | treeName |
姓名 | varchar(50) | stuName |
手机号 | varchar(24) | mobile |
收获地址 | varchar(128) | address |
随机到的树 | tinyint(2) | treeFlag |
5. 连接数据库
安装必要插件
npm i @midwayjs/sequelize@3 sequelize mysql2 --save
1
- 建立模型
6. 完成业务逻辑
页面路由和业务逻辑放在一个函数中,有点臃肿,需要拆分优化
注意事项
驼峰命名与下划线问题
数据库字段使用下划线
命名,返回给前端的数据需要使用驼峰命名
,代码中也应该使用驼峰命名
比较方便。