Skip to content

设置 Settings ​

API 代理 API Agent ​

何时会转发 ​

  • 启用 API 代理
  • 该 API 未定义,或被禁用

转发至 ​

ts
targetUrl + apiUrl;

使用场景 ​

仅需模拟部分 api 时。如在 soon-mock 中添加新功能 api 的模拟,其他 api 则转发至测试服务器。

URL 前缀 (Url Prefix) ​

全局 api 前缀

Mock ​

定义基本数据的默认 mock 方法

Schema ​

这里主要是一些新增 schema 时的默认配置项。

主键 Primary Keys ​

这里是可能的主键 key 值,当通过 json 生成 schema 时,会依次匹配设置 schema 的主键字段

res.success ​

全局的成功响应方法

ts
(data) => res.json({ code: 0, msg: "", data });

res.error ​

全局的失败响应方法

ts
(err) => res.json({ code: 500, err: err });

权限 ​

权限函数是 Express 的一个中间件,会在启用权限的 API 前运行

ts
(auth_code) => (req, res, next) => {
  const token = req.headers.authorization
  if (token) {
    jwt.verify(token, 'JWT_SECRET', async (err, user) => {
      if (err)  return res.sendStatus(403)
      const { username } = user
      if (auth_code) {
        //** 可在这里写下你的自定义逻辑,比如该用户的role关联的权限是否拥有该 `auth_code` */
      }
      req.username = username
      next()
    })
  } else {
    res.sendStatus(401)
  }
  • 如果你使用 jwt权限,中间件代码正如上方列子。
  • 登录 API 中,action获取token的逻辑如下
ts
res.success({ token: jwt.sign({ username: "admin" }, "JWT_SECRET") });
  • 也可以用自定义的虚拟验证逻辑替换。