|
@@ -1,43 +1,44 @@
|
|
|
// 处理页面数据相关的逻辑
|
|
|
|
|
|
// 渲染来自runapi的文档
|
|
|
-const rederPageContent = (page_content) => {
|
|
|
- let obj
|
|
|
+const rederPageContent = page_content => {
|
|
|
+ let obj;
|
|
|
// 先定义一个html反转义的函数
|
|
|
- const unescapeHTML = (str) =>
|
|
|
+ const unescapeHTML = str =>
|
|
|
str.replace(
|
|
|
/&|<|>|'|"/g,
|
|
|
- (tag) =>
|
|
|
+ tag =>
|
|
|
({
|
|
|
- '&': '&',
|
|
|
- '<': '<',
|
|
|
- '>': '>',
|
|
|
- ''': "'",
|
|
|
- '"': '"'
|
|
|
+ "&": "&",
|
|
|
+ "<": "<",
|
|
|
+ ">": ">",
|
|
|
+ "'": "'",
|
|
|
+ """: '"'
|
|
|
}[tag] || tag)
|
|
|
- )
|
|
|
- page_content = unescapeHTML(page_content)
|
|
|
+ );
|
|
|
+ page_content = unescapeHTML(page_content);
|
|
|
try {
|
|
|
- obj = JSON.parse(page_content)
|
|
|
+ obj = JSON.parse(page_content);
|
|
|
} catch (e) {
|
|
|
// console.log(`不支持解析的页面内容:${page_content}`);
|
|
|
}
|
|
|
if (!obj || !obj.info || !obj.info.url) {
|
|
|
- return page_content
|
|
|
+ return page_content;
|
|
|
}
|
|
|
- console.log(obj)
|
|
|
+ console.log(obj);
|
|
|
let newContent = `
|
|
|
+[TOC]
|
|
|
|
|
|
-**简要描述:**
|
|
|
- - ${obj.info.description ? obj.info.description : '无'}
|
|
|
+##### 简要描述
|
|
|
+ - ${obj.info.description ? obj.info.description : "无"}
|
|
|
|
|
|
-**请求URL:**
|
|
|
+##### 请求URL
|
|
|
|
|
|
- \` ${obj.info.url} \`
|
|
|
|
|
|
-**请求方式:**
|
|
|
+##### 请求方式
|
|
|
- ${obj.info.method}
|
|
|
- `
|
|
|
+ `;
|
|
|
|
|
|
if (
|
|
|
obj.request.headers &&
|
|
@@ -45,80 +46,70 @@ const rederPageContent = (page_content) => {
|
|
|
obj.request.headers[0].name
|
|
|
) {
|
|
|
newContent += `
|
|
|
-**Header**
|
|
|
+##### Header
|
|
|
|
|
|
|header|必选|类型|说明|
|
|
|
|:----- |:-----|-----|
|
|
|
-`
|
|
|
- const headers = obj.request.headers
|
|
|
- headers.map((one) => {
|
|
|
- newContent += `|${one.name} |${one.require > 0 ? '是' : '否'} |${one.type} |${
|
|
|
- one.remark ? one.remark : '无'
|
|
|
- } |
|
|
|
-`
|
|
|
- })
|
|
|
+`;
|
|
|
+ const headers = obj.request.headers;
|
|
|
+ headers.map(one => {
|
|
|
+ newContent += `|${one.name} |${one.require > 0 ? "是" : "否"} |${
|
|
|
+ one.type
|
|
|
+ } |${one.remark ? one.remark : "无"} |
|
|
|
+`;
|
|
|
+ });
|
|
|
}
|
|
|
- const params = obj.request.params[obj.request.params.mode]
|
|
|
+ const params = obj.request.params[obj.request.params.mode];
|
|
|
|
|
|
- if (
|
|
|
- params &&
|
|
|
- params[0] &&
|
|
|
- params[0].name
|
|
|
- ) {
|
|
|
+ if (params && params[0] && params[0].name) {
|
|
|
newContent += `
|
|
|
-**请求参数**
|
|
|
+##### 请求参数
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|:----- |:-----|-----|
|
|
|
-`
|
|
|
- params.map((one) => {
|
|
|
- newContent += `|${one.name} |${one.require > 0 ? '是' : '否'} |${one.type} |${
|
|
|
- one.remark ? one.remark : '无'
|
|
|
- } |
|
|
|
-`
|
|
|
- })
|
|
|
+`;
|
|
|
+ params.map(one => {
|
|
|
+ newContent += `|${one.name} |${one.require > 0 ? "是" : "否"} |${
|
|
|
+ one.type
|
|
|
+ } |${one.remark ? one.remark : "无"} |
|
|
|
+`;
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
- if (
|
|
|
- obj.request.params.mode == 'json' && params
|
|
|
- ) {
|
|
|
+ if (obj.request.params.mode == "json" && params) {
|
|
|
newContent += `
|
|
|
-**请求参数示例**
|
|
|
+##### 请求参数示例
|
|
|
\`\`\`
|
|
|
${params}
|
|
|
\`\`\`
|
|
|
|
|
|
-`
|
|
|
+`;
|
|
|
}
|
|
|
-
|
|
|
- const jsonDesc = obj.request.params.jsonDesc
|
|
|
|
|
|
- if (
|
|
|
- jsonDesc &&
|
|
|
- jsonDesc[0] &&
|
|
|
- jsonDesc[0].name
|
|
|
- ) {
|
|
|
+ const jsonDesc = obj.request.params.jsonDesc;
|
|
|
+
|
|
|
+ if (jsonDesc && jsonDesc[0] && jsonDesc[0].name) {
|
|
|
newContent += `
|
|
|
-**json字段说明**
|
|
|
+##### json字段说明
|
|
|
|
|
|
|字段名|必选|类型|说明|
|
|
|
|:----- |:-----|-----|
|
|
|
-`
|
|
|
- jsonDesc.map((one) => {
|
|
|
- newContent += `|${one.name} |${one.require > 0 ? '是' : '否'} |${one.type} |${
|
|
|
- one.remark ? one.remark : '无'
|
|
|
- } |
|
|
|
-`
|
|
|
- })
|
|
|
+`;
|
|
|
+ jsonDesc.map(one => {
|
|
|
+ newContent += `|${one.name} |${one.require > 0 ? "是" : "否"} |${
|
|
|
+ one.type
|
|
|
+ } |${one.remark ? one.remark : "无"} |
|
|
|
+`;
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
if (obj.response.responseExample) {
|
|
|
newContent += `
|
|
|
-** 返回示例 **
|
|
|
+##### 返回示例
|
|
|
\`\`\`
|
|
|
${obj.response.responseExample}
|
|
|
\`\`\`
|
|
|
- `
|
|
|
+ `;
|
|
|
}
|
|
|
|
|
|
if (
|
|
@@ -127,28 +118,28 @@ ${obj.response.responseExample}
|
|
|
obj.response.responseParamsDesc[0].name
|
|
|
) {
|
|
|
newContent += `
|
|
|
-**返回参数说明**
|
|
|
+##### 返回参数说明
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|:----- |:-----|-----|
|
|
|
-`
|
|
|
- const returnParams = obj.response.responseParamsDesc
|
|
|
- returnParams.map((one) => {
|
|
|
+`;
|
|
|
+ const returnParams = obj.response.responseParamsDesc;
|
|
|
+ returnParams.map(one => {
|
|
|
newContent += `|${one.name} |${one.type} |${
|
|
|
- one.remark ? one.remark : '无'
|
|
|
- } |
|
|
|
-`
|
|
|
- })
|
|
|
+ one.remark ? one.remark : "无"
|
|
|
+ } |
|
|
|
+`;
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
newContent += `
|
|
|
- **备注**
|
|
|
+##### 备注
|
|
|
|
|
|
- ${obj.info.remark}
|
|
|
|
|
|
-`
|
|
|
+`;
|
|
|
|
|
|
- return newContent
|
|
|
-}
|
|
|
+ return newContent;
|
|
|
+};
|
|
|
|
|
|
-export { rederPageContent }
|
|
|
+export { rederPageContent };
|