常量

12123

常量总览

_constant结构

  1. CREATE TABLE `_constant` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `jhId` varchar(255) DEFAULT NULL,
  4. `constantKey` varchar(255) DEFAULT NULL,
  5. `constantType` varchar(255) DEFAULT NULL COMMENT '常量类型; object, array',
  6. `desc` varchar(255) DEFAULT NULL COMMENT '描述',
  7. `constantValue` text COMMENT '常量内容; object, array',
  8. `operation` varchar(255) DEFAULT 'insert' COMMENT '操作; insert, update, jhInsert, jhUpdate, jhDelete jhRestore',
  9. `operationByUserId` varchar(255) DEFAULT NULL COMMENT '操作者userId',
  10. `operationByUser` varchar(255) DEFAULT NULL COMMENT '操作者用户名',
  11. `operationAt` varchar(255) DEFAULT NULL COMMENT '操作时间; E.g: 2021-05-28T10:24:54+08:00 ',
  12. PRIMARY KEY (`id`) USING BTREE
  13. ) ENGINE = InnoDB AUTO_INCREMENT = 24 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '常量表; 软删除未启用;'

_constant 表数据

链接列表

constantKey constantType
linkList object
  1. [
  2. {
  3. "linkName": "courseCRUD",
  4. "url": "https://app.eggjs.tech/md_cgg-member-course_v3/page/courseManagement",
  5. "appId": "md_cgg-member-course_v3",
  6. "pageId": "courseManagement",
  7. "params": [
  8. "courseBatchId",
  9. "title"
  10. ]
  11. }
  12. ]

牧区列表

constantKey constantType
districtList array
  1. [
  2. "JH",
  3. "AB",
  4. "CD",
  5. "EF"
  6. ]

同步学生毕业记录的参数

constantKey constantType
completeCourseRecordSyncParams object
  1. {
  2. "maxId": 18,
  3. "maxCreateAt": "2023-05-27T21:06:06+08:00"
  4. }

学生毕业记录允许撤销的小时数

constantKey constantType
completeCourseRecordGraceHour int
  1. 0

学生毕业记录的过期小时数

constantKey constantType
completeCourseRecordExpiryTimeRange object
  1. {
  2. "type": "month",
  3. "value": 6
  4. }

notice

constantKey constantType
notice object
  1. {
  2. "title": "4.3.7 版本发布",
  3. "content": "快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n",
  4. "imageSrc": "/noticeImage/1647076649263_719911_noticeImage.jpeg",
  5. "isImageShown": false,
  6. "isTextShown": true
  7. }

userStatus

constantKey constantType
userStatus array
  1. [
  2. {
  3. "value": "active",
  4. "text": "正常"
  5. },
  6. {
  7. "value": "banned",
  8. "text": "禁用"
  9. }
  10. ]

userType

constantKey constantType
userType array
  1. [
  2. {
  3. "value": "common",
  4. "text": "普通用户"
  5. },
  6. {
  7. "value": "xiaochengxu",
  8. "text": "小程序机器人"
  9. }
  10. ]

gender

constantKey constantType
gender array
  1. [
  2. {
  3. "value": "male",
  4. "text": "男"
  5. },
  6. {
  7. "value": "female",
  8. "text": "女"
  9. }
  10. ]

version

constantKey constantType
version object
  1. {
  2. "testUserIdList": "",
  3. "version": "1.0.24",
  4. "title": "1.0.24 版本发布",
  5. "note": "新版本介绍\n 1. bug修复",
  6. "apkVersion": "1.0.5",
  7. "apkLink": "https://directory.eggjs.tech/directory/public/暴风-1.0.5.apk",
  8. "apkNote": "新版本介绍\n 1. 网页版ui修复",
  9. "desktopVersion": "4.3.2",
  10. "desktopLink": "http://192.168.110.215:8082/duoxing/upload/duoxing-1.0.1.dmg.zip",
  11. "desktopNote": "测试桌面客户端升级"
  12. }

emotion

