项目地址: https://github.com/mirrorhanyu/WeGit
扫码体验
mini-program-qrcode
小程序后端源代码 WeGit-api
小程序后端主要是提供 API 接口供小程序消费。主要的数据来源是
后端对数据进行聚合,处理再返回给前端
python
实话说,选择 python 没有什么特殊原因。
在最开始 spike api 的时候用 requests 写了个小 demo,然后就自然而然的沿用了下来。
flask
python 中比较受欢迎的框架
-
django
完美主义使用的 web 全家桶框架。包含了 HTTP server,存储机制,模版引擎,request dispatcher 等等。
帮助开发者写更少的代码,更快的实现功能
Github stars: 43170
-
bottle
Github stars: 6280
-
cherrypy
Github stars: 1024
-
flask
轻量级 WSGI web 框架
Github stars: 45717
GitHub 数据收集于 Aug, 5th, 2019
后端其实没有特别复杂的逻辑需求,最终选用了 flask 这个轻量级框架。
数据库(Will be deprecated)
最初的设想,会在服务端存放用户信息 和 Github access token 信息,所以会尝试考虑有个数据库,当时选用的是 postgres 数据库。
配合 sqlalchemy 提供数据库 SQL 工具,并能提供 ORM 支持。
sqlalchemy-migrate 提供数据库 Schema 迁移。
后来遇到的问题
- 获取微信用户唯一id,需要用户授权。
首先这个信息是用户没必要提供的,如果向用户索取还需要考虑用户拒绝的 case,会给用户带来比必要的 concern,同时增加开发工作量。 - 安全问题。
一旦需要保存用户微信信息,还有在 Github access token 信息,就需要额外考虑安全问题。
最后采取的是,用户的 Github access token 会存在微信小程序 Storage 里,服务端不做管理。
所以当用户删除小程序,卸载微信,更换手机等操作,需要再次填入 Github access token,当然这也属于相对比较少的用户 cases。
网友评论