zcw-shared 1.49.4 → 2.1.0
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 +9 -0
- package/dist/functions/deploy/publishToPgyer.d.ts +16 -0
- package/dist/functions/deploy/publishToPgyer.js +96 -0
- package/dist/functions/deploy/publishToPgyer.js.map +1 -0
- package/dist/functions/fake/generateFakeBankCard.d.ts +87 -0
- package/dist/functions/fake/generateFakeBankCard.js +152 -0
- package/dist/functions/fake/generateFakeBankCard.js.map +1 -0
- package/dist/functions/fake/generateFakeBusinessLicense.d.ts +21 -0
- package/dist/functions/fake/generateFakeBusinessLicense.js +160 -0
- package/dist/functions/fake/generateFakeBusinessLicense.js.map +1 -0
- package/dist/functions/fake/generateFakeDrivingLicense.d.ts +31 -0
- package/dist/functions/fake/generateFakeDrivingLicense.js +119 -0
- package/dist/functions/fake/generateFakeDrivingLicense.js.map +1 -0
- package/dist/functions/fake/generateFakeIdCard.d.ts +30 -0
- package/dist/functions/fake/generateFakeIdCard.js +123 -0
- package/dist/functions/fake/generateFakeIdCard.js.map +1 -0
- package/dist/functions/fake/generateFakeLicensePlate.d.ts +13 -0
- package/dist/functions/fake/generateFakeLicensePlate.js +87 -0
- package/dist/functions/fake/generateFakeLicensePlate.js.map +1 -0
- package/dist/functions/file/getIconfontNameByExtension.d.ts +7 -0
- package/dist/functions/file/getIconfontNameByExtension.js +140 -0
- package/dist/functions/file/getIconfontNameByExtension.js.map +1 -0
- package/dist/functions/image/renderBankCard.d.ts +1 -1
- package/dist/functions/image/renderBusinessLicense.d.ts +1 -1
- package/dist/functions/image/renderDrivingLicense.d.ts +1 -1
- package/dist/functions/image/renderIdCard.d.ts +1 -1
- package/dist/functions/image/renderLicensePlate.d.ts +1 -1
- package/dist/functions/qiankun/createQiankunVueApp.d.ts +17 -0
- package/dist/functions/qiankun/createQiankunVueApp.js +40 -0
- package/dist/functions/qiankun/createQiankunVueApp.js.map +1 -0
- package/dist/functions/uniapp/api/audio.d.ts +28 -0
- package/dist/functions/uniapp/api/audio.js +49 -0
- package/dist/functions/uniapp/api/audio.js.map +1 -0
- package/dist/functions/uniapp/api/auth.d.ts +44 -0
- package/dist/functions/uniapp/api/auth.js +59 -0
- package/dist/functions/uniapp/api/auth.js.map +1 -0
- package/dist/functions/uniapp/api/dom.d.ts +2 -0
- package/dist/functions/uniapp/api/dom.js +7 -0
- package/dist/functions/uniapp/api/dom.js.map +1 -0
- package/dist/functions/uniapp/api/index.d.ts +10 -0
- package/dist/functions/uniapp/api/index.js +11 -0
- package/dist/functions/uniapp/api/index.js.map +1 -0
- package/dist/functions/uniapp/api/media.d.ts +13 -0
- package/dist/functions/uniapp/api/media.js +16 -0
- package/dist/functions/uniapp/api/media.js.map +1 -0
- package/dist/functions/uniapp/api/navigation.d.ts +12 -0
- package/dist/functions/uniapp/api/navigation.js +72 -0
- package/dist/functions/uniapp/api/navigation.js.map +1 -0
- package/dist/functions/uniapp/api/network.d.ts +40 -0
- package/dist/functions/uniapp/api/network.js +60 -0
- package/dist/functions/uniapp/api/network.js.map +1 -0
- package/dist/functions/uniapp/api/storage.d.ts +7 -0
- package/dist/functions/uniapp/api/storage.js +84 -0
- package/dist/functions/uniapp/api/storage.js.map +1 -0
- package/dist/functions/uniapp/api/system.d.ts +54 -0
- package/dist/functions/uniapp/api/system.js +31 -0
- package/dist/functions/uniapp/api/system.js.map +1 -0
- package/dist/functions/uniapp/api/ui.d.ts +48 -0
- package/dist/functions/uniapp/api/ui.js +81 -0
- package/dist/functions/uniapp/api/ui.js.map +1 -0
- package/dist/functions/uniapp/app-plus/buildIOSApp.js +12 -0
- package/dist/functions/uniapp/app-plus/buildIOSApp.js.map +1 -1
- package/dist/functions/uniapp/platform.d.ts +16 -0
- package/dist/functions/uniapp/platform.js +112 -0
- package/dist/functions/uniapp/platform.js.map +1 -0
- package/dist/schemas/auth.schema.d.ts +368 -0
- package/dist/schemas/auth.schema.js +40 -0
- package/dist/schemas/auth.schema.js.map +1 -0
- package/dist/schemas/video.schema.d.ts +391 -0
- package/dist/schemas/video.schema.js +55 -0
- package/dist/schemas/video.schema.js.map +1 -0
- package/package.json +33 -7
- package/references/dom.d.ts +11 -0
- package/types/auth.d.ts +57 -0
- package/types/checkin-config.d.ts +28 -0
- package/types/cloud-disk-config.d.ts +36 -0
- package/types/music.d.ts +33 -0
- package/types/order.d.ts +61 -0
- package/types/points-config.d.ts +44 -0
- package/types/product.d.ts +41 -0
- package/types/uniapp-ios-build.d.ts +2 -0
- package/types/user.d.ts +36 -0
- package/types/video.d.ts +71 -0
|
@@ -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/fake/generateFakeDrivingLicense.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface GenerateFakeIdCardOptions {
|
|
2
|
+
gender?: 'male' | 'female';
|
|
3
|
+
birthYear?: number;
|
|
4
|
+
birthMonth?: number;
|
|
5
|
+
birthDay?: number;
|
|
6
|
+
provinceCode?: string;
|
|
7
|
+
nation?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface GeneratedIdCardProfile {
|
|
10
|
+
id: string;
|
|
11
|
+
birth: {
|
|
12
|
+
year: number;
|
|
13
|
+
month: number;
|
|
14
|
+
day: number;
|
|
15
|
+
ymd: string;
|
|
16
|
+
};
|
|
17
|
+
gender: 'male' | 'female';
|
|
18
|
+
nation: string;
|
|
19
|
+
areaCode: string;
|
|
20
|
+
address: {
|
|
21
|
+
province: string;
|
|
22
|
+
city: string;
|
|
23
|
+
county: string;
|
|
24
|
+
full: string;
|
|
25
|
+
};
|
|
26
|
+
issueAuthority: string;
|
|
27
|
+
validPeriod: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function generateFakeIdProfile(options?: GenerateFakeIdCardOptions): GeneratedIdCardProfile;
|
|
30
|
+
export declare function generateFakeIdCard(options?: GenerateFakeIdCardOptions): GeneratedIdCardProfile;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { randomRegion } from '../utils/randomRegion';
|
|
2
|
+
import regionData from '../../assets/region.json';
|
|
3
|
+
function getDaysInMonth(year, month) {
|
|
4
|
+
return new Date(year, month, 0).getDate();
|
|
5
|
+
}
|
|
6
|
+
function randomInt(min, max) {
|
|
7
|
+
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
8
|
+
}
|
|
9
|
+
function generateRandomDate(year, month, day) {
|
|
10
|
+
const currentYear = new Date().getFullYear();
|
|
11
|
+
const birthYear = year ?? randomInt(1950, currentYear);
|
|
12
|
+
const birthMonth = month ?? randomInt(1, 12);
|
|
13
|
+
const maxDay = getDaysInMonth(birthYear, birthMonth);
|
|
14
|
+
const birthDay = day ?? randomInt(1, maxDay);
|
|
15
|
+
return { year: birthYear, month: birthMonth, day: birthDay };
|
|
16
|
+
}
|
|
17
|
+
function calculateCheckCode(id17) {
|
|
18
|
+
const weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
|
|
19
|
+
const checkCodes = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
|
|
20
|
+
let sum = 0;
|
|
21
|
+
for (let i = 0; i < 17; i++) {
|
|
22
|
+
sum += parseInt(id17[i]) * weights[i];
|
|
23
|
+
}
|
|
24
|
+
return checkCodes[sum % 11];
|
|
25
|
+
}
|
|
26
|
+
function findRegionByCode(code) {
|
|
27
|
+
for (const province of regionData) {
|
|
28
|
+
if (province.code === code) {
|
|
29
|
+
return { provinceName: province.name, cityName: province.name, countyName: '' };
|
|
30
|
+
}
|
|
31
|
+
if (province.city) {
|
|
32
|
+
for (const city of province.city) {
|
|
33
|
+
if (city.code === code) {
|
|
34
|
+
return { provinceName: province.name, cityName: city.name, countyName: '' };
|
|
35
|
+
}
|
|
36
|
+
if (city.area) {
|
|
37
|
+
for (const county of city.area) {
|
|
38
|
+
if (county.code === code) {
|
|
39
|
+
return { provinceName: province.name, cityName: city.name, countyName: county.name };
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
function generateAreaCode6(areaCode) {
|
|
49
|
+
if (areaCode && areaCode.length === 6) {
|
|
50
|
+
const found = findRegionByCode(areaCode);
|
|
51
|
+
if (found) {
|
|
52
|
+
return { code: areaCode, ...found };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const result = randomRegion(regionData, areaCode);
|
|
56
|
+
let finalCode;
|
|
57
|
+
if (areaCode && areaCode.length === 6) {
|
|
58
|
+
finalCode = result.countyCode || result.cityCode || result.provinceCode;
|
|
59
|
+
}
|
|
60
|
+
else if (areaCode && areaCode.length === 4) {
|
|
61
|
+
finalCode = result.countyCode || result.cityCode || result.provinceCode;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
finalCode = result.countyCode || result.cityCode || result.provinceCode;
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
code: finalCode,
|
|
68
|
+
provinceName: result.province,
|
|
69
|
+
cityName: result.city || result.province,
|
|
70
|
+
countyName: result.county || ''
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function randomDateBetween(start, end) {
|
|
74
|
+
const t = start.getTime() + Math.random() * (end.getTime() - start.getTime());
|
|
75
|
+
return new Date(t);
|
|
76
|
+
}
|
|
77
|
+
export function generateFakeIdProfile(options = {}) {
|
|
78
|
+
const nation = options.nation ?? '汉';
|
|
79
|
+
const birth = generateRandomDate(options.birthYear, options.birthMonth, options.birthDay);
|
|
80
|
+
const area = generateAreaCode6(options.provinceCode);
|
|
81
|
+
const isMale = options.gender ? options.gender === 'male' : Math.random() > 0.5;
|
|
82
|
+
const seqLast = isMale ? (randomInt(1, 9) | 1) : (randomInt(0, 8) & ~1);
|
|
83
|
+
const sequence = `${String(randomInt(0, 99)).padStart(2, '0')}${seqLast}`;
|
|
84
|
+
const birthStr = `${birth.year}${String(birth.month).padStart(2, '0')}${String(birth.day).padStart(2, '0')}`;
|
|
85
|
+
const id17 = `${area.code}${birthStr}${sequence}`;
|
|
86
|
+
const checkCode = calculateCheckCode(id17);
|
|
87
|
+
const id = `${id17}${checkCode}`;
|
|
88
|
+
const today = new Date();
|
|
89
|
+
const earliestStart = new Date(birth.year + 18, 0, 1);
|
|
90
|
+
const latestStartYear = Math.min(birth.year + 28, today.getFullYear());
|
|
91
|
+
let latestStart = new Date(latestStartYear, 11, 31);
|
|
92
|
+
if (latestStart > today) {
|
|
93
|
+
latestStart = new Date(today.getTime());
|
|
94
|
+
}
|
|
95
|
+
const startDate = earliestStart > today ? new Date(today.getTime()) : randomDateBetween(earliestStart, latestStart);
|
|
96
|
+
const end = new Date(startDate);
|
|
97
|
+
end.setFullYear(startDate.getFullYear() + 20);
|
|
98
|
+
const fmt = (d) => `${d.getFullYear()}.${String(d.getMonth() + 1).padStart(2, '0')}.${String(d.getDate()).padStart(2, '0')}`;
|
|
99
|
+
const validPeriod = `${fmt(startDate)}-${fmt(end)}`;
|
|
100
|
+
const fullAddress = `${area.provinceName}${area.cityName}${area.countyName}XX路${randomInt(1, 999)}号`;
|
|
101
|
+
let issueAuthority;
|
|
102
|
+
if (area.cityName === area.provinceName) {
|
|
103
|
+
const directions = ['东', '西', '南', '北', '中'];
|
|
104
|
+
issueAuthority = `${area.cityName}公安局${directions[randomInt(0, directions.length - 1)]}城分局`;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
issueAuthority = `${area.provinceName}公安厅${area.cityName}公安局`;
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
id,
|
|
111
|
+
birth: { year: birth.year, month: birth.month, day: birth.day, ymd: `${birth.year}-${String(birth.month).padStart(2, '0')}-${String(birth.day).padStart(2, '0')}` },
|
|
112
|
+
gender: isMale ? 'male' : 'female',
|
|
113
|
+
nation,
|
|
114
|
+
areaCode: area.code,
|
|
115
|
+
address: { province: area.provinceName, city: area.cityName, county: area.countyName, full: fullAddress },
|
|
116
|
+
issueAuthority,
|
|
117
|
+
validPeriod
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
export function generateFakeIdCard(options = {}) {
|
|
121
|
+
return generateFakeIdProfile(options);
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=generateFakeIdCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateFakeIdCard.js","sourceRoot":"","sources":["../../../src/functions/fake/generateFakeIdCard.ts"],"names":[],"mappings":"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"}
|
|
@@ -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/fake/generateFakeLicensePlate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const extensionToMimeMap: Record<string, string>;
|
|
2
|
+
export declare const mimeToIconfontMap: Record<string, string>;
|
|
3
|
+
export interface GetIconfontNameByExtensionOptions {
|
|
4
|
+
defaultIcon?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function getIconfontNameByMime(mime: string | undefined | null, options?: GetIconfontNameByExtensionOptions): string;
|
|
7
|
+
export declare function getIconfontNameByExtension(filenameOrExtension: string, options?: GetIconfontNameByExtensionOptions): string;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { getFileExtension } from './getFileExtension';
|
|
2
|
+
export const extensionToMimeMap = {
|
|
3
|
+
pdf: 'application/pdf',
|
|
4
|
+
doc: 'application/msword',
|
|
5
|
+
docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
6
|
+
ppt: 'application/vnd.ms-powerpoint',
|
|
7
|
+
pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
|
8
|
+
xls: 'application/vnd.ms-excel',
|
|
9
|
+
xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
10
|
+
csv: 'text/csv',
|
|
11
|
+
txt: 'text/plain',
|
|
12
|
+
log: 'text/plain',
|
|
13
|
+
md: 'text/markdown',
|
|
14
|
+
json: 'application/json',
|
|
15
|
+
zip: 'application/zip',
|
|
16
|
+
rar: 'application/x-rar-compressed',
|
|
17
|
+
'7z': 'application/x-7z-compressed',
|
|
18
|
+
tar: 'application/x-tar',
|
|
19
|
+
gz: 'application/gzip',
|
|
20
|
+
png: 'image/png',
|
|
21
|
+
jpg: 'image/jpeg',
|
|
22
|
+
jpeg: 'image/jpeg',
|
|
23
|
+
jpe: 'image/jpeg',
|
|
24
|
+
gif: 'image/gif',
|
|
25
|
+
bmp: 'image/bmp',
|
|
26
|
+
webp: 'image/webp',
|
|
27
|
+
svg: 'image/svg+xml',
|
|
28
|
+
mp3: 'audio/mpeg',
|
|
29
|
+
wav: 'audio/wav',
|
|
30
|
+
flac: 'audio/flac',
|
|
31
|
+
aac: 'audio/aac',
|
|
32
|
+
ogg: 'audio/ogg',
|
|
33
|
+
mp4: 'video/mp4',
|
|
34
|
+
mov: 'video/quicktime',
|
|
35
|
+
avi: 'video/x-msvideo',
|
|
36
|
+
mkv: 'video/x-matroska',
|
|
37
|
+
webm: 'video/webm',
|
|
38
|
+
psd: 'application/x-photoshop',
|
|
39
|
+
ai: 'application/postscript',
|
|
40
|
+
xd: 'application/vnd.adobe.xd',
|
|
41
|
+
aep: 'application/vnd.adobe.aftereffects.project',
|
|
42
|
+
prproj: 'application/vnd.adobe.premiere.project',
|
|
43
|
+
epub: 'application/epub+zip',
|
|
44
|
+
mobi: 'application/x-mobipocket-ebook',
|
|
45
|
+
azw3: 'application/vnd.amazon.ebook',
|
|
46
|
+
xmind: 'application/xmind',
|
|
47
|
+
};
|
|
48
|
+
export const mimeToIconfontMap = {
|
|
49
|
+
'application/pdf': 'PDF',
|
|
50
|
+
'application/msword': 'Doc',
|
|
51
|
+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'Doc',
|
|
52
|
+
'application/vnd.ms-powerpoint': 'PPT',
|
|
53
|
+
'application/vnd.openxmlformats-officedocument.presentationml.presentation': 'PPT',
|
|
54
|
+
'application/vnd.ms-excel': 'Excel',
|
|
55
|
+
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'Excel',
|
|
56
|
+
'text/csv': 'Excel',
|
|
57
|
+
'text/plain': 'TXT',
|
|
58
|
+
'text/markdown': 'TXT',
|
|
59
|
+
'application/json': 'TXT',
|
|
60
|
+
'application/zip': 'Zip',
|
|
61
|
+
'application/x-rar-compressed': 'Zip',
|
|
62
|
+
'application/x-7z-compressed': 'Zip',
|
|
63
|
+
'application/x-tar': 'Zip',
|
|
64
|
+
'application/gzip': 'Zip',
|
|
65
|
+
'image/png': 'tupian',
|
|
66
|
+
'image/jpeg': 'tupian',
|
|
67
|
+
'image/bmp': 'tupian',
|
|
68
|
+
'image/webp': 'tupian',
|
|
69
|
+
'image/gif': 'Gif',
|
|
70
|
+
'image/svg+xml': 'Svg',
|
|
71
|
+
'audio/mpeg': 'Mp3',
|
|
72
|
+
'audio/wav': 'Wav',
|
|
73
|
+
'audio/flac': 'Mp3',
|
|
74
|
+
'audio/aac': 'Mp3',
|
|
75
|
+
'audio/ogg': 'Mp3',
|
|
76
|
+
'video/mp4': 'Mov',
|
|
77
|
+
'video/quicktime': 'Mov',
|
|
78
|
+
'video/x-msvideo': 'Mov',
|
|
79
|
+
'video/x-matroska': 'Mov',
|
|
80
|
+
'video/webm': 'Mov',
|
|
81
|
+
'application/x-photoshop': 'Ps',
|
|
82
|
+
'application/postscript': 'Ai',
|
|
83
|
+
'application/vnd.adobe.xd': 'Xd',
|
|
84
|
+
'application/vnd.adobe.aftereffects.project': 'Ae',
|
|
85
|
+
'application/vnd.adobe.premiere.project': 'Pr',
|
|
86
|
+
'application/epub+zip': 'tushu',
|
|
87
|
+
'application/x-mobipocket-ebook': 'tushu',
|
|
88
|
+
'application/vnd.amazon.ebook': 'tushu',
|
|
89
|
+
'application/xmind': 'siweidaotu',
|
|
90
|
+
};
|
|
91
|
+
export function getIconfontNameByMime(mime, options = {}) {
|
|
92
|
+
const { defaultIcon = 'others' } = options;
|
|
93
|
+
if (!mime)
|
|
94
|
+
return defaultIcon;
|
|
95
|
+
const normalized = mime.toLowerCase().trim();
|
|
96
|
+
if (mimeToIconfontMap[normalized]) {
|
|
97
|
+
return mimeToIconfontMap[normalized];
|
|
98
|
+
}
|
|
99
|
+
if (normalized.startsWith('image/'))
|
|
100
|
+
return 'tupian';
|
|
101
|
+
if (normalized.startsWith('audio/'))
|
|
102
|
+
return 'Mp3';
|
|
103
|
+
if (normalized.startsWith('video/'))
|
|
104
|
+
return 'Mov';
|
|
105
|
+
if (normalized.startsWith('text/'))
|
|
106
|
+
return 'TXT';
|
|
107
|
+
return defaultIcon;
|
|
108
|
+
}
|
|
109
|
+
export function getIconfontNameByExtension(filenameOrExtension, options = {}) {
|
|
110
|
+
const { defaultIcon = 'others' } = options;
|
|
111
|
+
if (!filenameOrExtension)
|
|
112
|
+
return defaultIcon;
|
|
113
|
+
let ext = getFileExtension(filenameOrExtension, { lowercase: true });
|
|
114
|
+
if (!ext) {
|
|
115
|
+
ext = filenameOrExtension.trim().toLowerCase();
|
|
116
|
+
if (ext.startsWith('.')) {
|
|
117
|
+
ext = ext.slice(1);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (!ext)
|
|
121
|
+
return defaultIcon;
|
|
122
|
+
const mime = extensionToMimeMap[ext];
|
|
123
|
+
if (mime) {
|
|
124
|
+
return getIconfontNameByMime(mime, options);
|
|
125
|
+
}
|
|
126
|
+
if (['png', 'jpg', 'jpeg', 'jpe', 'bmp', 'webp', 'gif', 'svg'].includes(ext)) {
|
|
127
|
+
return ext === 'gif' ? 'Gif' : ext === 'svg' ? 'Svg' : 'tupian';
|
|
128
|
+
}
|
|
129
|
+
if (['mp3', 'flac', 'aac', 'ogg'].includes(ext)) {
|
|
130
|
+
return ext === 'wav' ? 'Wav' : 'Mp3';
|
|
131
|
+
}
|
|
132
|
+
if (['mp4', 'mov', 'avi', 'mkv', 'webm'].includes(ext)) {
|
|
133
|
+
return 'Mov';
|
|
134
|
+
}
|
|
135
|
+
if (['zip', 'rar', '7z', 'tar', 'gz'].includes(ext)) {
|
|
136
|
+
return 'Zip';
|
|
137
|
+
}
|
|
138
|
+
return defaultIcon;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=getIconfontNameByExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getIconfontNameByExtension.js","sourceRoot":"","sources":["../../../src/functions/file/getIconfontNameByExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GeneratedBankCardProfile } from '../
|
|
1
|
+
import type { GeneratedBankCardProfile } from '../fake/generateFakeBankCard';
|
|
2
2
|
type CanvasTextBaseline = 'top' | 'hanging' | 'middle' | 'alphabetic' | 'ideographic' | 'bottom';
|
|
3
3
|
type CanvasTextAlign = 'left' | 'right' | 'center' | 'start' | 'end';
|
|
4
4
|
export interface RenderBankCardOptions {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GeneratedBusinessLicenseProfile } from '../
|
|
1
|
+
import type { GeneratedBusinessLicenseProfile } from '../fake/generateFakeBusinessLicense';
|
|
2
2
|
import type { Window } from '../../../references/browser.d';
|
|
3
3
|
export interface RenderBusinessLicenseOptions {
|
|
4
4
|
companyName?: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GeneratedDrivingLicenseProfile } from '../
|
|
1
|
+
import type { GeneratedDrivingLicenseProfile } from '../fake/generateFakeDrivingLicense';
|
|
2
2
|
import type { Window } from '../../../references/browser.d';
|
|
3
3
|
export interface RenderDrivingLicenseOptions {
|
|
4
4
|
owner?: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GeneratedIdCardProfile } from '../
|
|
1
|
+
import type { GeneratedIdCardProfile } from '../fake/generateFakeIdCard';
|
|
2
2
|
import type { Window } from '../../../references/browser.d';
|
|
3
3
|
export interface RenderIdCardOptions {
|
|
4
4
|
name?: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GeneratedLicensePlateProfile } from '../
|
|
1
|
+
import type { GeneratedLicensePlateProfile } from '../fake/generateFakeLicensePlate';
|
|
2
2
|
export interface RenderLicensePlateOptions {
|
|
3
3
|
plate?: string;
|
|
4
4
|
type?: 'normal' | 'newEnergy';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface QiankunProps {
|
|
2
|
+
container?: unknown;
|
|
3
|
+
routerBase?: string;
|
|
4
|
+
[key: string]: unknown;
|
|
5
|
+
}
|
|
6
|
+
export interface CreateQiankunVueAppOptions {
|
|
7
|
+
App: any;
|
|
8
|
+
createAppRouter: (routerBase?: string) => any;
|
|
9
|
+
createApp: (rootComponent: any) => any;
|
|
10
|
+
createPinia: () => any;
|
|
11
|
+
document: any;
|
|
12
|
+
renderWithQiankun: (lifecycle: any) => void;
|
|
13
|
+
qiankunWindow: {
|
|
14
|
+
__POWERED_BY_QIANKUN__?: boolean;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export declare function createQiankunVueApp(options: CreateQiankunVueAppOptions): void;
|