constantKey constantType
emotion array
  1. [
  2. {
  3. "dir": "face01",
  4. "cover": "face-lbl",
  5. "ext": "png",
  6. "cols": 5,
  7. "total": 86
  8. },
  9. {
  10. "dir": "face02",
  11. "cover": "face-lbl",
  12. "ext": "gif",
  13. "cols": 2,
  14. "total": 16
  15. },
  16. {
  17. "dir": "face03",
  18. "cover": "face-lbl",
  19. "ext": "gif",
  20. "cols": 2,
  21. "total": 16
  22. },
  23. {
  24. "dir": "face04",
  25. "cover": "face-lbl",
  26. "ext": "gif",
  27. "cols": 2,
  28. "total": 16
  29. },
  30. {
  31. "dir": "face05",
  32. "cover": "face-lbl",
  33. "ext": "gif",
  34. "cols": 1,
  35. "total": 7
  36. },
  37. {
  38. "dir": "face06",
  39. "cover": "face-lbl",
  40. "ext": "gif",
  41. "cols": 3,
  42. "total": 24
  43. },
  44. {
  45. "dir": "face07",
  46. "cover": "face-lbl",
  47. "ext": "gif",
  48. "cols": 2,
  49. "total": 16
  50. },
  51. {
  52. "dir": "face08",
  53. "cover": "face-lbl",
  54. "ext": "gif",
  55. "cols": 3,
  56. "total": 23
  57. },
  58. {
  59. "dir": "face09",
  60. "cover": "face-lbl",
  61. "ext": "gif",
  62. "cols": 2,
  63. "total": 16
  64. },
  65. {
  66. "dir": "face10",
  67. "cover": "face-lbl",
  68. "ext": "gif",
  69. "cols": 3,
  70. "total": 20
  71. },
  72. {
  73. "dir": "face11",
  74. "cover": "face-lbl",
  75. "ext": "gif",
  76. "cols": 2,
  77. "total": 13
  78. },
  79. {
  80. "dir": "face12",
  81. "cover": "face-lbl",
  82. "ext": "gif",
  83. "cols": 2,
  84. "total": 16
  85. },
  86. {
  87. "dir": "face13",
  88. "cover": "face-lbl",
  89. "ext": "gif",
  90. "cols": 2,
  91. "total": 15
  92. },
  93. {
  94. "dir": "face14",
  95. "cover": "face-lbl",
  96. "ext": "gif",
  97. "cols": 2,
  98. "total": 16
  99. }
  100. ]

appLinkActionConfig

constantKey constantType
appLinkActionConfig array
  1. [
  2. {
  3. "regex": ".openjianghu.org/*",
  4. "action": "internal"
  5. },
  6. {
  7. "regex": "http://192.168./*",
  8. "action": "internal"
  9. }
  10. ]

share

constantKey constantType
share array
  1. [
  2. {
  3. "path": "/upload/image/share/shareImage01.jpg"
  4. }
  5. ]

notice

constantKey constantType
notice object
  1. {
  2. "title": "4.3.7 版本发布",
  3. "content": "快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n",
  4. "imageSrc": "/noticeImage/1647076649263_719911_noticeImage.jpeg",
  5. "isImageShown": false,
  6. "isTextShown": true
  7. }

userStatus

constantKey constantType
userStatus array
  1. [
  2. {
  3. "value": "active",
  4. "text": "正常"
  5. },
  6. {
  7. "value": "banned",
  8. "text": "禁用"
  9. }
  10. ]

userType

constantKey constantType
userType array
  1. [
  2. {
  3. "value": "common",
  4. "text": "普通用户"
  5. },
  6. {
  7. "value": "xiaochengxu",
  8. "text": "小程序机器人"
  9. }
  10. ]

gender

constantKey constantType
gender array
  1. [
  2. {
  3. "value": "male",
  4. "text": "男"
  5. },
  6. {
  7. "value": "female",
  8. "text": "女"
  9. }
  10. ]

version

constantKey constantType
version object
  1. {
  2. "testUserIdList": "",
  3. "version": "4.3.11",
  4. "title": "4.3.7 版本发布",
  5. "note": "新版本介绍\n 1. 聊天输入优化",
  6. "apkVersion": "5.0.20",
  7. "apkLink": "https://duoxing.openjianghu.org/duoxing/upload/10002/1647840662817_956853_D多星MD-4.7.10.apk",
  8. "apkNote": "",
  9. "desktopVersion": "4.3.2",
  10. "desktopLink": "http://192.168.110.215:8082/duoxing/upload/duoxing-1.0.1.dmg.zip",
  11. "desktopNote": "测试桌面客户端升级"
  12. }

emotion

