zcw-shared 1.32.6 → 1.34.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.
- package/README.md +13 -13
- package/dist/functions/android/integrateFacebookLogin.d.ts +12 -0
- package/dist/functions/android/integrateFacebookLogin.js +91 -0
- package/dist/functions/android/integrateFacebookLogin.js.map +1 -0
- package/dist/functions/android/integrateGoogleLogin.d.ts +10 -0
- package/dist/functions/android/integrateGoogleLogin.js +199 -0
- package/dist/functions/android/integrateGoogleLogin.js.map +1 -0
- package/dist/functions/android/integrateMiuiLogin.d.ts +13 -0
- package/dist/functions/android/integrateMiuiLogin.js +115 -0
- package/dist/functions/android/integrateMiuiLogin.js.map +1 -0
- package/dist/functions/android/integrateQQLogin.d.ts +12 -0
- package/dist/functions/android/integrateQQLogin.js +130 -0
- package/dist/functions/android/integrateQQLogin.js.map +1 -0
- package/dist/functions/android/integrateShareTrace.d.ts +10 -0
- package/dist/functions/android/integrateShareTrace.js +181 -0
- package/dist/functions/android/integrateShareTrace.js.map +1 -0
- package/dist/functions/android/integrateSinaLogin.d.ts +13 -0
- package/dist/functions/android/integrateSinaLogin.js +85 -0
- package/dist/functions/android/integrateSinaLogin.js.map +1 -0
- package/dist/functions/android/integrateThirdPartyModule.d.ts +46 -0
- package/dist/functions/android/integrateThirdPartyModule.js +251 -0
- package/dist/functions/android/integrateThirdPartyModule.js.map +1 -0
- package/dist/functions/android/integrateUniverifyLogin.d.ts +11 -0
- package/dist/functions/android/integrateUniverifyLogin.js +314 -0
- package/dist/functions/android/integrateUniverifyLogin.js.map +1 -0
- package/dist/functions/android/integrateWechatLogin.d.ts +13 -0
- package/dist/functions/android/integrateWechatLogin.js +154 -0
- package/dist/functions/android/integrateWechatLogin.js.map +1 -0
- package/dist/functions/android/modifyManifest.d.ts +7 -0
- package/dist/functions/android/modifyManifest.js +24 -0
- package/dist/functions/android/modifyManifest.js.map +1 -1
- package/dist/functions/image/compressImageToWidth.d.ts +12 -0
- package/dist/functions/image/compressImageToWidth.js +44 -0
- package/dist/functions/image/compressImageToWidth.js.map +1 -0
- package/dist/functions/image/generateFavIcon.d.ts +8 -0
- package/dist/functions/image/generateFavIcon.js +13 -0
- package/dist/functions/image/generateFavIcon.js.map +1 -0
- package/dist/functions/image/renderBusinessLicense.d.ts +47 -0
- package/dist/functions/image/renderBusinessLicense.js +187 -0
- package/dist/functions/image/renderBusinessLicense.js.map +1 -0
- package/dist/functions/image/renderDrivingLicense.d.ts +48 -0
- package/dist/functions/image/renderDrivingLicense.js +201 -0
- package/dist/functions/image/renderDrivingLicense.js.map +1 -0
- package/dist/functions/image/renderLicensePlate.d.ts +47 -0
- package/dist/functions/image/renderLicensePlate.js +85 -0
- package/dist/functions/image/renderLicensePlate.js.map +1 -0
- package/dist/functions/tencent-cloud/deploy.tcb.js +1 -1
- package/dist/functions/tencent-cloud/deploy.tcb.js.map +1 -1
- package/dist/functions/uniapp/app-plus/buildAndroidApp.js +258 -0
- package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
- package/dist/functions/validation/generateFakeBusinessLicense.d.ts +21 -0
- package/dist/functions/validation/generateFakeBusinessLicense.js +160 -0
- package/dist/functions/validation/generateFakeBusinessLicense.js.map +1 -0
- package/dist/functions/validation/generateFakeDrivingLicense.d.ts +31 -0
- package/dist/functions/validation/generateFakeDrivingLicense.js +119 -0
- package/dist/functions/validation/generateFakeDrivingLicense.js.map +1 -0
- package/dist/functions/validation/generateFakeLicensePlate.d.ts +13 -0
- package/dist/functions/validation/generateFakeLicensePlate.js +87 -0
- package/dist/functions/validation/generateFakeLicensePlate.js.map +1 -0
- package/dist/functions/wechat/useWxWebShare.d.ts +26 -0
- package/dist/functions/wechat/useWxWebShare.js +141 -0
- package/dist/functions/wechat/useWxWebShare.js.map +1 -0
- package/package.json +21 -4
- package/references/sharp.d.ts +1 -0
- package/references/wechat.d.ts +35 -0
- package/types/uniapp-android-build.d.ts +108 -0
- package/dist/functions/platform/tencent-cloud/deploy.tcb.d.ts +0 -13
- package/dist/functions/platform/tencent-cloud/deploy.tcb.js +0 -46
- package/dist/functions/platform/tencent-cloud/deploy.tcb.js.map +0 -1
- package/dist/functions/platform/tencent-cloud/getSecret.d.ts +0 -4
- package/dist/functions/platform/tencent-cloud/getSecret.js +0 -19
- package/dist/functions/platform/tencent-cloud/getSecret.js.map +0 -1
- package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.d.ts +0 -27
- package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.js +0 -287
- package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.js.map +0 -1
- package/dist/functions/platform/uniapp/build.d.ts +0 -21
- package/dist/functions/platform/uniapp/build.js +0 -83
- package/dist/functions/platform/uniapp/build.js.map +0 -1
- package/dist/functions/platform/uniapp/detectAndroidProjectStructure.d.ts +0 -11
- package/dist/functions/platform/uniapp/detectAndroidProjectStructure.js +0 -30
- package/dist/functions/platform/uniapp/detectAndroidProjectStructure.js.map +0 -1
- package/dist/functions/platform/uniapp/detectProjectType.d.ts +0 -20
- package/dist/functions/platform/uniapp/detectProjectType.js +0 -68
- package/dist/functions/platform/uniapp/detectProjectType.js.map +0 -1
- package/dist/functions/platform/uniapp/parseManifest.d.ts +0 -18
- package/dist/functions/platform/uniapp/parseManifest.js +0 -49
- package/dist/functions/platform/uniapp/parseManifest.js.map +0 -1
- package/dist/functions/platform/uniapp/waitForPages.d.ts +0 -7
- package/dist/functions/platform/uniapp/waitForPages.js +0 -20
- package/dist/functions/platform/uniapp/waitForPages.js.map +0 -1
- package/dist/functions/string/visualizeRegexSteps.d.ts +0 -39
- package/dist/functions/string/visualizeRegexSteps.js +0 -446
- package/dist/functions/string/visualizeRegexSteps.js.map +0 -1
- package/dist/functions/utils/AVLTree.d.ts +0 -19
- package/dist/functions/utils/AVLTree.js +0 -197
- package/dist/functions/utils/AVLTree.js.map +0 -1
- package/dist/functions/utils/BinarySearchTree.d.ts +0 -19
- package/dist/functions/utils/BinarySearchTree.js +0 -150
- package/dist/functions/utils/BinarySearchTree.js.map +0 -1
- package/dist/functions/utils/EventEmitter.d.ts +0 -32
- package/dist/functions/utils/EventEmitter.js +0 -108
- package/dist/functions/utils/EventEmitter.js.map +0 -1
- package/dist/functions/utils/Graph.d.ts +0 -19
- package/dist/functions/utils/Graph.js +0 -190
- package/dist/functions/utils/Graph.js.map +0 -1
- package/dist/functions/utils/HashMap.d.ts +0 -13
- package/dist/functions/utils/HashMap.js +0 -128
- package/dist/functions/utils/HashMap.js.map +0 -1
- package/dist/functions/utils/Heap.d.ts +0 -11
- package/dist/functions/utils/Heap.js +0 -91
- package/dist/functions/utils/Heap.js.map +0 -1
- package/dist/functions/utils/LRUCache.d.ts +0 -41
- package/dist/functions/utils/LRUCache.js +0 -182
- package/dist/functions/utils/LRUCache.js.map +0 -1
- package/dist/functions/utils/LinkedList.d.ts +0 -18
- package/dist/functions/utils/LinkedList.js +0 -135
- package/dist/functions/utils/LinkedList.js.map +0 -1
- package/dist/functions/utils/MyPromise.d.ts +0 -32
- package/dist/functions/utils/MyPromise.js +0 -254
- package/dist/functions/utils/MyPromise.js.map +0 -1
- package/dist/functions/utils/PriorityQueue.d.ts +0 -14
- package/dist/functions/utils/PriorityQueue.js +0 -77
- package/dist/functions/utils/PriorityQueue.js.map +0 -1
- package/dist/functions/utils/Queue.d.ts +0 -10
- package/dist/functions/utils/Queue.js +0 -27
- package/dist/functions/utils/Queue.js.map +0 -1
- package/dist/functions/utils/Stack.d.ts +0 -10
- package/dist/functions/utils/Stack.js +0 -27
- package/dist/functions/utils/Stack.js.map +0 -1
- package/dist/functions/utils/Trie.d.ts +0 -16
- package/dist/functions/utils/Trie.js +0 -127
- package/dist/functions/utils/Trie.js.map +0 -1
- package/dist/functions/utils/UnionFind.d.ts +0 -8
- package/dist/functions/utils/UnionFind.js +0 -53
- package/dist/functions/utils/UnionFind.js.map +0 -1
- package/dist/functions/utils/cachedAsync.d.ts +0 -27
- package/dist/functions/utils/cachedAsync.js +0 -123
- package/dist/functions/utils/cachedAsync.js.map +0 -1
- package/dist/functions/utils/compose.d.ts +0 -1
- package/dist/functions/utils/compose.js +0 -10
- package/dist/functions/utils/compose.js.map +0 -1
- package/dist/functions/utils/cond.d.ts +0 -1
- package/dist/functions/utils/cond.js +0 -15
- package/dist/functions/utils/cond.js.map +0 -1
- package/dist/functions/utils/createI18n.d.ts +0 -2
- package/dist/functions/utils/createI18n.js +0 -97
- package/dist/functions/utils/createI18n.js.map +0 -1
- package/dist/functions/utils/createReactive.d.ts +0 -10
- package/dist/functions/utils/createReactive.js +0 -50
- package/dist/functions/utils/createReactive.js.map +0 -1
- package/dist/functions/utils/curry.d.ts +0 -1
- package/dist/functions/utils/curry.js +0 -13
- package/dist/functions/utils/curry.js.map +0 -1
- package/dist/functions/utils/curryAdvanced.d.ts +0 -8
- package/dist/functions/utils/curryAdvanced.js +0 -87
- package/dist/functions/utils/curryAdvanced.js.map +0 -1
- package/dist/functions/utils/debounce.d.ts +0 -5
- package/dist/functions/utils/debounce.js +0 -12
- package/dist/functions/utils/debounce.js.map +0 -1
- package/dist/functions/utils/deepClone.d.ts +0 -12
- package/dist/functions/utils/deepClone.js +0 -131
- package/dist/functions/utils/deepClone.js.map +0 -1
- package/dist/functions/utils/errorManager.d.ts +0 -63
- package/dist/functions/utils/errorManager.js +0 -199
- package/dist/functions/utils/errorManager.js.map +0 -1
- package/dist/functions/utils/evolve.d.ts +0 -3
- package/dist/functions/utils/evolve.js +0 -15
- package/dist/functions/utils/evolve.js.map +0 -1
- package/dist/functions/utils/flatten.d.ts +0 -7
- package/dist/functions/utils/flatten.js +0 -60
- package/dist/functions/utils/flatten.js.map +0 -1
- package/dist/functions/utils/flattenObject.d.ts +0 -5
- package/dist/functions/utils/flattenObject.js +0 -102
- package/dist/functions/utils/flattenObject.js.map +0 -1
- package/dist/functions/utils/flow.d.ts +0 -1
- package/dist/functions/utils/flow.js +0 -14
- package/dist/functions/utils/flow.js.map +0 -1
- package/dist/functions/utils/formatString.d.ts +0 -5
- package/dist/functions/utils/formatString.js +0 -9
- package/dist/functions/utils/formatString.js.map +0 -1
- package/dist/functions/utils/functionBind.d.ts +0 -4
- package/dist/functions/utils/functionBind.js +0 -33
- package/dist/functions/utils/functionBind.js.map +0 -1
- package/dist/functions/utils/i18n.d.ts +0 -27
- package/dist/functions/utils/i18n.js +0 -119
- package/dist/functions/utils/i18n.js.map +0 -1
- package/dist/functions/utils/memoize.d.ts +0 -1
- package/dist/functions/utils/memoize.js +0 -13
- package/dist/functions/utils/memoize.js.map +0 -1
- package/dist/functions/utils/myInstanceof.d.ts +0 -5
- package/dist/functions/utils/myInstanceof.js +0 -56
- package/dist/functions/utils/myInstanceof.js.map +0 -1
- package/dist/functions/utils/myNew.d.ts +0 -3
- package/dist/functions/utils/myNew.js +0 -19
- package/dist/functions/utils/myNew.js.map +0 -1
- package/dist/functions/utils/once.d.ts +0 -1
- package/dist/functions/utils/once.js +0 -13
- package/dist/functions/utils/once.js.map +0 -1
- package/dist/functions/utils/partial.d.ts +0 -1
- package/dist/functions/utils/partial.js +0 -13
- package/dist/functions/utils/partial.js.map +0 -1
- package/dist/functions/utils/permission.d.ts +0 -40
- package/dist/functions/utils/permission.js +0 -189
- package/dist/functions/utils/permission.js.map +0 -1
- package/dist/functions/utils/pinia.d.ts +0 -52
- package/dist/functions/utils/pinia.js +0 -183
- package/dist/functions/utils/pinia.js.map +0 -1
- package/dist/functions/utils/pipe.d.ts +0 -1
- package/dist/functions/utils/pipe.js +0 -10
- package/dist/functions/utils/pipe.js.map +0 -1
- package/dist/functions/utils/promiseLimit.d.ts +0 -10
- package/dist/functions/utils/promiseLimit.js +0 -125
- package/dist/functions/utils/promiseLimit.js.map +0 -1
- package/dist/functions/utils/retryWithBackoff.d.ts +0 -12
- package/dist/functions/utils/retryWithBackoff.js +0 -29
- package/dist/functions/utils/retryWithBackoff.js.map +0 -1
- package/dist/functions/utils/tap.d.ts +0 -1
- package/dist/functions/utils/tap.js +0 -14
- package/dist/functions/utils/tap.js.map +0 -1
- package/dist/functions/utils/throttle.d.ts +0 -1
- package/dist/functions/utils/throttle.js +0 -11
- package/dist/functions/utils/throttle.js.map +0 -1
- package/dist/functions/utils/unique.d.ts +0 -10
- package/dist/functions/utils/unique.js +0 -85
- package/dist/functions/utils/unique.js.map +0 -1
- package/dist/functions/utils/until.d.ts +0 -1
- package/dist/functions/utils/until.js +0 -10
- package/dist/functions/utils/until.js.map +0 -1
- package/dist/hooks/createGlobalState.d.ts +0 -2
- package/dist/hooks/createGlobalState.js +0 -11
- package/dist/hooks/createGlobalState.js.map +0 -1
- package/dist/hooks/createInjectionState.d.ts +0 -14
- package/dist/hooks/createInjectionState.js +0 -20
- package/dist/hooks/createInjectionState.js.map +0 -1
- package/dist/hooks/createSharedComposable.d.ts +0 -2
- package/dist/hooks/createSharedComposable.js +0 -13
- package/dist/hooks/createSharedComposable.js.map +0 -1
- package/dist/hooks/injectLocal.d.ts +0 -10
- package/dist/hooks/injectLocal.js +0 -12
- package/dist/hooks/injectLocal.js.map +0 -1
- package/dist/hooks/provideLocal.d.ts +0 -9
- package/dist/hooks/provideLocal.js +0 -7
- package/dist/hooks/provideLocal.js.map +0 -1
- package/dist/hooks/useAltool.d.ts +0 -39
- package/dist/hooks/useAltool.js +0 -350
- package/dist/hooks/useAltool.js.map +0 -1
- package/dist/hooks/useAsyncState.d.ts +0 -30
- package/dist/hooks/useAsyncState.js +0 -46
- package/dist/hooks/useAsyncState.js.map +0 -1
- package/dist/hooks/useCache.d.ts +0 -18
- package/dist/hooks/useCache.js +0 -82
- package/dist/hooks/useCache.js.map +0 -1
- package/dist/hooks/useDebouncedRefHistory.d.ts +0 -22
- package/dist/hooks/useDebouncedRefHistory.js +0 -46
- package/dist/hooks/useDebouncedRefHistory.js.map +0 -1
- package/dist/hooks/useDraggable.d.ts +0 -37
- package/dist/hooks/useDraggable.js +0 -163
- package/dist/hooks/useDraggable.js.map +0 -1
- package/dist/hooks/useLocalStorage.d.ts +0 -8
- package/dist/hooks/useLocalStorage.js +0 -101
- package/dist/hooks/useLocalStorage.js.map +0 -1
- package/dist/hooks/useManualRefHistory.d.ts +0 -26
- package/dist/hooks/useManualRefHistory.js +0 -80
- package/dist/hooks/useManualRefHistory.js.map +0 -1
- package/dist/hooks/usePermission.d.ts +0 -7
- package/dist/hooks/usePermission.js +0 -123
- package/dist/hooks/usePermission.js.map +0 -1
- package/dist/hooks/usePluginSystem.d.ts +0 -11
- package/dist/hooks/usePluginSystem.js +0 -34
- package/dist/hooks/usePluginSystem.js.map +0 -1
- package/dist/hooks/useRefHistory.d.ts +0 -21
- package/dist/hooks/useRefHistory.js +0 -41
- package/dist/hooks/useRefHistory.js.map +0 -1
- package/dist/hooks/useResizable.d.ts +0 -54
- package/dist/hooks/useResizable.js +0 -178
- package/dist/hooks/useResizable.js.map +0 -1
- package/dist/hooks/useSessionStorage.d.ts +0 -8
- package/dist/hooks/useSessionStorage.js +0 -101
- package/dist/hooks/useSessionStorage.js.map +0 -1
- package/dist/hooks/useStorage.d.ts +0 -13
- package/dist/hooks/useStorage.js +0 -62
- package/dist/hooks/useStorage.js.map +0 -1
- package/dist/hooks/useStorageWithIndexedDB.d.ts +0 -8
- package/dist/hooks/useStorageWithIndexedDB.js +0 -132
- package/dist/hooks/useStorageWithIndexedDB.js.map +0 -1
- package/dist/hooks/useWebWorker.d.ts +0 -25
- package/dist/hooks/useWebWorker.js +0 -207
- package/dist/hooks/useWebWorker.js.map +0 -1
- package/dist/hooks/useWorkerFunction.d.ts +0 -26
- package/dist/hooks/useWorkerFunction.js +0 -191
- package/dist/hooks/useWorkerFunction.js.map +0 -1
- package/dist/hooks/useWorkerPool.d.ts +0 -33
- package/dist/hooks/useWorkerPool.js +0 -247
- package/dist/hooks/useWorkerPool.js.map +0 -1
- package/dist/vue-hooks/dom/useKeyboard.d.ts +0 -29
- package/dist/vue-hooks/dom/useKeyboard.js +0 -129
- package/dist/vue-hooks/dom/useKeyboard.js.map +0 -1
- package/dist/vue-hooks/state/useFileUpload.d.ts +0 -23
- package/dist/vue-hooks/state/useFileUpload.js +0 -93
- package/dist/vue-hooks/state/useFileUpload.js.map +0 -1
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { generateFakeLicensePlate } from './generateFakeLicensePlate';
|
|
2
|
+
const VEHICLE_TYPES = [
|
|
3
|
+
'小型汽车',
|
|
4
|
+
'大型汽车',
|
|
5
|
+
'普通摩托车',
|
|
6
|
+
'轻便摩托车',
|
|
7
|
+
'低速车',
|
|
8
|
+
'挂车',
|
|
9
|
+
'教练汽车',
|
|
10
|
+
'教练摩托车',
|
|
11
|
+
'新能源汽车'
|
|
12
|
+
];
|
|
13
|
+
const USE_NATURES = [
|
|
14
|
+
'非营运',
|
|
15
|
+
'营运',
|
|
16
|
+
'营转非',
|
|
17
|
+
'出租转非',
|
|
18
|
+
'租赁',
|
|
19
|
+
'教练',
|
|
20
|
+
'警用',
|
|
21
|
+
'消防',
|
|
22
|
+
'救护',
|
|
23
|
+
'工程救险',
|
|
24
|
+
'幼儿校车',
|
|
25
|
+
'小学生校车',
|
|
26
|
+
'其他校车'
|
|
27
|
+
];
|
|
28
|
+
const SURNAMES = ['张', '王', '李', '刘', '陈', '杨', '黄', '赵', '吴', '周', '徐', '孙', '马', '朱', '胡', '郭', '何', '高', '林', '罗', '郑', '梁', '谢', '宋', '唐', '许', '韩', '冯', '邓', '曹', '彭', '曾', '肖', '田', '董', '袁', '潘', '于', '蒋', '蔡', '余', '杜', '叶', '程', '苏', '魏', '吕', '丁', '任', '沈', '姚', '卢', '姜', '崔', '钟', '谭', '陆', '汪', '范', '金', '石', '廖', '贾', '夏', '韦', '付', '方', '白', '邹', '孟', '熊', '秦', '邱', '江', '尹', '薛', '闫', '段', '雷', '侯', '龙', '史', '陶', '黎', '贺', '顾', '毛', '郝', '龚', '邵', '万', '钱', '严', '覃', '武', '戴', '莫', '孔', '向', '汤'];
|
|
29
|
+
const GIVEN_NAMES = ['伟', '芳', '娜', '秀英', '敏', '静', '丽', '强', '磊', '军', '洋', '勇', '艳', '杰', '娟', '涛', '明', '超', '秀兰', '霞', '平', '刚', '桂英'];
|
|
30
|
+
function randomInt(min, max) {
|
|
31
|
+
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
32
|
+
}
|
|
33
|
+
function randomChoice(array) {
|
|
34
|
+
return array[randomInt(0, array.length - 1)];
|
|
35
|
+
}
|
|
36
|
+
function randomString(length, chars = '0123456789ABCDEFGHJKLMNPQRSTUVWXYZ') {
|
|
37
|
+
let result = '';
|
|
38
|
+
for (let i = 0; i < length; i++) {
|
|
39
|
+
result += randomChoice(chars.split(''));
|
|
40
|
+
}
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
function randomDate(startYear, endYear) {
|
|
44
|
+
const year = randomInt(startYear, endYear);
|
|
45
|
+
const month = randomInt(1, 12);
|
|
46
|
+
const day = randomInt(1, 28);
|
|
47
|
+
return `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`;
|
|
48
|
+
}
|
|
49
|
+
function formatDate(dateStr) {
|
|
50
|
+
return dateStr.replace(/-/g, '.');
|
|
51
|
+
}
|
|
52
|
+
export function generateFakeDrivingLicense(options = {}) {
|
|
53
|
+
let plateProfile;
|
|
54
|
+
if (options.plateNumber) {
|
|
55
|
+
plateProfile = {
|
|
56
|
+
plate: options.plateNumber,
|
|
57
|
+
province: options.province || '北京市',
|
|
58
|
+
provinceShort: options.plateNumber.charAt(0),
|
|
59
|
+
type: options.plateNumber.length === 8 ? 'newEnergy' : 'normal',
|
|
60
|
+
length: options.plateNumber.length
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
plateProfile = generateFakeLicensePlate({ province: options.province });
|
|
65
|
+
}
|
|
66
|
+
const owner = options.owner || `${randomChoice(SURNAMES)}${randomChoice(GIVEN_NAMES)}`;
|
|
67
|
+
const address = `${plateProfile.province}${randomChoice(['市', '县'])}${randomChoice(['区', '县'])}${randomChoice(['XX路', 'XX街', 'XX大道'])}${randomInt(1, 999)}号`;
|
|
68
|
+
const currentYear = new Date().getFullYear();
|
|
69
|
+
const registerDate = options.registerDate || randomDate(2010, currentYear - 1);
|
|
70
|
+
const issueDate = randomDate(parseInt(registerDate.split('-')[0]), Math.min(parseInt(registerDate.split('-')[0]) + 1, currentYear));
|
|
71
|
+
const vehicleType = randomChoice(VEHICLE_TYPES);
|
|
72
|
+
const engineNumber = randomString(17);
|
|
73
|
+
const vin = randomChoice('ABCDEFGHJKLMNPQRSTUVWXYZ'.split('')) + randomString(16);
|
|
74
|
+
const fileNumber = randomString(12, '0123456789');
|
|
75
|
+
const isSmallVehicle = vehicleType === '小型汽车' || vehicleType === '新能源汽车';
|
|
76
|
+
const approvedPassengers = isSmallVehicle ? randomInt(5, 7) : randomInt(10, 50);
|
|
77
|
+
const totalMass = isSmallVehicle ? randomInt(1500, 2500) : randomInt(5000, 15000);
|
|
78
|
+
const curbWeight = isSmallVehicle ? randomInt(1200, 2000) : randomInt(4000, 12000);
|
|
79
|
+
const approvedLoad = isSmallVehicle ? randomInt(300, 500) : randomInt(1000, 5000);
|
|
80
|
+
const length = isSmallVehicle ? randomInt(4000, 5000) : randomInt(6000, 12000);
|
|
81
|
+
const width = isSmallVehicle ? randomInt(1700, 1900) : randomInt(2000, 2500);
|
|
82
|
+
const height = isSmallVehicle ? randomInt(1400, 1600) : randomInt(2500, 3500);
|
|
83
|
+
const dimensions = `${length}×${width}×${height}`;
|
|
84
|
+
const approvedTowingMass = isSmallVehicle ? 0 : randomInt(2000, 8000);
|
|
85
|
+
const cabPassengers = isSmallVehicle ? 0 : randomInt(2, 3);
|
|
86
|
+
const cargoLength = isSmallVehicle ? 0 : randomInt(4000, 8000);
|
|
87
|
+
const cargoWidth = isSmallVehicle ? 0 : randomInt(2000, 2400);
|
|
88
|
+
const cargoHeight = isSmallVehicle ? 0 : randomInt(1500, 2500);
|
|
89
|
+
const cargoDimensions = isSmallVehicle ? '-' : `${cargoLength}×${cargoWidth}×${cargoHeight}`;
|
|
90
|
+
const rearSpringLeaves = isSmallVehicle ? 0 : randomInt(3, 8);
|
|
91
|
+
const registerYear = parseInt(registerDate.split('-')[0]);
|
|
92
|
+
const manufactureDate = randomDate(registerYear - 2, registerYear - 1);
|
|
93
|
+
const issueAuthority = `${plateProfile.province.replace(/省|市|自治区|特别行政区/g, '')}公安局交通警察支队`;
|
|
94
|
+
return {
|
|
95
|
+
plateNumber: plateProfile.plate,
|
|
96
|
+
vehicleType,
|
|
97
|
+
owner,
|
|
98
|
+
address,
|
|
99
|
+
useNature: randomChoice(USE_NATURES),
|
|
100
|
+
engineNumber,
|
|
101
|
+
vin,
|
|
102
|
+
registerDate: formatDate(registerDate),
|
|
103
|
+
issueDate: formatDate(issueDate),
|
|
104
|
+
fileNumber,
|
|
105
|
+
approvedPassengers,
|
|
106
|
+
totalMass,
|
|
107
|
+
curbWeight,
|
|
108
|
+
approvedLoad,
|
|
109
|
+
dimensions,
|
|
110
|
+
approvedTowingMass,
|
|
111
|
+
cabPassengers,
|
|
112
|
+
cargoDimensions,
|
|
113
|
+
rearSpringLeaves,
|
|
114
|
+
manufactureDate: formatDate(manufactureDate),
|
|
115
|
+
issueAuthority,
|
|
116
|
+
province: plateProfile.province
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=generateFakeDrivingLicense.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateFakeDrivingLicense.js","sourceRoot":"","sources":["../../../src/functions/validation/generateFakeDrivingLicense.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,wBAAwB,EAAqC,MAAM,4BAA4B,CAAA;AAGxG,MAAM,aAAa,GAAG;IACpB,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;CACR,CAAA;AAGD,MAAM,WAAW,GAAG;IAClB,KAAK;IACL,IAAI;IACJ,KAAK;IACL,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;CACP,CAAA;AAGD,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAGrgB,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AAK1I,SAAS,SAAS,CAAC,GAAW,EAAE,GAAW;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;AAC1D,CAAC;AAKD,SAAS,YAAY,CAAI,KAAU;IACjC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC;AAKD,SAAS,YAAY,CAAC,MAAc,EAAE,QAAgB,oCAAoC;IACxF,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAKD,SAAS,UAAU,CAAC,SAAiB,EAAE,OAAe;IACpD,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC5B,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;AACpF,CAAC;AAKD,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACnC,CAAC;AA+DD,MAAM,UAAU,0BAA0B,CACxC,UAA6C,EAAE;IAG/C,IAAI,YAA0C,CAAA;IAC9C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAExB,YAAY,GAAG;YACb,KAAK,EAAE,OAAO,CAAC,WAAW;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACnC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;YAC/D,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;SACnC,CAAA;IACH,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,wBAAwB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzE,CAAC;IAGD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,CAAA;IAGtF,MAAM,OAAO,GAAG,GAAG,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAA;IAG5J,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,CAAC,CAAC,CAAA;IAC9E,MAAM,SAAS,GAAG,UAAU,CAC1B,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EACpC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAChE,CAAA;IAGD,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;IAG/C,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;IAGrC,MAAM,GAAG,GAAG,YAAY,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;IAGjF,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;IAGjD,MAAM,cAAc,GAAG,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,CAAA;IACxE,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC/E,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACjF,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAClF,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAGjF,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7E,MAAM,UAAU,GAAG,GAAG,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAA;IAGjD,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAGrE,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAG1D,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,UAAU,IAAI,WAAW,EAAE,CAAA;IAG5F,MAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAG7D,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAA;IAGtE,MAAM,cAAc,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,WAAW,CAAA;IAExF,OAAO;QACL,WAAW,EAAE,YAAY,CAAC,KAAK;QAC/B,WAAW;QACX,KAAK;QACL,OAAO;QACP,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC;QACpC,YAAY;QACZ,GAAG;QACH,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC;QACtC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC;QAChC,UAAU;QACV,kBAAkB;QAClB,SAAS;QACT,UAAU;QACV,YAAY;QACZ,UAAU;QACV,kBAAkB;QAClB,aAAa;QACb,eAAe;QACf,gBAAgB;QAChB,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC;QAC5C,cAAc;QACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;KAChC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface GenerateFakeLicensePlateOptions {
|
|
2
|
+
length?: 7 | 8;
|
|
3
|
+
province?: string;
|
|
4
|
+
isNewEnergy?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface GeneratedLicensePlateProfile {
|
|
7
|
+
plate: string;
|
|
8
|
+
province: string;
|
|
9
|
+
provinceShort: string;
|
|
10
|
+
type: 'normal' | 'newEnergy';
|
|
11
|
+
length: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function generateFakeLicensePlate(options?: GenerateFakeLicensePlateOptions): GeneratedLicensePlateProfile;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
const PROVINCE_SHORT_NAME_MAP = {
|
|
2
|
+
'北京市': '京',
|
|
3
|
+
'天津市': '津',
|
|
4
|
+
'河北省': '冀',
|
|
5
|
+
'山西省': '晋',
|
|
6
|
+
'内蒙古自治区': '蒙',
|
|
7
|
+
'辽宁省': '辽',
|
|
8
|
+
'吉林省': '吉',
|
|
9
|
+
'黑龙江省': '黑',
|
|
10
|
+
'上海市': '沪',
|
|
11
|
+
'江苏省': '苏',
|
|
12
|
+
'浙江省': '浙',
|
|
13
|
+
'安徽省': '皖',
|
|
14
|
+
'福建省': '闽',
|
|
15
|
+
'江西省': '赣',
|
|
16
|
+
'山东省': '鲁',
|
|
17
|
+
'河南省': '豫',
|
|
18
|
+
'湖北省': '鄂',
|
|
19
|
+
'湖南省': '湘',
|
|
20
|
+
'广东省': '粤',
|
|
21
|
+
'广西壮族自治区': '桂',
|
|
22
|
+
'海南省': '琼',
|
|
23
|
+
'重庆市': '渝',
|
|
24
|
+
'四川省': '川',
|
|
25
|
+
'贵州省': '贵',
|
|
26
|
+
'云南省': '云',
|
|
27
|
+
'西藏自治区': '藏',
|
|
28
|
+
'陕西省': '陕',
|
|
29
|
+
'甘肃省': '甘',
|
|
30
|
+
'青海省': '青',
|
|
31
|
+
'宁夏回族自治区': '宁',
|
|
32
|
+
'新疆维吾尔自治区': '新',
|
|
33
|
+
'台湾省': '台',
|
|
34
|
+
'香港特别行政区': '港',
|
|
35
|
+
'澳门特别行政区': '澳'
|
|
36
|
+
};
|
|
37
|
+
const LICENSE_LETTERS = 'ABCDEFGHJKLMNPQRSTUVWXYZ';
|
|
38
|
+
const LICENSE_CHARS = '0123456789ABCDEFGHJKLMNPQRSTUVWXYZ';
|
|
39
|
+
function randomInt(min, max) {
|
|
40
|
+
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
41
|
+
}
|
|
42
|
+
function randomChoice(array) {
|
|
43
|
+
return array[randomInt(0, array.length - 1)];
|
|
44
|
+
}
|
|
45
|
+
function getProvinceShortName(provinceName) {
|
|
46
|
+
if (Object.values(PROVINCE_SHORT_NAME_MAP).includes(provinceName)) {
|
|
47
|
+
return provinceName;
|
|
48
|
+
}
|
|
49
|
+
const shortName = PROVINCE_SHORT_NAME_MAP[provinceName];
|
|
50
|
+
if (shortName) {
|
|
51
|
+
return shortName;
|
|
52
|
+
}
|
|
53
|
+
return provinceName.charAt(0);
|
|
54
|
+
}
|
|
55
|
+
export function generateFakeLicensePlate(options = {}) {
|
|
56
|
+
const isNewEnergy = options.isNewEnergy ?? (options.length === 8);
|
|
57
|
+
const length = options.length ?? (isNewEnergy ? 8 : (Math.random() > 0.5 ? 8 : 7));
|
|
58
|
+
const finalLength = isNewEnergy ? 8 : length;
|
|
59
|
+
let provinceName;
|
|
60
|
+
if (options.province) {
|
|
61
|
+
provinceName = options.province;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const provinces = Object.keys(PROVINCE_SHORT_NAME_MAP);
|
|
65
|
+
provinceName = randomChoice(provinces);
|
|
66
|
+
}
|
|
67
|
+
const provinceShort = getProvinceShortName(provinceName);
|
|
68
|
+
let plate = provinceShort;
|
|
69
|
+
if (finalLength === 8) {
|
|
70
|
+
plate += randomChoice(['D', 'F']);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
plate += randomChoice(LICENSE_LETTERS.split(''));
|
|
74
|
+
}
|
|
75
|
+
const remainingLength = finalLength - 2;
|
|
76
|
+
for (let i = 0; i < remainingLength; i++) {
|
|
77
|
+
plate += randomChoice(LICENSE_CHARS.split(''));
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
plate,
|
|
81
|
+
province: provinceName,
|
|
82
|
+
provinceShort,
|
|
83
|
+
type: finalLength === 8 ? 'newEnergy' : 'normal',
|
|
84
|
+
length: finalLength
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=generateFakeLicensePlate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateFakeLicensePlate.js","sourceRoot":"","sources":["../../../src/functions/validation/generateFakeLicensePlate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Navigator } from '../../../references/browser.d';
|
|
2
|
+
import type { Console } from '../../../references/console.d';
|
|
3
|
+
import type { WxWeb } from '../../../references/wechat.d';
|
|
4
|
+
export interface UseWxWebShareOptions {
|
|
5
|
+
title: string;
|
|
6
|
+
desc?: string;
|
|
7
|
+
link: string;
|
|
8
|
+
imgUrl?: string;
|
|
9
|
+
timelineTitle?: string;
|
|
10
|
+
onSuccess?: () => void;
|
|
11
|
+
onCancel?: () => void;
|
|
12
|
+
onFail?: (error: Error) => void;
|
|
13
|
+
}
|
|
14
|
+
export interface UseWxWebShareDeps {
|
|
15
|
+
getUserAgent: () => Navigator['userAgent'];
|
|
16
|
+
getWx: () => WxWeb | undefined;
|
|
17
|
+
loadWxScript?: (url: string) => Promise<void>;
|
|
18
|
+
jssdkUrl?: string;
|
|
19
|
+
warn?: Console['warn'];
|
|
20
|
+
errorLog?: Console['error'];
|
|
21
|
+
}
|
|
22
|
+
export interface UseWxWebShareResult {
|
|
23
|
+
isWeChat: boolean;
|
|
24
|
+
applied: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare const useWxWebShare: (options: UseWxWebShareOptions, deps: UseWxWebShareDeps) => Promise<UseWxWebShareResult>;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
const WECHAT_UA_REGEXP = /MicroMessenger/i;
|
|
2
|
+
const DEFAULT_JSSDK_URL = 'https://res.wx.qq.com/open/js/jweixin-1.6.0.js';
|
|
3
|
+
let cachedWx;
|
|
4
|
+
let wxLoadingPromise;
|
|
5
|
+
const normalizeError = (source) => {
|
|
6
|
+
if (source instanceof Error) {
|
|
7
|
+
return source;
|
|
8
|
+
}
|
|
9
|
+
if (typeof source === 'string') {
|
|
10
|
+
return new Error(source);
|
|
11
|
+
}
|
|
12
|
+
if (source && typeof source === 'object') {
|
|
13
|
+
const maybeError = source;
|
|
14
|
+
if (maybeError.errMsg) {
|
|
15
|
+
return new Error(maybeError.errMsg);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return new Error('微信分享调用失败');
|
|
19
|
+
};
|
|
20
|
+
const ensureWxInstance = async (deps) => {
|
|
21
|
+
if (cachedWx) {
|
|
22
|
+
return cachedWx;
|
|
23
|
+
}
|
|
24
|
+
const existing = deps.getWx();
|
|
25
|
+
if (existing) {
|
|
26
|
+
cachedWx = existing;
|
|
27
|
+
return existing;
|
|
28
|
+
}
|
|
29
|
+
if (!deps.loadWxScript) {
|
|
30
|
+
throw new Error('useWxWebShare: 未检测到微信 JSSDK 实例,且缺少 loadWxScript 依赖用以加载脚本');
|
|
31
|
+
}
|
|
32
|
+
if (!wxLoadingPromise) {
|
|
33
|
+
wxLoadingPromise = deps
|
|
34
|
+
.loadWxScript(deps.jssdkUrl ?? DEFAULT_JSSDK_URL)
|
|
35
|
+
.then(() => {
|
|
36
|
+
const loaded = deps.getWx();
|
|
37
|
+
if (!loaded) {
|
|
38
|
+
throw new Error('useWxWebShare: 微信 JSSDK 脚本加载后仍未检测到 wx 实例');
|
|
39
|
+
}
|
|
40
|
+
cachedWx = loaded;
|
|
41
|
+
return loaded;
|
|
42
|
+
})
|
|
43
|
+
.finally(() => {
|
|
44
|
+
wxLoadingPromise = undefined;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return wxLoadingPromise;
|
|
48
|
+
};
|
|
49
|
+
const isWeChatEnvironment = (userAgent) => {
|
|
50
|
+
return typeof userAgent === 'string' && WECHAT_UA_REGEXP.test(userAgent);
|
|
51
|
+
};
|
|
52
|
+
const buildAppMessageOptions = (params) => {
|
|
53
|
+
const { title, desc, link, imgUrl, onSuccess, onCancel, onFail } = params;
|
|
54
|
+
return {
|
|
55
|
+
title,
|
|
56
|
+
desc,
|
|
57
|
+
link,
|
|
58
|
+
imgUrl,
|
|
59
|
+
success: onSuccess,
|
|
60
|
+
cancel: onCancel,
|
|
61
|
+
fail: (error) => {
|
|
62
|
+
onFail?.(normalizeError(error));
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
const buildTimelineOptions = (params) => {
|
|
67
|
+
const { timelineTitle, title, link, imgUrl, onSuccess, onCancel, onFail } = params;
|
|
68
|
+
return {
|
|
69
|
+
title: timelineTitle ?? title,
|
|
70
|
+
link,
|
|
71
|
+
imgUrl,
|
|
72
|
+
success: onSuccess,
|
|
73
|
+
cancel: onCancel,
|
|
74
|
+
fail: (error) => {
|
|
75
|
+
onFail?.(normalizeError(error));
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
export const useWxWebShare = async (options, deps) => {
|
|
80
|
+
const userAgent = deps.getUserAgent();
|
|
81
|
+
if (!isWeChatEnvironment(userAgent)) {
|
|
82
|
+
deps.warn?.('useWxWebShare: 当前环境不是微信内置浏览器,跳过分享设置');
|
|
83
|
+
return {
|
|
84
|
+
isWeChat: false,
|
|
85
|
+
applied: false
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
if (!options || typeof options !== 'object') {
|
|
89
|
+
throw new Error('useWxWebShare: 必须提供分享配置参数');
|
|
90
|
+
}
|
|
91
|
+
if (!options.title || !options.link) {
|
|
92
|
+
throw new Error('useWxWebShare: title 和 link 为必填项');
|
|
93
|
+
}
|
|
94
|
+
const messageOptions = buildAppMessageOptions(options);
|
|
95
|
+
const timelineOptions = buildTimelineOptions(options);
|
|
96
|
+
const wx = await ensureWxInstance(deps);
|
|
97
|
+
const shareToFriend = wx.updateAppMessageShareData ?? wx.onMenuShareAppMessage;
|
|
98
|
+
const shareToTimeline = wx.updateTimelineShareData ?? wx.onMenuShareTimeline;
|
|
99
|
+
if (!shareToFriend) {
|
|
100
|
+
throw new Error('useWxWebShare: 当前微信环境缺少 updateAppMessageShareData/onMenuShareAppMessage 接口');
|
|
101
|
+
}
|
|
102
|
+
if (!shareToTimeline) {
|
|
103
|
+
throw new Error('useWxWebShare: 当前微信环境缺少 updateTimelineShareData/onMenuShareTimeline 接口');
|
|
104
|
+
}
|
|
105
|
+
return new Promise((resolve, reject) => {
|
|
106
|
+
let resolved = false;
|
|
107
|
+
const handleReady = () => {
|
|
108
|
+
try {
|
|
109
|
+
shareToFriend(messageOptions);
|
|
110
|
+
shareToTimeline(timelineOptions);
|
|
111
|
+
resolved = true;
|
|
112
|
+
resolve({
|
|
113
|
+
isWeChat: true,
|
|
114
|
+
applied: true
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
const normalized = normalizeError(error);
|
|
119
|
+
options.onFail?.(normalized);
|
|
120
|
+
deps.errorLog?.('useWxWebShare: 注册分享时出现错误', normalized);
|
|
121
|
+
reject(normalized);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
const handleError = (error) => {
|
|
125
|
+
const normalized = normalizeError(error);
|
|
126
|
+
deps.errorLog?.('useWxWebShare: 微信 JSSDK 初始化失败', normalized);
|
|
127
|
+
options.onFail?.(normalized);
|
|
128
|
+
if (!resolved) {
|
|
129
|
+
reject(normalized);
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
try {
|
|
133
|
+
wx.ready(handleReady);
|
|
134
|
+
wx.error(handleError);
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
handleError(error);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=useWxWebShare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWxWebShare.js","sourceRoot":"","sources":["../../../src/functions/wechat/useWxWebShare.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zcw-shared",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.34.1",
|
|
4
4
|
"files": [
|
|
5
5
|
"references",
|
|
6
6
|
"dist",
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"@cloudbase/manager-node": "^4.3.2",
|
|
17
17
|
"cos-nodejs-sdk-v5": "^2.14.4",
|
|
18
|
+
"jszip": "^3.10.1",
|
|
18
19
|
"tsx": "^4.20.3",
|
|
19
20
|
"typescript": "^5.8.3",
|
|
20
21
|
"vitepress": "^1.6.4",
|
|
21
22
|
"vue": "^3.5.22",
|
|
22
|
-
"zcw-
|
|
23
|
-
"zcw-vue-ui": "1.23.0"
|
|
23
|
+
"zcw-vue-ui": "1.24.1"
|
|
24
24
|
},
|
|
25
25
|
"exports": {
|
|
26
26
|
"./constants/colorPatterns": "./dist/constants/colorPatterns.js",
|
|
@@ -57,6 +57,15 @@
|
|
|
57
57
|
"./functions/algorithm/visualizeGarbageCollection": "./dist/functions/algorithm/visualizeGarbageCollection.js",
|
|
58
58
|
"./functions/android/buildProject": "./dist/functions/android/buildProject.js",
|
|
59
59
|
"./functions/android/detectAndroidModules": "./dist/functions/android/detectAndroidModules.js",
|
|
60
|
+
"./functions/android/integrateFacebookLogin": "./dist/functions/android/integrateFacebookLogin.js",
|
|
61
|
+
"./functions/android/integrateGoogleLogin": "./dist/functions/android/integrateGoogleLogin.js",
|
|
62
|
+
"./functions/android/integrateMiuiLogin": "./dist/functions/android/integrateMiuiLogin.js",
|
|
63
|
+
"./functions/android/integrateQQLogin": "./dist/functions/android/integrateQQLogin.js",
|
|
64
|
+
"./functions/android/integrateShareTrace": "./dist/functions/android/integrateShareTrace.js",
|
|
65
|
+
"./functions/android/integrateSinaLogin": "./dist/functions/android/integrateSinaLogin.js",
|
|
66
|
+
"./functions/android/integrateThirdPartyModule": "./dist/functions/android/integrateThirdPartyModule.js",
|
|
67
|
+
"./functions/android/integrateUniverifyLogin": "./dist/functions/android/integrateUniverifyLogin.js",
|
|
68
|
+
"./functions/android/integrateWechatLogin": "./dist/functions/android/integrateWechatLogin.js",
|
|
60
69
|
"./functions/android/modifyGradle": "./dist/functions/android/modifyGradle.js",
|
|
61
70
|
"./functions/android/modifyManifest": "./dist/functions/android/modifyManifest.js",
|
|
62
71
|
"./functions/android/permission": "./dist/functions/android/permission.js",
|
|
@@ -130,7 +139,9 @@
|
|
|
130
139
|
"./functions/functional/pipe": "./dist/functions/functional/pipe.js",
|
|
131
140
|
"./functions/functional/tap": "./dist/functions/functional/tap.js",
|
|
132
141
|
"./functions/functional/until": "./dist/functions/functional/until.js",
|
|
142
|
+
"./functions/image/compressImageToWidth": "./dist/functions/image/compressImageToWidth.js",
|
|
133
143
|
"./functions/image/compressToTargetSize": "./dist/functions/image/compressToTargetSize.js",
|
|
144
|
+
"./functions/image/generateFavIcon": "./dist/functions/image/generateFavIcon.js",
|
|
134
145
|
"./functions/image/generateMacIcons": "./dist/functions/image/generateMacIcons.js",
|
|
135
146
|
"./functions/image/generateMacTrayIcon": "./dist/functions/image/generateMacTrayIcon.js",
|
|
136
147
|
"./functions/image/generatePaddedImage": "./dist/functions/image/generatePaddedImage.js",
|
|
@@ -138,7 +149,10 @@
|
|
|
138
149
|
"./functions/image/generatePwaIcons": "./dist/functions/image/generatePwaIcons.js",
|
|
139
150
|
"./functions/image/generateRoundedImage": "./dist/functions/image/generateRoundedImage.js",
|
|
140
151
|
"./functions/image/getImageDimensions": "./dist/functions/image/getImageDimensions.js",
|
|
152
|
+
"./functions/image/renderBusinessLicense": "./dist/functions/image/renderBusinessLicense.js",
|
|
153
|
+
"./functions/image/renderDrivingLicense": "./dist/functions/image/renderDrivingLicense.js",
|
|
141
154
|
"./functions/image/renderIdCard": "./dist/functions/image/renderIdCard.js",
|
|
155
|
+
"./functions/image/renderLicensePlate": "./dist/functions/image/renderLicensePlate.js",
|
|
142
156
|
"./functions/ipc/dispatchIpcRequest": "./dist/functions/ipc/dispatchIpcRequest.js",
|
|
143
157
|
"./functions/math/average": "./dist/functions/math/average.js",
|
|
144
158
|
"./functions/math/median": "./dist/functions/math/median.js",
|
|
@@ -192,7 +206,6 @@
|
|
|
192
206
|
"./functions/string/testRegex": "./dist/functions/string/testRegex.js",
|
|
193
207
|
"./functions/string/wordCount": "./dist/functions/string/wordCount.js",
|
|
194
208
|
"./functions/tencent-cloud/deploy.tcb": "./dist/functions/tencent-cloud/deploy.tcb.js",
|
|
195
|
-
"./functions/tencent-cloud/getSecret": "./dist/functions/tencent-cloud/getSecret.js",
|
|
196
209
|
"./functions/tencent-cloud/upload.cos": "./dist/functions/tencent-cloud/upload.cos.js",
|
|
197
210
|
"./functions/tree/buildTree": "./dist/functions/tree/buildTree.js",
|
|
198
211
|
"./functions/tree/filterTree": "./dist/functions/tree/filterTree.js",
|
|
@@ -215,7 +228,10 @@
|
|
|
215
228
|
"./functions/utils/validate": "./dist/functions/utils/validate.js",
|
|
216
229
|
"./functions/utils/vueDiff": "./dist/functions/utils/vueDiff.js",
|
|
217
230
|
"./functions/utils/walk": "./dist/functions/utils/walk.js",
|
|
231
|
+
"./functions/validation/generateFakeBusinessLicense": "./dist/functions/validation/generateFakeBusinessLicense.js",
|
|
232
|
+
"./functions/validation/generateFakeDrivingLicense": "./dist/functions/validation/generateFakeDrivingLicense.js",
|
|
218
233
|
"./functions/validation/generateFakeIdCard": "./dist/functions/validation/generateFakeIdCard.js",
|
|
234
|
+
"./functions/validation/generateFakeLicensePlate": "./dist/functions/validation/generateFakeLicensePlate.js",
|
|
219
235
|
"./functions/validation/isEmail": "./dist/functions/validation/isEmail.js",
|
|
220
236
|
"./functions/validation/isIdCard": "./dist/functions/validation/isIdCard.js",
|
|
221
237
|
"./functions/validation/isIpAddress": "./dist/functions/validation/isIpAddress.js",
|
|
@@ -231,6 +247,7 @@
|
|
|
231
247
|
"./functions/vue/isVueComponent": "./dist/functions/vue/isVueComponent.js",
|
|
232
248
|
"./functions/vue/parseVueFile": "./dist/functions/vue/parseVueFile.js",
|
|
233
249
|
"./functions/wechat/miniapp/downloadFile": "./dist/functions/wechat/miniapp/downloadFile.js",
|
|
250
|
+
"./functions/wechat/useWxWebShare": "./dist/functions/wechat/useWxWebShare.js",
|
|
234
251
|
"./functions/xml/modifyXml": "./dist/functions/xml/modifyXml.js",
|
|
235
252
|
"./reactive/createReactive": "./dist/reactive/createReactive.js",
|
|
236
253
|
"./reactive/createReactiveErrorManager": "./dist/reactive/createReactiveErrorManager.js",
|
package/references/sharp.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export interface SharpInstance {
|
|
|
11
11
|
extend(options: { top: number; bottom: number; left: number; right: number; background: { r: number; g: number; b: number; alpha: number } }): SharpInstance;
|
|
12
12
|
flatten(options?: { background?: string | { r: number; g: number; b: number } }): SharpInstance;
|
|
13
13
|
negate(options?: boolean): SharpInstance;
|
|
14
|
+
png(): SharpInstance;
|
|
14
15
|
toBuffer(): Promise<NodeBuffer>;
|
|
15
16
|
}
|
|
16
17
|
|
package/references/wechat.d.ts
CHANGED
|
@@ -46,4 +46,39 @@ export interface Wx {
|
|
|
46
46
|
success: (res: { confirm: boolean; cancel: boolean }) => void
|
|
47
47
|
fail?: (err: any) => void
|
|
48
48
|
}): void
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// 微信网页 JSSDK 类型声明
|
|
52
|
+
|
|
53
|
+
export interface WxJsSdkError {
|
|
54
|
+
errMsg?: string
|
|
55
|
+
[key: string]: any
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
interface WxWebShareCallbacks {
|
|
59
|
+
success?: () => void
|
|
60
|
+
cancel?: () => void
|
|
61
|
+
fail?: (error: any) => void
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface WxWebShareOptions extends WxWebShareCallbacks {
|
|
65
|
+
title: string
|
|
66
|
+
desc?: string
|
|
67
|
+
link: string
|
|
68
|
+
imgUrl?: string
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export interface WxWebTimelineShareOptions extends WxWebShareCallbacks {
|
|
72
|
+
title: string
|
|
73
|
+
link: string
|
|
74
|
+
imgUrl?: string
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export interface WxWeb {
|
|
78
|
+
ready(callback: () => void): void
|
|
79
|
+
error(callback: (error: WxJsSdkError) => void): void
|
|
80
|
+
updateAppMessageShareData?(options: WxWebShareOptions): void
|
|
81
|
+
updateTimelineShareData?(options: WxWebTimelineShareOptions): void
|
|
82
|
+
onMenuShareAppMessage?(options: WxWebShareOptions): void
|
|
83
|
+
onMenuShareTimeline?(options: WxWebTimelineShareOptions): void
|
|
49
84
|
}
|