@wzyjs/utils 0.0.28 → 0.0.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 (218) hide show
  1. package/dist/{node/cjs/utils/src → cjs}/browser/element.d.ts +10 -9
  2. package/dist/cjs/browser/element.d.ts.map +1 -0
  3. package/dist/cjs/browser/element.js +59 -0
  4. package/dist/{browser/esm/utils/src → cjs}/browser/index.d.ts +19 -18
  5. package/dist/cjs/browser/index.d.ts.map +1 -0
  6. package/dist/cjs/browser/index.js +64 -0
  7. package/dist/{browser/cjs/utils/src → cjs}/browser/other.d.ts +2 -1
  8. package/dist/cjs/browser/other.d.ts.map +1 -0
  9. package/dist/cjs/browser/other.js +35 -0
  10. package/dist/{node/esm/utils/src → cjs}/browser/style.d.ts +11 -10
  11. package/dist/cjs/browser/style.d.ts.map +1 -0
  12. package/dist/cjs/browser/style.js +81 -0
  13. package/dist/{browser/cjs/utils/src → cjs}/browser.d.ts +3 -2
  14. package/dist/cjs/browser.d.ts.map +1 -0
  15. package/dist/cjs/browser.js +25 -0
  16. package/dist/{browser/esm/utils/src → cjs}/common/classs.d.ts +6 -5
  17. package/dist/cjs/common/classs.d.ts.map +1 -0
  18. package/dist/cjs/common/classs.js +36 -0
  19. package/dist/{browser/cjs/utils/src → cjs}/common/dayjs.d.ts +5 -4
  20. package/dist/cjs/common/dayjs.d.ts.map +1 -0
  21. package/dist/cjs/common/dayjs.js +57 -0
  22. package/dist/{browser/esm/utils/src → cjs}/common/index.d.ts +12 -11
  23. package/dist/cjs/common/index.d.ts.map +1 -0
  24. package/dist/cjs/common/index.js +99 -0
  25. package/dist/{browser/cjs/utils/src → cjs}/common/number.d.ts +4 -3
  26. package/dist/cjs/common/number.d.ts.map +1 -0
  27. package/dist/cjs/common/number.js +55 -0
  28. package/dist/{browser/esm/utils/src → cjs}/common/object.d.ts +11 -10
  29. package/dist/cjs/common/object.d.ts.map +1 -0
  30. package/dist/cjs/common/object.js +65 -0
  31. package/dist/{node/esm/utils/src → cjs}/common/other.d.ts +27 -26
  32. package/dist/cjs/common/other.d.ts.map +1 -0
  33. package/dist/cjs/common/other.js +129 -0
  34. package/dist/{browser/esm/utils/src → cjs}/common/string.d.ts +20 -16
  35. package/dist/cjs/common/string.d.ts.map +1 -0
  36. package/dist/cjs/common/string.js +157 -0
  37. package/dist/{node/cjs/utils/src → cjs}/node/database/Collection.d.ts +23 -22
  38. package/dist/cjs/node/database/Collection.d.ts.map +1 -0
  39. package/dist/cjs/node/database/Collection.js +219 -0
  40. package/dist/{node/cjs/utils/src → cjs}/node/database/Database.d.ts +11 -10
  41. package/dist/cjs/node/database/Database.d.ts.map +1 -0
  42. package/dist/cjs/node/database/Database.js +47 -0
  43. package/dist/{browser/esm/utils/src → cjs}/node/database/index.d.ts +3 -2
  44. package/dist/cjs/node/database/index.d.ts.map +1 -0
  45. package/dist/cjs/node/database/index.js +38 -0
  46. package/dist/{node/esm/utils/src → cjs}/node/database/types.d.ts +152 -151
  47. package/dist/cjs/node/database/types.d.ts.map +1 -0
  48. package/dist/cjs/node/database/types.js +51 -0
  49. package/dist/{browser/cjs/utils/src → cjs}/node/database/utils.d.ts +4 -3
  50. package/dist/cjs/node/database/utils.d.ts.map +1 -0
  51. package/dist/cjs/node/database/utils.js +53 -0
  52. package/dist/{browser/cjs/utils/src → cjs}/node/index.d.ts +4 -3
  53. package/dist/cjs/node/index.d.ts.map +1 -0
  54. package/dist/cjs/node/index.js +27 -0
  55. package/dist/{node/cjs/utils/src → cjs}/node/jsonFile/index.d.ts +7 -6
  56. package/dist/cjs/node/jsonFile/index.d.ts.map +1 -0
  57. package/dist/cjs/node/jsonFile/index.js +51 -0
  58. package/dist/{browser/cjs/utils/src → cjs}/node/mail/index.d.ts +2 -1
  59. package/dist/cjs/node/mail/index.d.ts.map +1 -0
  60. package/dist/cjs/node/mail/index.js +67 -0
  61. package/dist/{node/cjs/utils/src → cjs}/node.d.ts +3 -2
  62. package/dist/cjs/node.d.ts.map +1 -0
  63. package/dist/cjs/node.js +25 -0
  64. package/dist/{browser/cjs/utils/src → esm}/browser/element.d.ts +10 -9
  65. package/dist/esm/browser/element.d.ts.map +1 -0
  66. package/dist/esm/browser/element.js +43 -0
  67. package/dist/{node/cjs/utils/src → esm}/browser/index.d.ts +19 -18
  68. package/dist/esm/browser/index.d.ts.map +1 -0
  69. package/dist/esm/browser/index.js +15 -0
  70. package/dist/{node/cjs/utils/src → esm}/browser/other.d.ts +2 -1
  71. package/dist/esm/browser/other.d.ts.map +1 -0
  72. package/dist/esm/browser/other.js +28 -0
  73. package/dist/{node/cjs/utils/src → esm}/browser/style.d.ts +11 -10
  74. package/dist/esm/browser/style.d.ts.map +1 -0
  75. package/dist/esm/browser/style.js +55 -0
  76. package/dist/{node/cjs/utils/src → esm}/browser.d.ts +3 -2
  77. package/dist/esm/browser.d.ts.map +1 -0
  78. package/dist/esm/browser.js +2 -0
  79. package/dist/{browser/cjs/utils/src → esm}/common/classs.d.ts +6 -5
  80. package/dist/esm/common/classs.d.ts.map +1 -0
  81. package/dist/esm/common/classs.js +33 -0
  82. package/dist/{browser/esm/utils/src → esm}/common/dayjs.d.ts +5 -4
  83. package/dist/esm/common/dayjs.d.ts.map +1 -0
  84. package/dist/{browser/esm → esm}/common/dayjs.js +10 -10
  85. package/dist/{node/cjs/utils/src → esm}/common/index.d.ts +12 -11
  86. package/dist/esm/common/index.d.ts.map +1 -0
  87. package/dist/{browser/cjs/utils/src/common/index.d.ts → esm/common/index.js} +12 -11
  88. package/dist/{browser/esm/utils/src → esm}/common/number.d.ts +4 -3
  89. package/dist/esm/common/number.d.ts.map +1 -0
  90. package/dist/esm/common/number.js +31 -0
  91. package/dist/{node/cjs/utils/src → esm}/common/object.d.ts +11 -10
  92. package/dist/esm/common/object.d.ts.map +1 -0
  93. package/dist/esm/common/object.js +84 -0
  94. package/dist/{browser/esm/utils/src → esm}/common/other.d.ts +27 -26
  95. package/dist/esm/common/other.d.ts.map +1 -0
  96. package/dist/esm/common/other.js +171 -0
  97. package/dist/{browser/cjs/utils/src → esm}/common/string.d.ts +20 -16
  98. package/dist/esm/common/string.d.ts.map +1 -0
  99. package/dist/esm/common/string.js +140 -0
  100. package/dist/{browser/cjs/utils/src → esm}/node/database/Collection.d.ts +23 -22
  101. package/dist/esm/node/database/Collection.d.ts.map +1 -0
  102. package/dist/esm/node/database/Collection.js +356 -0
  103. package/dist/{browser/cjs/utils/src → esm}/node/database/Database.d.ts +11 -10
  104. package/dist/esm/node/database/Database.d.ts.map +1 -0
  105. package/dist/esm/node/database/Database.js +36 -0
  106. package/dist/{node/cjs/utils/src → esm}/node/database/index.d.ts +3 -2
  107. package/dist/esm/node/database/index.d.ts.map +1 -0
  108. package/dist/{browser/cjs/utils/src/node/database/index.d.ts → esm/node/database/index.js} +2 -2
  109. package/dist/{node/cjs/utils/src → esm}/node/database/types.d.ts +152 -151
  110. package/dist/esm/node/database/types.d.ts.map +1 -0
  111. package/dist/esm/node/database/types.js +55 -0
  112. package/dist/{browser/esm/utils/src → esm}/node/database/utils.d.ts +4 -3
  113. package/dist/esm/node/database/utils.d.ts.map +1 -0
  114. package/dist/esm/node/database/utils.js +29 -0
  115. package/dist/{browser/esm/utils/src → esm}/node/index.d.ts +4 -3
  116. package/dist/esm/node/index.d.ts.map +1 -0
  117. package/dist/esm/node/index.js +3 -0
  118. package/dist/{browser/esm/utils/src → esm}/node/jsonFile/index.d.ts +7 -6
  119. package/dist/esm/node/jsonFile/index.d.ts.map +1 -0
  120. package/dist/esm/node/jsonFile/index.js +43 -0
  121. package/dist/{browser/esm/utils/src → esm}/node/mail/index.d.ts +2 -1
  122. package/dist/esm/node/mail/index.d.ts.map +1 -0
  123. package/dist/esm/node/mail/index.js +48 -0
  124. package/dist/{browser/cjs/utils/src → esm}/node.d.ts +3 -2
  125. package/dist/esm/node.d.ts.map +1 -0
  126. package/dist/esm/node.js +2 -0
  127. package/package.json +9 -23
  128. package/dist/browser/cjs/browser/element.js +0 -40
  129. package/dist/browser/cjs/browser/index.js +0 -20
  130. package/dist/browser/cjs/browser/other.js +0 -12
  131. package/dist/browser/cjs/browser/style.js +0 -49
  132. package/dist/browser/cjs/browser.js +0 -171
  133. package/dist/browser/cjs/common/classs.js +0 -14
  134. package/dist/browser/cjs/common/dayjs.js +0 -27
  135. package/dist/browser/cjs/common/number.js +0 -34
  136. package/dist/browser/cjs/common/object.js +0 -43
  137. package/dist/browser/cjs/common/other.js +0 -112
  138. package/dist/browser/cjs/common/string.js +0 -137
  139. package/dist/browser/cjs/types/index.d.ts +0 -27
  140. package/dist/browser/cjs/utils/src/browser/index.d.ts +0 -18
  141. package/dist/browser/cjs/utils/src/browser/style.d.ts +0 -10
  142. package/dist/browser/cjs/utils/src/common/object.d.ts +0 -10
  143. package/dist/browser/cjs/utils/src/common/other.d.ts +0 -26
  144. package/dist/browser/cjs/utils/src/node/database/types.d.ts +0 -151
  145. package/dist/browser/cjs/utils/src/node/jsonFile/index.d.ts +0 -6
  146. package/dist/browser/esm/browser/element.js +0 -36
  147. package/dist/browser/esm/browser/index.js +0 -14
  148. package/dist/browser/esm/browser/other.js +0 -10
  149. package/dist/browser/esm/browser/style.js +0 -45
  150. package/dist/browser/esm/browser.js +0 -19
  151. package/dist/browser/esm/common/classs.js +0 -12
  152. package/dist/browser/esm/common/number.js +0 -30
  153. package/dist/browser/esm/common/object.js +0 -39
  154. package/dist/browser/esm/common/other.js +0 -106
  155. package/dist/browser/esm/common/string.js +0 -120
  156. package/dist/browser/esm/types/index.d.ts +0 -27
  157. package/dist/browser/esm/utils/src/browser/element.d.ts +0 -9
  158. package/dist/browser/esm/utils/src/browser/other.d.ts +0 -1
  159. package/dist/browser/esm/utils/src/browser/style.d.ts +0 -10
  160. package/dist/browser/esm/utils/src/browser.d.ts +0 -2
  161. package/dist/browser/esm/utils/src/node/database/Collection.d.ts +0 -22
  162. package/dist/browser/esm/utils/src/node/database/Database.d.ts +0 -10
  163. package/dist/browser/esm/utils/src/node/database/types.d.ts +0 -151
  164. package/dist/browser/esm/utils/src/node.d.ts +0 -2
  165. package/dist/node/cjs/common/classs.js +0 -14
  166. package/dist/node/cjs/common/dayjs.js +0 -27
  167. package/dist/node/cjs/common/number.js +0 -34
  168. package/dist/node/cjs/common/object.js +0 -43
  169. package/dist/node/cjs/common/other.js +0 -112
  170. package/dist/node/cjs/common/string.js +0 -137
  171. package/dist/node/cjs/node/database/Collection.js +0 -202
  172. package/dist/node/cjs/node/database/Database.js +0 -25
  173. package/dist/node/cjs/node/database/types.js +0 -25
  174. package/dist/node/cjs/node/database/utils.js +0 -30
  175. package/dist/node/cjs/node/jsonFile/index.js +0 -29
  176. package/dist/node/cjs/node/mail/index.js +0 -31
  177. package/dist/node/cjs/node.js +0 -157
  178. package/dist/node/cjs/types/index.d.ts +0 -27
  179. package/dist/node/cjs/utils/src/common/classs.d.ts +0 -5
  180. package/dist/node/cjs/utils/src/common/dayjs.d.ts +0 -4
  181. package/dist/node/cjs/utils/src/common/number.d.ts +0 -3
  182. package/dist/node/cjs/utils/src/common/other.d.ts +0 -26
  183. package/dist/node/cjs/utils/src/common/string.d.ts +0 -16
  184. package/dist/node/cjs/utils/src/node/database/utils.d.ts +0 -3
  185. package/dist/node/cjs/utils/src/node/index.d.ts +0 -3
  186. package/dist/node/cjs/utils/src/node/mail/index.d.ts +0 -1
  187. package/dist/node/esm/common/classs.js +0 -12
  188. package/dist/node/esm/common/dayjs.js +0 -18
  189. package/dist/node/esm/common/number.js +0 -30
  190. package/dist/node/esm/common/object.js +0 -39
  191. package/dist/node/esm/common/other.js +0 -106
  192. package/dist/node/esm/common/string.js +0 -120
  193. package/dist/node/esm/node/database/Collection.js +0 -200
  194. package/dist/node/esm/node/database/Database.js +0 -23
  195. package/dist/node/esm/node/database/types.js +0 -25
  196. package/dist/node/esm/node/database/utils.js +0 -27
  197. package/dist/node/esm/node/jsonFile/index.js +0 -27
  198. package/dist/node/esm/node/mail/index.js +0 -29
  199. package/dist/node/esm/node.js +0 -14
  200. package/dist/node/esm/types/index.d.ts +0 -27
  201. package/dist/node/esm/utils/src/browser/element.d.ts +0 -9
  202. package/dist/node/esm/utils/src/browser/index.d.ts +0 -18
  203. package/dist/node/esm/utils/src/browser/other.d.ts +0 -1
  204. package/dist/node/esm/utils/src/browser.d.ts +0 -2
  205. package/dist/node/esm/utils/src/common/classs.d.ts +0 -5
  206. package/dist/node/esm/utils/src/common/dayjs.d.ts +0 -4
  207. package/dist/node/esm/utils/src/common/index.d.ts +0 -11
  208. package/dist/node/esm/utils/src/common/number.d.ts +0 -3
  209. package/dist/node/esm/utils/src/common/object.d.ts +0 -10
  210. package/dist/node/esm/utils/src/common/string.d.ts +0 -16
  211. package/dist/node/esm/utils/src/node/database/Collection.d.ts +0 -22
  212. package/dist/node/esm/utils/src/node/database/Database.d.ts +0 -10
  213. package/dist/node/esm/utils/src/node/database/index.d.ts +0 -2
  214. package/dist/node/esm/utils/src/node/database/utils.d.ts +0 -3
  215. package/dist/node/esm/utils/src/node/index.d.ts +0 -3
  216. package/dist/node/esm/utils/src/node/jsonFile/index.d.ts +0 -6
  217. package/dist/node/esm/utils/src/node/mail/index.d.ts +0 -1
  218. package/dist/node/esm/utils/src/node.d.ts +0 -2
