@gingkoo/base-server 0.0.2-alpha.2 → 0.0.2-alpha.21
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/backend/common/logger/index.js +13 -2
- package/backend/common/middleware/auth.js +17 -6
- package/backend/common/socket.js +1 -1
- package/backend/common/wechat/routers/auth.js +2 -1
- package/backend/config/index.js +5 -2
- package/backend/routers/app.js +4 -5
- package/backend/routers/team/routers/teaminfo.js +3 -3
- package/backend/routers/team/services/teaminfo.js +2 -2
- package/backend/utils/jwt.js +1 -1
- package/dist/base-assets/css/{index-47564213.css → index-248806df.css} +1 -1
- package/dist/base-assets/css/index-248806df.css.gz +0 -0
- package/dist/base-assets/js/{arc-f56e55b6.js → arc-6dea2ab3.js} +1 -1
- package/dist/base-assets/js/{blockDiagram-9f4a6865-a2b22032.js → blockDiagram-9f4a6865-4294f6d6.js} +1 -1
- package/dist/base-assets/js/blockDiagram-9f4a6865-4294f6d6.js.gz +0 -0
- package/dist/base-assets/js/{c4Diagram-ae766693-347830a5.js → c4Diagram-ae766693-df789b42.js} +1 -1
- package/dist/base-assets/js/{c4Diagram-ae766693-347830a5.js.gz → c4Diagram-ae766693-df789b42.js.gz} +0 -0
- package/dist/base-assets/js/channel-5cca556f.js +1 -0
- package/dist/base-assets/js/{classDiagram-fb54d2a0-f1cb4c0f.js → classDiagram-fb54d2a0-b27a7ec6.js} +1 -1
- package/dist/base-assets/js/{classDiagram-v2-a2b738ad-06592769.js → classDiagram-v2-a2b738ad-051123b5.js} +1 -1
- package/dist/base-assets/js/clone-ce5571dd.js +1 -0
- package/dist/base-assets/js/{createText-ca0c5216-521e214b.js → createText-ca0c5216-8407db95.js} +1 -1
- package/dist/base-assets/js/{edges-066a5561-43c625cf.js → edges-066a5561-7ca2f0df.js} +1 -1
- package/dist/base-assets/js/edges-066a5561-7ca2f0df.js.gz +0 -0
- package/dist/base-assets/js/{erDiagram-09d1c15f-8f7cf11a.js → erDiagram-09d1c15f-87a67c3b.js} +1 -1
- package/dist/base-assets/js/erDiagram-09d1c15f-87a67c3b.js.gz +0 -0
- package/dist/base-assets/js/{flowDb-c1833063-f157689b.js → flowDb-c1833063-6498d216.js} +1 -1
- package/dist/base-assets/js/flowDb-c1833063-6498d216.js.gz +0 -0
- package/dist/base-assets/js/{flowDiagram-b222e15a-8ca646ca.js → flowDiagram-b222e15a-9cda49d2.js} +1 -1
- package/dist/base-assets/js/flowDiagram-b222e15a-9cda49d2.js.gz +0 -0
- package/dist/base-assets/js/flowDiagram-v2-13329dc7-f9edb966.js +1 -0
- package/dist/base-assets/js/{flowchart-elk-definition-ae0efee6-2f3c5773.js → flowchart-elk-definition-ae0efee6-08481936.js} +36 -36
- package/dist/base-assets/js/flowchart-elk-definition-ae0efee6-08481936.js.gz +0 -0
- package/dist/base-assets/js/{ganttDiagram-b62c793e-5662bd12.js → ganttDiagram-b62c793e-aa6ff771.js} +1 -1
- package/dist/base-assets/js/ganttDiagram-b62c793e-aa6ff771.js.gz +0 -0
- package/dist/base-assets/js/{gitGraphDiagram-942e62fe-9982b236.js → gitGraphDiagram-942e62fe-8485cd9a.js} +1 -1
- package/dist/base-assets/js/gitGraphDiagram-942e62fe-8485cd9a.js.gz +0 -0
- package/dist/base-assets/js/{graph-245e5ef5.js → graph-1471ae2e.js} +1 -1
- package/dist/base-assets/js/graph-1471ae2e.js.gz +0 -0
- package/dist/base-assets/js/{index-01f381cb-efd56d10.js → index-01f381cb-9fb9b39f.js} +1 -1
- package/dist/base-assets/js/index-01f381cb-9fb9b39f.js.gz +0 -0
- package/dist/base-assets/js/{index-01026ac5.js → index-d956de5d.js} +577 -565
- package/dist/base-assets/js/index-d956de5d.js.gz +0 -0
- package/dist/base-assets/js/{infoDiagram-94cd232f-0d7aebeb.js → infoDiagram-94cd232f-3122f432.js} +1 -1
- package/dist/base-assets/js/{journeyDiagram-6625b456-b5d89778.js → journeyDiagram-6625b456-9446d493.js} +1 -1
- package/dist/base-assets/js/{journeyDiagram-6625b456-b5d89778.js.gz → journeyDiagram-6625b456-9446d493.js.gz} +0 -0
- package/dist/base-assets/js/{layout-84141b78.js → layout-8b2454c2.js} +1 -1
- package/dist/base-assets/js/layout-8b2454c2.js.gz +0 -0
- package/dist/base-assets/js/{line-57c4055b.js → line-333463c9.js} +1 -1
- package/dist/base-assets/js/{linear-6481abca.js → linear-f087e4c3.js} +1 -1
- package/dist/base-assets/js/{mermaid.core-f01e3f6b.js → mermaid.core-b6cdbe90.js} +3 -3
- package/dist/base-assets/js/mermaid.core-b6cdbe90.js.gz +0 -0
- package/dist/base-assets/js/{mindmap-definition-307c710a-96aae44b.js → mindmap-definition-307c710a-f9a2b3fe.js} +1 -1
- package/dist/base-assets/js/mindmap-definition-307c710a-f9a2b3fe.js.gz +0 -0
- package/dist/base-assets/js/{pieDiagram-bb1d19e5-8761ab42.js → pieDiagram-bb1d19e5-8c6e8efa.js} +1 -1
- package/dist/base-assets/js/pieDiagram-bb1d19e5-8c6e8efa.js.gz +0 -0
- package/dist/base-assets/js/{quadrantDiagram-c759a472-f7bcd9a7.js → quadrantDiagram-c759a472-9c86eb58.js} +1 -1
- package/dist/base-assets/js/quadrantDiagram-c759a472-9c86eb58.js.gz +0 -0
- package/dist/base-assets/js/{react-cropper.es-165be083.js → react-cropper.es-204d89ba.js} +1 -1
- package/dist/base-assets/js/react-cropper.es-204d89ba.js.gz +0 -0
- package/dist/base-assets/js/{requirementDiagram-87253d64-25b388f1.js → requirementDiagram-87253d64-f3041861.js} +1 -1
- package/dist/base-assets/js/requirementDiagram-87253d64-f3041861.js.gz +0 -0
- package/dist/base-assets/js/{sankeyDiagram-707fac0f-e6a64586.js → sankeyDiagram-707fac0f-4fc5d0c4.js} +1 -1
- package/dist/base-assets/js/sankeyDiagram-707fac0f-4fc5d0c4.js.gz +0 -0
- package/dist/base-assets/js/{sequenceDiagram-6894f283-0922c136.js → sequenceDiagram-6894f283-4a968bd8.js} +1 -1
- package/dist/base-assets/js/sequenceDiagram-6894f283-4a968bd8.js.gz +0 -0
- package/dist/base-assets/js/{stateDiagram-5dee940d-9d6e0555.js → stateDiagram-5dee940d-264c67e4.js} +1 -1
- package/dist/base-assets/js/{stateDiagram-v2-1992cada-8fd39592.js → stateDiagram-v2-1992cada-e86e696c.js} +1 -1
- package/dist/base-assets/js/{styles-0784dbeb-17eccd3b.js → styles-0784dbeb-c82e48c8.js} +1 -1
- package/dist/base-assets/js/styles-0784dbeb-c82e48c8.js.gz +0 -0
- package/dist/base-assets/js/{styles-483fbfea-69d5a4b5.js → styles-483fbfea-f5a97ab1.js} +1 -1
- package/dist/base-assets/js/{styles-b83b31c9-e3cbeda8.js → styles-b83b31c9-5706c1b4.js} +1 -1
- package/dist/base-assets/js/{styles-b83b31c9-e3cbeda8.js.gz → styles-b83b31c9-5706c1b4.js.gz} +0 -0
- package/dist/base-assets/js/{svgDrawCommon-5e1cfd1d-473779d3.js → svgDrawCommon-5e1cfd1d-e7d8b1ed.js} +1 -1
- package/dist/base-assets/js/{timeline-definition-bf702344-3a0451dd.js → timeline-definition-bf702344-b8b80e61.js} +1 -1
- package/dist/base-assets/js/timeline-definition-bf702344-b8b80e61.js.gz +0 -0
- package/dist/base-assets/js/{xychartDiagram-f11f50a6-7917deac.js → xychartDiagram-f11f50a6-76dbd70b.js} +1 -1
- package/dist/base-assets/js/xychartDiagram-f11f50a6-76dbd70b.js.gz +0 -0
- package/dist/index.html +2 -2
- package/package.json +3 -3
- package/static/excel/excel.js +141 -34
- package/static/excel/plantuml.md +125 -0
- package/dist/base-assets/css/index-47564213.css.gz +0 -0
- package/dist/base-assets/js/blockDiagram-9f4a6865-a2b22032.js.gz +0 -0
- package/dist/base-assets/js/channel-c48a1d35.js +0 -1
- package/dist/base-assets/js/clone-2734a7fb.js +0 -1
- package/dist/base-assets/js/edges-066a5561-43c625cf.js.gz +0 -0
- package/dist/base-assets/js/erDiagram-09d1c15f-8f7cf11a.js.gz +0 -0
- package/dist/base-assets/js/flowDb-c1833063-f157689b.js.gz +0 -0
- package/dist/base-assets/js/flowDiagram-b222e15a-8ca646ca.js.gz +0 -0
- package/dist/base-assets/js/flowDiagram-v2-13329dc7-bab5bc30.js +0 -1
- package/dist/base-assets/js/flowchart-elk-definition-ae0efee6-2f3c5773.js.gz +0 -0
- package/dist/base-assets/js/ganttDiagram-b62c793e-5662bd12.js.gz +0 -0
- package/dist/base-assets/js/gitGraphDiagram-942e62fe-9982b236.js.gz +0 -0
- package/dist/base-assets/js/graph-245e5ef5.js.gz +0 -0
- package/dist/base-assets/js/index-01026ac5.js.gz +0 -0
- package/dist/base-assets/js/index-01f381cb-efd56d10.js.gz +0 -0
- package/dist/base-assets/js/layout-84141b78.js.gz +0 -0
- package/dist/base-assets/js/mermaid.core-f01e3f6b.js.gz +0 -0
- package/dist/base-assets/js/mindmap-definition-307c710a-96aae44b.js.gz +0 -0
- package/dist/base-assets/js/pieDiagram-bb1d19e5-8761ab42.js.gz +0 -0
- package/dist/base-assets/js/quadrantDiagram-c759a472-f7bcd9a7.js.gz +0 -0
- package/dist/base-assets/js/react-cropper.es-165be083.js.gz +0 -0
- package/dist/base-assets/js/requirementDiagram-87253d64-25b388f1.js.gz +0 -0
- package/dist/base-assets/js/sankeyDiagram-707fac0f-e6a64586.js.gz +0 -0
- package/dist/base-assets/js/sequenceDiagram-6894f283-0922c136.js.gz +0 -0
- package/dist/base-assets/js/styles-0784dbeb-17eccd3b.js.gz +0 -0
- package/dist/base-assets/js/timeline-definition-bf702344-3a0451dd.js.gz +0 -0
- package/dist/base-assets/js/xychartDiagram-f11f50a6-7917deac.js.gz +0 -0
|
@@ -23,6 +23,13 @@ const appenders = {
|
|
|
23
23
|
compress: false,
|
|
24
24
|
numBackups: 7,
|
|
25
25
|
},
|
|
26
|
+
userlog: {
|
|
27
|
+
type: 'dateFile',
|
|
28
|
+
filename: path.join(config.app.home, 'logs', 'user.log'),
|
|
29
|
+
pattern: 'yyyy-MM-dd.log',
|
|
30
|
+
compress: false,
|
|
31
|
+
numBackups: 7,
|
|
32
|
+
},
|
|
26
33
|
|
|
27
34
|
infolog: {
|
|
28
35
|
type: 'dateFile',
|
|
@@ -31,7 +38,7 @@ const appenders = {
|
|
|
31
38
|
compress: true,
|
|
32
39
|
numBackups: 7,
|
|
33
40
|
},
|
|
34
|
-
|
|
41
|
+
schedulelog: {
|
|
35
42
|
type: 'dateFile',
|
|
36
43
|
filename: path.join(config.app.home, 'logs', 'schedule.log'),
|
|
37
44
|
pattern: 'yyyy-MM-dd.log',
|
|
@@ -59,9 +66,13 @@ const categories = {
|
|
|
59
66
|
appenders: ['console', 'wslog'],
|
|
60
67
|
level: 'debug',
|
|
61
68
|
},
|
|
69
|
+
userlog: {
|
|
70
|
+
appenders: ['console', 'userlog'],
|
|
71
|
+
level: 'debug',
|
|
72
|
+
},
|
|
62
73
|
|
|
63
74
|
schedulelog: {
|
|
64
|
-
appenders: ['console', '
|
|
75
|
+
appenders: ['console', 'schedulelog'],
|
|
65
76
|
level: 'debug', // 指定等级
|
|
66
77
|
},
|
|
67
78
|
...config.logger.categories,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
const jwt = require('../../utils/jwt');
|
|
3
3
|
const config = require('../../config/index');
|
|
4
|
+
const { userlog } = require('../logger');
|
|
4
5
|
const { loginType, getLoginMethod } = require('../services/login');
|
|
5
6
|
|
|
6
7
|
// 后端登录
|
|
@@ -17,11 +18,9 @@ async function authCheck(req, res, next) {
|
|
|
17
18
|
let { userid, exp } = data;
|
|
18
19
|
if (userid) {
|
|
19
20
|
req.headers['x-userid'] = userid;
|
|
20
|
-
let expires = new Date();
|
|
21
|
-
expires.setDate(expires.getDate() + 3);
|
|
22
21
|
if (exp + 30 * 60 > Math.floor(Date.now() / 1000)) {
|
|
23
22
|
let token = jwt.generateToken(tokenData);
|
|
24
|
-
res
|
|
23
|
+
setTokenCookies(res, token);
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
return next();
|
|
@@ -55,11 +54,9 @@ function checkLogin(req, res, next) {
|
|
|
55
54
|
let { userid, exp } = data;
|
|
56
55
|
if (userid) {
|
|
57
56
|
req.headers['x-userid'] = userid;
|
|
58
|
-
let expires = new Date();
|
|
59
|
-
expires.setDate(expires.getDate() + 3);
|
|
60
57
|
if (exp + 30 * 60 > Math.floor(Date.now() / 1000)) {
|
|
61
58
|
let token = jwt.generateToken(tokenData);
|
|
62
|
-
res
|
|
59
|
+
setTokenCookies(res, token);
|
|
63
60
|
}
|
|
64
61
|
}
|
|
65
62
|
return next();
|
|
@@ -101,9 +98,23 @@ function userAppAuthCheck(req, res, next) {
|
|
|
101
98
|
return next();
|
|
102
99
|
}
|
|
103
100
|
|
|
101
|
+
function setTokenCookies(res, token) {
|
|
102
|
+
let expires = new Date();
|
|
103
|
+
expires.setDate(expires.getDate() + config.jwt.exp);
|
|
104
|
+
|
|
105
|
+
if (config.jwt.domain) {
|
|
106
|
+
userlog.info(`domain: ${config.jwt.domain}`);
|
|
107
|
+
return res.cookie('X-Token', token, { expires, domain: config.jwt.domain });
|
|
108
|
+
} else {
|
|
109
|
+
userlog.info('不用 domain');
|
|
110
|
+
return res.cookie('X-Token', token, { expires });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
104
114
|
module.exports = {
|
|
105
115
|
authCheck,
|
|
106
116
|
checkLogin,
|
|
107
117
|
appAuthCheck,
|
|
108
118
|
userAppAuthCheck,
|
|
119
|
+
setTokenCookies,
|
|
109
120
|
};
|
package/backend/common/socket.js
CHANGED
|
@@ -4,6 +4,7 @@ const path = require('path');
|
|
|
4
4
|
const express = require('express');
|
|
5
5
|
const config = require('../../../config/index');
|
|
6
6
|
|
|
7
|
+
const { setTokenCookies } = require('../../middleware/auth');
|
|
7
8
|
const authServices = require('../services/auth');
|
|
8
9
|
const ginfoServices = require('../../ginfo/index');
|
|
9
10
|
const userService = require('../../services/user');
|
|
@@ -185,7 +186,7 @@ router.get('/oauth/qywx/callback', async function (req, res) {
|
|
|
185
186
|
let expires = new Date();
|
|
186
187
|
expires.setDate(expires.getDate() + 3);
|
|
187
188
|
|
|
188
|
-
res
|
|
189
|
+
setTokenCookies(res, token).redirect(301, redirect_uri);
|
|
189
190
|
});
|
|
190
191
|
|
|
191
192
|
router.get('/gettoken', async function (req, res) {
|
package/backend/config/index.js
CHANGED
|
@@ -32,8 +32,9 @@ function gConfig() {
|
|
|
32
32
|
},
|
|
33
33
|
|
|
34
34
|
jwt: {
|
|
35
|
-
exp:
|
|
35
|
+
exp: 3, // 过期时间
|
|
36
36
|
auth_cert: '', // 加盐
|
|
37
|
+
domain: '', // token cookie 存放域名
|
|
37
38
|
},
|
|
38
39
|
|
|
39
40
|
proxy: {
|
|
@@ -41,7 +42,9 @@ function gConfig() {
|
|
|
41
42
|
},
|
|
42
43
|
|
|
43
44
|
scoket: {
|
|
44
|
-
files:
|
|
45
|
+
files: () => {
|
|
46
|
+
return [];
|
|
47
|
+
},
|
|
45
48
|
config: {},
|
|
46
49
|
},
|
|
47
50
|
|
package/backend/routers/app.js
CHANGED
|
@@ -3,8 +3,9 @@ var express = require('express');
|
|
|
3
3
|
const nodemailer = require('nodemailer');
|
|
4
4
|
const bcrypt = require('bcryptjs');
|
|
5
5
|
const config = require('../config');
|
|
6
|
+
const { userlog } = require('../../backend/common/logger');
|
|
6
7
|
const jwt = require('../utils/jwt');
|
|
7
|
-
const { checkLogin } = require('../common/middleware/auth');
|
|
8
|
+
const { checkLogin, setTokenCookies } = require('../common/middleware/auth');
|
|
8
9
|
const { join, readFileContent } = require('../utils/path');
|
|
9
10
|
const userService = require('../common/services/user');
|
|
10
11
|
const generalConfig = require('../common/services/generalConfig');
|
|
@@ -43,11 +44,9 @@ router.post('/login', async (req, res) => {
|
|
|
43
44
|
userid: userinfo?.USER_ID,
|
|
44
45
|
});
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
expires.setDate(expires.getDate() + 3);
|
|
48
|
-
|
|
49
|
-
res.cookie('X-Token', token, { expires });
|
|
47
|
+
userlog.info(`用户:${userinfo?.USER_ID} 登录成功,token: ${token}`);
|
|
50
48
|
|
|
49
|
+
setTokenCookies(res, token);
|
|
51
50
|
res.sendOk({
|
|
52
51
|
token,
|
|
53
52
|
});
|
|
@@ -17,11 +17,11 @@ router.get('/', async function (req, res) {
|
|
|
17
17
|
|
|
18
18
|
router.put('/', async function (req, res) {
|
|
19
19
|
let param = req.body;
|
|
20
|
-
const
|
|
20
|
+
const [error] = await teaminfoService.modifyTeamInfo(param);
|
|
21
21
|
if (error) {
|
|
22
|
-
return res.sendErr(error);
|
|
22
|
+
return res.sendErr(error?.message || '');
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
res.sendOk();
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
module.exports = router;
|
|
@@ -12,8 +12,8 @@ const teaminfoService = {
|
|
|
12
12
|
const { sql, params } = await updateSqlBuilder(entity.IDM_ORGS, param, {
|
|
13
13
|
ORG_ID: global.orgid,
|
|
14
14
|
});
|
|
15
|
-
let
|
|
16
|
-
return
|
|
15
|
+
let { error } = await sqlExecutor(sql, params);
|
|
16
|
+
return [error];
|
|
17
17
|
},
|
|
18
18
|
};
|
|
19
19
|
|
package/backend/utils/jwt.js
CHANGED
|
@@ -4,7 +4,7 @@ const config = require('../config');
|
|
|
4
4
|
// 生成token
|
|
5
5
|
function generateToken(data, forever = false, cert = config?.jwt?.auth_cert) {
|
|
6
6
|
let created = Math.floor(Date.now() / 1000);
|
|
7
|
-
let exp = created + config.jwt.exp;
|
|
7
|
+
let exp = created + 60 * 60 * 24 * config.jwt.exp;
|
|
8
8
|
if (forever) {
|
|
9
9
|
exp = created + 60 * 60 * 24 * 365 * 10; // 10 年
|
|
10
10
|
}
|