@allahjs/utils 0.0.1

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 (160) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +244 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/browser/cookieUtils/index.cjs +100 -0
  5. package/dist/browser/cookieUtils/index.cjs.map +1 -0
  6. package/dist/browser/cookieUtils/index.d.ts +55 -0
  7. package/dist/browser/domUtils/index.cjs +237 -0
  8. package/dist/browser/domUtils/index.cjs.map +1 -0
  9. package/dist/browser/domUtils/index.d.ts +116 -0
  10. package/dist/browser/index.cjs +12 -0
  11. package/dist/browser/index.cjs.map +1 -0
  12. package/dist/browser/index.d.ts +3 -0
  13. package/dist/browser/urlUtils/index.cjs +262 -0
  14. package/dist/browser/urlUtils/index.cjs.map +1 -0
  15. package/dist/browser/urlUtils/index.d.ts +72 -0
  16. package/dist/core/arrayUtils/index.cjs +109 -0
  17. package/dist/core/arrayUtils/index.cjs.map +1 -0
  18. package/dist/core/arrayUtils/index.d.ts +67 -0
  19. package/dist/core/asyncUtils/index.cjs +180 -0
  20. package/dist/core/asyncUtils/index.cjs.map +1 -0
  21. package/dist/core/asyncUtils/index.d.ts +80 -0
  22. package/dist/core/colorUtils/index.cjs +38 -0
  23. package/dist/core/colorUtils/index.cjs.map +1 -0
  24. package/dist/core/colorUtils/index.d.ts +10 -0
  25. package/dist/core/cryptoUtils/index.cjs +428 -0
  26. package/dist/core/cryptoUtils/index.cjs.map +1 -0
  27. package/dist/core/cryptoUtils/index.d.ts +132 -0
  28. package/dist/core/dateUtils/index.cjs +245 -0
  29. package/dist/core/dateUtils/index.cjs.map +1 -0
  30. package/dist/core/dateUtils/index.d.ts +117 -0
  31. package/dist/core/index.cjs +34 -0
  32. package/dist/core/index.cjs.map +1 -0
  33. package/dist/core/index.d.ts +118 -0
  34. package/dist/core/numberUtils/index.cjs +126 -0
  35. package/dist/core/numberUtils/index.cjs.map +1 -0
  36. package/dist/core/numberUtils/index.d.ts +91 -0
  37. package/dist/core/objectUtils/index.cjs +249 -0
  38. package/dist/core/objectUtils/index.cjs.map +1 -0
  39. package/dist/core/objectUtils/index.d.ts +91 -0
  40. package/dist/core/pageUtils/index.cjs +74 -0
  41. package/dist/core/pageUtils/index.cjs.map +1 -0
  42. package/dist/core/pageUtils/index.d.ts +52 -0
  43. package/dist/core/stringUtils/index.cjs +163 -0
  44. package/dist/core/stringUtils/index.cjs.map +1 -0
  45. package/dist/core/stringUtils/index.d.ts +69 -0
  46. package/dist/core/validationUtils/index.cjs +154 -0
  47. package/dist/core/validationUtils/index.cjs.map +1 -0
  48. package/dist/core/validationUtils/index.d.ts +87 -0
  49. package/dist/esm/browser/cookieUtils/index.d.ts +55 -0
  50. package/dist/esm/browser/cookieUtils/index.js +96 -0
  51. package/dist/esm/browser/cookieUtils/index.js.map +1 -0
  52. package/dist/esm/browser/domUtils/index.d.ts +116 -0
  53. package/dist/esm/browser/domUtils/index.js +233 -0
  54. package/dist/esm/browser/domUtils/index.js.map +1 -0
  55. package/dist/esm/browser/index.d.ts +3 -0
  56. package/dist/esm/browser/index.js +4 -0
  57. package/dist/esm/browser/index.js.map +1 -0
  58. package/dist/esm/browser/urlUtils/index.d.ts +72 -0
  59. package/dist/esm/browser/urlUtils/index.js +248 -0
  60. package/dist/esm/browser/urlUtils/index.js.map +1 -0
  61. package/dist/esm/core/arrayUtils/index.d.ts +67 -0
  62. package/dist/esm/core/arrayUtils/index.js +105 -0
  63. package/dist/esm/core/arrayUtils/index.js.map +1 -0
  64. package/dist/esm/core/asyncUtils/index.d.ts +80 -0
  65. package/dist/esm/core/asyncUtils/index.js +175 -0
  66. package/dist/esm/core/asyncUtils/index.js.map +1 -0
  67. package/dist/esm/core/colorUtils/index.d.ts +10 -0
  68. package/dist/esm/core/colorUtils/index.js +34 -0
  69. package/dist/esm/core/colorUtils/index.js.map +1 -0
  70. package/dist/esm/core/cryptoUtils/index.d.ts +132 -0
  71. package/dist/esm/core/cryptoUtils/index.js +424 -0
  72. package/dist/esm/core/cryptoUtils/index.js.map +1 -0
  73. package/dist/esm/core/dateUtils/index.d.ts +117 -0
  74. package/dist/esm/core/dateUtils/index.js +241 -0
  75. package/dist/esm/core/dateUtils/index.js.map +1 -0
  76. package/dist/esm/core/index.d.ts +118 -0
  77. package/dist/esm/core/index.js +30 -0
  78. package/dist/esm/core/index.js.map +1 -0
  79. package/dist/esm/core/numberUtils/index.d.ts +91 -0
  80. package/dist/esm/core/numberUtils/index.js +122 -0
  81. package/dist/esm/core/numberUtils/index.js.map +1 -0
  82. package/dist/esm/core/objectUtils/index.d.ts +91 -0
  83. package/dist/esm/core/objectUtils/index.js +245 -0
  84. package/dist/esm/core/objectUtils/index.js.map +1 -0
  85. package/dist/esm/core/pageUtils/index.d.ts +52 -0
  86. package/dist/esm/core/pageUtils/index.js +66 -0
  87. package/dist/esm/core/pageUtils/index.js.map +1 -0
  88. package/dist/esm/core/stringUtils/index.d.ts +69 -0
  89. package/dist/esm/core/stringUtils/index.js +159 -0
  90. package/dist/esm/core/stringUtils/index.js.map +1 -0
  91. package/dist/esm/core/validationUtils/index.d.ts +87 -0
  92. package/dist/esm/core/validationUtils/index.js +150 -0
  93. package/dist/esm/core/validationUtils/index.js.map +1 -0
  94. package/dist/esm/index.d.ts +22 -0
  95. package/dist/esm/index.js +26 -0
  96. package/dist/esm/index.js.map +1 -0
  97. package/dist/esm/request/ReqQueue/index.js +59 -0
  98. package/dist/esm/request/ReqQueue/index.js.map +1 -0
  99. package/dist/esm/request/httpCode/index.js +49 -0
  100. package/dist/esm/request/httpCode/index.js.map +1 -0
  101. package/dist/esm/request/httpUtils/index.js +359 -0
  102. package/dist/esm/request/httpUtils/index.js.map +1 -0
  103. package/dist/esm/request/index.d.ts +15 -0
  104. package/dist/esm/request/index.js +166 -0
  105. package/dist/esm/request/index.js.map +1 -0
  106. package/dist/esm/request/typings/index.d.ts +184 -0
  107. package/dist/esm/request/uniRequest/index.js +62 -0
  108. package/dist/esm/request/uniRequest/index.js.map +1 -0
  109. package/dist/esm/types/data/index.d.ts +188 -0
  110. package/dist/esm/types/data/index.js +13 -0
  111. package/dist/esm/types/data/index.js.map +1 -0
  112. package/dist/esm/types/index.d.ts +1 -0
  113. package/dist/esm/types/index.js +2 -0
  114. package/dist/esm/types/index.js.map +1 -0
  115. package/dist/esm/uniapp/Tips/index.d.ts +295 -0
  116. package/dist/esm/uniapp/Tips/index.js +498 -0
  117. package/dist/esm/uniapp/Tips/index.js.map +1 -0
  118. package/dist/esm/uniapp/cloudUtils/index.d.ts +56 -0
  119. package/dist/esm/uniapp/cloudUtils/index.js +90 -0
  120. package/dist/esm/uniapp/cloudUtils/index.js.map +1 -0
  121. package/dist/esm/uniapp/index.d.ts +3 -0
  122. package/dist/esm/uniapp/index.js +4 -0
  123. package/dist/esm/uniapp/index.js.map +1 -0
  124. package/dist/esm/uniapp/uniUtils/index.d.ts +113 -0
  125. package/dist/esm/uniapp/uniUtils/index.js +199 -0
  126. package/dist/esm/uniapp/uniUtils/index.js.map +1 -0
  127. package/dist/index.cjs +88 -0
  128. package/dist/index.cjs.map +1 -0
  129. package/dist/index.d.ts +22 -0
  130. package/dist/request/ReqQueue/index.cjs +63 -0
  131. package/dist/request/ReqQueue/index.cjs.map +1 -0
  132. package/dist/request/httpCode/index.cjs +52 -0
  133. package/dist/request/httpCode/index.cjs.map +1 -0
  134. package/dist/request/httpUtils/index.cjs +365 -0
  135. package/dist/request/httpUtils/index.cjs.map +1 -0
  136. package/dist/request/index.cjs +170 -0
  137. package/dist/request/index.cjs.map +1 -0
  138. package/dist/request/index.d.ts +15 -0
  139. package/dist/request/typings/index.d.ts +184 -0
  140. package/dist/request/uniRequest/index.cjs +66 -0
  141. package/dist/request/uniRequest/index.cjs.map +1 -0
  142. package/dist/types/data/index.cjs +15 -0
  143. package/dist/types/data/index.cjs.map +1 -0
  144. package/dist/types/data/index.d.ts +188 -0
  145. package/dist/types/index.cjs +8 -0
  146. package/dist/types/index.cjs.map +1 -0
  147. package/dist/types/index.d.ts +1 -0
  148. package/dist/uniapp/Tips/index.cjs +521 -0
  149. package/dist/uniapp/Tips/index.cjs.map +1 -0
  150. package/dist/uniapp/Tips/index.d.ts +295 -0
  151. package/dist/uniapp/cloudUtils/index.cjs +92 -0
  152. package/dist/uniapp/cloudUtils/index.cjs.map +1 -0
  153. package/dist/uniapp/cloudUtils/index.d.ts +56 -0
  154. package/dist/uniapp/index.cjs +53 -0
  155. package/dist/uniapp/index.cjs.map +1 -0
  156. package/dist/uniapp/index.d.ts +3 -0
  157. package/dist/uniapp/uniUtils/index.cjs +213 -0
  158. package/dist/uniapp/uniUtils/index.cjs.map +1 -0
  159. package/dist/uniapp/uniUtils/index.d.ts +113 -0
  160. package/package.json +129 -0
