Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
server
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
changsanjiao
server
Commits
a5081157
Commit
a5081157
authored
Oct 13, 2021
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
路由
parent
4a14c245
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
175 additions
and
5 deletions
+175
-5
analysisExcelData.ts
src/data/analysisExcelData.ts
+31
-0
excelCmd.js
src/excelCmd.js
+124
-2
router.ts
src/routers/router.ts
+20
-3
No files found.
src/data/analysisExcelData.ts
0 → 100644
View file @
a5081157
import
*
as
path
from
"path"
;
import
*
as
fs
from
"fs"
;
import
{
BizError
}
from
"../util/bizError"
;
import
{
limitEnteNameString
}
from
"../util/tools"
;
import
{
getExcelDataBySheetName
,
analysisExcelDataOfObject
}
from
"../util/analysisExcel"
;
export
function
getsheet1
()
{;
let
bolckDataList
=
getExcelDataBySheetName
(
'数据模板'
,
'sheet1'
);
let
result
=
{};
for
(
let
i
=
0
;
i
<
bolckDataList
.
length
;
i
++
)
{
let
{
blockData
,
blockTitle
}
=
bolckDataList
[
i
];
let
analysisData
=
analysisExcelDataOfObject
(
blockData
,
true
,
true
);
result
[
blockTitle
]
=
analysisData
;
}
return
result
;
}
export
function
getsheet2
()
{;
let
bolckDataList
=
getExcelDataBySheetName
(
'数据模板'
,
'sheet2'
);
let
result
=
{};
for
(
let
i
=
0
;
i
<
bolckDataList
.
length
;
i
++
)
{
let
{
blockData
,
blockTitle
}
=
bolckDataList
[
i
];
let
analysisData
=
analysisExcelDataOfObject
(
blockData
,
true
,
true
);
result
[
blockTitle
]
=
analysisData
;
}
return
result
;
}
\ No newline at end of file
src/excelCmd.js
View file @
a5081157
...
...
@@ -2,9 +2,27 @@ let fs = require('fs');
//excel的名字
const
excelName
=
"数据模板"
;
let
sheetNameList
=
[
"sheet1"
,
"sheet2"
];
let
RoutersheetNameList
=
[
{
name
:
"api1"
,
dataList
:[
//name:名称,len:长度,type:类型,haveUnit:是否有单位
{
name
:
"sheet1"
,
len
:
7
,
type
:
"键值"
,
haveUnit
:
true
},
{
name
:
"sheet2"
,
len
:
3
,
type
:
"柱状"
,
haveUnit
:
true
},
{
name
:
"sheet3"
,
len
:
8
,
type
:
"键值"
,
haveUnit
:
true
},
{
name
:
"sheet4"
,
len
:
7
,
type
:
"键值"
,
haveUnit
:
true
},
{
name
:
"sheet5"
,
len
:
5
,
type
:
"地图"
,
haveUnit
:
true
}
]},
{
name
:
"api2"
,
dataList
:[
{
name
:
"sheet1"
,
len
:
6
,
type
:
"键值"
,
haveUnit
:
true
},
{
name
:
"sheet2"
,
len
:
1
,
type
:
"柱状"
,
haveUnit
:
true
},
{
name
:
"sheet3"
,
len
:
3
,
type
:
"柱状"
,
haveUnit
:
true
},
]},
{
name
:
"api3"
,
dataList
:[
{
name
:
"sheet1"
,
len
:
5
,
type
:
"地图"
,
haveUnit
:
true
},
{
name
:
"sheet2"
,
len
:
6
,
type
:
"键值"
,
haveUnit
:
true
}
]}
]
//创建data层
function
createData
()
{
let
str
=
`
...
...
@@ -45,11 +63,115 @@ function createData() {
});
}
//创建Router层
function
createRouter
()
{
let
path
=
`./routers/router.ts`
;
fs
.
access
(
path
,
(
err
)
=>
{
if
(
!
err
)
{
console
.
error
(
path
,
"文件已存在"
);
return
;
}
fs
.
writeFileSync
(
path
,
getRouterData
(
RoutersheetNameList
));
console
.
log
(
path
,
"创建router文件成功"
)
});
}
function
getRouterData
(
apiList
){
let
importName
=
""
;
let
routergetName
=
""
;
let
routerpostName
=
""
;
createData
();
apiList
.
forEach
(
apiInfo
=>
{
importName
+=
`
import * as
${
apiInfo
.
name
}
Biz from '../biz/
${
apiInfo
.
name
}
';
`
routergetName
+=
`
httpServer.get('/
${
apiInfo
.
name
}
', asyncHandler(
${
apiInfo
.
name
}
Biz.getData));
`
routerpostName
+=
`
httpServer.post('/
${
apiInfo
.
name
}
', asyncHandler(
${
apiInfo
.
name
}
Biz.getData));
`
});
let
str
=
`
import * as asyncHandler from 'express-async-handler'
${
importName
}
export function srtRouter(httpServer){
${
routergetName
}
${
routerpostName
}
}`
return
str
;
}
//创建biz层
function
createBiz
(){
RoutersheetNameList
.
forEach
(
apiInfo
=>
{
let
path
=
`./biz/
${
apiInfo
.
name
}
.ts`
;
fs
.
access
(
path
,
(
err
)
=>
{
if
(
!
err
)
{
console
.
error
(
path
,
"文件已存在"
);
return
;
}
fs
.
writeFileSync
(
path
,
getBizData
(
apiInfo
.
dataList
));
console
.
log
(
path
,
"创建biz文件成功"
)
});
})
}
function
getBizData
(
dataList
){
let
funStr
=
""
;
let
runFunStr
=
""
;
dataList
.
forEach
(
dataInfo
=>
{
let
subFunStr
=
``
;
switch
(
dataInfo
.
type
){
case
"键值"
:
subFunStr
=
`mock键值数据模板(
${
dataInfo
.
len
}
)`
;
break
;
case
"键值"
:
subFunStr
=
`mock柱状数据模板(
${
dataInfo
.
len
}
)`
;
break
;
case
"键值"
:
subFunStr
=
`mock地图数据模板(
${
dataInfo
.
len
}
)`
;
break
;
};
funStr
+=
`function get
${
dataInfo
.
name
}
(){
return
${
subFunStr
}
;
}
`
;
runFunStr
+=
` ret["
${
dataInfo
.
name
}
"]=get
${
dataInfo
.
name
}
();
`
});
let
allData
=
`import { mock键值数据模板,mock柱状图数据模板,mock地图数据模板 } from "../util/mockData";
export async function getData(req, res){
let ret:any = {};
${
runFunStr
}
res.send(ret);
}
${
funStr
}
`
return
allData
;
}
createData
();
createRouter
();
createBiz
();
//创建 biz层
src/routers/router.ts
View file @
a5081157
export
function
setRouter
(
httpServer
)
{
}
\ No newline at end of file
import
*
as
asyncHandler
from
'express-async-handler'
import
*
as
api1Biz
from
'../biz/api1'
;
import
*
as
api2Biz
from
'../biz/api2'
;
export
function
srtRouter
(
httpServer
){
httpServer
.
get
(
'/api1'
,
asyncHandler
(
api1Biz
.
getData
));
httpServer
.
get
(
'/api2'
,
asyncHandler
(
api2Biz
.
getData
));
httpServer
.
post
(
'/api1'
,
asyncHandler
(
api1Biz
.
getData
));
httpServer
.
post
(
'/api2'
,
asyncHandler
(
api2Biz
.
getData
));
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment