@gingkoo/base-server 0.0.2-alpha.3 → 0.0.2-alpha.31

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.
Files changed (121) hide show
  1. package/backend/common/logger/index.js +13 -2
  2. package/backend/common/middleware/auth.js +17 -6
  3. package/backend/common/socket.js +1 -1
  4. package/backend/common/wechat/routers/auth.js +2 -1
  5. package/backend/config/index.js +5 -2
  6. package/backend/routers/app.js +4 -5
  7. package/backend/routers/module.js +6 -5
  8. package/backend/routers/team/routers/teaminfo.js +3 -3
  9. package/backend/routers/team/services/teaminfo.js +2 -2
  10. package/backend/utils/jwt.js +1 -1
  11. package/dist/base-assets/css/{index-47564213.css → index-248806df.css} +1 -1
  12. package/dist/base-assets/css/index-248806df.css.gz +0 -0
  13. package/dist/base-assets/js/{arc-f56e55b6.js → arc-75fc0b95.js} +1 -1
  14. package/dist/base-assets/js/{blockDiagram-9f4a6865-a2b22032.js → blockDiagram-9f4a6865-46f41a2f.js} +1 -1
  15. package/dist/base-assets/js/blockDiagram-9f4a6865-46f41a2f.js.gz +0 -0
  16. package/dist/base-assets/js/{c4Diagram-ae766693-347830a5.js → c4Diagram-ae766693-240eb489.js} +1 -1
  17. package/dist/base-assets/js/c4Diagram-ae766693-240eb489.js.gz +0 -0
  18. package/dist/base-assets/js/channel-478bb171.js +1 -0
  19. package/dist/base-assets/js/{classDiagram-fb54d2a0-f1cb4c0f.js → classDiagram-fb54d2a0-ce30f002.js} +1 -1
  20. package/dist/base-assets/js/{classDiagram-v2-a2b738ad-06592769.js → classDiagram-v2-a2b738ad-c6efc64c.js} +1 -1
  21. package/dist/base-assets/js/clone-195bd552.js +1 -0
  22. package/dist/base-assets/js/{createText-ca0c5216-521e214b.js → createText-ca0c5216-d9fd98c5.js} +1 -1
  23. package/dist/base-assets/js/{edges-066a5561-43c625cf.js → edges-066a5561-8c659dbd.js} +1 -1
  24. package/dist/base-assets/js/edges-066a5561-8c659dbd.js.gz +0 -0
  25. package/dist/base-assets/js/{erDiagram-09d1c15f-8f7cf11a.js → erDiagram-09d1c15f-dc4e7c29.js} +1 -1
  26. package/dist/base-assets/js/erDiagram-09d1c15f-dc4e7c29.js.gz +0 -0
  27. package/dist/base-assets/js/{flowDb-c1833063-f157689b.js → flowDb-c1833063-a0d06b63.js} +1 -1
  28. package/dist/base-assets/js/flowDb-c1833063-a0d06b63.js.gz +0 -0
  29. package/dist/base-assets/js/{flowDiagram-b222e15a-8ca646ca.js → flowDiagram-b222e15a-e74391ba.js} +1 -1
  30. package/dist/base-assets/js/flowDiagram-b222e15a-e74391ba.js.gz +0 -0
  31. package/dist/base-assets/js/flowDiagram-v2-13329dc7-48a6d77b.js +1 -0
  32. package/dist/base-assets/js/{flowchart-elk-definition-ae0efee6-2f3c5773.js → flowchart-elk-definition-ae0efee6-f87257ad.js} +36 -36
  33. package/dist/base-assets/js/flowchart-elk-definition-ae0efee6-f87257ad.js.gz +0 -0
  34. package/dist/base-assets/js/{ganttDiagram-b62c793e-5662bd12.js → ganttDiagram-b62c793e-8ccf0ddb.js} +1 -1
  35. package/dist/base-assets/js/ganttDiagram-b62c793e-8ccf0ddb.js.gz +0 -0
  36. package/dist/base-assets/js/{gitGraphDiagram-942e62fe-9982b236.js → gitGraphDiagram-942e62fe-c234fdc6.js} +1 -1
  37. package/dist/base-assets/js/gitGraphDiagram-942e62fe-c234fdc6.js.gz +0 -0
  38. package/dist/base-assets/js/{graph-245e5ef5.js → graph-ca065753.js} +1 -1
  39. package/dist/base-assets/js/graph-ca065753.js.gz +0 -0
  40. package/dist/base-assets/js/{index-01f381cb-efd56d10.js → index-01f381cb-c41e687d.js} +1 -1
  41. package/dist/base-assets/js/index-01f381cb-c41e687d.js.gz +0 -0
  42. package/dist/base-assets/js/index-1bea4aa1.js +9 -0
  43. package/dist/base-assets/js/index-1bea4aa1.js.gz +0 -0
  44. package/dist/base-assets/js/{index-01026ac5.js → index-66a09111.js} +690 -606
  45. package/dist/base-assets/js/index-66a09111.js.gz +0 -0
  46. package/dist/base-assets/js/{infoDiagram-94cd232f-0d7aebeb.js → infoDiagram-94cd232f-9240b549.js} +1 -1
  47. package/dist/base-assets/js/{journeyDiagram-6625b456-b5d89778.js → journeyDiagram-6625b456-80cfd829.js} +1 -1
  48. package/dist/base-assets/js/journeyDiagram-6625b456-80cfd829.js.gz +0 -0
  49. package/dist/base-assets/js/{katex-926e3f08.js → katex-0f3c6d62.js} +6 -6
  50. package/dist/base-assets/js/katex-0f3c6d62.js.gz +0 -0
  51. package/dist/base-assets/js/{layout-84141b78.js → layout-53707316.js} +1 -1
  52. package/dist/base-assets/js/layout-53707316.js.gz +0 -0
  53. package/dist/base-assets/js/{line-57c4055b.js → line-2dc2123c.js} +1 -1
  54. package/dist/base-assets/js/{linear-6481abca.js → linear-c38aa8a7.js} +1 -1
  55. package/dist/base-assets/js/{mermaid.core-f01e3f6b.js → mermaid.core-92cb4b31.js} +30 -30
  56. package/dist/base-assets/js/mermaid.core-92cb4b31.js.gz +0 -0
  57. package/dist/base-assets/js/mindmap-definition-307c710a-a8ccb67f.js +110 -0
  58. package/dist/base-assets/js/mindmap-definition-307c710a-a8ccb67f.js.gz +0 -0
  59. package/dist/base-assets/js/{pieDiagram-bb1d19e5-8761ab42.js → pieDiagram-bb1d19e5-4f9ef12a.js} +1 -1
  60. package/dist/base-assets/js/pieDiagram-bb1d19e5-4f9ef12a.js.gz +0 -0
  61. package/dist/base-assets/js/{quadrantDiagram-c759a472-f7bcd9a7.js → quadrantDiagram-c759a472-304dd6a1.js} +1 -1
  62. package/dist/base-assets/js/quadrantDiagram-c759a472-304dd6a1.js.gz +0 -0
  63. package/dist/base-assets/js/react-cropper.es-fca1f164.js +10 -0
  64. package/dist/base-assets/js/react-cropper.es-fca1f164.js.gz +0 -0
  65. package/dist/base-assets/js/{requirementDiagram-87253d64-25b388f1.js → requirementDiagram-87253d64-81b2e828.js} +1 -1
  66. package/dist/base-assets/js/requirementDiagram-87253d64-81b2e828.js.gz +0 -0
  67. package/dist/base-assets/js/{sankeyDiagram-707fac0f-e6a64586.js → sankeyDiagram-707fac0f-93bafa09.js} +1 -1
  68. package/dist/base-assets/js/sankeyDiagram-707fac0f-93bafa09.js.gz +0 -0
  69. package/dist/base-assets/js/{sequenceDiagram-6894f283-0922c136.js → sequenceDiagram-6894f283-4107e628.js} +1 -1
  70. package/dist/base-assets/js/sequenceDiagram-6894f283-4107e628.js.gz +0 -0
  71. package/dist/base-assets/js/{stateDiagram-5dee940d-9d6e0555.js → stateDiagram-5dee940d-afa5d70c.js} +1 -1
  72. package/dist/base-assets/js/{stateDiagram-v2-1992cada-8fd39592.js → stateDiagram-v2-1992cada-e5454d10.js} +1 -1
  73. package/dist/base-assets/js/{styles-0784dbeb-17eccd3b.js → styles-0784dbeb-f85fcef5.js} +1 -1
  74. package/dist/base-assets/js/styles-0784dbeb-f85fcef5.js.gz +0 -0
  75. package/dist/base-assets/js/{styles-483fbfea-69d5a4b5.js → styles-483fbfea-dd8b92cb.js} +1 -1
  76. package/dist/base-assets/js/{styles-b83b31c9-e3cbeda8.js → styles-b83b31c9-e015b014.js} +1 -1
  77. package/dist/base-assets/js/styles-b83b31c9-e015b014.js.gz +0 -0
  78. package/dist/base-assets/js/{svgDrawCommon-5e1cfd1d-473779d3.js → svgDrawCommon-5e1cfd1d-0bb9a4bc.js} +1 -1
  79. package/dist/base-assets/js/{timeline-definition-bf702344-3a0451dd.js → timeline-definition-bf702344-ae1ec27d.js} +1 -1
  80. package/dist/base-assets/js/timeline-definition-bf702344-ae1ec27d.js.gz +0 -0
  81. package/dist/base-assets/js/{xychartDiagram-f11f50a6-7917deac.js → xychartDiagram-f11f50a6-f61288ce.js} +1 -1
  82. package/dist/base-assets/js/xychartDiagram-f11f50a6-f61288ce.js.gz +0 -0
  83. package/dist/index.html +2 -2
  84. package/package.json +3 -3
  85. package/static/excel/excel.js +8 -6
  86. package/static/excel/plantuml.md +125 -0
  87. package/dist/base-assets/css/index-47564213.css.gz +0 -0
  88. package/dist/base-assets/js/blockDiagram-9f4a6865-a2b22032.js.gz +0 -0
  89. package/dist/base-assets/js/c4Diagram-ae766693-347830a5.js.gz +0 -0
  90. package/dist/base-assets/js/channel-c48a1d35.js +0 -1
  91. package/dist/base-assets/js/clone-2734a7fb.js +0 -1
  92. package/dist/base-assets/js/edges-066a5561-43c625cf.js.gz +0 -0
  93. package/dist/base-assets/js/erDiagram-09d1c15f-8f7cf11a.js.gz +0 -0
  94. package/dist/base-assets/js/flowDb-c1833063-f157689b.js.gz +0 -0
  95. package/dist/base-assets/js/flowDiagram-b222e15a-8ca646ca.js.gz +0 -0
  96. package/dist/base-assets/js/flowDiagram-v2-13329dc7-bab5bc30.js +0 -1
  97. package/dist/base-assets/js/flowchart-elk-definition-ae0efee6-2f3c5773.js.gz +0 -0
  98. package/dist/base-assets/js/ganttDiagram-b62c793e-5662bd12.js.gz +0 -0
  99. package/dist/base-assets/js/gitGraphDiagram-942e62fe-9982b236.js.gz +0 -0
  100. package/dist/base-assets/js/graph-245e5ef5.js.gz +0 -0
  101. package/dist/base-assets/js/index-01026ac5.js.gz +0 -0
  102. package/dist/base-assets/js/index-01f381cb-efd56d10.js.gz +0 -0
  103. package/dist/base-assets/js/index-4cae3fcb.js +0 -9
  104. package/dist/base-assets/js/index-4cae3fcb.js.gz +0 -0
  105. package/dist/base-assets/js/journeyDiagram-6625b456-b5d89778.js.gz +0 -0
  106. package/dist/base-assets/js/katex-926e3f08.js.gz +0 -0
  107. package/dist/base-assets/js/layout-84141b78.js.gz +0 -0
  108. package/dist/base-assets/js/mermaid.core-f01e3f6b.js.gz +0 -0
  109. package/dist/base-assets/js/mindmap-definition-307c710a-96aae44b.js +0 -110
  110. package/dist/base-assets/js/mindmap-definition-307c710a-96aae44b.js.gz +0 -0
  111. package/dist/base-assets/js/pieDiagram-bb1d19e5-8761ab42.js.gz +0 -0
  112. package/dist/base-assets/js/quadrantDiagram-c759a472-f7bcd9a7.js.gz +0 -0
  113. package/dist/base-assets/js/react-cropper.es-165be083.js +0 -10
  114. package/dist/base-assets/js/react-cropper.es-165be083.js.gz +0 -0
  115. package/dist/base-assets/js/requirementDiagram-87253d64-25b388f1.js.gz +0 -0
  116. package/dist/base-assets/js/sankeyDiagram-707fac0f-e6a64586.js.gz +0 -0
  117. package/dist/base-assets/js/sequenceDiagram-6894f283-0922c136.js.gz +0 -0
  118. package/dist/base-assets/js/styles-0784dbeb-17eccd3b.js.gz +0 -0
  119. package/dist/base-assets/js/styles-b83b31c9-e3cbeda8.js.gz +0 -0
  120. package/dist/base-assets/js/timeline-definition-bf702344-3a0451dd.js.gz +0 -0
  121. 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