@@ -0,0 +1,91 @@
1
+ /**
2
+ * 数字工具函数
3
+ */
4
+ /**
5
+ * 数字工具对象
6
+ */
7
+ declare const numberUtils: {
8
+ /**
9
+ * 格式化数字(添加千分位分隔符)
10
+ * @param num 数字
11
+ * @param separator 分隔符,默认为 ','
12
+ * @returns 格式化后的字符串
13
+ */
14
+ formatNumber(num: number, separator?: string): string;
15
+ /**
16
+ * 保留指定小数位数
17
+ * @param num 数字
18
+ * @param digits 小数位数
19
+ * @returns 处理后的数字
20
+ */
21
+ toFixed(num: number, digits: number): number;
22
+ /**
23
+ * 生成指定范围内的随机数
24
+ * @param min 最小值
25
+ * @param max 最大值
26
+ * @param integer 是否为整数,默认为 false
27
+ * @returns 随机数
28
+ */
29
+ random(min: number, max: number, integer?: boolean): number;
30
+ /**
31
+ * 限制数字在指定范围内
32
+ * @param num 数字
33
+ * @param min 最小值
34
+ * @param max 最大值
35
+ * @returns 限制后的数字
36
+ */
37
+ clamp(num: number, min: number, max: number): number;
38
+ /**
39
+ * 数字映射到新范围
40
+ * @param value 原值
41
+ * @param fromMin 原范围最小值
42
+ * @param fromMax 原范围最大值
43
+ * @param toMin 新范围最小值
44
+ * @param toMax 新范围最大值
45
+ * @returns 映射后的值
46
+ */
47
+ mapRange(value: number, fromMin: number, fromMax: number, toMin: number, toMax: number): number;
48
+ /**
49
+ * 判断是否为偶数
50
+ * @param num 数字
51
+ * @returns 是否为偶数
52
+ */
53
+ isEven(num: number): boolean;
54
+ /**
55
+ * 判断是否为奇数
56
+ * @param num 数字
57
+ * @returns 是否为奇数
58
+ */
59
+ isOdd(num: number): boolean;
60
+ /**
61
+ * 计算百分比
62
+ * @param value 值
63
+ * @param total 总数
64
+ * @param digits 小数位数,默认为 2
65
+ * @returns 百分比
66
+ */
67
+ percentage(value: number, total: number, digits?: number): number;
68
+ /**
69
+ * 数字转换为文件大小格式
70
+ * @param bytes 字节数
71
+ * @param digits 小数位数,默认为 2
72
+ * @returns 文件大小字符串
73
+ */
74
+ formatBytes(bytes: number, digits?: number): string;
75
+ /**
76
+ * 求最大公约数
77
+ * @param a 数字a
78
+ * @param b 数字b
79
+ * @returns 最大公约数
80
+ */
81
+ gcd(a: number, b: number): number;
82
+ /**
83
+ * 求最小公倍数
84
+ * @param a 数字a
85
+ * @param b 数字b
86
+ * @returns 最小公倍数
87
+ */
88
+ lcm(a: number, b: number): number;
89
+ };
90
+
91
+ export { numberUtils as default };
@@ -0,0 +1,249 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ /**
6
+ * 对象工具函数
7
+ */
8
+ /**
9
+ * 判断是否为对象
10
+ * @param item - 要判断的项
11
+ * @returns 是否为对象
12
+ */
13
+ function isObject(item) {
14
+ return item && typeof item === 'object' && !Array.isArray(item);
15
+ }
16
+ /**
17
+ * 对象工具对象
18
+ */
19
+ const objectUtils = {
20
+ /**
21
+ * 深度克隆对象
22
+ * @param obj - 要克隆的对象
23
+ * @returns 克隆后的对象
24
+ */
25
+ deepClone(obj) {
26
+ if (obj === null || typeof obj !== 'object') {
27
+ return obj;
28
+ }
29
+ if (obj instanceof Date) {
30
+ return new Date(obj.getTime());
31
+ }
32
+ if (obj instanceof Array) {
33
+ return obj.map(item => objectUtils.deepClone(item));
34
+ }
35
+ if (typeof obj === 'object') {
36
+ const cloned = {};
37
+ for (const key in obj) {
38
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
39
+ cloned[key] = objectUtils.deepClone(obj[key]);
40
+ }
41
+ }
42
+ return cloned;
43
+ }
44
+ return obj;
45
+ },
46
+ /**
47
+ * 合并多个对象
48
+ * @param target - 目标对象
49
+ * @param sources - 源对象数组
50
+ * @returns 合并后的对象
51
+ */
52
+ merge(target, ...sources) {
53
+ if (!sources.length)
54
+ return target;
55
+ const source = sources.shift();
56
+ if (isObject(target) && isObject(source)) {
57
+ for (const key in source) {
58
+ if (isObject(source[key])) {
59
+ if (!target[key])
60
+ Object.assign(target, { [key]: {} });
61
+ objectUtils.merge(target[key], source[key]);
62
+ }
63
+ else {
64
+ Object.assign(target, { [key]: source[key] });
65
+ }
66
+ }
67
+ }
68
+ return objectUtils.merge(target, ...sources);
69
+ },
70
+ /**
71
+ * 根据路径获取对象属性值
72
+ * @param obj - 目标对象
73
+ * @param path - 属性路径
74
+ * @param defaultValue - 默认值
75
+ * @returns 属性值
76
+ */
77
+ get(obj, path, defaultValue) {
78
+ const keys = path.split('.');
79
+ let result = obj;
80
+ for (const key of keys) {
81
+ if (result === null || typeof result !== 'object') {
82
+ return defaultValue;
83
+ }
84
+ result = result[key];
85
+ }
86
+ return result === undefined ? defaultValue : result;
87
+ },
88
+ /**
89
+ * 根据路径设置对象属性值
90
+ * @param obj - 目标对象
91
+ * @param path - 属性路径
92
+ * @param value - 要设置的值
93
+ */
94
+ set(obj, path, value) {
95
+ const keys = path.split('.');
96
+ let current = obj;
97
+ for (let i = 0; i < keys.length - 1; i++) {
98
+ const key = keys[i];
99
+ if (!(key in current) || typeof current[key] !== 'object') {
100
+ current[key] = {};
101
+ }
102
+ current = current[key];
103
+ }
104
+ current[keys[keys.length - 1]] = value;
105
+ },
106
+ /**
107
+ * 根据路径删除对象属性
108
+ * @param obj - 目标对象
109
+ * @param path - 属性路径
110
+ * @returns 是否删除成功
111
+ */
112
+ unset(obj, path) {
113
+ const keys = path.split('.');
114
+ let current = obj;
115
+ for (let i = 0; i < keys.length - 1; i++) {
116
+ const key = keys[i];
117
+ if (!(key in current) || typeof current[key] !== 'object') {
118
+ return false;
119
+ }
120
+ current = current[key];
121
+ }
122
+ const lastKey = keys[keys.length - 1];
123
+ if (lastKey in current) {
124
+ delete current[lastKey];
125
+ return true;
126
+ }
127
+ return false;
128
+ },
129
+ /**
130
+ * 获取对象的所有路径
131
+ * @param obj - 目标对象
132
+ * @param prefix - 路径前缀
133
+ * @returns 路径数组
134
+ */
135
+ paths(obj, prefix = '') {
136
+ const result = [];
137
+ for (const key in obj) {
138
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
139
+ const currentPath = prefix ? `${prefix}.${key}` : key;
140
+ if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {
141
+ result.push(...objectUtils.paths(obj[key], currentPath));
142
+ }
143
+ else {
144
+ result.push(currentPath);
145
+ }
146
+ }
147
+ }
148
+ return result;
149
+ },
150
+ /**
151
+ * 将数据中的''转换成指定的字符串
152
+ * @param obj - 需要转换的对象
153
+ * @param str - 需要转换的字符串,默认是无
154
+ * @returns 转换后的对象
155
+ */
156
+ buildNullStr(obj, str = '无') {
157
+ const newObj = obj;
158
+ Object.keys(obj).forEach((key) => {
159
+ if (obj[key] === '') {
160
+ newObj[key] = str;
161
+ }
162
+ });
163
+ return newObj;
164
+ },
165
+ /**
166
+ * 将对象的key变成数字
167
+ * @param obj - 需要转换的对象
168
+ * @returns 转换后的对象
169
+ */
170
+ objToNum(obj) {
171
+ const newObj = {};
172
+ Object.keys(obj).forEach(key => {
173
+ newObj[Number(key)] = obj[key];
174
+ });
175
+ return newObj;
176
+ },
177
+ /**
178
+ * 给vuex进行刷新的方法
179
+ * @param state - 状态对象
180
+ * @param payload - 载荷数据
181
+ */
182
+ refreshState(state, payload) {
183
+ Object.keys(payload).forEach(key => {
184
+ if (Array.isArray(payload[key])) {
185
+ // 这里需要引入ArrayUtil,暂时使用简单的克隆
186
+ state[key] = [...payload[key]];
187
+ }
188
+ else if (typeof payload[key] === 'object') {
189
+ Object.keys(payload[key]).forEach(key2 => {
190
+ state[key][key2] = payload[key][key2];
191
+ });
192
+ }
193
+ else {
194
+ state[key] = payload[key];
195
+ }
196
+ });
197
+ },
198
+ /**
199
+ * 删除对象里面的时间字段
200
+ * @param obj - 需要处理的对象
201
+ * @param keys - 额外需要删除的字段
202
+ * @returns 处理后的对象
203
+ */
204
+ deleteTime(obj, keys = []) {
205
+ const defKeys = ['createTime', 'updateTime', 'createDate', 'updateDate', ...keys];
206
+ const newObj = { ...obj };
207
+ defKeys.forEach(key => {
208
+ if (newObj[key]) {
209
+ delete newObj[key];
210
+ }
211
+ });
212
+ return newObj;
213
+ },
214
+ /**
215
+ * 枚举转option的函数
216
+ * @param enumObj - 枚举对象
217
+ * @returns 选项数组
218
+ */
219
+ enumToOptions(enumObj) {
220
+ const keys = Object.keys(enumObj);
221
+ return keys.map(key => ({
222
+ ...enumObj[key],
223
+ label: enumObj[key].text,
224
+ value: key
225
+ }));
226
+ },
227
+ /**
228
+ * 比较两个对象是否相同
229
+ * @param obj1 - 第一个对象
230
+ * @param obj2 - 第二个对象
231
+ * @returns 是否相同
232
+ */
233
+ isSameObj(obj1, obj2) {
234
+ const keys1 = Object.keys(obj1);
235
+ const keys2 = Object.keys(obj2);
236
+ if (keys1.length !== keys2.length) {
237
+ return false;
238
+ }
239
+ for (let i = 0; i < keys1.length; i++) {
240
+ if (obj1[keys1[i]] !== obj2[keys2[i]]) {
241
+ return false;
242
+ }
243
+ }
244
+ return true;
245
+ }
246
+ };
247
+
248
+ exports.default = objectUtils;
249
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/core/objectUtils/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * 对象工具函数
3
+ */
4
+ /**
5
+ * 对象工具对象
6
+ */
7
+ declare const objectUtils: {
8
+ /**
9
+ * 深度克隆对象
10
+ * @param obj - 要克隆的对象
11
+ * @returns 克隆后的对象
12
+ */
13
+ deepClone<T>(obj: T): T;
14
+ /**
15
+ * 合并多个对象
16
+ * @param target - 目标对象
17
+ * @param sources - 源对象数组
18
+ * @returns 合并后的对象
19
+ */
20
+ merge<T extends Record<string, any>>(target: T, ...sources: Partial<T>[]): T;
21
+ /**
22
+ * 根据路径获取对象属性值
23
+ * @param obj - 目标对象
24
+ * @param path - 属性路径
25
+ * @param defaultValue - 默认值
26
+ * @returns 属性值
27
+ */
28
+ get<T = any>(obj: Record<string, any>, path: string, defaultValue?: T): T;
29
+ /**
30
+ * 根据路径设置对象属性值
31
+ * @param obj - 目标对象
32
+ * @param path - 属性路径
33
+ * @param value - 要设置的值
34
+ */
35
+ set(obj: Record<string, any>, path: string, value: any): void;
36
+ /**
37
+ * 根据路径删除对象属性
38
+ * @param obj - 目标对象
39
+ * @param path - 属性路径
40
+ * @returns 是否删除成功
41
+ */
42
+ unset(obj: Record<string, any>, path: string): boolean;
43
+ /**
44
+ * 获取对象的所有路径
45
+ * @param obj - 目标对象
46
+ * @param prefix - 路径前缀
47
+ * @returns 路径数组
48
+ */
49
+ paths(obj: Record<string, any>, prefix?: string): string[];
50
+ /**
51
+ * 将数据中的''转换成指定的字符串
52
+ * @param obj - 需要转换的对象
53
+ * @param str - 需要转换的字符串,默认是无
54
+ * @returns 转换后的对象
55
+ */
56
+ buildNullStr<T = any>(obj: any, str?: string): T;
57
+ /**
58
+ * 将对象的key变成数字
59
+ * @param obj - 需要转换的对象
60
+ * @returns 转换后的对象
61
+ */
62
+ objToNum(obj: any): any;
63
+ /**
64
+ * 给vuex进行刷新的方法
65
+ * @param state - 状态对象
66
+ * @param payload - 载荷数据
67
+ */
68
+ refreshState(state: any, payload: any): void;
69
+ /**
70
+ * 删除对象里面的时间字段
71
+ * @param obj - 需要处理的对象
72
+ * @param keys - 额外需要删除的字段
73
+ * @returns 处理后的对象
74
+ */
75
+ deleteTime(obj: any, keys?: string[]): any;
76
+ /**
77
+ * 枚举转option的函数
78
+ * @param enumObj - 枚举对象
79
+ * @returns 选项数组
80
+ */
81
+ enumToOptions(enumObj: any): any[];
82
+ /**
83
+ * 比较两个对象是否相同
84
+ * @param obj1 - 第一个对象
85
+ * @param obj2 - 第二个对象
86
+ * @returns 是否相同
87
+ */
88
+ isSameObj(obj1: any, obj2: any): boolean;
89
+ };
90
+
91
+ export { objectUtils as default };
@@ -0,0 +1,74 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const defTableData = {
6
+ current: 0,
7
+ pages: 0,
8
+ records: [],
9
+ list: [],
10
+ size: 0,
11
+ total: 0
12
+ };
13
+ /**
14
+ * 页面工具函数
15
+ */
16
+ /**
17
+ * 当前页是否是最后一页
18
+ * @param data - 分页数据
19
+ * @returns 是否为最后一页
20
+ */
21
+ const isLastPageData = (data) => {
22
+ if (Object.keys(data).length > 0) {
23
+ // 判断当前数据是否是最后一条
24
+ const { records, current } = data;
25
+ // 如果当前只有一条数据了并且当前页数大于一页
26
+ return records.length === 1 && current > 1;
27
+ }
28
+ return false;
29
+ };
30
+ /**
31
+ * 生成翻页配置数据
32
+ * @param data - 后台传递的数据
33
+ * @returns 翻页配置对象
34
+ */
35
+ const buildPageConfig = (data) => ({
36
+ // 设置第几页
37
+ current: data?.current || 0,
38
+ // 设置每页条数
39
+ pageSize: data?.size || 0,
40
+ // 设置总页数
41
+ total: data?.total || 0,
42
+ // 页数跳转
43
+ showQuickJumper: true,
44
+ //是否支持切换每页的大小
45
+ showSizeChanger: false,
46
+ // 总页数显示
47
+ showTotal: (total, range) => `${Number(total).toLocaleString('en-US')} 条数据中的第${range[0]}-${range[1]}条 `
48
+ });
49
+ /**
50
+ * 默认的表格数据
51
+ */
52
+ const defaultTableData = {
53
+ current: 0,
54
+ pages: 0,
55
+ records: [],
56
+ list: [],
57
+ size: 0,
58
+ total: 0
59
+ };
60
+ /**
61
+ * 页面工具对象
62
+ */
63
+ const pageUtils = {
64
+ isLastPageData,
65
+ buildPageConfig,
66
+ defaultTableData
67
+ };
68
+
69
+ exports.buildPageConfig = buildPageConfig;
70
+ exports.defTableData = defTableData;
71
+ exports.default = pageUtils;
72
+ exports.defaultTableData = defaultTableData;
73
+ exports.isLastPageData = isLastPageData;
74
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/core/pageUtils/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAkCO,MAAM,YAAY,GAAoB;AAC3C,IAAA,OAAO,EAAE,CAAC;AACV,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,KAAK,EAAE;;AAGT;;AAEG;AAEH;;;;AAIG;AACI,MAAM,cAAc,GAAG,CAAC,IAAqB,KAAa;IAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;;AAEhC,QAAA,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI;;QAEjC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC;IAC5C;AACA,IAAA,OAAO,KAAK;AACd;AAEA;;;;AAIG;MACU,eAAe,GAAG,CAAC,IAAsB,MAAM;;AAE1D,IAAA,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC;;AAE3B,IAAA,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;;AAEzB,IAAA,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;;AAEvB,IAAA,eAAe,EAAE,IAAI;;AAErB,IAAA,eAAe,EAAE,KAAK;;AAEtB,IAAA,SAAS,EAAE,CAAC,KAAa,EAAE,KAAe,KACxC,CAAA,EAAG,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA,OAAA,EAAU,KAAK,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,KAAK,CAAC,CAAC,CAAC,CAAA,EAAA;AACzE,CAAA;AAED;;AAEG;AACI,MAAM,gBAAgB,GAAoB;AAC/C,IAAA,OAAO,EAAE,CAAC;AACV,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,KAAK,EAAE;;AAGT;;AAEG;AACH,MAAM,SAAS,GAAG;IAChB,cAAc;IACd,eAAe;IACf;;;;;;;;;"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * 分页的数据
3
+ */
4
+ interface ITablePage<T> {
5
+ /**
6
+ * 列表数据
7
+ */
8
+ records: T[];
9
+ /**
10
+ * 列表数据-确保不为空
11
+ */
12
+ list: T[];
13
+ /**
14
+ * 单页大小
15
+ */
16
+ size: number;
17
+ /**
18
+ * 当前页数
19
+ */
20
+ current: number;
21
+ /**
22
+ * 总页数
23
+ */
24
+ pages: number;
25
+ /**
26
+ * 总条数
27
+ */
28
+ total: number;
29
+ /**
30
+ * 是否升序
31
+ */
32
+ asc?: boolean;
33
+ }
34
+ declare const defTableData: ITablePage<any>;
35
+ /**
36
+ * 页面工具对象
37
+ */
38
+ declare const pageUtils: {
39
+ isLastPageData: (data: ITablePage<any>) => boolean;
40
+ buildPageConfig: (data?: ITablePage<any>) => {
41
+ current: number;
42
+ pageSize: number;
43
+ total: number;
44
+ showQuickJumper: boolean;
45
+ showSizeChanger: boolean;
46
+ showTotal: (total: number, range: number[]) => string;
47
+ };
48
+ defaultTableData: ITablePage<any>;
49
+ };
50
+
51
+ export { defTableData, pageUtils as default };
52
+ export type { ITablePage };