zcw-shared 2.8.0 → 2.10.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/dist/functions/file/getIconfontNameByExtension.js +8 -8
- package/dist/functions/file/getIconfontNameByExtension.js.map +1 -1
- package/package.json +1 -1
- package/types/im-api.d.ts +7 -3
- package/types/im-chat.d.ts +7 -5
- package/dist/functions/api/auth.d.ts +0 -14
- package/dist/functions/api/auth.js +0 -109
- package/dist/functions/api/auth.js.map +0 -1
- package/dist/functions/api/schemas/auth.schema.d.ts +0 -363
- package/dist/functions/api/schemas/auth.schema.js +0 -39
- package/dist/functions/api/schemas/auth.schema.js.map +0 -1
- package/dist/functions/api/schemas/video.schema.d.ts +0 -391
- package/dist/functions/api/schemas/video.schema.js +0 -55
- package/dist/functions/api/schemas/video.schema.js.map +0 -1
- package/dist/functions/api/video.d.ts +0 -62
- package/dist/functions/api/video.js +0 -243
- package/dist/functions/api/video.js.map +0 -1
- package/dist/functions/oss/uploadViaSignedPut.d.ts +0 -35
- package/dist/functions/oss/uploadViaSignedPut.js +0 -86
- package/dist/functions/oss/uploadViaSignedPut.js.map +0 -1
- package/dist/functions/software/publishToPgyer.d.ts +0 -16
- package/dist/functions/software/publishToPgyer.js +0 -96
- package/dist/functions/software/publishToPgyer.js.map +0 -1
- package/dist/functions/validation/generateFakeBankCard.d.ts +0 -87
- package/dist/functions/validation/generateFakeBankCard.js +0 -152
- package/dist/functions/validation/generateFakeBankCard.js.map +0 -1
- package/dist/functions/validation/generateFakeBusinessLicense.d.ts +0 -21
- package/dist/functions/validation/generateFakeBusinessLicense.js +0 -160
- package/dist/functions/validation/generateFakeBusinessLicense.js.map +0 -1
- package/dist/functions/validation/generateFakeDrivingLicense.d.ts +0 -31
- package/dist/functions/validation/generateFakeDrivingLicense.js +0 -119
- package/dist/functions/validation/generateFakeDrivingLicense.js.map +0 -1
- package/dist/functions/validation/generateFakeIdCard.d.ts +0 -30
- package/dist/functions/validation/generateFakeIdCard.js +0 -123
- package/dist/functions/validation/generateFakeIdCard.js.map +0 -1
- package/dist/functions/validation/generateFakeLicensePlate.d.ts +0 -13
- package/dist/functions/validation/generateFakeLicensePlate.js +0 -87
- package/dist/functions/validation/generateFakeLicensePlate.js.map +0 -1
|
@@ -1,123 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateFakeIdCard.js","sourceRoot":"","sources":["../../../src/functions/validation/generateFakeIdCard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
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;
|
|
@@ -1,87 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateFakeLicensePlate.js","sourceRoot":"","sources":["../../../src/functions/validation/generateFakeLicensePlate.ts"],"names":[],"mappings":"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"}
|