- scheduleLog: {
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', 'scheduleLog'],
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.cookie('X-Token', token, { expires });
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.cookie('X-Token', token, { expires });
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
  };
@@ -1,7 +1,7 @@
1
1
  const config = require('../config/index');
2
2
 
3
3
  class Socket {
4
- scokets = config.scoket.files;
4
+ scokets = config.scoket?.files?.() || [];
5
5
  constructor(io) {
6
6
  this.io = io;
7
7
  this.dispenseNamespace();
@@ -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.cookie('X-Token', token, { expires }).redirect(301, redirect_uri);
189
+ setTokenCookies(res, token).redirect(301, redirect_uri);
189
190
  });
190
191
 
191
192
  router.get('/gettoken', async function (req, res) {
@@ -32,8 +32,9 @@ function gConfig() {
32
32
  },
33
33
 
34
34
  jwt: {
35
- exp: 60 * 60 * 24 * 3, // 过期时间
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
 
@@ -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
- let expires = new Date();
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
  });
@@ -46,16 +46,17 @@ router.get('/getMenu', async function (req, res) {
46
46
  if (!Array.isArray(modules)) {
47
47
  return res.sendOk([]);
48
48
  }
49
- let member = await servicesServices.getSystemPower();
49
+ // TODO. 这里用写死成员过滤 teams-system 感觉不合适 先注释掉
50
+ // let member = await servicesServices.getSystemPower();
50
51
 
51
- if (!Array.isArray(member)) member = [];
52
+ // if (!Array.isArray(member)) member = [];
52
53
 
53
- member = member.filter((v) => v?.userid);
54
+ // member = member.filter((v) => v?.userid);
54
55
  // modules = modules.filter((v) => member.includes(userid) || v.MODULE_ID !== 'teams-system');
55
56
 
56
57
  // 先过滤掉权限
57
- // let permissionModules = await userPermissionModules(userid);
58
- // modules = modules.filter((v) => permissionModules.includes(v.MODULE_ID));
58
+ let permissionModules = await userPermissionModules(userid);
59
+ modules = modules.filter((v) => permissionModules.includes(v.MODULE_ID));
59
60
 
60
61
  let data = await Promise.all(
61
62
  modules.map(async (v) => {
@@ -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 { error, results } = teaminfoService.modifyTeamInfo(param);
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
- return res.sendOk('');
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 result = await sqlExecutor(sql, params);
16
- return result;
15
+ let { error } = await sqlExecutor(sql, params);
16
+ return [error];
17
17
  },
18
18
  };
19
19
 
@@ -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
  }