Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhangjiangzhenxcxserver
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
node_server
zhangjiangzhenxcxserver
Commits
4b78d84c
Commit
4b78d84c
authored
Mar 05, 2026
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
4c6fb6cc
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
279 additions
and
64 deletions
+279
-64
Snipaste_2026-01-02_22-48-3220260205_101379.png
...s/space/2/Snipaste_2026-01-02_22-48-3220260205_101379.png
+0
-0
Snipaste_2026-01-05_14-13-3520260205_095343.png
...s/space/2/Snipaste_2026-01-05_14-13-3520260205_095343.png
+0
-0
Snipaste_2026-01-05_14-13-3520260205_100227.png
...s/space/2/Snipaste_2026-01-05_14-13-3520260205_100227.png
+0
-0
暂无20260205_095143.png
files/space/2/暂无20260205_095143.png
+0
-0
标记企业1112_2.xlsx
res/标记企业1112_2.xlsx
+0
-0
serverConfig.xml
serverConfig.xml
+1
-0
admin.ts
src/biz/admin.ts
+59
-29
ai.ts
src/biz/ai.ts
+1
-1
dataInit.ts
src/biz/dataSync/dataInit.ts
+165
-0
newDataInit.ts
src/biz/dataSync/newDataInit.ts
+0
-0
space.ts
src/biz/space.ts
+36
-25
paramConfig.ts
src/config/paramConfig.ts
+1
-1
serverConfig.ts
src/config/serverConfig.ts
+2
-1
systemClass.ts
src/config/systemClass.ts
+1
-0
main.ts
src/main.ts
+2
-3
http_server.ts
src/net/http_server.ts
+1
-1
system.ts
src/tools/system.ts
+3
-2
tsconfig.json
tsconfig.json
+7
-1
No files found.
files/space/2/Snipaste_2026-01-02_22-48-3220260205_101379.png
0 → 100644
View file @
4b78d84c
58.2 KB
files/space/2/Snipaste_2026-01-05_14-13-3520260205_095343.png
0 → 100644
View file @
4b78d84c
99.3 KB
files/space/2/Snipaste_2026-01-05_14-13-3520260205_100227.png
0 → 100644
View file @
4b78d84c
99.3 KB
files/space/2/暂无20260205_095143.png
0 → 100644
View file @
4b78d84c
3.49 KB
res/标记企业1112_2.xlsx
View file @
4b78d84c
No preview for this file type
serverConfig.xml
View file @
4b78d84c
<config>
<port>
13280
</port>
<img>
http://101.89.111.202:13280
</img>
<mongodb>
<path>
192.168.0.105
</path>
<port>
27017
</port>
...
...
src/biz/admin.ts
View file @
4b78d84c
...
...
@@ -381,6 +381,14 @@ export async function enterpriseBusinessList(selectStr:string, industry:number,
param
.
year
=
year
;
}
let
enterpriseList
=
await
enterpriseData
.
findEnterpriseListByParam
({});
let
enterpriseMap
=
{};
enterpriseList
.
forEach
(
info
=>
{
enterpriseMap
[
info
.
uscc
]
=
{
name
:
info
.
name
,
industry
:
info
.
industry
};
})
let
list
=
await
businessData
.
findEnterpriseBusinessToPageByParam
(
param
,
page
);
let
dataCount
=
await
businessData
.
findEnterpriseBusinessCountByParam
(
param
);
...
...
@@ -388,16 +396,23 @@ export async function enterpriseBusinessList(selectStr:string, industry:number,
let
dataList
=
[];
list
.
forEach
(
info
=>
{
let
item
=
{
uscc
:
info
.
uscc
,
name
:
info
.
name
,
year
:
info
.
year
,
industry
:
changeEnumManyValue
(
INDUSTRY
,
info
.
industry
)[
0
]
||
"-"
,
BI
:
info
.
BI
,
RD
:
info
.
RD
,
TXP
:
info
.
TXP
,
};
dataList
.
push
(
item
);
let
industryStr
:
any
=
"-"
;
if
(
enterpriseMap
[
info
.
uscc
])
{
if
(
enterpriseMap
[
info
.
uscc
].
industry
)
{
industryStr
=
changeEnumManyValue
(
INDUSTRY
,
enterpriseMap
[
info
.
uscc
].
industry
)
}
let
item
=
{
uscc
:
info
.
uscc
,
name
:
enterpriseMap
[
info
.
uscc
].
name
,
year
:
info
.
year
,
// industry:changeEnumManyValue(INDUSTRY, info.industry)[0] || "-",
industry
:
industryStr
,
BI
:
info
.
BI
,
RD
:
info
.
RD
,
TXP
:
info
.
TXP
,
};
dataList
.
push
(
item
);
}
});
return
{
dataList
,
dataCount
};
...
...
@@ -488,7 +503,6 @@ export async function outPutBusinessData(selectStr:string, industry:number, year
export
async
function
enterpriseVisitList
(
selectStr
:
string
,
researchTime
:
number
,
researchType
:
number
,
appealType
:
number
,
state
:
number
,
page
:
number
)
{
let
param
:
any
=
{};
let
list
=
await
visitData
.
findDataToPage
(
param
,
page
);
...
...
@@ -500,8 +514,8 @@ export async function enterpriseVisitList(selectStr:string, researchTime:number,
let
researchTime
=
moment
(
info
.
researchTime
).
format
(
"YYYY-MM-DD"
);
let
accompanyStr
=
""
;
info
.
accompany
.
forEach
((
item
,
index
)
=>
{
accompanyStr
+=
`
${
userMap
[
item
]}
`
;
if
(
index
<
info
.
accompany
.
length
-
1
)
accompanyStr
+=
"、"
;
accompanyStr
+=
userMap
[
item
]
||
''
;
if
(
userMap
[
item
]
&&
(
index
<
info
.
accompany
.
length
-
1
)
)
accompanyStr
+=
"、"
;
})
let
item
=
{
name
:
info
.
name
,
...
...
@@ -511,7 +525,7 @@ export async function enterpriseVisitList(selectStr:string, researchTime:number,
researchType
:
changeEnumValue
(
RESEARCHTYPE
,
info
.
researchType
),
appeal
:
info
.
appeal
,
state
:
changeEnumValue
(
SOLVESTATECLIENT
,
info
.
state
),
accompany
:
accompanyStr
,
accompany
:
accompanyStr
||
'无陪同人员'
,
contacts
:
info
.
contacts
,
contactsPhone
:
info
.
contactsPhone
};
...
...
@@ -1240,21 +1254,37 @@ export async function homeBase() {
export
async
function
homeEnterpriseChange
(
year
:
number
)
{
let
dataList
=
[
{
key
:
"5月"
,
value
:
0
},
{
key
:
"6月"
,
value
:
0
},
{
key
:
"7月"
,
value
:
0
},
{
key
:
"8月"
,
value
:
0
},
{
key
:
"9月"
,
value
:
0
},
{
key
:
"10月"
,
value
:
0
},
{
key
:
"11月"
,
value
:
0
},
{
key
:
"12月"
,
value
:
0
},
{
key
:
"1月"
,
value
:
0
},
{
key
:
"2月"
,
value
:
0
},
{
key
:
"3月"
,
value
:
0
},
{
key
:
"4月"
,
value
:
45023
},
];
return
{
dataList
}
let
dataConf
=
{
2025
:
[
{
key
:
"1月"
,
value
:
0
},
{
key
:
"2月"
,
value
:
0
},
{
key
:
"3月"
,
value
:
0
},
{
key
:
"4月"
,
value
:
4628
},
{
key
:
"5月"
,
value
:
0
},
{
key
:
"6月"
,
value
:
0
},
{
key
:
"7月"
,
value
:
0
},
{
key
:
"8月"
,
value
:
0
},
{
key
:
"9月"
,
value
:
0
},
{
key
:
"10月"
,
value
:
0
},
{
key
:
"11月"
,
value
:
0
},
{
key
:
"12月"
,
value
:
0
},
],
2026
:
[
{
key
:
"1月"
,
value
:
0
},
{
key
:
"2月"
,
value
:
0
},
{
key
:
"3月"
,
value
:
0
},
{
key
:
"4月"
,
value
:
0
},
{
key
:
"5月"
,
value
:
0
},
{
key
:
"6月"
,
value
:
0
},
{
key
:
"7月"
,
value
:
0
},
{
key
:
"8月"
,
value
:
0
},
{
key
:
"9月"
,
value
:
0
},
{
key
:
"10月"
,
value
:
0
},
{
key
:
"11月"
,
value
:
0
},
{
key
:
"12月"
,
value
:
0
},
]
}
return
{
dataList
:
dataConf
[
year
]}
}
...
...
src/biz/ai.ts
View file @
4b78d84c
...
...
@@ -183,7 +183,7 @@ ${JSON.stringify(list)}
// index ++;
// }
let
out
=
fs
.
createWriteStream
(
path
.
join
(
__dirname
.
substring
(
0
,
__dirname
.
indexOf
(
"out"
)),
"
res"
,
`aidoc_
${
new
Date
().
valueOf
()}
.docx`
));
let
out
=
fs
.
createWriteStream
(
path
.
join
(
__dirname
.
substring
(
0
,
__dirname
.
indexOf
(
"out"
)),
"
files"
,
`aidoc
.docx`
));
docx
.
generate
(
out
);
return
{
isSuccess
:
true
};
}
...
...
src/biz/dataSync/dataInit.ts
View file @
4b78d84c
...
...
@@ -17,6 +17,171 @@ const xlsx = require('node-xlsx');
const
path
=
require
(
'path'
);
const
fs
=
require
(
'fs'
);
async
function
未来产业企业筛选
()
{
let
企业名单
=
onceSheetBecomeOfblockData
(
'标记全部企业.xlsx'
,
"同步企业名单"
);
let
dataList
=
企业名单
[
0
].
blockData
;
let
matchList
=
[];
let
店铺
=
[];
let
饭店
=
[];
let
吊销
=
[];
//吊销企业
let
药房
=
[];
let
棋牌
=
[];
let
旅馆
=
[];
let
人力资源
=
[];
let
养老院
=
[];
let
物业管理
=
[];
let
房地产开发租赁销售
=
[];
let
学校
=
[];
let
map
=
{};
dataList
.
forEach
((
subList
,
index
)
=>
{
if
(
!
index
)
return
;
let
国标大类
=
subList
[
23
];
let
国标一类
=
subList
[
24
];
let
国标二类
=
subList
[
25
];
let
企查查大类
=
subList
[
27
];
let
企查查一类
=
subList
[
28
];
let
企查查二类
=
subList
[
29
];
let
经营状态
=
subList
[
2
];
let
类型
=
subList
[
16
];
let
名称
=
subList
[
0
];
if
(
!
经营状态
)
return
;
let
企业机构类型
=
匹配企业类型
(
类型
);
if
(
!
subList
[
2
]
||
cs
(
经营状态
,
"注销"
)
||
cs
(
经营状态
,
"吊销"
)
)
{
吊销
.
push
(
subList
);
return
;
}
if
(
!
map
[
类型
])
map
[
类型
]
=
0
;
map
[
类型
]
+=
1
;
//去除个体户
if
(
cs
(
类型
,
"个体"
))
{
if
(
subList
[
0
].
match
(
/^.*店$/
)
||
cs
(
名称
,
"发廊"
)
||
(
cs
(
名称
,
"五金"
)
&&
(
cs
(
国标大类
,
"零售"
)
||
cs
(
国标大类
,
"批发"
)
)
)
)
{
店铺
.
push
(
subList
);
return
;
}
else
if
(
cs
(
名称
,
"药房"
)
||
cs
(
名称
,
"药店"
))
{
药房
.
push
(
subList
);
return
;
}
else
if
(
cs
(
名称
,
"棋牌"
)
)
{
棋牌
.
push
(
subList
);
return
;
}
else
if
(
cs
(
名称
,
"旅馆"
)
||
cs
(
名称
,
"宾馆"
)
)
{
旅馆
.
push
(
subList
);
}
else
if
(
cs
(
名称
,
"餐饮"
)
||
cs
(
名称
,
"食品"
)
||
cs
(
名称
,
"咖啡"
)
)
{
if
(
cs
(
国标大类
,
"零售"
))
店铺
.
push
(
subList
);
else
饭店
.
push
(
subList
);
}
else
{
店铺
.
push
(
subList
);
}
return
;
}
//名字筛选
if
(
cs
(
名称
,
"发廊"
)
||
cs
(
名称
,
"美容"
)
)
{
店铺
.
push
(
subList
);
return
;
}
if
(
cs
(
名称
,
"五金"
)
&&
(
cs
(
国标大类
,
"零售"
)
||
cs
(
国标大类
,
"批发"
))
)
{
店铺
.
push
(
subList
);
return
;
}
if
(
cs
(
名称
,
"药房"
)
||
cs
(
名称
,
"药店"
))
{
药房
.
push
(
subList
);
return
;
}
if
(
cs
(
名称
,
"棋牌"
)
)
{
棋牌
.
push
(
subList
);
return
;
}
if
(
cs
(
名称
,
"旅馆"
)
||
cs
(
名称
,
"宾馆"
)
)
{
旅馆
.
push
(
subList
);
return
;
}
if
(
cs
(
名称
,
"幼儿园"
)
||
cs
(
名称
,
"中学"
)
||
cs
(
名称
,
"小学"
)
||
cs
(
名称
,
"高中"
)
||
cs
(
名称
,
"学校"
)
)
{
学校
.
push
(
subList
);
return
;
}
//行业类别
if
(
多字段判断
(
"零售"
,
国标大类
,
国标一类
,
国标二类
,
企查查大类
,
企查查一类
,
企查查二类
)
)
{
店铺
.
push
(
subList
);
return
;
}
if
(
多字段判断
(
"摄影"
,
国标大类
,
国标一类
,
国标二类
,
企查查大类
,
企查查一类
,
企查查二类
)
)
{
店铺
.
push
(
subList
);
return
;
}
if
(
多字段判断
(
"餐饮"
,
国标二类
,
企查查二类
)
)
{
饭店
.
push
(
subList
);
return
;
}
if
(
多字段判断
(
"住宿"
,
国标二类
,
企查查二类
))
{
if
(
cs
(
名称
,
"养老"
))
养老院
.
push
(
subList
);
else
旅馆
.
push
(
subList
);
return
;
}
if
(
多字段判断
(
"人力"
,
国标大类
,
国标一类
,
国标二类
,
企查查大类
,
企查查一类
,
企查查二类
))
{
人力资源
.
push
(
subList
);
return
;
}
if
(
多字段判断
(
"房地"
,
国标大类
,
国标一类
,
国标二类
,
企查查大类
,
企查查一类
,
企查查二类
))
{
if
(
多字段判断
(
"物业"
,
国标二类
,
企查查二类
))
物业管理
.
push
(
subList
);
else
房地产开发租赁销售
.
push
(
subList
);
return
;
}
matchList
.
push
(
subList
);
});
let
第二轮筛选
=
[];
let
国标去重
=
{};
let
国标二类去重
=
{};
let
企查查去重
=
{};
let
企查查二类去重
=
{};
matchList
.
forEach
(
subList
=>
{
let
国标大类
=
subList
[
23
];
let
国标一类
=
subList
[
24
];
let
国标二类
=
subList
[
25
];
let
企查查大类
=
subList
[
27
];
let
企查查一类
=
subList
[
28
];
let
企查查二类
=
subList
[
29
];
国标去重
[
国标一类
]
=
1
;
if
(
国标一类
==
"医药制造业"
||
企查查大类
==
"医药生物"
)
{
第二轮筛选
.
push
(
subList
);
}
企查查去重
[
企查查大类
]
=
1
;
});
let
data
=
[
{
name
:
"sheet1"
,
data
:
第二轮筛选
}
];
let
buff
=
xlsx
.
build
(
data
);
fs
.
writeFileSync
(
path
.
join
(
__dirname
.
substring
(
0
,
__dirname
.
indexOf
(
"out"
)),
"res"
,
'生物医药.xlsx'
),
buff
);
console
.
log
();
}
export
async
function
test111
()
{
let
excelInfo
=
onceSheetBecomeOfblockData
(
"目标名单.xlsx"
,
"Sheet1"
);
let
dataList
=
excelInfo
[
0
][
"blockData"
];
...
...
src/biz/dataSync/newDataInit.ts
View file @
4b78d84c
This diff is collapsed.
Click to expand it.
src/biz/space.ts
View file @
4b78d84c
...
...
@@ -33,8 +33,8 @@ export async function spaceList(name:string, page:number) {
spaceId
:
info
.
spaceId
,
name
:
info
.
name
,
// 物业名称
address
:
info
.
address
||
"-"
,
// 地址
totalArea
:
info
.
totalArea
||
"-"
,
// 总面积(平方米)
leasingRate
:
info
.
leasingRate
||
"-"
,
// 出租率(0-100之间的数字)%
totalArea
:
info
.
totalArea
?
info
.
totalArea
+
"㎡"
:
"-"
,
// 总面积(平方米)
leasingRate
:
info
.
leasingRate
?
info
.
leasingRate
+
"%"
:
"-"
,
// 出租率(0-100之间的数字)%
vacantAreas
:
info
.
vacantAreas
||
[],
// 空置区域(如:183.6m²4楼)
supportPolicies
:
info
.
supportPolicies
||
[],
// 支持政策:孵化器补贴、青创15条等
description
:
info
.
description
||
"-"
,
// 简介或项目描述
...
...
@@ -43,13 +43,13 @@ export async function spaceList(name:string, page:number) {
environmentalAssessment
:
info
.
environmentalAssessment
||
"-"
,
// 环评
deliveryStandard
:
changeEnumValue
(
DELIVERYSTANDARD
,
info
.
deliveryStandard
),
// 交付标准
deliveryRemark
:
info
.
deliveryRemark
||
"-"
,
// 交付备注说明
floorHeight
:
info
.
floorHeight
||
"-"
,
// 层高(m)
floorLoad
:
info
.
floorLoad
||
"-"
,
// 承重(KN/m²)
standardFloorArea
:
info
.
standardFloorArea
||
"-"
,
// 标准层面积(m²)
minLeasableArea
:
info
.
minLeasableAre
a
||
"-"
,
// 最小可租面积(m²)
powerSupply
:
info
.
powerSupply
||
"-"
,
// 电量(w/㎡)
parkingSpaces
:
info
.
parkingSpaces
||
"-"
,
// 停车位数量
parkingFee
:
info
.
parkingFee
||
"-"
,
// 停车费
floorHeight
:
info
.
floorHeight
?
info
.
floorHeight
+
"m"
:
"-"
,
// 层高(m)
floorLoad
:
info
.
floorLoad
?
info
.
floorLoad
+
"KN/m²"
:
"-"
,
// 承重(KN/m²)
standardFloorArea
:
info
.
standardFloorArea
?
info
.
standardFloorArea
+
"m²"
:
"-"
,
// 标准层面积(m²)
minLeasableArea
:
info
.
minLeasableAre
?
info
.
minLeasableAre
+
"m²"
:
"-"
,
// 最小可租面积(m²)
powerSupply
:
info
.
powerSupply
?
info
.
powerSupply
+
"w/㎡"
:
"-"
,
// 电量(w/㎡)
parkingSpaces
:
info
.
parkingSpaces
?
info
.
parkingSpaces
+
"个"
:
"-"
,
// 停车位数量
parkingFee
:
info
.
parkingFee
+
"元/个"
||
"-"
,
// 停车费
deliveryTime
:
moment
(
info
.
deliveryTime
).
format
(
"YYYY-MM-DD"
)
||
"-"
,
// 交付时间 时间戳
contactPerson
:
info
.
contactPerson
||
"-"
,
// 项目联系人
surroundingFacilities
:
info
.
surroundingFacilities
||
"-"
,
// 周边配套
...
...
@@ -75,14 +75,25 @@ export async function addSpace(param) {
let
spaceInfo
=
await
spaceData
.
findSpaceByName
(
param
.
name
);
if
(
spaceInfo
.
name
)
throw
new
BizError
(
ERRORENUM
.
空间已存在
);
param
.
spaceId
=
getInformationId
();
param
.
createdAt
=
Date
.
now
();;
param
.
updatedAt
=
Date
.
now
();
param
.
vacantAreas
=
param
.
vacantAreas
;
param
.
supportPolicies
=
param
.
supportPolicies
;
await
spaceData
.
addSpace
(
param
);
let
addInfo
:
any
=
{};
for
(
let
key
in
param
)
{
addInfo
[
key
]
=
param
[
key
]
}
addInfo
.
spaceId
=
getInformationId
();
addInfo
.
createdAt
=
Date
.
now
();;
addInfo
.
updatedAt
=
Date
.
now
();
let
attachments
=
[];
if
(
param
.
attachments
)
{
param
.
attachments
.
forEach
(
info
=>
{
attachments
.
push
(
info
.
url
);
})
}
addInfo
.
attachments
=
attachments
;
await
spaceData
.
addSpace
(
addInfo
);
return
successResult
();
}
...
...
@@ -191,7 +202,7 @@ export async function spaceXCXList(name:string) {
attachments
:
convertFilesToObjectArray
(
info
.
attachments
),
//附件信息
name
:
info
.
name
,
// 物业名称
address
:
info
.
address
||
"-"
,
// 地址
totalArea
:
info
.
totalArea
||
"-"
,
// 总面积(平方米)
totalArea
:
info
.
totalArea
||
"-"
,
// 总面积(平方米)
leasingRate
:
info
.
leasingRate
||
"-"
,
// 出租率(0-100之间的数字)%
};
dataList
.
push
(
item
);
...
...
@@ -216,7 +227,7 @@ export async function getSpaceXCXInfo(spaceId:string) {
spaceId
:
spaceInfo
.
spaceId
,
name
:
spaceInfo
.
name
,
// 物业名称
address
:
spaceInfo
.
address
||
"-"
,
// 地址
totalArea
:
spaceInfo
.
totalArea
||
"-"
,
// 总面积(平方米)
totalArea
:
spaceInfo
.
totalArea
?
spaceInfo
.
totalArea
+
"㎡"
:
"-"
,
// 总面积(平方米)
leasingRate
:
spaceInfo
.
leasingRate
||
"-"
,
// 出租率(0-100之间的数字)%
vacantAreas
:
spaceInfo
.
vacantAreas
||
[],
// 空置区域(如:183.6m²4楼)
supportPolicies
:
spaceInfo
.
supportPolicies
||
[],
// 支持政策:孵化器补贴、青创15条等
...
...
@@ -226,13 +237,13 @@ export async function getSpaceXCXInfo(spaceId:string) {
environmentalAssessment
:
spaceInfo
.
environmentalAssessment
||
"-"
,
// 环评
deliveryStandard
:
spaceInfo
.
deliveryStandard
,
// 交付标准
deliveryRemark
:
spaceInfo
.
deliveryRemark
||
"-"
,
// 交付备注说明
floorHeight
:
spaceInfo
.
floorHeight
||
"-"
,
// 层高(m)
floorLoad
:
spaceInfo
.
floorLoad
||
"-"
,
// 承重(KN/m²)
standardFloorArea
:
spaceInfo
.
standardFloorArea
||
"-"
,
// 标准层面积(m²)
minLeasableArea
:
spaceInfo
.
minLeasableArea
||
"-"
,
// 最小可租面积(m²)
powerSupply
:
spaceInfo
.
powerSupply
||
"-"
,
// 电量(w/㎡)
parkingSpaces
:
spaceInfo
.
parkingSpaces
||
"-"
,
// 停车位数量
parkingFee
:
spaceInfo
.
parkingFee
||
"-"
,
// 停车费
floorHeight
:
spaceInfo
.
floorHeight
?
spaceInfo
.
floorHeight
+
"m"
:
"-"
,
// 层高(m)
floorLoad
:
spaceInfo
.
floorLoad
?
spaceInfo
.
floorLoad
+
"KN/m²"
:
"-"
,
// 承重(KN/m²)
standardFloorArea
:
spaceInfo
.
standardFloorArea
?
spaceInfo
.
standardFloorArea
+
"㎡"
:
"-"
,
// 标准层面积(m²)
minLeasableArea
:
spaceInfo
.
minLeasableArea
?
spaceInfo
.
minLeasableArea
+
"㎡"
:
"-"
,
// 最小可租面积(m²)
powerSupply
:
spaceInfo
.
powerSupply
?
spaceInfo
.
powerSupply
+
"w/㎡"
:
"-"
,
// 电量(w/㎡)
parkingSpaces
:
spaceInfo
.
parkingSpaces
?
spaceInfo
.
parkingSpaces
+
"个"
:
"-"
,
// 停车位数量
parkingFee
:
spaceInfo
.
parkingFee
?
spaceInfo
.
parkingFee
+
"元/个"
:
"-"
,
// 停车费
deliveryTime
:
spaceInfo
.
deliveryTime
||
"-"
,
// 交付时间 时间戳
contactPerson
:
spaceInfo
.
contactPerson
||
"-"
,
// 项目联系人
surroundingFacilities
:
spaceInfo
.
surroundingFacilities
||
"-"
,
// 周边配套
...
...
src/config/paramConfig.ts
View file @
4b78d84c
...
...
@@ -70,7 +70,7 @@ export const AddVisitConfig = {
uscc
:{
type
:
"String"
},
//关联企业
researchTime
:{
type
:
"Number"
},
//调研时间
leaderName
:{
type
:
"String"
},
//出席领导
// accompany:{type:"[String]"
},//陪同人员
accompany
:{
type
:
"[String]"
,
notMustHave
:
true
},
//陪同人员
// contacts:{type:"String"},//联系人
// contactsPhone:{type:"String"},//联系人电话
// content:{type:"String"},//洽谈内容
...
...
src/config/serverConfig.ts
View file @
4b78d84c
...
...
@@ -16,8 +16,9 @@ export async function initConfig() {
if
(
!
configInfo
||
!
configInfo
.
config
)
throw
new
BizError
(
'xml中无配置'
);
else
{
let
{
port
,
mongodb
,
secret
,
getOpenIdUrl
,
appId
,
qcc
}
=
configInfo
.
config
;
let
{
port
,
img
,
mongodb
,
secret
,
getOpenIdUrl
,
appId
,
qcc
}
=
configInfo
.
config
;
systemConfig
.
port
=
parseInt
(
port
[
0
]);
systemConfig
.
img
=
img
[
0
];
systemConfig
.
secret
=
secret
[
0
];
systemConfig
.
getOpenIdUrl
=
getOpenIdUrl
[
0
];
...
...
src/config/systemClass.ts
View file @
4b78d84c
...
...
@@ -6,6 +6,7 @@
export
class
ServerConfig
{
/**系统配置 */
port
:
number
;
img
:
string
;
mongodbStr
:
string
;
secret
:
string
;
/**小程序相关配置 */
...
...
src/main.ts
View file @
4b78d84c
...
...
@@ -11,7 +11,6 @@ import { httpServer } from "./net/http_server";
async
function
lanuch
()
{
/**初始化配置解析 */
await
initConfig
();
...
...
@@ -21,11 +20,11 @@ async function lanuch() {
/**创建http服务 */
httpServer
.
createServer
(
systemConfig
.
port
);
console
.
log
(
'This indicates that the server is started successfully.'
);
await
initEnterpriseData
();
// await initEnterpriseData(); //初始化户管企业
// await out20251031();
// await dataOut();
// await test111222();
await
test33333
();
//
await test33333();
}
...
...
src/net/http_server.ts
View file @
4b78d84c
...
...
@@ -5,7 +5,7 @@ import compression = require('compression');
import
{
watch
}
from
'../middleware/watch'
;
import
{
httpErrorHandler
}
from
'../middleware/httpErrorHandler'
;
import
*
as
path
from
"path"
;
import
*
as
fallback
from
'express-history-api-fallback'
;
import
fallback
from
'express-history-api-fallback'
;
export
class
httpServer
{
static
createServer
(
port
:
number
)
{
...
...
src/tools/system.ts
View file @
4b78d84c
...
...
@@ -5,6 +5,7 @@
*/
import
moment
=
require
(
"moment"
);
import
{
systemConfig
}
from
"../config/serverConfig"
;
const
md5
=
require
(
"md5"
);
...
...
@@ -280,7 +281,7 @@ export function convertFilesToObjectArray(fileInput: any) {
if
(
!
extension
)
{
return
{
name
:
originalFileName
,
url
:
url
url
:
`
${
systemConfig
.
img
}${
url
}
`
};
}
...
...
@@ -368,7 +369,7 @@ export function convertFilesToObjectArray(fileInput: any) {
return
{
name
:
finalFileName
,
url
:
url
url
:
`
${
systemConfig
.
img
}${
url
}
`
};
});
...
...
tsconfig.json
View file @
4b78d84c
...
...
@@ -4,7 +4,13 @@
"target"
:
"es2017"
,
"sourceMap"
:
true
,
"rootDir"
:
"./src"
,
"outDir"
:
"./out"
"outDir"
:
"./out"
,
"esModuleInterop"
:
true
,
"allowSyntheticDefaultImports"
:
true
,
"strict"
:
false
,
"noImplicitAny"
:
false
,
"strictNullChecks"
:
false
,
"types"
:
[
"node"
]
},
"exclude"
:
[
"node_modules"
,
...
...
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