constantKey constantType
emotion array
  1. [
  2. {
  3. "dir": "face01",
  4. "cover": "face-lbl",
  5. "ext": "png",
  6. "cols": 5,
  7. "total": 86
  8. },
  9. {
  10. "dir": "face02",
  11. "cover": "face-lbl",
  12. "ext": "gif",
  13. "cols": 2,
  14. "total": 16
  15. },
  16. {
  17. "dir": "face03",
  18. "cover": "face-lbl",
  19. "ext": "gif",
  20. "cols": 2,
  21. "total": 16
  22. },
  23. {
  24. "dir": "face04",
  25. "cover": "face-lbl",
  26. "ext": "gif",
  27. "cols": 2,
  28. "total": 16
  29. },
  30. {
  31. "dir": "face05",
  32. "cover": "face-lbl",
  33. "ext": "gif",
  34. "cols": 1,
  35. "total": 7
  36. },
  37. {
  38. "dir": "face06",
  39. "cover": "face-lbl",
  40. "ext": "gif",
  41. "cols": 3,
  42. "total": 24
  43. },
  44. {
  45. "dir": "face07",
  46. "cover": "face-lbl",
  47. "ext": "gif",
  48. "cols": 2,
  49. "total": 16
  50. },
  51. {
  52. "dir": "face08",
  53. "cover": "face-lbl",
  54. "ext": "gif",
  55. "cols": 3,
  56. "total": 23
  57. },
  58. {
  59. "dir": "face09",
  60. "cover": "face-lbl",
  61. "ext": "gif",
  62. "cols": 2,
  63. "total": 16
  64. },
  65. {
  66. "dir": "face10",
  67. "cover": "face-lbl",
  68. "ext": "gif",
  69. "cols": 3,
  70. "total": 20
  71. },
  72. {
  73. "dir": "face11",
  74. "cover": "face-lbl",
  75. "ext": "gif",
  76. "cols": 2,
  77. "total": 13
  78. },
  79. {
  80. "dir": "face12",
  81. "cover": "face-lbl",
  82. "ext": "gif",
  83. "cols": 2,
  84. "total": 16
  85. },
  86. {
  87. "dir": "face13",
  88. "cover": "face-lbl",
  89. "ext": "gif",
  90. "cols": 2,
  91. "total": 15
  92. },
  93. {
  94. "dir": "face14",
  95. "cover": "face-lbl",
  96. "ext": "gif",
  97. "cols": 2,
  98. "total": 16
  99. }
  100. ]

appLinkActionConfig

constantKey constantType
appLinkActionConfig array
  1. [
  2. {
  3. "regex": ".openjianghu.org/*",
  4. "action": "internal"
  5. },
  6. {
  7. "regex": "http://192.168./*",
  8. "action": "internal"
  9. }
  10. ]

同步学生毕业记录的参数

constantKey constantType
completeCourseRecordSyncParams object
  1. {
  2. "maxId": 0,
  3. "maxCreateAt": ""
  4. }

学生毕业记录允许撤销的小时数

constantKey constantType
completeCourseRecordGraceHour int
  1. 0

学生毕业记录的过期小时数

constantKey constantType
completeCourseRecordExpiryTimeRange object
  1. {
  2. "type": "month",
  3. "value": 6
  4. }