@@ -1,112 +0,0 @@
1
- 'use strict';
2
-
3
- var lodash = require('lodash');
4
-
5
- // 处理 ProComponents 中 ProTable 参数中的 page 和 where 和 sort
6
- const handleParams = (params, sort) => {
7
- if (!params) {
8
- return {
9
- page: {},
10
- where: {},
11
- };
12
- }
13
- const { current, pageSize, ...other } = params;
14
- return {
15
- page: {
16
- current: current || 1,
17
- size: pageSize || 10,
18
- },
19
- where: Object.entries(other).reduce((acc, [key, value]) => {
20
- if (key && value) {
21
- acc[key] = typeof value === 'string' ? new RegExp(value) : value;
22
- }
23
- return acc;
24
- }, {}),
25
- order: sort && {
26
- field: Object.keys(sort)[0],
27
- type: Object.values(sort)[0] === 'ascend' ? 'asc' : 'desc',
28
- },
29
- };
30
- };
31
- // 将 list 的数据处理为 { label: string, value: string }[]
32
- const handleRes2List = async (reqPromise) => {
33
- const { data } = await reqPromise();
34
- return (data?.list || []).map((item) => ({
35
- label: item.name,
36
- value: item._id || item.key,
37
- }));
38
- };
39
- // 计算执行 promise 花费的时间
40
- const executePromise = async (promise) => {
41
- const start = Date.now();
42
- const result = await promise;
43
- const time = Date.now() - start;
44
- return {
45
- result,
46
- time,
47
- };
48
- };
49
- // 地址栏方面的操作
50
- const locationFn = {
51
- // url地址的query转为query对象
52
- url2Params: (url = location.href) => {
53
- url = decodeURIComponent(url);
54
- let jsonList = {};
55
- if (url.indexOf('?') > -1) {
56
- let str = url.slice(url.indexOf('?') + 1);
57
- let strs = str.split('&');
58
- for (let i = 0; i < strs.length; i++) {
59
- jsonList[strs[i].split('=')[0]] = strs[i].split('=')[1]; // 如果出现乱码的话,可以用decodeURI()进行解码
60
- }
61
- }
62
- return jsonList || {};
63
- },
64
- // 参数对象转换为url
65
- params2Url: (params) => {
66
- let url = '';
67
- for (let k in params) {
68
- if (k) {
69
- url += `${k}=${params[k]}&`;
70
- }
71
- }
72
- return url.substr(0, url.length - 1);
73
- },
74
- // 设置地址栏参数
75
- setUrlParams: (key, value, keepName) => {
76
- if (key === undefined || value === undefined)
77
- return;
78
- // 给地址栏参数对象添加指定参数
79
- let allParams = locationFn.url2Params();
80
- if (keepName) {
81
- allParams = lodash.pick(allParams, keepName) || {};
82
- }
83
- allParams[key] = encodeURIComponent(value);
84
- // 域名和路径
85
- const url = location.href;
86
- const sliceEnd = url.indexOf('?') === -1 ? url.length : url.indexOf('?');
87
- const domainPath = url.slice(0, sliceEnd);
88
- // 参数
89
- const params = locationFn.params2Url(allParams);
90
- // 修改地址栏url
91
- location.replace(`${domainPath}?${params}`);
92
- },
93
- // 取地址栏的path部分
94
- urlGetPath: (url = location.href) => {
95
- // 计算要截取的最后一位
96
- let lastIndex = url.indexOf('?');
97
- if (lastIndex === -1) {
98
- lastIndex = url.length;
99
- }
100
- return url.slice(0, lastIndex);
101
- },
102
- };
103
- // 延迟指定毫秒数
104
- const delay = (time = 1000) => {
105
- return new Promise(resolve => setTimeout(resolve, time));
106
- };
107
-
108
- exports.delay = delay;
109
- exports.executePromise = executePromise;
110
- exports.handleParams = handleParams;
111
- exports.handleRes2List = handleRes2List;
112
- exports.locationFn = locationFn;
@@ -1,137 +0,0 @@
1
- 'use strict';
2
-
3
- // 获取字符串中的中文字符串
4
- const getChineseByStr = (str) => {
5
- if (!str) {
6
- return '';
7
- }
8
- const match = str.match(/[\u4e00-\u9fa5]/g);
9
- if (!match) {
10
- return '';
11
- }
12
- return match.join('');
13
- };
14
- // 获取字符串中的长度,中文算 2 个字符
15
- const getStrLength = (value) => {
16
- if (!value) {
17
- return 0;
18
- }
19
- const chineseLength = getChineseByStr(value).length;
20
- return (value.length - chineseLength) + chineseLength * 2;
21
- };
22
- // 替换全部指定字符串
23
- const replaceAll = (str, searchValue, replaceValue) => {
24
- if (!str || !searchValue || !replaceValue) {
25
- return str || '';
26
- }
27
- str = str.replace(searchValue, replaceValue);
28
- if (!str.includes(searchValue)) {
29
- return str;
30
- }
31
- return replaceAll(str, searchValue, replaceValue);
32
- };
33
- // 根据规则替换字符串
34
- const replaceByRules = (str, rules) => {
35
- rules.forEach(([searchValue, replaceValue]) => {
36
- str = str.replaceAll(searchValue, replaceValue);
37
- });
38
- return str;
39
- };
40
- // 获取变量的类型
41
- const getType = (value) => {
42
- return Object.prototype.toString.call(value).slice(8, -1);
43
- };
44
- // 金钱格式化,每三位加,
45
- const amount = (str) => {
46
- const reg = /(?=(?!\b)(\d{3})+$)/g;
47
- return str.replace(reg, ',');
48
- };
49
- // 更安全的 JSON.parse
50
- const jsonParse = (value) => {
51
- if (typeof value === 'object') {
52
- return value;
53
- }
54
- try {
55
- return JSON.parse(value);
56
- }
57
- catch (err) {
58
- return {};
59
- }
60
- };
61
- // 是否为json字符串
62
- const isJson = (str) => {
63
- try {
64
- if (getType(JSON.parse(str)) === 'Object') {
65
- return true;
66
- }
67
- }
68
- catch (e) {
69
- }
70
- return false;
71
- };
72
- // 将变量转为字符串
73
- const toString = (value) => {
74
- return Object.prototype.toString.call(value).slice(8, -1) === 'object' ? JSON.stringify(value) : String(value);
75
- };
76
- // 生成随机颜色
77
- const getRandomColor = () => {
78
- const color = Math.floor(Math.random() * 16777215).toString(16);
79
- if (color.length === 6) {
80
- return color;
81
- }
82
- else {
83
- return getRandomColor();
84
- }
85
- };
86
- // 生成随机字符串
87
- const getRandomString = (length = 4) => {
88
- return Math.random().toString(36).substr(2, length);
89
- };
90
- // 获取字符串内的中文
91
- const getChinese = (str) => {
92
- if (str == null || str === '') {
93
- return '';
94
- }
95
- const res = str.match(/[\u4e00-\u9fa5]/g);
96
- if (!res) {
97
- return '';
98
- }
99
- return res.join('');
100
- };
101
- // 截取指定两个文本之间的字符串 (不好用)
102
- const getSliceStr = (str, before, after) => {
103
- return str.slice(str.indexOf(before) + before.length, str.lastIndexOf(after));
104
- };
105
- // 获取代理后的url
106
- const getProxyUrl = (url) => {
107
- const beforeUrl = 'https://1141871752167714.cn-hangzhou.fc.aliyuncs.com/2016-08-15/proxy/a.LATEST/proxy/?url=';
108
- return beforeUrl + url;
109
- };
110
- // 获取字符串的长度
111
- const getLength = (value) => {
112
- const chineseLength = getChinese(value).length;
113
- return (value.length - chineseLength) + chineseLength * 2;
114
- };
115
- // 获取指定cookie
116
- const getCookie = (name) => {
117
- const reg = new RegExp(`(^| )${name}=([^;]*)(;|$)`);
118
- const arr = document.cookie.match(reg);
119
- return arr ? unescape(arr[2]) : null;
120
- };
121
-
122
- exports.amount = amount;
123
- exports.getChinese = getChinese;
124
- exports.getChineseByStr = getChineseByStr;
125
- exports.getCookie = getCookie;
126
- exports.getLength = getLength;
127
- exports.getProxyUrl = getProxyUrl;
128
- exports.getRandomColor = getRandomColor;
129
- exports.getRandomString = getRandomString;
130
- exports.getSliceStr = getSliceStr;
131
- exports.getStrLength = getStrLength;
132
- exports.getType = getType;
133
- exports.isJson = isJson;
134
- exports.jsonParse = jsonParse;
135
- exports.replaceAll = replaceAll;
136
- exports.replaceByRules = replaceByRules;
137
- exports.toString = toString;
@@ -1,202 +0,0 @@
1
- 'use strict';
2
-
3
- var lodash = require('lodash');
4
- var utils = require('./utils.js');
5
- var types = require('./types.js');
6
-
7
- class Collection {
8
- db;
9
- collection;
10
- constructor(db, name) {
11
- this.db = db;
12
- this.collection = db.collection(name);
13
- }
14
- joinConditions(conditions) {
15
- let record = this.collection;
16
- if (!conditions) {
17
- return record;
18
- }
19
- // 如果是根据 _id 查询
20
- if ('_id' in conditions) {
21
- record = record.doc(conditions._id);
22
- // 如果是根据 条件 查询
23
- }
24
- else {
25
- const { page, order, where, options } = conditions;
26
- if (options) {
27
- record = record.options(options);
28
- }
29
- if (where) {
30
- record = record.where(where);
31
- }
32
- if (order) {
33
- record = record.orderBy(order.field, order.type || 'desc');
34
- }
35
- if (page?.current && page?.size) {
36
- record = record.skip((page.current - 1) * page.size);
37
- }
38
- if (page?.size) {
39
- record = record.limit(page.size);
40
- }
41
- }
42
- if (Array.isArray(conditions.field)) {
43
- record = record.field(conditions.field.reduce((o, i) => ({ ...o, [i]: true }), {}));
44
- }
45
- else if (conditions.field) {
46
- record = record.field(conditions.field);
47
- }
48
- return record;
49
- }
50
- request(params) {
51
- switch (params.method) {
52
- case types.Method.Add:
53
- return this.joinConditions().add(params.data);
54
- case types.Method.Find:
55
- case types.Method.FindList:
56
- return this.joinConditions(params.conditions).get();
57
- case types.Method.Delete:
58
- return this.joinConditions(params.conditions).remove();
59
- case types.Method.Update:
60
- if (params.isSet && '_id' in params.conditions) {
61
- return this.joinConditions(params.conditions).set(params.data);
62
- }
63
- return this.joinConditions(params.conditions).update(params.data);
64
- case types.Method.Count:
65
- return this.joinConditions(params.conditions).count();
66
- default:
67
- throw new Error('method is not exist');
68
- }
69
- }
70
- // 处理出参
71
- async handleRes(params, res) {
72
- if (res) {
73
- delete res.requestId;
74
- }
75
- let data = res;
76
- switch (params.method) {
77
- case types.Method.Add:
78
- const addRes = res;
79
- if (addRes.id && params.isReturn) {
80
- data = await this.find({ _id: addRes.id, field: params.conditions?.field });
81
- }
82
- break;
83
- case types.Method.Update:
84
- const updateRes = res;
85
- if (updateRes.updated && params.isReturn && '_id' in params.conditions) {
86
- data = await this.find({ _id: params.conditions._id, field: params.conditions?.field });
87
- }
88
- break;
89
- case types.Method.Find:
90
- const getRes = res;
91
- data = getRes?.data[0] || null;
92
- break;
93
- case types.Method.FindList:
94
- const getListRes = res;
95
- const countRes = await this.request({
96
- method: types.Method.Count,
97
- conditions: params.conditions,
98
- });
99
- data = {
100
- list: getListRes.data,
101
- total: countRes.total,
102
- };
103
- break;
104
- }
105
- return data;
106
- }
107
- // 处理数据
108
- async handleData(params) {
109
- switch (params.method) {
110
- case types.Method.Add:
111
- params.data = utils.appendTime(params.data, 'create');
112
- params.data = utils.appendTime(params.data, 'update');
113
- break;
114
- case types.Method.Update:
115
- if ('_id' in params.data) {
116
- delete params.data._id;
117
- }
118
- break;
119
- }
120
- return params;
121
- }
122
- // 处理条件
123
- handleConditions(params) {
124
- if (params.method !== types.Method.Add) {
125
- params.conditions = lodash.merge(lodash.cloneDeep(utils.defaultConditions), params.conditions);
126
- }
127
- // 处理 where 条件
128
- if (params.conditions && 'where' in params.conditions) {
129
- const { command: _ } = this.db;
130
- for (const key in params.conditions.where) {
131
- const whereValue = params.conditions.where[key];
132
- if (lodash.isObject(whereValue)) {
133
- const { type, value } = whereValue;
134
- switch (type) {
135
- case types.Command.In:
136
- params.conditions.where[key] = _.in(value);
137
- break;
138
- case types.Command.Nin:
139
- params.conditions.where[key] = _.nin(value);
140
- break;
141
- case types.Command.Gt:
142
- params.conditions.where[key] = _.gt(value);
143
- break;
144
- case types.Command.Gte:
145
- params.conditions.where[key] = _.gte(value);
146
- break;
147
- case types.Command.Lt:
148
- params.conditions.where[key] = _.lt(value);
149
- break;
150
- case types.Command.Lte:
151
- params.conditions.where[key] = _.lte(value);
152
- break;
153
- case types.Command.Eq:
154
- params.conditions.where[key] = _.eq(value);
155
- break;
156
- case types.Command.Neq:
157
- params.conditions.where[key] = _.neq(value);
158
- break;
159
- case types.Command.Gtlt:
160
- params.conditions.where[key] = _.and(_.gt(value[0]), _.lt(value[1]));
161
- break;
162
- default:
163
- const check = type;
164
- console.error(666, '处理 where 条件 出现未定义的情况', check);
165
- break;
166
- }
167
- }
168
- }
169
- }
170
- return params;
171
- }
172
- async exec(params) {
173
- params = await this.handleData(params);
174
- params = await this.handleConditions(params);
175
- const res = await this.request(params);
176
- return this.handleRes(params, res);
177
- }
178
- add(data, isReturn, conditions) {
179
- return this.exec({ method: types.Method.Add, conditions, data, isReturn });
180
- }
181
- // 删
182
- delete(conditions) {
183
- return this.exec({ method: types.Method.Delete, conditions });
184
- }
185
- update(conditions, data, isReturn, isSet) {
186
- return this.exec({ method: types.Method.Update, conditions, data, isReturn, isSet });
187
- }
188
- // 查
189
- find(conditions) {
190
- return this.exec({ method: types.Method.Find, conditions });
191
- }
192
- // 查列表
193
- findList(conditions) {
194
- return this.exec({ method: types.Method.FindList, conditions });
195
- }
196
- // 查
197
- count(conditions) {
198
- return this.exec({ method: types.Method.Count, conditions });
199
- }
200
- }
201
-
202
- exports.Collection = Collection;
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- var nodeSdk = require('@cloudbase/node-sdk');
4
- var Collection = require('./Collection.js');
5
-
6
- class Database {
7
- db;
8
- instance = {};
9
- constructor(config) {
10
- this.db = nodeSdk.init(config).database();
11
- }
12
- // 封装了较多功能的 collection
13
- collection(name) {
14
- if (!this.instance[name]) {
15
- this.instance[name] = new Collection.Collection(this.db, name);
16
- }
17
- return this.instance[name];
18
- }
19
- // 创建 collection
20
- createCollection(name) {
21
- return this.db.createCollection(name);
22
- }
23
- }
24
-
25
- exports.Database = Database;
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- // 查询数据库的条件 - 比较的特殊条件
4
- exports.Command = void 0;
5
- (function (Command) {
6
- Command["Eq"] = "eq";
7
- Command["Neq"] = "neq";
8
- Command["Lt"] = "lt";
9
- Command["Lte"] = "lte";
10
- Command["Gt"] = "gt";
11
- Command["Gte"] = "gte";
12
- Command["In"] = "in";
13
- Command["Nin"] = "nin";
14
- Command["Gtlt"] = "gtlt";
15
- })(exports.Command || (exports.Command = {}));
16
- // 查询的方法
17
- exports.Method = void 0;
18
- (function (Method) {
19
- Method["Add"] = "add";
20
- Method["Find"] = "find";
21
- Method["FindList"] = "findList";
22
- Method["Delete"] = "delete";
23
- Method["Update"] = "update";
24
- Method["Count"] = "count";
25
- })(exports.Method || (exports.Method = {}));
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- // 给记录添加时间
4
- const appendTime = (data, type) => {
5
- if (!data) {
6
- return {};
7
- }
8
- return {
9
- ...data,
10
- [type + 'At']: Date.now(),
11
- };
12
- };
13
- // 默认条件
14
- const defaultConditions = {
15
- order: {
16
- field: 'createAt',
17
- type: 'desc',
18
- },
19
- options: {
20
- timeout: 10000,
21
- multiple: true,
22
- },
23
- page: {
24
- current: 1,
25
- size: 10,
26
- },
27
- };
28
-
29
- exports.appendTime = appendTime;
30
- exports.defaultConditions = defaultConditions;
@@ -1,29 +0,0 @@
1
- 'use strict';
2
-
3
- const fs = require('fs');
4
- const path = require('path');
5
- // 实现一个文件系统读写数据库
6
- class JsonFile {
7
- filePath;
8
- constructor(filePath) {
9
- this.filePath = path.resolve(__dirname, filePath);
10
- }
11
- get(key) {
12
- return new Promise((resolve) => {
13
- fs.readFile(this.filePath, (err, data) => {
14
- const json = data ? JSON.parse(data) : {};
15
- resolve(json[key]);
16
- });
17
- });
18
- }
19
- set(key, value) {
20
- fs.readFile(this.filePath, { encoding: 'utf-8' }, (err, data) => {
21
- const json = data ? JSON.parse(data || '{}') : {};
22
- json[key] = value;
23
- fs.writeFile(this.filePath, JSON.stringify(json), () => {
24
- });
25
- });
26
- }
27
- }
28
-
29
- exports.JsonFile = JsonFile;
@@ -1,31 +0,0 @@
1
- 'use strict';
2
-
3
- var nodemailer = require('nodemailer');
4
-
5
- const fromEmail = '15835196981@163.com';
6
- const fromPass = 'KPTVCFBMRXJVTCGW';
7
- const transporter = nodemailer.createTransport({
8
- host: 'smtp.163.com',
9
- port: 465,
10
- secure: true,
11
- auth: {
12
- user: fromEmail,
13
- pass: fromPass
14
- }
15
- });
16
- const sendMail = async (toEmail, title, content) => {
17
- try {
18
- await transporter.sendMail({
19
- from: fromEmail,
20
- to: toEmail,
21
- subject: title,
22
- text: content // 邮件正文
23
- });
24
- return title + ' 邮件通知成功';
25
- }
26
- catch (error) {
27
- return title + '邮件通知失败' + JSON.stringify(error);
28
- }
29
- };
30
-
31
- exports.sendMail = sendMail;