练习-植树节

项目地址

开发

  1. 需求梳理
  2. 技术方案
  3. API 设计
  4. 数据表设计
  5. 连接数据库
  6. 完成业务逻辑

1. 需求梳理

功能点:

  • 微信授权获取信息
  • 保存用户提交的数据

流程: image

2. 技术方案

  • node
  • mysql
  • sequelize

3. API 设计

  • /loginUser: 授权登录,获取用户信息
  • /joinActivity: 提交活动
  • /checkActivity: 检验是否参加了活动

4. 数据表设计

  1. 业务分析:根据需求,分析出需要记录的数据

  2. 逻辑设计:根据分析出的数据,设计 ER 图,数据类型,对象命名

  3. 物理设计:将 ER 图转换成数据库模型图和数据表

用户信息表:user_info

  • id: 主键
  • 微信 openid
  • 微信名称
  • 微信头像
列名数据类型命名
ID(PK)intid
微信 openidvarchar(50)wxOpenId
微信名称varchar(50)wxNickName
微信头像varchar(200)wxAvatarUrl

提交数据表:activity

  • 微信用户 id:关联主键
  • 树苗名称
  • 姓名
  • 手机号
  • 收获地址
  • 随机到的树
列名数据类型命名
微信用户 id(PK)intwxUserId
树苗名称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. 完成业务逻辑

页面路由和业务逻辑放在一个函数中,有点臃肿,需要拆分优化

注意事项

驼峰命名与下划线问题

数据库字段使用下划线命名,返回给前端的数据需要使用驼峰命名,代码中也应该使用驼峰命名比较方便。

Last Updated: 2023/8/2 10:45:34
Contributors: licong96, 黎聪