这里是NCOV 2020疫情防控-人员健康管理平台开源项目的小程序后端--Golang版本。 详细项目记录及学习文档见doc文件夹
主项目入口 >> https://github.com/2020NCOV/ncov-report
|-- MiniProgram-server-Golang
|-- .env.example —— 这个是对环境变量如何设置的示例,在自己的项目中新建一个.env文件
|-- .gitignore—— 上传代码时一些不需要上传的文件就加入.gitignore
|-- go.mod —— Golang包管理工具
|-- main.go —— 项目入口
|-- **api**—— 定义接口
| |-- main.go 通用接口
| |-- user.go 用户相关的接口
|-- conf —— 配置文件
| |-- conf.go
|-- middleware—— 中间件
| |-- cors.go 跨域相关设置
|-- **model**——主要数据库表的设计,这里是重点需要修改的地方,需要配合统一的数据库表结构
| |-- code.go
| |-- init.go
| |-- migration.go
| |-- report.go
| |-- user.go
|-- **serializer**——序列化器,返回请求时用来序列化数据
| |-- main.go
| |-- report.go
| |-- user.go
|-- **server**——主要定义了路由
| |-- router.go
|-- **service** —— 针对每个请求的具体服务逻辑
|-- check_is_registered.go
|-- check_user.go
|-- get_corpname_service.go
|-- get_info_service.go
|-- save_daily_info_service.go
|-- user_bind_service.go
|-- user_openid_service.go
|-- wexin_user_register.go
核心部分就是以上加星部分的文件
以getcode接口为例
可能会下载一会儿包,稍微等待一下。将项目创建在%GOPATH%/src目录下可以加载之前已经安装在%GOPATH%/pkg中的包。
MYSQL_DSN="db_user:db_passwd@tcp(127.0.0.1:3306)/db_name?charset=utf8&parseTime=True&loc=Local" # Mysql连接配置
GIN_MODE="debug" # 设置gin的运行模式,有 debug 和 release
APP_ID="" #appid
APP_SECRET="" #appsecret
注:
- 将db_user和db_passwd修改为自己本地的mysql连接的用户名和密码,并创建相应的数据库,将db_name替换成对应数据库名
- 补充自己注册的小程序的app_id和app_secret
[GIN-debug] POST /index/login/getcode --> Miniprogram-server-Golang/api.UserLogin (3 handlers)
[GIN-debug] POST /index/login/check_is_registered --> Miniprogram-server-Golang/api.UserIsReg (3 handlers)
[GIN-debug] POST /index/login/check_user --> Miniprogram-server-Golang/api.CheckUser (3 handlers)
[GIN-debug] POST /index/login/register --> Miniprogram-server-Golang/api.WeixinUsrRegister (3 handlers)
[GIN-debug] POST /index/login/getcorpname --> Miniprogram-server-Golang/api.GetCorp (3 handlers)
[GIN-debug] POST /index/login/bind --> Miniprogram-server-Golang/api.UserBind (3 handlers)
[GIN-debug] POST /index/login/unbind --> Miniprogram-server-Golang/api.UserUnBind (3 handlers)
[GIN-debug] POST /index/report/save --> Miniprogram-server-Golang/api.SaveInfo (3 handlers)
[GIN-debug] POST /index/report/getlastdata --> Miniprogram-server-Golang/api.GetInfo (3 handlers)
[GIN-debug] POST /index/info/getmyinfo --> Miniprogram-server-Golang/api.GetUserInfo (3 handlers)
[GIN-debug] Listening and serving HTTP on :8080
const baseURL = 'http://127.0.0.1:8080/index'; //这表示小程序访问的是本机的8080端口,正是后端程序监听的端口
- 编译运行小程序
- 打开调试器,点击network
- 查看小程序发出的请求getcode,如果返回status code是200OK则表示前后端通信成功