@power-xa/m-ui 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 (95) hide show
  1. package/README.md +21 -0
  2. package/dist/ActionSheet/index.d.ts +16 -0
  3. package/dist/ActionSheet/index.js +79 -0
  4. package/dist/ActionSheet/index.less +39 -0
  5. package/dist/Breadcrumb/index.d.ts +14 -0
  6. package/dist/Breadcrumb/index.js +31 -0
  7. package/dist/Breadcrumb/index.less +28 -0
  8. package/dist/Button/index.d.ts +16 -0
  9. package/dist/Button/index.js +53 -0
  10. package/dist/Button/index.less +42 -0
  11. package/dist/ConfigProvider/index.d.ts +23 -0
  12. package/dist/ConfigProvider/index.js +41 -0
  13. package/dist/CreatorEdit/index.d.ts +12 -0
  14. package/dist/CreatorEdit/index.js +70 -0
  15. package/dist/CreatorEdit/index.less +41 -0
  16. package/dist/Drawer/index.d.ts +12 -0
  17. package/dist/Drawer/index.js +71 -0
  18. package/dist/Drawer/index.less +24 -0
  19. package/dist/Empty/index.d.ts +12 -0
  20. package/dist/Empty/index.js +18 -0
  21. package/dist/Empty/index.less +15 -0
  22. package/dist/FloatButton/index.d.ts +10 -0
  23. package/dist/FloatButton/index.js +60 -0
  24. package/dist/FloatButton/index.less +26 -0
  25. package/dist/Grid/index.d.ts +15 -0
  26. package/dist/Grid/index.js +26 -0
  27. package/dist/Grid/index.less +4 -0
  28. package/dist/PageContainer/index.d.ts +17 -0
  29. package/dist/PageContainer/index.js +50 -0
  30. package/dist/PageContainer/index.less +41 -0
  31. package/dist/Popup/index.d.ts +13 -0
  32. package/dist/Popup/index.js +65 -0
  33. package/dist/Popup/index.less +22 -0
  34. package/dist/ProForm/Field/index.d.ts +8 -0
  35. package/dist/ProForm/Field/index.js +33 -0
  36. package/dist/ProForm/Field/index.less +96 -0
  37. package/dist/ProForm/Form/index.d.ts +7 -0
  38. package/dist/ProForm/Form/index.js +145 -0
  39. package/dist/ProForm/Form/index.less +61 -0
  40. package/dist/ProForm/Group/index.d.ts +7 -0
  41. package/dist/ProForm/Group/index.js +73 -0
  42. package/dist/ProForm/Group/index.less +32 -0
  43. package/dist/ProForm/controls/Date/index.d.ts +3 -0
  44. package/dist/ProForm/controls/Date/index.js +141 -0
  45. package/dist/ProForm/controls/List/index.d.ts +23 -0
  46. package/dist/ProForm/controls/List/index.js +77 -0
  47. package/dist/ProForm/controls/List/index.less +53 -0
  48. package/dist/ProForm/controls/Select/index.d.ts +4 -0
  49. package/dist/ProForm/controls/Select/index.js +263 -0
  50. package/dist/ProForm/controls/Select/index.less +120 -0
  51. package/dist/ProForm/controls/Text/index.d.ts +4 -0
  52. package/dist/ProForm/controls/Text/index.js +29 -0
  53. package/dist/ProForm/controls/Text/index.less +7 -0
  54. package/dist/ProForm/controls/TextArea/index.d.ts +4 -0
  55. package/dist/ProForm/controls/TextArea/index.js +63 -0
  56. package/dist/ProForm/controls/TextArea/index.less +46 -0
  57. package/dist/ProForm/controls/Upload/index.d.ts +4 -0
  58. package/dist/ProForm/controls/Upload/index.js +383 -0
  59. package/dist/ProForm/controls/Upload/index.less +174 -0
  60. package/dist/ProForm/index.d.ts +9 -0
  61. package/dist/ProForm/index.js +5 -0
  62. package/dist/ProForm/typings.d.ts +164 -0
  63. package/dist/ProList/index.d.ts +78 -0
  64. package/dist/ProList/index.js +323 -0
  65. package/dist/ProList/index.less +318 -0
  66. package/dist/RefreshList/index.d.ts +17 -0
  67. package/dist/RefreshList/index.js +43 -0
  68. package/dist/RefreshList/index.less +19 -0
  69. package/dist/Skeleton/index.d.ts +5 -0
  70. package/dist/Skeleton/index.js +37 -0
  71. package/dist/Skeleton/index.less +7 -0
  72. package/dist/Tabbar/index.d.ts +13 -0
  73. package/dist/Tabbar/index.js +77 -0
  74. package/dist/Tabbar/index.less +44 -0
  75. package/dist/Tabs/index.d.ts +26 -0
  76. package/dist/Tabs/index.js +186 -0
  77. package/dist/Tabs/index.less +249 -0
  78. package/dist/assets/fonts/PingFangSC-Light.ttf +0 -0
  79. package/dist/assets/fonts/PingFangSC-Medium.ttf +0 -0
  80. package/dist/assets/fonts/PingFangSC-Regular.ttf +0 -0
  81. package/dist/assets/less/mixins.less +37 -0
  82. package/dist/global.less +0 -0
  83. package/dist/index.d.ts +25 -0
  84. package/dist/index.js +27 -0
  85. package/dist/request/index.d.ts +8 -0
  86. package/dist/request/index.js +61 -0
  87. package/dist/services/FileController/index.d.ts +12 -0
  88. package/dist/services/FileController/index.js +39 -0
  89. package/dist/services/FileController/typings.d.ts +52 -0
  90. package/dist/services/index.d.ts +2 -0
  91. package/dist/services/index.js +2 -0
  92. package/dist/services/typings.d.ts +25 -0
  93. package/dist/utils/tools.d.ts +33 -0
  94. package/dist/utils/tools.js +231 -0
  95. package/package.json +88 -0
