skybase 0.1.82 → 0.1.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +35 -35
- package/.eslintrc +41 -41
- package/CHANGELOG.md +28 -472
- package/README.md +214 -214
- package/demo/1-simple/README.md +1 -1
- package/demo/1-simple/index.js +7 -7
- package/demo/1-simple/model/api/demo.js +26 -26
- package/demo/1-simple/model/api/frontApiFiles//347/224/250/344/272/216/345/261/225/347/244/272/345/246/202/344/275/225/345/256/232/344/271/211/344/270/200/344/270/252/346/216/245/345/217/243.js +32 -32
- package/demo/1-simple/model//347/224/250/344/272/216/345/261/225/347/244/272/345/246/202/344/275/225/345/256/232/344/271/211/344/270/200/344/270/252/346/216/245/345/217/243.js +29 -29
- package/demo/1-simple/package.json +11 -11
- package/demo/1-simple/router/demo.js +8 -8
- package/demo/1-simple/ws_router/echo.js +9 -9
- package/demo/2-api-register/README.md +1 -1
- package/demo/2-api-register/config/config.default.js +25 -25
- package/demo/2-api-register/config/config.dev.js +15 -15
- package/demo/2-api-register/config/config.prod.js +15 -15
- package/demo/2-api-register/config/config.test.js +15 -15
- package/demo/2-api-register/config/index.js +32 -32
- package/demo/2-api-register/model/api/demo.js +26 -26
- package/demo/2-api-register/model/api/dir/demo.js +27 -27
- package/demo/2-api-register/model/api/redirect.js +30 -30
- package/demo/2-api-register/model/api/use-limit.js +45 -45
- package/demo/2-api-register/package.json +11 -11
- package/demo/2-api-register/router/demo.js +9 -9
- package/demo/2-api-register/router/dir/demo.js +9 -9
- package/demo/2-api-register/router/redirect.js +8 -8
- package/demo/2-api-register/router/use-limit.js +9 -9
- package/demo/3-full-module/README.md +1 -1
- package/demo/3-full-module/config/config.default.js +33 -33
- package/demo/3-full-module/config/config.dev.js +15 -15
- package/demo/3-full-module/config/config.prod.js +15 -15
- package/demo/3-full-module/config/config.test.js +15 -15
- package/demo/3-full-module/config/index.js +32 -32
- package/demo/3-full-module/index.js +36 -36
- package/demo/3-full-module/model/api/demo.js +26 -26
- package/demo/3-full-module/model/api/dir/demo.js +26 -26
- package/demo/3-full-module/model/api/use-rabbitmq.js +26 -26
- package/demo/3-full-module/model/api/use-redis.js +33 -33
- package/demo/3-full-module/package.json +17 -17
- package/demo/3-full-module/rabbit-consumer.js +45 -45
- package/demo/3-full-module/router/demo.js +9 -9
- package/demo/3-full-module/router/dir/demo.js +9 -9
- package/demo/3-full-module/router/use-redis.js +14 -14
- package/demo/4-api-to-file/README.md +8 -8
- package/demo/4-api-to-file/config/config.default.js +8 -8
- package/demo/4-api-to-file/config/index.js +32 -32
- package/demo/4-api-to-file/index.js +6 -6
- package/demo/4-api-to-file/model/api/api.js +142 -142
- package/demo/4-api-to-file/package.json +14 -14
- package/demo/4-api-to-file/router/api.js +37 -37
- package/demo/5-mock-api/README.md +2 -2
- package/demo/5-mock-api/config/config.default.js +8 -8
- package/demo/5-mock-api/config/index.js +32 -32
- package/demo/5-mock-api/index.js +24 -24
- package/demo/5-mock-api/model/api/mock.js +213 -213
- package/demo/5-mock-api/model/mock.js +27 -27
- package/demo/5-mock-api/package.json +15 -15
- package/demo/5-mock-api/router/mock.js +20 -20
- package/demo/6-sql-test/README.md +1 -1
- package/demo/6-sql-test/config/config.default.js +61 -61
- package/demo/6-sql-test/config/config.dev.js +15 -15
- package/demo/6-sql-test/config/config.prod.js +15 -15
- package/demo/6-sql-test/config/config.test.js +15 -15
- package/demo/6-sql-test/config/index.js +32 -32
- package/demo/6-sql-test/index.js +48 -48
- package/demo/6-sql-test/model/api/dir/dir/dir/four.js +18 -18
- package/demo/6-sql-test/model/api/dir/dir/three.js +26 -26
- package/demo/6-sql-test/model/api/dir/two.js +26 -26
- package/demo/6-sql-test/model/api/one.js +18 -18
- package/demo/6-sql-test/package.json +18 -18
- package/demo/6-sql-test/router/test.js +38 -38
- package/demo/6-sql-test/service/test.js +96 -96
- package/demo/7-token/README.md +1 -1
- package/demo/7-token/config/config.default.js +35 -35
- package/demo/7-token/config/config.dev.js +15 -15
- package/demo/7-token/config/config.prod.js +15 -15
- package/demo/7-token/config/config.test.js +15 -15
- package/demo/7-token/config/index.js +32 -32
- package/demo/7-token/model/api/demo.js +43 -43
- package/demo/7-token/package.json +17 -17
- package/demo/8-test/README.md +1 -1
- package/demo/8-test/config/config.default.js +35 -35
- package/demo/8-test/config/config.dev.js +15 -15
- package/demo/8-test/config/config.prod.js +15 -15
- package/demo/8-test/config/config.test.js +15 -15
- package/demo/8-test/config/index.js +32 -32
- package/demo/8-test/index.js +30 -30
- package/demo/8-test/model/api/demo.js +43 -43
- package/demo/8-test/model/api/dir/two.js +26 -26
- package/demo/8-test/model/api/mock.js +157 -157
- package/demo/8-test/model/api/one.js +150 -150
- package/demo/8-test/model/mock.js +35 -35
- package/demo/8-test/package.json +17 -17
- package/demo/8-test/router/demo.js +45 -45
- package/demo/8-test/router/mock.js +20 -20
- package/demo/8-test/router/test.js +43 -43
- package/demo/8-test/service/test.js +35 -35
- package/demo/9-mysql-chart/config/config.dev.js +15 -15
- package/demo/9-mysql-chart/config/config.prod.js +15 -15
- package/demo/9-mysql-chart/config/config.test.js +15 -15
- package/demo/9-mysql-chart/index.js +36 -36
- package/demo/9-mysql-chart/package.json +18 -18
- package/lib/middleware/sky-api-register.js +348 -348
- package/lib/middleware/sky-check-param.js +6 -1
- package/lib/middleware/sky-cors.js +8 -8
- package/lib/middleware/sky-output.js +83 -83
- package/lib/middleware/sky-static-server.js +16 -16
- package/outFiles.js +325 -325
- package/package.json +50 -67
- package/sky-module/create_amqplib.js +69 -69
- package/sky-module/create_ioredis.js +47 -47
- package/sky-module/create_kafka.js +24 -24
- package/skyconfig.js +2 -1
- package/tests/test.js +173 -173
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
#api json 自动构建项目
|
|
2
|
-
|
|
3
|
-
接口列表
|
|
4
|
-
|
|
5
|
-
1、配置文档中配置 fileApiDir 具体生成api文档
|
|
6
|
-
2、/api/list 接口返回 单层目录以及api文档
|
|
7
|
-
3、/api/info 接口返回 每次从硬盘中读取 相应文档的json格式 或 相应文档相应api的json格式
|
|
8
|
-
4、/api/update 接口更新api的json到内存中---重启就消失
|
|
1
|
+
#api json 自动构建项目
|
|
2
|
+
|
|
3
|
+
接口列表
|
|
4
|
+
|
|
5
|
+
1、配置文档中配置 fileApiDir 具体生成api文档
|
|
6
|
+
2、/api/list 接口返回 单层目录以及api文档
|
|
7
|
+
3、/api/info 接口返回 每次从硬盘中读取 相应文档的json格式 或 相应文档相应api的json格式
|
|
8
|
+
4、/api/update 接口更新api的json到内存中---重启就消失
|
|
9
9
|
5、/api/output 接口把内存中的api的json保存到文档中
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const path = require('path')
|
|
2
|
-
const packageJson = require('../package')
|
|
3
|
-
module.exports = {
|
|
4
|
-
name: packageJson.name,
|
|
5
|
-
rootDir: path.join(__dirname, '../'),
|
|
6
|
-
fileApiDir: path.join(__dirname, '../model/api/'),
|
|
7
|
-
port: 8888
|
|
8
|
-
}
|
|
1
|
+
const path = require('path')
|
|
2
|
+
const packageJson = require('../package')
|
|
3
|
+
module.exports = {
|
|
4
|
+
name: packageJson.name,
|
|
5
|
+
rootDir: path.join(__dirname, '../'),
|
|
6
|
+
fileApiDir: path.join(__dirname, '../model/api/'),
|
|
7
|
+
port: 8888
|
|
8
|
+
}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
let $ = require('meeko')
|
|
3
|
-
const envMap = {
|
|
4
|
-
dev: 'dev',
|
|
5
|
-
development: 'dev',
|
|
6
|
-
test: 'test',
|
|
7
|
-
'local-test': 'local-test',
|
|
8
|
-
checkout: 'checkout', // 是另一个测试环境,当时运维没命好名
|
|
9
|
-
local: 'local',
|
|
10
|
-
production: 'prod',
|
|
11
|
-
prod: 'prod'
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
let env = process.env.NODE_ENV
|
|
15
|
-
|
|
16
|
-
// 有这个之后,启动时 node .\index.js local 即可指定环境
|
|
17
|
-
if (!env && process.argv[2]) {
|
|
18
|
-
env = process.argv[2]
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
env = envMap[env] || 'local'
|
|
22
|
-
const defConfig = require('./config.default')
|
|
23
|
-
|
|
24
|
-
let config = {}
|
|
25
|
-
try {
|
|
26
|
-
config = require('./config.' + env)
|
|
27
|
-
} catch (e) {
|
|
28
|
-
console.log('\x1b[2;31m' + `【普通错误】${env}配置文件缺失,将使用default配置` + '\x1b[m')
|
|
29
|
-
}
|
|
30
|
-
$.option.logTime = 0
|
|
31
|
-
$.log(`=======================\n NODE_ENV:${$.c.g(` ${env} `)} \n=======================`)
|
|
32
|
-
module.exports = { ...defConfig, ...config }
|
|
1
|
+
'use strict'
|
|
2
|
+
let $ = require('meeko')
|
|
3
|
+
const envMap = {
|
|
4
|
+
dev: 'dev',
|
|
5
|
+
development: 'dev',
|
|
6
|
+
test: 'test',
|
|
7
|
+
'local-test': 'local-test',
|
|
8
|
+
checkout: 'checkout', // 是另一个测试环境,当时运维没命好名
|
|
9
|
+
local: 'local',
|
|
10
|
+
production: 'prod',
|
|
11
|
+
prod: 'prod'
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let env = process.env.NODE_ENV
|
|
15
|
+
|
|
16
|
+
// 有这个之后,启动时 node .\index.js local 即可指定环境
|
|
17
|
+
if (!env && process.argv[2]) {
|
|
18
|
+
env = process.argv[2]
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
env = envMap[env] || 'local'
|
|
22
|
+
const defConfig = require('./config.default')
|
|
23
|
+
|
|
24
|
+
let config = {}
|
|
25
|
+
try {
|
|
26
|
+
config = require('./config.' + env)
|
|
27
|
+
} catch (e) {
|
|
28
|
+
console.log('\x1b[2;31m' + `【普通错误】${env}配置文件缺失,将使用default配置` + '\x1b[m')
|
|
29
|
+
}
|
|
30
|
+
$.option.logTime = 0
|
|
31
|
+
$.log(`=======================\n NODE_ENV:${$.c.g(` ${env} `)} \n=======================`)
|
|
32
|
+
module.exports = { ...defConfig, ...config }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const sky = require('../../index')
|
|
2
|
-
const config = require('./config')
|
|
3
|
-
|
|
4
|
-
sky.start(config, async () => {
|
|
5
|
-
console.log('项目成功启动')
|
|
6
|
-
})
|
|
1
|
+
const sky = require('../../index')
|
|
2
|
+
const config = require('./config')
|
|
3
|
+
|
|
4
|
+
sky.start(config, async () => {
|
|
5
|
+
console.log('项目成功启动')
|
|
6
|
+
})
|
|
@@ -1,142 +1,142 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
__swagger__: {
|
|
3
|
-
name: 'api2file',
|
|
4
|
-
description: '使用api json 生成 相应models/api'
|
|
5
|
-
},
|
|
6
|
-
'/api/list': {
|
|
7
|
-
name: '获取所有接口列表',
|
|
8
|
-
desc: '获取所有接口列表',
|
|
9
|
-
method: 'get',
|
|
10
|
-
controller: 'api.list',
|
|
11
|
-
param: {
|
|
12
|
-
name: {
|
|
13
|
-
name: '读取路径',
|
|
14
|
-
desc: '读取路径',
|
|
15
|
-
req: 0,
|
|
16
|
-
def: '.',
|
|
17
|
-
type: 'string'
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
'err_code': {
|
|
21
|
-
200: {
|
|
22
|
-
temp: {
|
|
23
|
-
data: {
|
|
24
|
-
nowPath: '.',
|
|
25
|
-
list: [
|
|
26
|
-
{ isFile: true, name: 'README.md' },
|
|
27
|
-
{ isFile: false, name: 'config' },
|
|
28
|
-
{ isFile: true, name: 'index.js' },
|
|
29
|
-
{ isFile: false, name: 'model' },
|
|
30
|
-
{ isFile: false, name: 'model_back' },
|
|
31
|
-
{ isFile: true, name: 'package.json' },
|
|
32
|
-
{ isFile: false, name: 'router' },
|
|
33
|
-
{ isFile: false, name: 'service' }
|
|
34
|
-
]
|
|
35
|
-
},
|
|
36
|
-
code: 200,
|
|
37
|
-
msg: '成功',
|
|
38
|
-
t: 1560136820930
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
'test': {},
|
|
43
|
-
'front': true
|
|
44
|
-
},
|
|
45
|
-
'/api/info': {
|
|
46
|
-
name: '获取接口详情',
|
|
47
|
-
desc: '获取接口详情',
|
|
48
|
-
method: 'get',
|
|
49
|
-
controller: 'api.info',
|
|
50
|
-
param: {
|
|
51
|
-
fileName: {
|
|
52
|
-
name: '读取文件路径 + 文件名称',
|
|
53
|
-
desc: '读取文件路径 + 文件名称',
|
|
54
|
-
req: 1,
|
|
55
|
-
def: null,
|
|
56
|
-
type: 'string'
|
|
57
|
-
},
|
|
58
|
-
apiName: {
|
|
59
|
-
name: '当前文档的 api name',
|
|
60
|
-
desc: '当前文档的 api name',
|
|
61
|
-
req: 0,
|
|
62
|
-
def: '',
|
|
63
|
-
type: 'string'
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
'err_code': {
|
|
67
|
-
200: {
|
|
68
|
-
temp: {
|
|
69
|
-
data: {
|
|
70
|
-
name: '8apitofile',
|
|
71
|
-
version: '1.0.0',
|
|
72
|
-
description: '按照api json生成api文档目录结构和路由结构',
|
|
73
|
-
main: 'index.js',
|
|
74
|
-
scripts: {
|
|
75
|
-
test: 'echo "Error: no test specified" && exit 1'
|
|
76
|
-
},
|
|
77
|
-
author: '',
|
|
78
|
-
license: 'ISC',
|
|
79
|
-
dependencies: {
|
|
80
|
-
meeko: '^1.7.50'
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
code: 200,
|
|
84
|
-
msg: '成功',
|
|
85
|
-
t: 1560136761788
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
'test': {},
|
|
90
|
-
'front': true
|
|
91
|
-
},
|
|
92
|
-
'/api/update': {
|
|
93
|
-
name: '单个api json更新到内存中',
|
|
94
|
-
desc: '单个api json更新到内存中',
|
|
95
|
-
method: 'post',
|
|
96
|
-
controller: 'api.update',
|
|
97
|
-
param: {
|
|
98
|
-
fileName: {
|
|
99
|
-
name: '读取文件路径 + 文件名称',
|
|
100
|
-
desc: '读取文件路径 + 文件名称',
|
|
101
|
-
req: 1,
|
|
102
|
-
def: null,
|
|
103
|
-
type: 'string'
|
|
104
|
-
},
|
|
105
|
-
apiName: {
|
|
106
|
-
name: '当前文档的 api name',
|
|
107
|
-
desc: '当前文档的 api name',
|
|
108
|
-
req: 0,
|
|
109
|
-
def: '',
|
|
110
|
-
type: 'string'
|
|
111
|
-
},
|
|
112
|
-
jsonStr: {
|
|
113
|
-
name: '相应api json文档',
|
|
114
|
-
desc: '相应api json文档',
|
|
115
|
-
req: 1,
|
|
116
|
-
def: null,
|
|
117
|
-
type: 'string'
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
'err_code': {},
|
|
121
|
-
'test': {},
|
|
122
|
-
'front': true
|
|
123
|
-
},
|
|
124
|
-
'/api/output': {
|
|
125
|
-
name: '更新api json到file中',
|
|
126
|
-
desc: '更新api json到file中',
|
|
127
|
-
method: 'get',
|
|
128
|
-
controller: 'api.output',
|
|
129
|
-
param: {
|
|
130
|
-
fileName: {
|
|
131
|
-
name: '读取文件路径 + 文件名称',
|
|
132
|
-
desc: '读取文件路径 + 文件名称',
|
|
133
|
-
req: 1,
|
|
134
|
-
def: null,
|
|
135
|
-
type: 'string'
|
|
136
|
-
}
|
|
137
|
-
},
|
|
138
|
-
'err_code': {},
|
|
139
|
-
'test': {},
|
|
140
|
-
'front': true
|
|
141
|
-
}
|
|
142
|
-
}
|
|
1
|
+
module.exports = {
|
|
2
|
+
__swagger__: {
|
|
3
|
+
name: 'api2file',
|
|
4
|
+
description: '使用api json 生成 相应models/api'
|
|
5
|
+
},
|
|
6
|
+
'/api/list': {
|
|
7
|
+
name: '获取所有接口列表',
|
|
8
|
+
desc: '获取所有接口列表',
|
|
9
|
+
method: 'get',
|
|
10
|
+
controller: 'api.list',
|
|
11
|
+
param: {
|
|
12
|
+
name: {
|
|
13
|
+
name: '读取路径',
|
|
14
|
+
desc: '读取路径',
|
|
15
|
+
req: 0,
|
|
16
|
+
def: '.',
|
|
17
|
+
type: 'string'
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
'err_code': {
|
|
21
|
+
200: {
|
|
22
|
+
temp: {
|
|
23
|
+
data: {
|
|
24
|
+
nowPath: '.',
|
|
25
|
+
list: [
|
|
26
|
+
{ isFile: true, name: 'README.md' },
|
|
27
|
+
{ isFile: false, name: 'config' },
|
|
28
|
+
{ isFile: true, name: 'index.js' },
|
|
29
|
+
{ isFile: false, name: 'model' },
|
|
30
|
+
{ isFile: false, name: 'model_back' },
|
|
31
|
+
{ isFile: true, name: 'package.json' },
|
|
32
|
+
{ isFile: false, name: 'router' },
|
|
33
|
+
{ isFile: false, name: 'service' }
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
code: 200,
|
|
37
|
+
msg: '成功',
|
|
38
|
+
t: 1560136820930
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
'test': {},
|
|
43
|
+
'front': true
|
|
44
|
+
},
|
|
45
|
+
'/api/info': {
|
|
46
|
+
name: '获取接口详情',
|
|
47
|
+
desc: '获取接口详情',
|
|
48
|
+
method: 'get',
|
|
49
|
+
controller: 'api.info',
|
|
50
|
+
param: {
|
|
51
|
+
fileName: {
|
|
52
|
+
name: '读取文件路径 + 文件名称',
|
|
53
|
+
desc: '读取文件路径 + 文件名称',
|
|
54
|
+
req: 1,
|
|
55
|
+
def: null,
|
|
56
|
+
type: 'string'
|
|
57
|
+
},
|
|
58
|
+
apiName: {
|
|
59
|
+
name: '当前文档的 api name',
|
|
60
|
+
desc: '当前文档的 api name',
|
|
61
|
+
req: 0,
|
|
62
|
+
def: '',
|
|
63
|
+
type: 'string'
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
'err_code': {
|
|
67
|
+
200: {
|
|
68
|
+
temp: {
|
|
69
|
+
data: {
|
|
70
|
+
name: '8apitofile',
|
|
71
|
+
version: '1.0.0',
|
|
72
|
+
description: '按照api json生成api文档目录结构和路由结构',
|
|
73
|
+
main: 'index.js',
|
|
74
|
+
scripts: {
|
|
75
|
+
test: 'echo "Error: no test specified" && exit 1'
|
|
76
|
+
},
|
|
77
|
+
author: '',
|
|
78
|
+
license: 'ISC',
|
|
79
|
+
dependencies: {
|
|
80
|
+
meeko: '^1.7.50'
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
code: 200,
|
|
84
|
+
msg: '成功',
|
|
85
|
+
t: 1560136761788
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
'test': {},
|
|
90
|
+
'front': true
|
|
91
|
+
},
|
|
92
|
+
'/api/update': {
|
|
93
|
+
name: '单个api json更新到内存中',
|
|
94
|
+
desc: '单个api json更新到内存中',
|
|
95
|
+
method: 'post',
|
|
96
|
+
controller: 'api.update',
|
|
97
|
+
param: {
|
|
98
|
+
fileName: {
|
|
99
|
+
name: '读取文件路径 + 文件名称',
|
|
100
|
+
desc: '读取文件路径 + 文件名称',
|
|
101
|
+
req: 1,
|
|
102
|
+
def: null,
|
|
103
|
+
type: 'string'
|
|
104
|
+
},
|
|
105
|
+
apiName: {
|
|
106
|
+
name: '当前文档的 api name',
|
|
107
|
+
desc: '当前文档的 api name',
|
|
108
|
+
req: 0,
|
|
109
|
+
def: '',
|
|
110
|
+
type: 'string'
|
|
111
|
+
},
|
|
112
|
+
jsonStr: {
|
|
113
|
+
name: '相应api json文档',
|
|
114
|
+
desc: '相应api json文档',
|
|
115
|
+
req: 1,
|
|
116
|
+
def: null,
|
|
117
|
+
type: 'string'
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
'err_code': {},
|
|
121
|
+
'test': {},
|
|
122
|
+
'front': true
|
|
123
|
+
},
|
|
124
|
+
'/api/output': {
|
|
125
|
+
name: '更新api json到file中',
|
|
126
|
+
desc: '更新api json到file中',
|
|
127
|
+
method: 'get',
|
|
128
|
+
controller: 'api.output',
|
|
129
|
+
param: {
|
|
130
|
+
fileName: {
|
|
131
|
+
name: '读取文件路径 + 文件名称',
|
|
132
|
+
desc: '读取文件路径 + 文件名称',
|
|
133
|
+
req: 1,
|
|
134
|
+
def: null,
|
|
135
|
+
type: 'string'
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
'err_code': {},
|
|
139
|
+
'test': {},
|
|
140
|
+
'front': true
|
|
141
|
+
}
|
|
142
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "4-api-to-file",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "按照api json生成api文档目录结构和路由结构",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
8
|
-
},
|
|
9
|
-
"author": "",
|
|
10
|
-
"license": "ISC",
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"meeko": "^1.7.50"
|
|
13
|
-
}
|
|
14
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "4-api-to-file",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "按照api json生成api文档目录结构和路由结构",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
8
|
+
},
|
|
9
|
+
"author": "",
|
|
10
|
+
"license": "ISC",
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"meeko": "^1.7.50"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
const ApiService = require('../service/api.js')
|
|
3
|
-
|
|
4
|
-
module.exports = {
|
|
5
|
-
async list (ctx) {
|
|
6
|
-
const r = await ApiService.list(ctx.checkedData.data)
|
|
7
|
-
if (r && r.code === 0) {
|
|
8
|
-
ctx.throwCode(200, '成功', r.data)
|
|
9
|
-
} else {
|
|
10
|
-
ctx.throwCode(r.code, r.msg)
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
async info (ctx) {
|
|
14
|
-
const r = await ApiService.info(ctx.checkedData.data)
|
|
15
|
-
if (r && r.code === 0) {
|
|
16
|
-
ctx.throwCode(200, '成功', r.data)
|
|
17
|
-
} else {
|
|
18
|
-
ctx.throwCode(r.code, r.msg)
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
async update (ctx) {
|
|
22
|
-
const r = await ApiService.update(ctx.checkedData.data)
|
|
23
|
-
if (r && r.code === 0) {
|
|
24
|
-
ctx.throwCode(200, '成功', r.data)
|
|
25
|
-
} else {
|
|
26
|
-
ctx.throwCode(r.code, r.msg)
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
async output (ctx) {
|
|
30
|
-
const r = await ApiService.output(ctx.checkedData.data)
|
|
31
|
-
if (r && r.code === 0) {
|
|
32
|
-
ctx.throwCode(200, '成功', r.data)
|
|
33
|
-
} else {
|
|
34
|
-
ctx.throwCode(r.code, r.msg)
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
1
|
+
|
|
2
|
+
const ApiService = require('../service/api.js')
|
|
3
|
+
|
|
4
|
+
module.exports = {
|
|
5
|
+
async list (ctx) {
|
|
6
|
+
const r = await ApiService.list(ctx.checkedData.data)
|
|
7
|
+
if (r && r.code === 0) {
|
|
8
|
+
ctx.throwCode(200, '成功', r.data)
|
|
9
|
+
} else {
|
|
10
|
+
ctx.throwCode(r.code, r.msg)
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
async info (ctx) {
|
|
14
|
+
const r = await ApiService.info(ctx.checkedData.data)
|
|
15
|
+
if (r && r.code === 0) {
|
|
16
|
+
ctx.throwCode(200, '成功', r.data)
|
|
17
|
+
} else {
|
|
18
|
+
ctx.throwCode(r.code, r.msg)
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
async update (ctx) {
|
|
22
|
+
const r = await ApiService.update(ctx.checkedData.data)
|
|
23
|
+
if (r && r.code === 0) {
|
|
24
|
+
ctx.throwCode(200, '成功', r.data)
|
|
25
|
+
} else {
|
|
26
|
+
ctx.throwCode(r.code, r.msg)
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
async output (ctx) {
|
|
30
|
+
const r = await ApiService.output(ctx.checkedData.data)
|
|
31
|
+
if (r && r.code === 0) {
|
|
32
|
+
ctx.throwCode(200, '成功', r.data)
|
|
33
|
+
} else {
|
|
34
|
+
ctx.throwCode(r.code, r.msg)
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
#mock-api
|
|
2
|
-
相关mock数据内容
|
|
1
|
+
#mock-api
|
|
2
|
+
相关mock数据内容
|
|
3
3
|
/model/mock.js 存放位置不可更改,需更改请查看 /lib/middleware/sky-api-register.js +81
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const path = require('path')
|
|
2
|
-
const packageJson = require('../package')
|
|
3
|
-
module.exports = {
|
|
4
|
-
name: packageJson.name,
|
|
5
|
-
rootDir: path.join(__dirname, '../'),
|
|
6
|
-
fileApiDir: path.join(__dirname, '../model/api/'),
|
|
7
|
-
port: 8888
|
|
8
|
-
}
|
|
1
|
+
const path = require('path')
|
|
2
|
+
const packageJson = require('../package')
|
|
3
|
+
module.exports = {
|
|
4
|
+
name: packageJson.name,
|
|
5
|
+
rootDir: path.join(__dirname, '../'),
|
|
6
|
+
fileApiDir: path.join(__dirname, '../model/api/'),
|
|
7
|
+
port: 8888
|
|
8
|
+
}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
let $ = require('meeko')
|
|
3
|
-
const envMap = {
|
|
4
|
-
dev: 'dev',
|
|
5
|
-
development: 'dev',
|
|
6
|
-
test: 'test',
|
|
7
|
-
'local-test': 'local-test',
|
|
8
|
-
checkout: 'checkout', // 是另一个测试环境,当时运维没命好名
|
|
9
|
-
local: 'local',
|
|
10
|
-
production: 'prod',
|
|
11
|
-
prod: 'prod'
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
let env = process.env.NODE_ENV
|
|
15
|
-
|
|
16
|
-
// 有这个之后,启动时 node .\index.js local 即可指定环境
|
|
17
|
-
if (!env && process.argv[2]) {
|
|
18
|
-
env = process.argv[2]
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
env = envMap[env] || 'local'
|
|
22
|
-
const defConfig = require('./config.default')
|
|
23
|
-
|
|
24
|
-
let config = {}
|
|
25
|
-
try {
|
|
26
|
-
config = require('./config.' + env)
|
|
27
|
-
} catch (e) {
|
|
28
|
-
console.log('\x1b[2;31m' + `【普通错误】${env}配置文件缺失,将使用default配置` + '\x1b[m')
|
|
29
|
-
}
|
|
30
|
-
$.option.logTime = 0
|
|
31
|
-
$.log(`=======================\n NODE_ENV:${$.c.g(` ${env} `)} \n=======================`)
|
|
32
|
-
module.exports = { ...defConfig, ...config }
|
|
1
|
+
'use strict'
|
|
2
|
+
let $ = require('meeko')
|
|
3
|
+
const envMap = {
|
|
4
|
+
dev: 'dev',
|
|
5
|
+
development: 'dev',
|
|
6
|
+
test: 'test',
|
|
7
|
+
'local-test': 'local-test',
|
|
8
|
+
checkout: 'checkout', // 是另一个测试环境,当时运维没命好名
|
|
9
|
+
local: 'local',
|
|
10
|
+
production: 'prod',
|
|
11
|
+
prod: 'prod'
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let env = process.env.NODE_ENV
|
|
15
|
+
|
|
16
|
+
// 有这个之后,启动时 node .\index.js local 即可指定环境
|
|
17
|
+
if (!env && process.argv[2]) {
|
|
18
|
+
env = process.argv[2]
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
env = envMap[env] || 'local'
|
|
22
|
+
const defConfig = require('./config.default')
|
|
23
|
+
|
|
24
|
+
let config = {}
|
|
25
|
+
try {
|
|
26
|
+
config = require('./config.' + env)
|
|
27
|
+
} catch (e) {
|
|
28
|
+
console.log('\x1b[2;31m' + `【普通错误】${env}配置文件缺失,将使用default配置` + '\x1b[m')
|
|
29
|
+
}
|
|
30
|
+
$.option.logTime = 0
|
|
31
|
+
$.log(`=======================\n NODE_ENV:${$.c.g(` ${env} `)} \n=======================`)
|
|
32
|
+
module.exports = { ...defConfig, ...config }
|
package/demo/5-mock-api/index.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
const sky = require('../../index')
|
|
2
|
-
const config = require('./config')
|
|
3
|
-
|
|
4
|
-
sky.start(config, async () => {
|
|
5
|
-
console.log('Mock项目成功启动,我们可以使用全部mock函数,定义都在 meeko核心模块中')
|
|
6
|
-
console.log($.c.g('https://github.com/kongnet/meeko'))
|
|
7
|
-
let sNote = `
|
|
8
|
-
genDatetime 随机日期
|
|
9
|
-
genData 随机指定字符,和组成的长度
|
|
10
|
-
genName 随机一个中文名字
|
|
11
|
-
genCard 随机中国身份证
|
|
12
|
-
genIp 随机IP地址
|
|
13
|
-
genUrl 随机网址
|
|
14
|
-
genPhone 随机3大运营商手机
|
|
15
|
-
genColor 随机颜色,16进制和RGBA模式
|
|
16
|
-
genWord 随机几个字
|
|
17
|
-
genText 随机一段文字
|
|
18
|
-
genConstellation 随机一个星座
|
|
19
|
-
genBool 随机是否
|
|
20
|
-
genEnum 随机指定的枚举值
|
|
21
|
-
genBeautyText 随机一段优美的文字
|
|
22
|
-
`
|
|
23
|
-
console.log(sNote)
|
|
24
|
-
})
|
|
1
|
+
const sky = require('../../index')
|
|
2
|
+
const config = require('./config')
|
|
3
|
+
|
|
4
|
+
sky.start(config, async () => {
|
|
5
|
+
console.log('Mock项目成功启动,我们可以使用全部mock函数,定义都在 meeko核心模块中')
|
|
6
|
+
console.log($.c.g('https://github.com/kongnet/meeko'))
|
|
7
|
+
let sNote = `
|
|
8
|
+
genDatetime 随机日期
|
|
9
|
+
genData 随机指定字符,和组成的长度
|
|
10
|
+
genName 随机一个中文名字
|
|
11
|
+
genCard 随机中国身份证
|
|
12
|
+
genIp 随机IP地址
|
|
13
|
+
genUrl 随机网址
|
|
14
|
+
genPhone 随机3大运营商手机
|
|
15
|
+
genColor 随机颜色,16进制和RGBA模式
|
|
16
|
+
genWord 随机几个字
|
|
17
|
+
genText 随机一段文字
|
|
18
|
+
genConstellation 随机一个星座
|
|
19
|
+
genBool 随机是否
|
|
20
|
+
genEnum 随机指定的枚举值
|
|
21
|
+
genBeautyText 随机一段优美的文字
|
|
22
|
+
`
|
|
23
|
+
console.log(sNote)
|
|
24
|
+
})
|