Skip to content

Releases: Allen7D/mini-shop-server-koa

v0.8.0

16 Feb 12:26
Compare
Choose a tag to compare

🌟新功能

  • 实现 小程序登录 方式
    • 小程序端传{ account: code, type: 100 } 到后端,即可获取token
  • 新增 Token校验 接口``
    • 返回token的解析结果 { uid, scope, create_at, expire_in }

🔧优化

  • 封装 generateToken方法 到 UserModel的取值函数(getter) token()
  • 优化「core/util.js」中 verifyToken方法 的返回数据
  • 优化接口的权限限制规范,如下:
    • 将forbidden (禁止访问的某api) 的命名改为forbiddenApi
    • 新增forbiddenModule 为禁止访问的某类api
  • 优化「app/lib/enum.js」中 ClientTypeEnum 的枚举命名

v0.7.0

14 Oct 16:34
Compare
Choose a tag to compare

🌟新功能

  • 新增 权限校验 中间件
    • 在「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」 中对抛出的成功异常进行解析

🔧优化

  • 在「app/models/user.js」的user表里,新增auth字段作为权限级别
    • 新用户默认auth为1(1为普通用户;2为普通管理员;3为超级管理员)
  • 在「core/db.js」中,新增BaseModel(继承Model)作为所有ORM模型类的父类
    • 新增findOneOr404方法,对于查询无结果的情况,直接抛出异常