@@ -0,0 +1,52 @@
1
+ declare namespace FileAPI {
2
+ type FileType = "Word" | "Excel" | "Ppt" | "Pdf" | "Pic" | "Video" | "Audio" | "Text" | "Zip" | "Cad" | "Other";
3
+
4
+ type File = {
5
+ id?: string;
6
+ fileName?: string;
7
+ fileType: "Word" | "Excel" | "Ppt" | "Pdf" | "Pic" | "Video" | "Audio" | "Text" | "Zip" | "Cad" | "Other";
8
+ size?: number;
9
+ uri?: string;
10
+ fullUri?: string;
11
+ }
12
+
13
+ type UploadMethodType = "OSS" | "FTP" | "MINIO";
14
+
15
+ type UploadConfigType = {
16
+ pathProperties: {
17
+ templatePath: string;
18
+ exportPath: string;
19
+ helpPath: string;
20
+ tempPath: string;
21
+ logoPath: string;
22
+ companyPath: string;
23
+ netdiskPath: string;
24
+ systemPath: string;
25
+ apkPath: string;
26
+ };
27
+ oss?: {
28
+ endpoint: string;
29
+ outEndpoint: string;
30
+ accessKeyId: string;
31
+ accessKeySecret: string;
32
+ bucketName: string;
33
+ commonBucketName: string;
34
+ }
35
+ }
36
+
37
+ type OSSConfigType = {
38
+ accessId: string;
39
+ accessKey: string;
40
+ callback: string;
41
+ commonBucketName: string;
42
+ expire: number;
43
+ host: string;
44
+ key: string;
45
+ policy: string;
46
+ port: string;
47
+ secretKey: string;
48
+ secure: string;
49
+ signature: string;
50
+ url: string;
51
+ }
52
+ }
@@ -0,0 +1,2 @@
1
+ import * as FileController from "./FileController";
2
+ export { FileController };
@@ -0,0 +1,2 @@
1
+ import * as FileController from "./FileController";
2
+ export { FileController };
@@ -0,0 +1,25 @@
1
+ declare namespace ServiceAPI {
2
+ type RequestPageResult<PageRecordType> = {
3
+ filter: any;
4
+ countId: string;
5
+ current: number;
6
+ maxLimit: number;
7
+ optimizeCountSql: boolean;
8
+ orders: {
9
+ asc: boolean;
10
+ column: string;
11
+ }[];
12
+ pages: number;
13
+ records: PageRecordType;
14
+ searchCount: boolean;
15
+ size: number;
16
+ total: number;
17
+ }
18
+
19
+ type Response<Data> = {
20
+ code: number;
21
+ data: Data;
22
+ msg: string;
23
+ time: number;
24
+ }
25
+ }
@@ -0,0 +1,33 @@
1
+ declare const getListAssignField: (value: string | boolean | number | null, list: any[], fieId?: {
2
+ value: string;
3
+ label: string;
4
+ } | undefined) => any;
5
+ declare const getQueryParams: (params: any, allowEmpty?: boolean, encode?: boolean) => string;
6
+ /**
7
+ * 生成随机uuid
8
+ */
9
+ declare const getUUID: () => string;
10
+ /**
11
+ * 时间格式化
12
+ * @param date string | number | Date 类型
13
+ *
14
+ */
15
+ declare const dateFormat: (date: string | number | Date, format: any) => any;
16
+ /**
17
+ * 根据当前时间返回对应日期
18
+ * 如果是当天 则返回 HH:mm
19
+ * 如果是之前,但没跨年 则返回 MM-DD HH:mm
20
+ * 如果是跨年 则返回年日期 YYYY-MM-DD HH:mm
21
+ * @param date string | number | Date 类型
22
+ */
23
+ declare const getSimplifyDay: (date: string) => any;
24
+ declare const getFileType: (file: {
25
+ name: string;
26
+ fileName?: string;
27
+ }) => FileAPI.FileType;
28
+ declare const getFileExt: (file: {
29
+ name: string;
30
+ fileName?: string;
31
+ }) => string;
32
+ declare const clipFileUrl: (uri: string, ext?: string) => string;
33
+ export { getListAssignField, getQueryParams, getUUID, dateFormat, getSimplifyDay, getFileType, getFileExt, clipFileUrl, };
@@ -0,0 +1,231 @@
1
+ /*
2
+ * 根据value获取指定list中指定fieId字段值
3
+ * @param: value(string/boolean/number类型,需匹配的值), list(any[]类型,指定遍历的list), fieId(非必传,string类型,根据值匹配获取的对应JSON中的字段值)
4
+ */
5
+ var getListAssignField = function getListAssignField(value, list, fieId) {
6
+ var result = list.filter(function (item) {
7
+ return item[(fieId === null || fieId === void 0 ? void 0 : fieId.value) || "value"] === value;
8
+ });
9
+ return result[0] && result[0][(fieId === null || fieId === void 0 ? void 0 : fieId.label) || "label"];
10
+ };
11
+ var getQueryParams = function getQueryParams(params, allowEmpty) {
12
+ var encode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
13
+ var query = "?";
14
+ if (allowEmpty) {
15
+ for (var key in params) {
16
+ query = query + key + "=" + params[key] + "&";
17
+ }
18
+ } else {
19
+ for (var _key in params) {
20
+ var value = encode ? encodeURIComponent(params[_key]) : params[_key];
21
+ if (typeof params[_key] === "boolean") {
22
+ query = query + _key + "=" + params[_key] + "&";
23
+ }
24
+ if (typeof params[_key] !== "boolean" && params[_key]) {
25
+ query = query + _key + "=" + value + "&";
26
+ }
27
+ }
28
+ }
29
+ return query.slice(0, -1);
30
+ };
31
+
32
+ /**
33
+ * 生成随机uuid
34
+ */
35
+ var getUUID = function getUUID() {
36
+ // 获取唯一值
37
+ return "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, function (c) {
38
+ var r = Math.random() * 16 | 0;
39
+ var v = c === "x" ? r : r & 0x3 | 0x8;
40
+ return v.toString(16);
41
+ });
42
+ };
43
+
44
+ /**
45
+ * 时间格式化
46
+ * @param date string | number | Date 类型
47
+ *
48
+ */
49
+ var dateFormat = function dateFormat(date, format) {
50
+ // let dateString = ["number", "string"].some(_ => typeof date == _) ? new Date(date) : date;
51
+ // let dateString = typeof date == "string" || typeof date == "number" ? new Date(date) : date;
52
+ // let dateString = ["number", "string"].includes(typeof date) ? new Date(date) : date;
53
+
54
+ var dateString = date instanceof Date ? date : new Date(date.split("-").join("/"));
55
+ // if (!isValid) return console.log("时间格式有误,请重新执行")
56
+ var ret;
57
+ var opt = {
58
+ "Y+": dateString.getFullYear().toString(),
59
+ // 年
60
+ "M+": (dateString.getMonth() + 1).toString(),
61
+ // 月
62
+ "D+": dateString.getDate().toString(),
63
+ // 日
64
+ "H+": dateString.getHours().toString(),
65
+ // 时
66
+ "m+": dateString.getMinutes().toString(),
67
+ // 分
68
+ "s+": dateString.getSeconds().toString() // 秒
69
+ // 有其他格式化字符需求可以继续添加,必须转化成字符串
70
+ };
71
+ for (var k in opt) {
72
+ ret = new RegExp("(" + k + ")").exec(format);
73
+ if (ret) {
74
+ format = format.replace(ret[1], ret[1].length === 1 ? opt[k] : opt[k].padStart(ret[1].length, "0"));
75
+ }
76
+ }
77
+ return format;
78
+ };
79
+
80
+ /**
81
+ * 根据当前时间返回对应日期
82
+ * 如果是当天 则返回 HH:mm
83
+ * 如果是之前,但没跨年 则返回 MM-DD HH:mm
84
+ * 如果是跨年 则返回年日期 YYYY-MM-DD HH:mm
85
+ * @param date string | number | Date 类型
86
+ */
87
+ var getSimplifyDay = function getSimplifyDay(date) {
88
+ var today = new Date();
89
+ var todayTime = new Date(today.getFullYear(), today.getMonth() + 1, today.getDate()).getTime();
90
+ var oldDay = new Date(date.split('-').join('/'));
91
+ var oldTime = new Date(oldDay.getFullYear(), oldDay.getMonth() + 1, oldDay.getDate()).getTime();
92
+ var differ = Math.floor(Math.abs((oldTime - todayTime) / 1000 / 60 / 60 / 24));
93
+ if (differ === 0) {
94
+ return dateFormat(date, "HH:mm");
95
+ } else {
96
+ if (new Date(date.split("-").join("/")).getFullYear() === new Date().getFullYear()) {
97
+ return dateFormat(date, "MM-DD HH:mm");
98
+ } else {
99
+ return dateFormat(date, "YYYY-MM-DD HH:mm");
100
+ }
101
+ }
102
+ };
103
+
104
+ // 获取文件类型
105
+ var getFileType = function getFileType(file) {
106
+ var _mimeTypes;
107
+ var fileType = "Other";
108
+ var mimeTypes;
109
+ if (file.name) {
110
+ mimeTypes = file.name.split(".")[file.name.split(".").length - 1];
111
+ } else if (file.fileName) {
112
+ mimeTypes = file.fileName.split(".")[file.fileName.split(".").length - 1];
113
+ }
114
+ switch ((_mimeTypes = mimeTypes) === null || _mimeTypes === void 0 ? void 0 : _mimeTypes.toLowerCase()) {
115
+ case "doc":
116
+ case "docx":
117
+ fileType = "Word";
118
+ break;
119
+ case "xls":
120
+ case "xlsx":
121
+ fileType = "Excel";
122
+ break;
123
+ case "ppt":
124
+ case "pptx":
125
+ fileType = "Ppt";
126
+ break;
127
+ case "pdf":
128
+ fileType = "Pdf";
129
+ break;
130
+ case "png":
131
+ case "jpg":
132
+ case "jpeg":
133
+ case "gif":
134
+ case "jfif":
135
+ case "bmp":
136
+ case "svg":
137
+ case "webp":
138
+ case "ico":
139
+ case "heic":
140
+ case "heif":
141
+ fileType = "Pic";
142
+ break;
143
+ case "mp4":
144
+ case "mov":
145
+ case "avi":
146
+ case "rmvb":
147
+ case "ogg":
148
+ case "flv":
149
+ case "mkv":
150
+ case "webm":
151
+ fileType = "Video";
152
+ break;
153
+ case "mp3":
154
+ case "wav":
155
+ case "aac":
156
+ case "flac":
157
+ fileType = "Audio";
158
+ break;
159
+ case "js":
160
+ case "html":
161
+ case "htm":
162
+ case "md":
163
+ case "markdown":
164
+ case "txt":
165
+ case "log":
166
+ case "conf":
167
+ case "cfg":
168
+ case "xml":
169
+ case "json":
170
+ case "properties":
171
+ case "env":
172
+ fileType = "Text";
173
+ break;
174
+ case "zip":
175
+ case "rar":
176
+ case "7z":
177
+ case "gz":
178
+ case "tgz":
179
+ case "jar":
180
+ case "war":
181
+ case "dmg":
182
+ case "ace":
183
+ case "tar":
184
+ fileType = "Zip";
185
+ break;
186
+ case "dwg":
187
+ case "dwt":
188
+ case "dxf":
189
+ case "drw":
190
+ case "dgn":
191
+ fileType = "Cad";
192
+ break;
193
+ }
194
+ return fileType;
195
+ };
196
+
197
+ // 获取文件后缀
198
+ var getFileExt = function getFileExt(file) {
199
+ var ext = "";
200
+ if (file.name) {
201
+ ext = file.name.split(".")[file.name.split(".").length - 1];
202
+ } else if (file.fileName) {
203
+ ext = file.fileName.split(".")[file.fileName.split(".").length - 1];
204
+ }
205
+ return ext;
206
+ };
207
+
208
+ // 文件地址截取
209
+ var clipFileUrl = function clipFileUrl(uri, ext) {
210
+ if (!uri) return "";
211
+ if (uri.indexOf("tempPath/") < 0) return "";
212
+ uri = uri.substring(uri.indexOf("tempPath/"));
213
+ if (ext) {
214
+ uri = uri.substring(uri.indexOf(ext) + ext.length, -1);
215
+ } else {
216
+ var name = uri.split("/").find(function (item) {
217
+ return item.indexOf(".") >= 0;
218
+ }) || "";
219
+ if (name) {
220
+ var _name2;
221
+ if (name.indexOf("?") >= 0) {
222
+ var _name;
223
+ name = (_name = name) === null || _name === void 0 ? void 0 : _name.substring(name.indexOf("?"), -1);
224
+ }
225
+ name = (_name2 = name) === null || _name2 === void 0 ? void 0 : _name2.substring(name.indexOf("."));
226
+ uri = uri.substring(uri.indexOf(name) + name.length, -1);
227
+ }
228
+ }
229
+ return uri;
230
+ };
231
+ export { getListAssignField, getQueryParams, getUUID, dateFormat, getSimplifyDay, getFileType, getFileExt, clipFileUrl };
package/package.json ADDED
@@ -0,0 +1,88 @@
1
+ {
2
+ "name": "@power-xa/m-ui",
3
+ "version": "0.0.1",
4
+ "description": "power-mobile系列公共组件库",
5
+ "module": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "start": "cross-env UMI_ENV=dev npm run dev",
9
+ "dev": "dumi dev",
10
+ "build": "father build",
11
+ "build:watch": "father dev",
12
+ "docs:build": "cross-env UMI_ENV=prod dumi build",
13
+ "docs:preview": "dumi preview",
14
+ "prepare": "husky install && dumi setup",
15
+ "doctor": "father doctor",
16
+ "lint": "npm run lint:es && npm run lint:css",
17
+ "lint:css": "stylelint \"{src,test}/**/*.{css,less}\"",
18
+ "lint:es": "eslint \"{src,test}/**/*.{js,jsx,ts,tsx}\"",
19
+ "prepublishOnly": "father doctor && npm run build"
20
+ },
21
+ "authors": [
22
+ "xuega@powerpms.com"
23
+ ],
24
+ "license": "MIT",
25
+ "files": [
26
+ "dist"
27
+ ],
28
+ "commitlint": {
29
+ "extends": [
30
+ "@commitlint/config-conventional"
31
+ ]
32
+ },
33
+ "lint-staged": {
34
+ "*.{md,json}": [
35
+ "prettier --write --no-error-on-unmatched-pattern"
36
+ ],
37
+ "*.{css,less}": [
38
+ "stylelint --fix",
39
+ "prettier --write"
40
+ ],
41
+ "*.{js,jsx}": [
42
+ "eslint --fix",
43
+ "prettier --write"
44
+ ],
45
+ "*.{ts,tsx}": [
46
+ "eslint --fix",
47
+ "prettier --parser=typescript --write"
48
+ ]
49
+ },
50
+ "publishConfig": {
51
+ "access": "public"
52
+ },
53
+ "peerDependencies": {
54
+ "react": ">=16.9.0",
55
+ "react-dom": ">=16.9.0",
56
+ "@tarojs/taro": ">=4.1.1"
57
+ },
58
+ "devDependencies": {
59
+ "@commitlint/cli": "^17.1.2",
60
+ "@commitlint/config-conventional": "^17.1.0",
61
+ "@types/react": "^18.0.0",
62
+ "@types/react-dom": "^18.0.0",
63
+ "@umijs/lint": "^4.0.0",
64
+ "cross-env": "^7.0.3",
65
+ "dumi": "^2.4.13",
66
+ "eslint": "^8.23.0",
67
+ "father": "^4.1.0",
68
+ "husky": "^8.0.0",
69
+ "lint-staged": "^13.0.3",
70
+ "prettier": "^2.7.1",
71
+ "prettier-plugin-organize-imports": "^3.0.0",
72
+ "prettier-plugin-packagejson": "^2.2.18",
73
+ "react": "^18.0.0",
74
+ "react-dom": "^18.0.0",
75
+ "stylelint": "^14.9.1"
76
+ },
77
+ "__npminstall_done": false,
78
+ "dependencies": {
79
+ "@tarojs/components": "^4.1.7",
80
+ "@types/crypto-js": "^4.2.2",
81
+ "ahooks": "^3.9.0",
82
+ "array-move": "^4.0.0",
83
+ "aws-sdk": "^2.1692.0",
84
+ "crypto-js": "^4.2.0",
85
+ "mobx": "^6.13.7",
86
+ "mobx-react-lite": "^4.1.0"
87
+ }
88
+ }