DocSerializer.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. const makeId = require("../util/makeId");
  2. const tagSerializer = require("./TagSerializer");
  3. module.exports = (filename = "需求规格说明文档") => {
  4. return {
  5. id: makeId(),
  6. filename,
  7. owner: tagSerializer(),
  8. content:
  9. "# 需求规格说明文档\n\n" +
  10. "> 参照语雀API基本要求\n" +
  11. "\n" +
  12. "## 基本路径\n" +
  13. "* `/api/v2/`\n" +
  14. "\n" +
  15. "## HTTP Verbs\n" +
  16. "\n" +
  17. "| Verb | Description |\n" +
  18. "| :--- | :--- |\n" +
  19. "| GET | 用于获取数据 |\n" +
  20. "| POST | 用于创建数据 |\n" +
  21. "| PUT | 用于修改部分数据,例如一个文档标题,正文 |\n" +
  22. "| DELETE | 用于删除数据 |\n" +
  23. "\n" +
  24. "## 用户认证\n" +
  25. "使用 Token 机制来实现用户认证。\n" +
  26. "在请求的 HTTP Headers 传入 `Authorization` 带入用户的 Token 信息,用于认证。\n" +
  27. "\n" +
  28. "文档会在需要用户权限的api中标识 __[需要认证] __\n" +
  29. "\n" +
  30. "## HTTP 状态码\n" +
  31. "* 200 - 成功\n" +
  32. "* 400 - 请求的参数不正确,或缺少必要信息,请对比文档\n" +
  33. "* 401 - 需要用户认证的接口用户信息不正确,即__Token错__\n" +
  34. "* 403 - 缺少对应功能的权限,即__权限不足__\n" +
  35. "* 404 - 数据不存在,或未开放\n" +
  36. "* 500 - 服务器异常\n" +
  37. "\n" +
  38. "## 返回数据格式[示例]\n" +
  39. "* JSON 格式\n" +
  40. "\n" +
  41. "```json\n" +
  42. "{\n" +
  43. ' "data": {\n' +
  44. ' "id": 10,\n' +
  45. ' "slug": "weekly",\n' +
  46. ' "name": "技术周刊",\n' +
  47. " },\n" +
  48. ' "abilities": {\n' +
  49. ' "update": false,\n' +
  50. ' "destroy": false\n' +
  51. " },\n" +
  52. ' "meta": {\n' +
  53. ' "liked": false,\n' +
  54. ' "followed": false,\n' +
  55. " }\n" +
  56. "}\n" +
  57. "```\n" +
  58. "\n" +
  59. "* id: 每个数据都会有的,Resource 的唯一编号,后续很多地方你可能需要用它查询\n" +
  60. "* abilities: 表述当前登陆者对于此资源的权限\n" +
  61. "* meta: 一些附加信息,例如是否赞过,是否关注过\n" +
  62. "\n" +
  63. "## DateTime 格式\n" +
  64. "DateTime 使用 [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) 标准格式,请按照标准方式进行转换。\n"
  65. };
  66. };