_constant语句

  1. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (1, 'course_mgmt', 'linkList', 'object', '链接列表', '[
  2. {
  3. "linkName": "courseCRUD",
  4. "url": "https://app.eggjs.tech/md_cgg-member-course_v3/page/courseManagement",
  5. "appId": "md_cgg-member-course_v3",
  6. "pageId": "courseManagement",
  7. "params": [
  8. "courseBatchId",
  9. "title"
  10. ]
  11. }
  12. ]', 'insert', NULL, NULL, NULL);
  13. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (2, 'sys_admin', 'districtList', 'array', '牧区列表', '
  14. ["JH","AB","CD","EF"]', 'insert', NULL, NULL, NULL);
  15. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (3, 'sys_admin', 'completeCourseRecordSyncParams', 'object', '同步学生毕业记录的参数', '{"maxId":18,"maxCreateAt":"2023-05-27T21:06:06+08:00"}', 'update', NULL, NULL, '2023-06-04T15:40:46+08:00');
  16. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (4, 'sys_admin', 'completeCourseRecordGraceHour', 'int', '学生毕业记录允许撤销的小时数', '0', 'insert', NULL, NULL, NULL);
  17. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (5, 'sys_admin', 'completeCourseRecordExpiryTimeRange', 'object', '学生毕业记录的过期小时数', '{"type":"month","value":6}', 'insert', NULL, NULL, NULL);
  18. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (6, 'student', 'notice', 'object', '', '{"title":"4.3.7 版本发布","content":"快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n","imageSrc":"/noticeImage/1647076649263_719911_noticeImage.jpeg","isImageShown":false,"isTextShown":true}', 'update', 'admin01', 'admin01', '2022-03-12T17:19:50+08:00');
  19. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (7, 'student', 'userStatus', 'array', NULL, '[{"value": "active", "text": "正常"}, {"value": "banned", "text": "禁用"}]', 'insert', NULL, NULL, NULL);
  20. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (8, 'student', 'userType', 'array', NULL, '[{"value": "common", "text": "普通用户"},{"value": "xiaochengxu", "text": "小程序机器人"}]', 'insert', NULL, NULL, NULL);
  21. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (9, 'student', 'gender', 'array', NULL, '[{"value": "male", "text": "男"}, {"value": "female", "text": "女"}]', 'insert', NULL, NULL, NULL);
  22. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (10, 'student', 'version', 'object', NULL, '{
  23. "testUserIdList": "",
  24. "version": "1.0.24",
  25. "title": "1.0.24 版本发布",
  26. "note": "新版本介绍\n 1. bug修复",
  27. "apkVersion": "1.0.5",
  28. "apkLink": "https://directory.eggjs.tech/directory/public/暴风-1.0.5.apk",
  29. "apkNote": "新版本介绍\n 1. 网页版ui修复",
  30. "desktopVersion": "4.3.2",
  31. "desktopLink": "http://192.168.110.215:8082/duoxing/upload/duoxing-1.0.1.dmg.zip",
  32. "desktopNote": "测试桌面客户端升级"
  33. }', 'insert', NULL, NULL, NULL);
  34. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (11, 'student', 'emotion', 'array', NULL, '[
  35. {
  36. "dir":"face01",
  37. "cover":"face-lbl",
  38. "ext":"png",
  39. "cols":5,
  40. "total":86
  41. },
  42. {
  43. "dir":"face02",
  44. "cover":"face-lbl",
  45. "ext":"gif",
  46. "cols":2,
  47. "total":16
  48. },
  49. {
  50. "dir":"face03",
  51. "cover":"face-lbl",
  52. "ext":"gif",
  53. "cols":2,
  54. "total":16
  55. },
  56. {
  57. "dir":"face04",
  58. "cover":"face-lbl",
  59. "ext":"gif",
  60. "cols":2,
  61. "total":16
  62. },
  63. {
  64. "dir":"face05",
  65. "cover":"face-lbl",
  66. "ext":"gif",
  67. "cols":1,
  68. "total":7
  69. },
  70. {
  71. "dir":"face06",
  72. "cover":"face-lbl",
  73. "ext":"gif",
  74. "cols":3,
  75. "total":24
  76. },
  77. {
  78. "dir":"face07",
  79. "cover":"face-lbl",
  80. "ext":"gif",
  81. "cols":2,
  82. "total":16
  83. },
  84. {
  85. "dir":"face08",
  86. "cover":"face-lbl",
  87. "ext":"gif",
  88. "cols":3,
  89. "total":23
  90. },
  91. {
  92. "dir":"face09",
  93. "cover":"face-lbl",
  94. "ext":"gif",
  95. "cols":2,
  96. "total":16
  97. },
  98. {
  99. "dir":"face10",
  100. "cover":"face-lbl",
  101. "ext":"gif",
  102. "cols":3,
  103. "total":20
  104. },
  105. {
  106. "dir":"face11",
  107. "cover":"face-lbl",
  108. "ext":"gif",
  109. "cols":2,
  110. "total":13
  111. },
  112. {
  113. "dir":"face12",
  114. "cover":"face-lbl",
  115. "ext":"gif",
  116. "cols":2,
  117. "total":16
  118. },
  119. {
  120. "dir":"face13",
  121. "cover":"face-lbl",
  122. "ext":"gif",
  123. "cols":2,
  124. "total":15
  125. },
  126. {
  127. "dir":"face14",
  128. "cover":"face-lbl",
  129. "ext":"gif",
  130. "cols":2,
  131. "total":16
  132. }
  133. ]
  134. ', 'insert', NULL, NULL, NULL);
  135. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (12, 'student', 'appLinkActionConfig', 'array', NULL, '[{"regex":".openjianghu.org\/*", "action": "internal"}, {"regex":"http:\/\/192.168.\/*", "action": "internal"}]', 'insert', NULL, NULL, NULL);
  136. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (13, 'student', 'share', 'array', NULL, '[{"path":"/upload/image/share/shareImage01.jpg"}]', 'insert', NULL, NULL, NULL);
  137. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (14, 'teacher', 'notice', 'object', '', '{"title":"4.3.7 版本发布","content":"快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n快来使用吧!\n测试12123123\n","imageSrc":"/noticeImage/1647076649263_719911_noticeImage.jpeg","isImageShown":false,"isTextShown":true}', 'update', 'admin01', 'admin01', '2022-03-12T17:19:50+08:00');
  138. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (15, 'teacher', 'userStatus', 'array', NULL, '[{"value": "active", "text": "正常"}, {"value": "banned", "text": "禁用"}]', 'insert', NULL, NULL, NULL);
  139. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (16, 'teacher', 'userType', 'array', NULL, '[{"value": "common", "text": "普通用户"},{"value": "xiaochengxu", "text": "小程序机器人"}]', 'insert', NULL, NULL, NULL);
  140. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (17, 'teacher', 'gender', 'array', NULL, '[{"value": "male", "text": "男"}, {"value": "female", "text": "女"}]', 'insert', NULL, NULL, NULL);
  141. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (18, 'teacher', 'version', 'object', NULL, '{"testUserIdList": "","version": "4.3.11", "title": "4.3.7 版本发布", "note": "新版本介绍\n 1. 聊天输入优化", "apkVersion": "5.0.20", "apkLink": "https://duoxing.openjianghu.org/duoxing/upload/10002/1647840662817_956853_D多星MD-4.7.10.apk", "apkNote": "", "desktopVersion": "4.3.2", "desktopLink": "http://192.168.110.215:8082/duoxing/upload/duoxing-1.0.1.dmg.zip", "desktopNote": "测试桌面客户端升级" }', 'insert', NULL, NULL, NULL);
  142. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (19, 'teacher', 'emotion', 'array', NULL, '[
  143. {
  144. "dir":"face01",
  145. "cover":"face-lbl",
  146. "ext":"png",
  147. "cols":5,
  148. "total":86
  149. },
  150. {
  151. "dir":"face02",
  152. "cover":"face-lbl",
  153. "ext":"gif",
  154. "cols":2,
  155. "total":16
  156. },
  157. {
  158. "dir":"face03",
  159. "cover":"face-lbl",
  160. "ext":"gif",
  161. "cols":2,
  162. "total":16
  163. },
  164. {
  165. "dir":"face04",
  166. "cover":"face-lbl",
  167. "ext":"gif",
  168. "cols":2,
  169. "total":16
  170. },
  171. {
  172. "dir":"face05",
  173. "cover":"face-lbl",
  174. "ext":"gif",
  175. "cols":1,
  176. "total":7
  177. },
  178. {
  179. "dir":"face06",
  180. "cover":"face-lbl",
  181. "ext":"gif",
  182. "cols":3,
  183. "total":24
  184. },
  185. {
  186. "dir":"face07",
  187. "cover":"face-lbl",
  188. "ext":"gif",
  189. "cols":2,
  190. "total":16
  191. },
  192. {
  193. "dir":"face08",
  194. "cover":"face-lbl",
  195. "ext":"gif",
  196. "cols":3,
  197. "total":23
  198. },
  199. {
  200. "dir":"face09",
  201. "cover":"face-lbl",
  202. "ext":"gif",
  203. "cols":2,
  204. "total":16
  205. },
  206. {
  207. "dir":"face10",
  208. "cover":"face-lbl",
  209. "ext":"gif",
  210. "cols":3,
  211. "total":20
  212. },
  213. {
  214. "dir":"face11",
  215. "cover":"face-lbl",
  216. "ext":"gif",
  217. "cols":2,
  218. "total":13
  219. },
  220. {
  221. "dir":"face12",
  222. "cover":"face-lbl",
  223. "ext":"gif",
  224. "cols":2,
  225. "total":16
  226. },
  227. {
  228. "dir":"face13",
  229. "cover":"face-lbl",
  230. "ext":"gif",
  231. "cols":2,
  232. "total":15
  233. },
  234. {
  235. "dir":"face14",
  236. "cover":"face-lbl",
  237. "ext":"gif",
  238. "cols":2,
  239. "total":16
  240. }
  241. ]
  242. ', 'insert', NULL, NULL, NULL);
  243. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (20, 'teacher', 'appLinkActionConfig', 'array', NULL, '[{"regex":".openjianghu.org\/*", "action": "internal"}, {"regex":"http:\/\/192.168.\/*", "action": "internal"}]', 'insert', NULL, NULL, NULL);
  244. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (21, 'teacher', 'completeCourseRecordSyncParams', 'object', '同步学生毕业记录的参数', '{"maxId":0, "maxCreateAt":""}', 'insert', NULL, NULL, NULL);
  245. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (22, 'teacher', 'completeCourseRecordGraceHour', 'int', '学生毕业记录允许撤销的小时数', '0', 'insert', NULL, NULL, NULL);
  246. INSERT INTO _constant (id, jhId, constantKey, constantType, desc, constantValue, operation, operationByUserId, operationByUser, operationAt) VALUES (23, 'teacher', 'completeCourseRecordExpiryTimeRange', 'object', '学生毕业记录的过期小时数', '{"type":"month","value":6}', 'insert', NULL, NULL, NULL);