Releases: Allen7D/mini-shop-server-koa
Releases · Allen7D/mini-shop-server-koa
v0.8.0
🌟新功能
- 实现 小程序登录 方式
- 小程序端传
{ account: code, type: 100 }
到后端,即可获取token
- 小程序端传
- 新增 Token校验 接口``
- 返回token的解析结果
{ uid, scope, create_at, expire_in }
- 返回token的解析结果
🔧优化
- 封装 generateToken方法 到 UserModel的取值函数(getter) token()
- 优化「core/util.js」中 verifyToken方法 的返回数据
- 优化接口的权限限制规范,如下:
- 将forbidden (禁止访问的某api) 的命名改为forbiddenApi
- 新增forbiddenModule 为禁止访问的某类api
- 优化「app/lib/enum.js」中 ClientTypeEnum 的枚举命名
v0.7.0
🌟新功能
- 新增 权限校验 中间件
- 在「middlewares/auth.js」中,解析出token,并判断出用户权限
- 在路由中使用 auth().verify 作为中间件,既可对该路由对应的接口进行权限限制
- 如
router.get('getLatest', '/latest', auth().verify, async (ctx, next) => {...}
- 如
- 在「app/lib/scope.js」中,设计3个级别的权限,分别为:
- UserScope(普通用户)
- AdminScope(普通管理员)
- SuperScope(超级管理员)
- 接口的权限限制规范,如下:
- allowApi 为可以访问的某个api
- allowModule 为可以访问的某类api
- forbidden 为禁止访问的某api
- 新增 请求成功 的返回方式
- 在「core/http-exception.js」 中,灵活设计成功类型,分为3类:
- '请求成功'
- '创建 | 更新成功'
- '删除成功'
- 使用 throw new global.errs.Success({resultObj}) ,则抛出成功异常(结果)
- 在「middlewares/exception.js」 中对抛出的成功异常进行解析
- 在「core/http-exception.js」 中,灵活设计成功类型,分为3类:
🔧优化
- 在「app/models/user.js」的user表里,新增auth字段作为权限级别
- 新用户默认auth为1(1为普通用户;2为普通管理员;3为超级管理员)
- 在「core/db.js」中,新增BaseModel(继承Model)作为所有ORM模型类的父类
- 新增findOneOr404方法,对于查询无结果的情况,直接抛出异常