基于go-gin的微信小程序api框架搭建

本文介绍了基于go-gin框架搭建微信小程序API的过程,包括选择Gin的原因、涉及的技术如Redis、MySQL、Nginx,以及在使用gorm、鉴权、日志和缓存方面的实践经验。
摘要由CSDN通过智能技术生成

基于go-gin的微信小程序api框架搭建


废话不多说,先上 github链接

1.为什么选gin

  • Gin是一个 go web 框架,最大的优点就是高性能,比 http router 快 40 倍。
  • 轻量,使用起来方便简洁,支持路由分组。
  • 对中间件支持很好,方便用第三方中间件也可以自己定义,还能很方便地跟路由进行结合。
  • 学习成本低。

2. 其他技术

Redis

  • 提供缓存支持,有利于提高数据交换速率。
  • gin-contrib的中间件sessions对redis的支持
  • 保存session,记录用户状态,方便鉴权。

MySQL

  • 后端开发成员有一定的使用经验。
  • 也是主流的数据库之一。
  • go的ORM gorm对mysql的支持很不错,除了个别注意事项(4.1 如何优雅地使用gorm)。

Nginx

  • 后台需要一定的安全保障,Nginx作为反向代理可以将服务端跟外界隔离开。
  • Nginx 可以为多个服务端进行代理,可以代理部署在多个端口 go server,从而使得服务器有着较高的抗压能力。
  • Nginx 较容易配置端口转发。
  • 网上教程很多,在此提供项目的配置文件供参考

weApp SDK
https://github.com/medivhzhan/weapp
涵盖了wx小程序的各种请求,调用起来方便清晰
“哟哟,这个轮子真是又大又圆”

3. 代码模块

先来看看文件树,再看看代码

.
├── config 				# 用于读取配置文件config.json中的数据
├── config.json           
├── controllers         # 对路由请求进行处理
│   ├── ad
│   ├── resource
│   ├── task
│   └── user
├── database            # 链接数据库
├── main.go             # 主程序
├── middlewares         # 自定义的中间件
│   ├── auth			# 用session进行鉴权
│   ├── logger			# 自定义访问日志中间件,对日志进行格式修改、打印、分割
│   └── session			# 注册gin-contrib/sessions 中间件
├── models              # 数据模型,对数据库进行访问
│   ├── ad
│   ├── campus
│   ├── common
│   ├── school
│   ├── tag
│   ├── task
│   └── user
├── modules             # 自定义的模块
│   ├── gredis			# 调用redis进行缓存
│   ├── log				# 自定义日志,如错误日志
│   └── util			# 工具包,对一些常用的代码块进行封装
├── router              # 路由
└── storage             # 存储文件夹
    ├── file			# 文件存储
    ├── img				# 图片存储
    └── logs			# 日志存储

4. 我曾经跨过的山和大海

懒得写新的blog了,就放这了

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值