giime 0.0.18 → 0.0.20
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.
- package/README.md +7 -0
- package/es/api/basic/controller/default/postBasicV1AreaList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1CategoryList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1CountryList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1CurrencyList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1EmployeeList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1ExchangeRateList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1MenuList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1OrgList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1OrgTreeList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1ProductList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1RoleList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1SalesList.mjs.map +1 -1
- package/es/api/basic/controller/default/postBasicV1SystemList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1AreaList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1CategoryList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1CountryList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1CurrencyList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1EmployeeList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1ExchangeRateList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1MenuList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1OrgList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1OrgTreeList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1ProductList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1RoleList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1SalesList.mjs.map +1 -1
- package/es/api/basic/controller/default/usePostBasicV1SystemList.mjs.map +1 -1
- package/es/api/shopAdmin/index.mjs +1 -0
- package/es/api/shopAdmin/index.mjs.map +1 -1
- package/es/api/shopAdmin/store/index.d.ts +1 -0
- package/es/api/shopAdmin/store/index.mjs +1 -0
- package/es/api/shopAdmin/store/index.mjs.map +1 -1
- package/es/api/shopAdmin/store/postPlatfirmList.d.ts +19 -0
- package/es/api/shopAdmin/store/postPlatfirmList.mjs +11 -0
- package/es/api/shopAdmin/store/postPlatfirmList.mjs.map +1 -0
- package/es/components/src/base/cascaderPanel/cascaderPanel.d.ts +0 -3
- package/es/components/src/base/cascaderPanel/cascaderPanel.mjs.map +1 -1
- package/es/components/src/base/popover/Popover.vue2.mjs.map +1 -1
- package/es/components/src/base/tour/Tour.vue.d.ts +2 -2
- package/es/components/src/base/tour/index.d.ts +6 -6
- package/es/components/src/composite/tablePro/tableColumnPro/index.mjs.map +1 -1
- package/es/giime/index.mjs +2 -0
- package/es/giime/index.mjs.map +1 -1
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/hooks/base/index.d.ts +1 -0
- package/es/hooks/base/index.mjs +1 -0
- package/es/hooks/base/index.mjs.map +1 -1
- package/es/hooks/base/useDownload/index.d.ts +9 -0
- package/es/hooks/base/useDownload/index.mjs +143 -0
- package/es/hooks/base/useDownload/index.mjs.map +1 -0
- package/es/hooks/index.mjs +2 -0
- package/es/hooks/index.mjs.map +1 -1
- package/es/hooks/store/index.d.ts +1 -0
- package/es/hooks/store/index.mjs +1 -0
- package/es/hooks/store/index.mjs.map +1 -1
- package/es/hooks/store/usePlatformList/index.d.ts +16 -0
- package/es/hooks/store/usePlatformList/index.mjs +42 -0
- package/es/hooks/store/usePlatformList/index.mjs.map +1 -0
- package/es/utils/src/objects.mjs.map +1 -1
- package/es/utils/src/types.d.ts +14 -0
- package/lib/api/basic/controller/default/postBasicV1AreaList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1CategoryList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1CountryList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1CurrencyList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1EmployeeList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1ExchangeRateList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1MenuList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1OrgList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1OrgTreeList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1ProductList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1RoleList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1SalesList.js.map +1 -1
- package/lib/api/basic/controller/default/postBasicV1SystemList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1AreaList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1CategoryList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1CountryList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1CurrencyList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1EmployeeList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1ExchangeRateList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1MenuList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1OrgList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1OrgTreeList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1ProductList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1RoleList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1SalesList.js.map +1 -1
- package/lib/api/basic/controller/default/usePostBasicV1SystemList.js.map +1 -1
- package/lib/api/shopAdmin/index.js +2 -0
- package/lib/api/shopAdmin/index.js.map +1 -1
- package/lib/api/shopAdmin/store/index.d.ts +1 -0
- package/lib/api/shopAdmin/store/index.js +2 -0
- package/lib/api/shopAdmin/store/index.js.map +1 -1
- package/lib/api/shopAdmin/store/postPlatfirmList.d.ts +19 -0
- package/lib/api/shopAdmin/store/postPlatfirmList.js +13 -0
- package/lib/api/shopAdmin/store/postPlatfirmList.js.map +1 -0
- package/lib/components/src/base/cascaderPanel/cascaderPanel.d.ts +0 -3
- package/lib/components/src/base/cascaderPanel/cascaderPanel.js.map +1 -1
- package/lib/components/src/base/popover/Popover.vue2.js.map +1 -1
- package/lib/components/src/base/tour/Tour.vue.d.ts +2 -2
- package/lib/components/src/base/tour/index.d.ts +6 -6
- package/lib/components/src/composite/tablePro/tableColumnPro/index.js.map +1 -1
- package/lib/giime/index.js +24 -20
- package/lib/giime/index.js.map +1 -1
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/hooks/base/index.d.ts +1 -0
- package/lib/hooks/base/index.js +2 -0
- package/lib/hooks/base/index.js.map +1 -1
- package/lib/hooks/base/useDownload/index.d.ts +9 -0
- package/lib/hooks/base/useDownload/index.js +145 -0
- package/lib/hooks/base/useDownload/index.js.map +1 -0
- package/lib/hooks/index.js +24 -20
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/store/index.d.ts +1 -0
- package/lib/hooks/store/index.js +2 -0
- package/lib/hooks/store/index.js.map +1 -1
- package/lib/hooks/store/usePlatformList/index.d.ts +16 -0
- package/lib/hooks/store/usePlatformList/index.js +44 -0
- package/lib/hooks/store/usePlatformList/index.js.map +1 -0
- package/lib/utils/src/objects.js.map +1 -1
- package/lib/utils/src/types.d.ts +14 -0
- package/package.json +2 -1
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var index = require('../../../components/src/plugins/notification/index.js');
|
|
5
|
+
var JSZip = require('jszip');
|
|
6
|
+
|
|
7
|
+
const useDownload = () => {
|
|
8
|
+
let xhrInstance;
|
|
9
|
+
let downloading = false;
|
|
10
|
+
const progress = vue.ref(0);
|
|
11
|
+
const currentClass = `class${Date.now()}`;
|
|
12
|
+
vue.onBeforeUnmount(() => {
|
|
13
|
+
if (xhrInstance) {
|
|
14
|
+
xhrInstance.abort();
|
|
15
|
+
xhrInstance = null;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
const downloadBlob = (url, fileName, fileType, isZip) => {
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
xhrInstance = new XMLHttpRequest();
|
|
21
|
+
xhrInstance.responseType = "blob";
|
|
22
|
+
xhrInstance.open("get", url, true);
|
|
23
|
+
xhrInstance.onprogress = (e) => {
|
|
24
|
+
progress.value = Math.floor(e.loaded / e.total * 100);
|
|
25
|
+
editElementContent(currentClass, `\u5F53\u524D\u4E0B\u8F7D\u8FDB\u5EA6 ${progress.value}%`);
|
|
26
|
+
if (progress.value == 100) {
|
|
27
|
+
progress.value = 0;
|
|
28
|
+
downloading = false;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
xhrInstance.onloadend = (e) => {
|
|
32
|
+
const eventTarget = e.target;
|
|
33
|
+
if ([200, 304].includes(eventTarget.status)) {
|
|
34
|
+
const blob = eventTarget.response;
|
|
35
|
+
if (!isZip) {
|
|
36
|
+
createDownload(blob, fileName, fileType);
|
|
37
|
+
index.GmNotification({
|
|
38
|
+
type: "success",
|
|
39
|
+
title: "\u6E29\u99A8\u63D0\u793A",
|
|
40
|
+
message: "\u4E0B\u8F7D\u5B8C\u6210",
|
|
41
|
+
duration: 3e3
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
xhrInstance = null;
|
|
45
|
+
resolve(blob);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
xhrInstance.onerror = function(e) {
|
|
49
|
+
downloading = false;
|
|
50
|
+
index.GmNotification({
|
|
51
|
+
type: "error",
|
|
52
|
+
title: "\u6E29\u99A8\u63D0\u793A",
|
|
53
|
+
message: "\u4E0B\u8F7D\u5F02\u5E38\uFF0C\u8BF7\u91CD\u8BD5",
|
|
54
|
+
duration: 1500
|
|
55
|
+
});
|
|
56
|
+
reject(e);
|
|
57
|
+
};
|
|
58
|
+
xhrInstance.send();
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
const downloadFile = async (options) => {
|
|
62
|
+
try {
|
|
63
|
+
if (downloading || !options.url || !options.fileName)
|
|
64
|
+
return;
|
|
65
|
+
downloading = true;
|
|
66
|
+
const fileType = options.fileType || options.url.split(".").pop();
|
|
67
|
+
const modalInfo = index.GmNotification({
|
|
68
|
+
title: "\u4E0B\u8F7D\u4E2D",
|
|
69
|
+
message: vue.h("div", { className: currentClass }, [`\u5F53\u524D\u4E0B\u8F7D\u8FDB\u5EA6 ${progress.value}%`]),
|
|
70
|
+
duration: 0
|
|
71
|
+
});
|
|
72
|
+
await downloadBlob(options.url, options.fileName, fileType, false);
|
|
73
|
+
modalInfo.close();
|
|
74
|
+
} catch (error) {
|
|
75
|
+
console.error(error);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const downloadZip = async (fileList, fileName) => {
|
|
79
|
+
try {
|
|
80
|
+
const currentContentClass = `message${Date.now()}`;
|
|
81
|
+
const downloadCount = vue.ref(0);
|
|
82
|
+
const currentDownloadFileName = vue.ref();
|
|
83
|
+
const len = fileList.length;
|
|
84
|
+
const modalInfo = index.GmNotification({
|
|
85
|
+
title: "\u4E0B\u8F7D\u4E2D",
|
|
86
|
+
message: vue.h("div", [
|
|
87
|
+
vue.h("div", { className: currentContentClass }, [`\u603B\u4E0B\u8F7D\u6587\u4EF6\u6570\uFF1A${len}\uFF0C\u5DF2\u4E0B\u8F7D\u6587\u4EF6\u6570\uFF1A${downloadCount.value}`]),
|
|
88
|
+
vue.h("div", { className: currentClass }, [`\u5F53\u524D\u4E0B\u8F7D\u8FDB\u5EA6 ${progress.value}%`])
|
|
89
|
+
]),
|
|
90
|
+
duration: 0
|
|
91
|
+
});
|
|
92
|
+
const zipInstance = new JSZip();
|
|
93
|
+
for (let i = 0; i < len; i++) {
|
|
94
|
+
const currentItem = fileList[i];
|
|
95
|
+
const currentFileType = currentItem.fileType || currentItem.url.split(".").pop();
|
|
96
|
+
currentDownloadFileName.value = currentItem.fileName;
|
|
97
|
+
const fileBlob = await downloadBlob(currentItem.url, currentItem.fileName, currentFileType, true);
|
|
98
|
+
zipInstance.file(`${currentItem.fileName}.${currentFileType}`, fileBlob);
|
|
99
|
+
downloadCount.value++;
|
|
100
|
+
editElementContent(currentContentClass, `\u603B\u4E0B\u8F7D\u6587\u4EF6\u6570\uFF1A${len}\uFF0C\u5DF2\u4E0B\u8F7D\u6587\u4EF6\u6570\uFF1A${downloadCount.value}`);
|
|
101
|
+
}
|
|
102
|
+
downloading = false;
|
|
103
|
+
modalInfo.close();
|
|
104
|
+
index.GmNotification({
|
|
105
|
+
type: "success",
|
|
106
|
+
title: "\u6E29\u99A8\u63D0\u793A",
|
|
107
|
+
message: "\u4E0B\u8F7D\u5B8C\u6210",
|
|
108
|
+
duration: 3e3
|
|
109
|
+
});
|
|
110
|
+
zipInstance.generateAsync({ type: "blob" }).then((res) => {
|
|
111
|
+
createDownload(res, fileName, "zip");
|
|
112
|
+
}).catch((error) => {
|
|
113
|
+
console.error(error);
|
|
114
|
+
});
|
|
115
|
+
} catch (error) {
|
|
116
|
+
console.error(error);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
return {
|
|
120
|
+
downloadFile,
|
|
121
|
+
downloadZip
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
const createDownload = (blob, fileName, fileType) => {
|
|
125
|
+
if (!blob || !fileName || !fileType)
|
|
126
|
+
return;
|
|
127
|
+
const ele = document.createElement("a");
|
|
128
|
+
const url = window.URL.createObjectURL(blob);
|
|
129
|
+
ele.style.display = "none";
|
|
130
|
+
ele.href = url;
|
|
131
|
+
ele.download = `${fileName}.${fileType}`;
|
|
132
|
+
document.body.appendChild(ele);
|
|
133
|
+
ele.click();
|
|
134
|
+
window.URL.revokeObjectURL(url);
|
|
135
|
+
document.body.removeChild(ele);
|
|
136
|
+
};
|
|
137
|
+
const editElementContent = (className, content) => {
|
|
138
|
+
const currentEle = document.getElementsByClassName(className)[0];
|
|
139
|
+
if (currentEle) {
|
|
140
|
+
currentEle.innerHTML = content;
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
exports.useDownload = useDownload;
|
|
145
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/base/useDownload/index.ts"],"sourcesContent":["import { h, onBeforeUnmount, ref } from 'vue';\r\nimport GmNotification from '@giime/components/src/plugins/notification';\r\nimport JSZip from 'jszip';\r\n\r\n// 参数类型\r\nexport interface OptionsType {\r\n url: string;\r\n fileName: string;\r\n fileType?: string;\r\n}\r\n\r\nexport const useDownload = () => {\r\n let xhrInstance: XMLHttpRequest | null;\r\n // 是否正在下载\r\n let downloading = false;\r\n // 单文件下载进度\r\n const progress = ref(0);\r\n // 动态生成唯一的 class\r\n const currentClass = `class${Date.now()}`;\r\n onBeforeUnmount(() => {\r\n if (xhrInstance) {\r\n xhrInstance.abort();\r\n xhrInstance = null;\r\n }\r\n });\r\n // 将 url 下载为 blob 文件\r\n const downloadBlob = (url: string, fileName: string, fileType: string, isZip: boolean) => {\r\n return new Promise<Blob>((resolve, reject) => {\r\n xhrInstance = new XMLHttpRequest();\r\n xhrInstance.responseType = 'blob';\r\n xhrInstance.open('get', url, true);\r\n xhrInstance.onprogress = e => {\r\n progress.value = Math.floor((e.loaded / e.total) * 100);\r\n editElementContent(currentClass, `当前下载进度 ${progress.value}%`);\r\n if (progress.value == 100) {\r\n progress.value = 0;\r\n downloading = false;\r\n }\r\n };\r\n xhrInstance.onloadend = e => {\r\n const eventTarget = e.target as XMLHttpRequest;\r\n if ([200, 304].includes(eventTarget.status)) {\r\n const blob = eventTarget.response;\r\n if (!isZip) {\r\n createDownload(blob, fileName, fileType);\r\n GmNotification({\r\n type: 'success',\r\n title: '温馨提示',\r\n message: '下载完成',\r\n duration: 3000,\r\n });\r\n }\r\n xhrInstance = null;\r\n resolve(blob);\r\n }\r\n };\r\n xhrInstance.onerror = function (e) {\r\n downloading = false;\r\n GmNotification({\r\n type: 'error',\r\n title: '温馨提示',\r\n message: '下载异常,请重试',\r\n duration: 1500,\r\n });\r\n reject(e);\r\n };\r\n xhrInstance.send();\r\n });\r\n };\r\n // 下载单文件\r\n const downloadFile = async (options: OptionsType) => {\r\n try {\r\n if (downloading || !options.url || !options.fileName) return;\r\n downloading = true;\r\n const fileType = options.fileType || options.url.split('.').pop()!;\r\n const modalInfo = GmNotification({\r\n title: '下载中',\r\n message: h('div', { className: currentClass }, [`当前下载进度 ${progress.value}%`]),\r\n duration: 0,\r\n });\r\n await downloadBlob(options.url, options.fileName, fileType, false);\r\n modalInfo.close();\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n // 下载多文件 转为zip\r\n const downloadZip = async (fileList: OptionsType[], fileName: string) => {\r\n try {\r\n const currentContentClass = `message${Date.now()}`;\r\n const downloadCount = ref(0);\r\n const currentDownloadFileName = ref<string>();\r\n const len = fileList.length;\r\n const modalInfo = GmNotification({\r\n title: '下载中',\r\n message: h('div', [\r\n h('div', { className: currentContentClass }, [`总下载文件数:${len},已下载文件数:${downloadCount.value}`]),\r\n h('div', { className: currentClass }, [`当前下载进度 ${progress.value}%`]),\r\n ]),\r\n duration: 0,\r\n });\r\n const zipInstance = new JSZip();\r\n for (let i = 0; i < len; i++) {\r\n const currentItem = fileList[i];\r\n const currentFileType = currentItem.fileType || currentItem.url.split('.').pop()!;\r\n currentDownloadFileName.value = currentItem.fileName;\r\n const fileBlob = await downloadBlob(currentItem.url, currentItem.fileName, currentFileType, true);\r\n zipInstance.file(`${currentItem.fileName}.${currentFileType}`, fileBlob);\r\n downloadCount.value++;\r\n editElementContent(currentContentClass, `总下载文件数:${len},已下载文件数:${downloadCount.value}`);\r\n }\r\n downloading = false;\r\n modalInfo.close();\r\n GmNotification({\r\n type: 'success',\r\n title: '温馨提示',\r\n message: '下载完成',\r\n duration: 3000,\r\n });\r\n zipInstance\r\n .generateAsync({ type: 'blob' })\r\n .then(res => {\r\n createDownload(res, fileName, 'zip');\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n });\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n return {\r\n downloadFile,\r\n downloadZip,\r\n };\r\n};\r\n// 创建下载链接 并下载\r\nconst createDownload = (blob: Blob, fileName: string, fileType: string) => {\r\n if (!blob || !fileName || !fileType) return;\r\n const ele = document.createElement('a');\r\n const url = window.URL.createObjectURL(blob);\r\n ele.style.display = 'none';\r\n ele.href = url;\r\n ele.download = `${fileName}.${fileType}`;\r\n document.body.appendChild(ele);\r\n ele.click();\r\n window.URL.revokeObjectURL(url);\r\n document.body.removeChild(ele);\r\n};\r\n\r\n// 动态更新 notify 中的message 信息\r\nconst editElementContent = (className: string, content: string) => {\r\n // eslint-disable-next-line unicorn/prefer-query-selector\r\n const currentEle = document.getElementsByClassName(className)[0];\r\n if (currentEle) {\r\n currentEle.innerHTML = content;\r\n }\r\n};\r\n"],"names":["ref","onBeforeUnmount","GmNotification","h"],"mappings":";;;;;;AAWO,MAAM,cAAc,MAAM;AAC/B,EAAI,IAAA,WAAA,CAAA;AAEJ,EAAA,IAAI,WAAc,GAAA,KAAA,CAAA;AAElB,EAAM,MAAA,QAAA,GAAWA,QAAI,CAAC,CAAA,CAAA;AAEtB,EAAA,MAAM,YAAe,GAAA,CAAA,KAAA,EAAQ,IAAK,CAAA,GAAA,EAAK,CAAA,CAAA,CAAA;AACvC,EAAAC,mBAAA,CAAgB,MAAM;AACpB,IAAA,IAAI,WAAa,EAAA;AACf,MAAA,WAAA,CAAY,KAAM,EAAA,CAAA;AAClB,MAAc,WAAA,GAAA,IAAA,CAAA;AAAA,KAChB;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,YAAe,GAAA,CAAC,GAAa,EAAA,QAAA,EAAkB,UAAkB,KAAmB,KAAA;AACxF,IAAA,OAAO,IAAI,OAAA,CAAc,CAAC,OAAA,EAAS,MAAW,KAAA;AAC5C,MAAA,WAAA,GAAc,IAAI,cAAe,EAAA,CAAA;AACjC,MAAA,WAAA,CAAY,YAAe,GAAA,MAAA,CAAA;AAC3B,MAAY,WAAA,CAAA,IAAA,CAAK,KAAO,EAAA,GAAA,EAAK,IAAI,CAAA,CAAA;AACjC,MAAA,WAAA,CAAY,aAAa,CAAK,CAAA,KAAA;AAC5B,QAAA,QAAA,CAAS,QAAQ,IAAK,CAAA,KAAA,CAAO,EAAE,MAAS,GAAA,CAAA,CAAE,QAAS,GAAG,CAAA,CAAA;AACtD,QAAA,kBAAA,CAAmB,YAAc,EAAA,CAAA,qCAAA,EAAU,QAAS,CAAA,KAAK,CAAG,CAAA,CAAA,CAAA,CAAA;AAC5D,QAAI,IAAA,QAAA,CAAS,SAAS,GAAK,EAAA;AACzB,UAAA,QAAA,CAAS,KAAQ,GAAA,CAAA,CAAA;AACjB,UAAc,WAAA,GAAA,KAAA,CAAA;AAAA,SAChB;AAAA,OACF,CAAA;AACA,MAAA,WAAA,CAAY,YAAY,CAAK,CAAA,KAAA;AAC3B,QAAA,MAAM,cAAc,CAAE,CAAA,MAAA,CAAA;AACtB,QAAA,IAAI,CAAC,GAAK,EAAA,GAAG,EAAE,QAAS,CAAA,WAAA,CAAY,MAAM,CAAG,EAAA;AAC3C,UAAA,MAAM,OAAO,WAAY,CAAA,QAAA,CAAA;AACzB,UAAA,IAAI,CAAC,KAAO,EAAA;AACV,YAAe,cAAA,CAAA,IAAA,EAAM,UAAU,QAAQ,CAAA,CAAA;AACvC,YAAeC,oBAAA,CAAA;AAAA,cACb,IAAM,EAAA,SAAA;AAAA,cACN,KAAO,EAAA,0BAAA;AAAA,cACP,OAAS,EAAA,0BAAA;AAAA,cACT,QAAU,EAAA,GAAA;AAAA,aACX,CAAA,CAAA;AAAA,WACH;AACA,UAAc,WAAA,GAAA,IAAA,CAAA;AACd,UAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,SACd;AAAA,OACF,CAAA;AACA,MAAY,WAAA,CAAA,OAAA,GAAU,SAAU,CAAG,EAAA;AACjC,QAAc,WAAA,GAAA,KAAA,CAAA;AACd,QAAeA,oBAAA,CAAA;AAAA,UACb,IAAM,EAAA,OAAA;AAAA,UACN,KAAO,EAAA,0BAAA;AAAA,UACP,OAAS,EAAA,kDAAA;AAAA,UACT,QAAU,EAAA,IAAA;AAAA,SACX,CAAA,CAAA;AACD,QAAA,MAAA,CAAO,CAAC,CAAA,CAAA;AAAA,OACV,CAAA;AACA,MAAA,WAAA,CAAY,IAAK,EAAA,CAAA;AAAA,KAClB,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAM,MAAA,YAAA,GAAe,OAAO,OAAyB,KAAA;AACnD,IAAI,IAAA;AACF,MAAA,IAAI,WAAe,IAAA,CAAC,OAAQ,CAAA,GAAA,IAAO,CAAC,OAAQ,CAAA,QAAA;AAAU,QAAA,OAAA;AACtD,MAAc,WAAA,GAAA,IAAA,CAAA;AACd,MAAM,MAAA,QAAA,GAAW,QAAQ,QAAY,IAAA,OAAA,CAAQ,IAAI,KAAM,CAAA,GAAG,EAAE,GAAI,EAAA,CAAA;AAChE,MAAA,MAAM,YAAYA,oBAAe,CAAA;AAAA,QAC/B,KAAO,EAAA,oBAAA;AAAA,QACP,OAAS,EAAAC,KAAA,CAAE,KAAO,EAAA,EAAE,SAAW,EAAA,YAAA,EAAgB,EAAA,CAAC,CAAU,qCAAA,EAAA,QAAA,CAAS,KAAK,CAAA,CAAA,CAAG,CAAC,CAAA;AAAA,QAC5E,QAAU,EAAA,CAAA;AAAA,OACX,CAAA,CAAA;AACD,MAAA,MAAM,aAAa,OAAQ,CAAA,GAAA,EAAK,OAAQ,CAAA,QAAA,EAAU,UAAU,KAAK,CAAA,CAAA;AACjE,MAAA,SAAA,CAAU,KAAM,EAAA,CAAA;AAAA,aACT,KAAO,EAAA;AACd,MAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AAAA,KACrB;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,WAAA,GAAc,OAAO,QAAA,EAAyB,QAAqB,KAAA;AACvE,IAAI,IAAA;AACF,MAAA,MAAM,mBAAsB,GAAA,CAAA,OAAA,EAAU,IAAK,CAAA,GAAA,EAAK,CAAA,CAAA,CAAA;AAChD,MAAM,MAAA,aAAA,GAAgBH,QAAI,CAAC,CAAA,CAAA;AAC3B,MAAA,MAAM,0BAA0BA,OAAY,EAAA,CAAA;AAC5C,MAAA,MAAM,MAAM,QAAS,CAAA,MAAA,CAAA;AACrB,MAAA,MAAM,YAAYE,oBAAe,CAAA;AAAA,QAC/B,KAAO,EAAA,oBAAA;AAAA,QACP,OAAA,EAASC,MAAE,KAAO,EAAA;AAAA,UAChBA,KAAE,CAAA,KAAA,EAAO,EAAE,SAAA,EAAW,mBAAoB,EAAA,EAAG,CAAC,CAAA,0CAAA,EAAU,GAAG,CAAA,gDAAA,EAAW,aAAc,CAAA,KAAK,EAAE,CAAC,CAAA;AAAA,UAC5FA,KAAA,CAAE,KAAO,EAAA,EAAE,SAAW,EAAA,YAAA,EAAgB,EAAA,CAAC,CAAU,qCAAA,EAAA,QAAA,CAAS,KAAK,CAAA,CAAA,CAAG,CAAC,CAAA;AAAA,SACpE,CAAA;AAAA,QACD,QAAU,EAAA,CAAA;AAAA,OACX,CAAA,CAAA;AACD,MAAM,MAAA,WAAA,GAAc,IAAI,KAAM,EAAA,CAAA;AAC9B,MAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,GAAA,EAAK,CAAK,EAAA,EAAA;AAC5B,QAAM,MAAA,WAAA,GAAc,SAAS,CAAC,CAAA,CAAA;AAC9B,QAAM,MAAA,eAAA,GAAkB,YAAY,QAAY,IAAA,WAAA,CAAY,IAAI,KAAM,CAAA,GAAG,EAAE,GAAI,EAAA,CAAA;AAC/E,QAAA,uBAAA,CAAwB,QAAQ,WAAY,CAAA,QAAA,CAAA;AAC5C,QAAM,MAAA,QAAA,GAAW,MAAM,YAAa,CAAA,WAAA,CAAY,KAAK,WAAY,CAAA,QAAA,EAAU,iBAAiB,IAAI,CAAA,CAAA;AAChG,QAAA,WAAA,CAAY,KAAK,CAAG,EAAA,WAAA,CAAY,QAAQ,CAAI,CAAA,EAAA,eAAe,IAAI,QAAQ,CAAA,CAAA;AACvE,QAAc,aAAA,CAAA,KAAA,EAAA,CAAA;AACd,QAAA,kBAAA,CAAmB,qBAAqB,CAAU,0CAAA,EAAA,GAAG,CAAW,gDAAA,EAAA,aAAA,CAAc,KAAK,CAAE,CAAA,CAAA,CAAA;AAAA,OACvF;AACA,MAAc,WAAA,GAAA,KAAA,CAAA;AACd,MAAA,SAAA,CAAU,KAAM,EAAA,CAAA;AAChB,MAAeD,oBAAA,CAAA;AAAA,QACb,IAAM,EAAA,SAAA;AAAA,QACN,KAAO,EAAA,0BAAA;AAAA,QACP,OAAS,EAAA,0BAAA;AAAA,QACT,QAAU,EAAA,GAAA;AAAA,OACX,CAAA,CAAA;AACD,MAAA,WAAA,CACG,cAAc,EAAE,IAAA,EAAM,QAAQ,CAAA,CAC9B,KAAK,CAAO,GAAA,KAAA;AACX,QAAe,cAAA,CAAA,GAAA,EAAK,UAAU,KAAK,CAAA,CAAA;AAAA,OACpC,CACA,CAAA,KAAA,CAAM,CAAS,KAAA,KAAA;AACd,QAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AAAA,OACpB,CAAA,CAAA;AAAA,aACI,KAAO,EAAA;AACd,MAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AAAA,KACrB;AAAA,GACF,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,YAAA;AAAA,IACA,WAAA;AAAA,GACF,CAAA;AACF,EAAA;AAEA,MAAM,cAAiB,GAAA,CAAC,IAAY,EAAA,QAAA,EAAkB,QAAqB,KAAA;AACzE,EAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,QAAA,IAAY,CAAC,QAAA;AAAU,IAAA,OAAA;AACrC,EAAM,MAAA,GAAA,GAAM,QAAS,CAAA,aAAA,CAAc,GAAG,CAAA,CAAA;AACtC,EAAA,MAAM,GAAM,GAAA,MAAA,CAAO,GAAI,CAAA,eAAA,CAAgB,IAAI,CAAA,CAAA;AAC3C,EAAA,GAAA,CAAI,MAAM,OAAU,GAAA,MAAA,CAAA;AACpB,EAAA,GAAA,CAAI,IAAO,GAAA,GAAA,CAAA;AACX,EAAA,GAAA,CAAI,QAAW,GAAA,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA,CAAA;AACtC,EAAS,QAAA,CAAA,IAAA,CAAK,YAAY,GAAG,CAAA,CAAA;AAC7B,EAAA,GAAA,CAAI,KAAM,EAAA,CAAA;AACV,EAAO,MAAA,CAAA,GAAA,CAAI,gBAAgB,GAAG,CAAA,CAAA;AAC9B,EAAS,QAAA,CAAA,IAAA,CAAK,YAAY,GAAG,CAAA,CAAA;AAC/B,CAAA,CAAA;AAGA,MAAM,kBAAA,GAAqB,CAAC,SAAA,EAAmB,OAAoB,KAAA;AAEjE,EAAA,MAAM,UAAa,GAAA,QAAA,CAAS,sBAAuB,CAAA,SAAS,EAAE,CAAC,CAAA,CAAA;AAC/D,EAAA,IAAI,UAAY,EAAA;AACd,IAAA,UAAA,CAAW,SAAY,GAAA,OAAA,CAAA;AAAA,GACzB;AACF,CAAA;;;;"}
|
package/lib/hooks/index.js
CHANGED
|
@@ -4,29 +4,33 @@ require('./base/index.js');
|
|
|
4
4
|
require('./store/index.js');
|
|
5
5
|
var index = require('./base/useCheckAll/index.js');
|
|
6
6
|
var index$1 = require('./base/useIDBKeyval/index.js');
|
|
7
|
-
var index$2 = require('./
|
|
8
|
-
var index$3 = require('./store/
|
|
9
|
-
var index$4 = require('./store/
|
|
10
|
-
var index$5 = require('./store/
|
|
11
|
-
var index$6 = require('./store/
|
|
12
|
-
var index$7 = require('./store/
|
|
13
|
-
var index$8 = require('./store/
|
|
14
|
-
var index$9 = require('./store/
|
|
15
|
-
var index$a = require('./store/
|
|
16
|
-
var index$b = require('./store/
|
|
7
|
+
var index$2 = require('./base/useDownload/index.js');
|
|
8
|
+
var index$3 = require('./store/useLangList/index.js');
|
|
9
|
+
var index$4 = require('./store/useLogin/index.js');
|
|
10
|
+
var index$5 = require('./store/useCustomSettings/index.js');
|
|
11
|
+
var index$6 = require('./store/useCurrencyList/index.js');
|
|
12
|
+
var index$7 = require('./store/useLineList/index.js');
|
|
13
|
+
var index$8 = require('./store/usePlatformLineList/index.js');
|
|
14
|
+
var index$9 = require('./store/useOrgUserList/index.js');
|
|
15
|
+
var index$a = require('./store/useAliCategoryList/index.js');
|
|
16
|
+
var index$b = require('./store/useCompanyCategoryList/index.js');
|
|
17
|
+
var index$c = require('./store/useRepiteFilter/index.js');
|
|
18
|
+
var index$d = require('./store/usePlatformList/index.js');
|
|
17
19
|
|
|
18
20
|
|
|
19
21
|
|
|
20
22
|
exports.useCheckAll = index.useCheckAll;
|
|
21
23
|
exports.useIDBKeyval = index$1.useIDBKeyval;
|
|
22
|
-
exports.
|
|
23
|
-
exports.
|
|
24
|
-
exports.
|
|
25
|
-
exports.
|
|
26
|
-
exports.
|
|
27
|
-
exports.
|
|
28
|
-
exports.
|
|
29
|
-
exports.
|
|
30
|
-
exports.
|
|
31
|
-
exports.
|
|
24
|
+
exports.useDownload = index$2.useDownload;
|
|
25
|
+
exports.useLangListStore = index$3.useLangListStore;
|
|
26
|
+
exports.useLoginStore = index$4.useLoginStore;
|
|
27
|
+
exports.useCustomSettingsStore = index$5.useCustomSettingsStore;
|
|
28
|
+
exports.useCurrencyListStore = index$6.useCurrencyListStore;
|
|
29
|
+
exports.useLineListStore = index$7.useLineListStore;
|
|
30
|
+
exports.usePlatformLineListStore = index$8.usePlatformLineListStore;
|
|
31
|
+
exports.useOrgUserListStore = index$9.useOrgUserListStore;
|
|
32
|
+
exports.useAliCategoryListStore = index$a.useAliCategoryListStore;
|
|
33
|
+
exports.useCompanyCategoryListStore = index$b.useCompanyCategoryListStore;
|
|
34
|
+
exports.useRepiteFilterStore = index$c.useRepiteFilterStore;
|
|
35
|
+
exports.usePlatformListStore = index$d.usePlatformListStore;
|
|
32
36
|
//# sourceMappingURL=index.js.map
|
package/lib/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/hooks/store/index.js
CHANGED
|
@@ -11,6 +11,7 @@ var index$6 = require('./useOrgUserList/index.js');
|
|
|
11
11
|
var index$7 = require('./useAliCategoryList/index.js');
|
|
12
12
|
var index$8 = require('./useCompanyCategoryList/index.js');
|
|
13
13
|
var index$9 = require('./useRepiteFilter/index.js');
|
|
14
|
+
var index$a = require('./usePlatformList/index.js');
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
|
|
@@ -24,4 +25,5 @@ exports.useOrgUserListStore = index$6.useOrgUserListStore;
|
|
|
24
25
|
exports.useAliCategoryListStore = index$7.useAliCategoryListStore;
|
|
25
26
|
exports.useCompanyCategoryListStore = index$8.useCompanyCategoryListStore;
|
|
26
27
|
exports.useRepiteFilterStore = index$9.useRepiteFilterStore;
|
|
28
|
+
exports.usePlatformListStore = index$a.usePlatformListStore;
|
|
27
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="@vueuse/shared" />
|
|
2
|
+
import type { PostPlatformListResponseDatum } from '../../../api/shopAdmin';
|
|
3
|
+
/**三方平台列表 */
|
|
4
|
+
export declare const usePlatformListStore: import("pinia").StoreDefinition<"gmPlatformList", import("pinia")._UnwrapAll<Pick<{
|
|
5
|
+
platformList: import("@vueuse/shared").RemovableRef<PostPlatformListResponseDatum[]>;
|
|
6
|
+
isLoading: import("vue").Ref<boolean>;
|
|
7
|
+
getPlatformList: () => Promise<void>;
|
|
8
|
+
}, "isLoading" | "platformList">>, Pick<{
|
|
9
|
+
platformList: import("@vueuse/shared").RemovableRef<PostPlatformListResponseDatum[]>;
|
|
10
|
+
isLoading: import("vue").Ref<boolean>;
|
|
11
|
+
getPlatformList: () => Promise<void>;
|
|
12
|
+
}, never>, Pick<{
|
|
13
|
+
platformList: import("@vueuse/shared").RemovableRef<PostPlatformListResponseDatum[]>;
|
|
14
|
+
isLoading: import("vue").Ref<boolean>;
|
|
15
|
+
getPlatformList: () => Promise<void>;
|
|
16
|
+
}, "getPlatformList">>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var pinia = require('pinia');
|
|
5
|
+
require('../../../api/shopAdmin/index.js');
|
|
6
|
+
var core = require('@vueuse/core');
|
|
7
|
+
var postPlatfirmList = require('../../../api/shopAdmin/store/postPlatfirmList.js');
|
|
8
|
+
|
|
9
|
+
const usePlatformListStore = pinia.defineStore("gmPlatformList", () => {
|
|
10
|
+
const platformList = core.useSessionStorage("gmPlatformList", [], { listenToStorageChanges: false });
|
|
11
|
+
const isLoading = vue.ref(false);
|
|
12
|
+
const getPlatformList = async () => {
|
|
13
|
+
if (platformList.value.length !== 0) {
|
|
14
|
+
isLoading.value = false;
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (isLoading.value) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
isLoading.value = true;
|
|
22
|
+
const { data } = await postPlatfirmList.postPlatListApi();
|
|
23
|
+
isLoading.value = false;
|
|
24
|
+
if (data.code !== 0) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
platformList.value = data.data;
|
|
28
|
+
} catch (e) {
|
|
29
|
+
console.error(e);
|
|
30
|
+
isLoading.value = false;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
vue.onMounted(() => {
|
|
34
|
+
getPlatformList();
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
platformList,
|
|
38
|
+
isLoading,
|
|
39
|
+
getPlatformList
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
exports.usePlatformListStore = usePlatformListStore;
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/store/usePlatformList/index.ts"],"sourcesContent":["import { onMounted, ref } from 'vue';\r\nimport { defineStore } from 'pinia';\r\nimport { postPlatListApi } from '@giime/api/shopAdmin';\r\nimport { useSessionStorage } from '@vueuse/core';\r\nimport type { PostPlatformListResponseDatum } from '@giime/api/shopAdmin';\r\n\r\n/**三方平台列表 */\r\nexport const usePlatformListStore = defineStore('gmPlatformList', () => {\r\n const platformList = useSessionStorage<PostPlatformListResponseDatum[]>('gmPlatformList', [], { listenToStorageChanges: false });\r\n\r\n const isLoading = ref(false);\r\n const getPlatformList = async () => {\r\n if (platformList.value.length !== 0) {\r\n isLoading.value = false;\r\n return;\r\n }\r\n if (isLoading.value) {\r\n return;\r\n }\r\n try {\r\n isLoading.value = true;\r\n const { data } = await postPlatListApi();\r\n isLoading.value = false;\r\n if (data.code !== 0) {\r\n return;\r\n }\r\n platformList.value = data.data;\r\n } catch (e) {\r\n console.error(e);\r\n isLoading.value = false;\r\n }\r\n };\r\n onMounted(() => {\r\n getPlatformList();\r\n });\r\n return {\r\n platformList,\r\n isLoading,\r\n getPlatformList,\r\n };\r\n});\r\n"],"names":["defineStore","useSessionStorage","ref","postPlatListApi","onMounted"],"mappings":";;;;;;;;AAOa,MAAA,oBAAA,GAAuBA,iBAAY,CAAA,gBAAA,EAAkB,MAAM;AACtE,EAAM,MAAA,YAAA,GAAeC,uBAAmD,gBAAkB,EAAA,IAAI,EAAE,sBAAA,EAAwB,OAAO,CAAA,CAAA;AAE/H,EAAM,MAAA,SAAA,GAAYC,QAAI,KAAK,CAAA,CAAA;AAC3B,EAAA,MAAM,kBAAkB,YAAY;AAClC,IAAI,IAAA,YAAA,CAAa,KAAM,CAAA,MAAA,KAAW,CAAG,EAAA;AACnC,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAClB,MAAA,OAAA;AAAA,KACF;AACA,IAAA,IAAI,UAAU,KAAO,EAAA;AACnB,MAAA,OAAA;AAAA,KACF;AACA,IAAI,IAAA;AACF,MAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAClB,MAAA,MAAM,EAAE,IAAA,EAAS,GAAA,MAAMC,gCAAgB,EAAA,CAAA;AACvC,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAClB,MAAI,IAAA,IAAA,CAAK,SAAS,CAAG,EAAA;AACnB,QAAA,OAAA;AAAA,OACF;AACA,MAAA,YAAA,CAAa,QAAQ,IAAK,CAAA,IAAA,CAAA;AAAA,aACnB,CAAG,EAAA;AACV,MAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AACf,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AACA,EAAAC,aAAA,CAAU,MAAM;AACd,IAAgB,eAAA,EAAA,CAAA;AAAA,GACjB,CAAA,CAAA;AACD,EAAO,OAAA;AAAA,IACL,YAAA;AAAA,IACA,SAAA;AAAA,IACA,eAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.js","sources":["../../../../../packages/utils/src/objects.ts"],"sourcesContent":["export const keysOf = <T extends object>(arr: T) => Object.keys(arr) as Array<keyof T>;\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nexport const hasOwn = (val: object, key: string | symbol): key is keyof typeof val => hasOwnProperty.call(val, key);\n"],"names":[],"mappings":";;AAAO,MAAM,MAAS,GAAA,CAAmB,GAAW,KAAA,MAAA,CAAO,KAAK,GAAG,EAAA;AACnE,MAAM,cAAA,GAAiB,OAAO,SAAU,CAAA,cAAA,CAAA;AACjC,MAAM,SAAS,CAAC,GAAA,EAAa,QAAkD,cAAe,CAAA,IAAA,CAAK,KAAK,GAAG;;;;;"}
|
|
1
|
+
{"version":3,"file":"objects.js","sources":["../../../../../packages/utils/src/objects.ts"],"sourcesContent":["export const keysOf = <T extends object>(arr: T) => Object.keys(arr) as Array<keyof T>;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nexport const hasOwn = (val: object, key: string | symbol): key is keyof typeof val => hasOwnProperty.call(val, key);\r\n"],"names":[],"mappings":";;AAAO,MAAM,MAAS,GAAA,CAAmB,GAAW,KAAA,MAAA,CAAO,KAAK,GAAG,EAAA;AACnE,MAAM,cAAA,GAAiB,OAAO,SAAU,CAAA,cAAA,CAAA;AACjC,MAAM,SAAS,CAAC,GAAA,EAAa,QAAkD,cAAe,CAAA,IAAA,CAAK,KAAK,GAAG;;;;;"}
|
package/lib/utils/src/types.d.ts
CHANGED
|
@@ -16,3 +16,17 @@ export type DeepRequired<T> = T extends Primitive ? T : keyof T extends never ?
|
|
|
16
16
|
export type DeepWritable<T> = T extends Primitive ? T : keyof T extends never ? T : {
|
|
17
17
|
-readonly [K in keyof T]: DeepWritable<T[K]>;
|
|
18
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* 把一堆类型 如:Partial<Pick<User, "name">> & Omit<User, "name"> 合并成简单的 {name?:string;age:number}
|
|
21
|
+
*/
|
|
22
|
+
export type MergeType<T> = {
|
|
23
|
+
[K in keyof T]: T[K];
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* https://github.com/type-challenges/type-challenges/blob/master/questions/02757-medium-partialbykeys/README.md
|
|
27
|
+
*/
|
|
28
|
+
export type PartialByKeys<T, K = keyof T, P extends keyof T = Extract<keyof T, K>> = MergeType<Partial<Pick<T, P>> & Omit<T, P>>;
|
|
29
|
+
/**
|
|
30
|
+
* https://github.com/type-challenges/type-challenges/blob/master/questions/02759-medium-requiredbykeys/README.md
|
|
31
|
+
*/
|
|
32
|
+
export type RequiredByKeys<T, K = keyof T, P extends keyof T = Extract<keyof T, K>> = MergeType<Required<Pick<T, P>> & Omit<T, P>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "giime",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"description": "A Component Library for Vue 3",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"giime",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"lodash-es": "^4.17.21",
|
|
62
62
|
"idb-keyval": "^6.2.1",
|
|
63
63
|
"clipboard": "^2.0.11",
|
|
64
|
+
"jszip": "^3.10.1",
|
|
64
65
|
"@types/lodash": "^4.17.0",
|
|
65
66
|
"@types/lodash-es": "^4.17.12"
|
|
66
67
|
},
|