@sunggang/ui-lib 0.1.88 → 0.1.90
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/index.esm.js +1 -1
- package/index.esm2.js +143 -143
- package/index.esm3.js +1 -1
- package/package.json +1 -1
- package/src/lib/Function/Hook/useLiff.d.ts +2 -2
- package/src/lib/Function/index.d.ts +2 -2
- package/src/utils/hooks/index.d.ts +1 -1
- package/src/utils/hooks/useLiff.d.ts +2 -2
package/index.esm.js
CHANGED
|
@@ -20,7 +20,6 @@ import 'date-fns/format/index.js';
|
|
|
20
20
|
import '@tanstack/react-table';
|
|
21
21
|
import '@radix-ui/react-dropdown-menu';
|
|
22
22
|
import '@radix-ui/react-icons';
|
|
23
|
-
import 'crypto';
|
|
24
23
|
import 'util';
|
|
25
24
|
import 'stream';
|
|
26
25
|
import 'path';
|
|
@@ -33,3 +32,4 @@ import 'tty';
|
|
|
33
32
|
import 'os';
|
|
34
33
|
import 'zlib';
|
|
35
34
|
import 'events';
|
|
35
|
+
import 'crypto';
|
package/index.esm2.js
CHANGED
|
@@ -20,7 +20,6 @@ import format$1 from 'date-fns/format/index.js';
|
|
|
20
20
|
import { useReactTable, getCoreRowModel, getPaginationRowModel, getSortedRowModel, getFilteredRowModel, flexRender } from '@tanstack/react-table';
|
|
21
21
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
22
22
|
import { ChevronRightIcon, CheckIcon, DotFilledIcon } from '@radix-ui/react-icons';
|
|
23
|
-
import crypto$1 from 'crypto';
|
|
24
23
|
import require$$1, { TextEncoder as TextEncoder$1 } from 'util';
|
|
25
24
|
import stream, { Readable } from 'stream';
|
|
26
25
|
import require$$1$1 from 'path';
|
|
@@ -33,6 +32,7 @@ import require$$1$2 from 'tty';
|
|
|
33
32
|
import require$$0$2 from 'os';
|
|
34
33
|
import zlib from 'zlib';
|
|
35
34
|
import { EventEmitter } from 'events';
|
|
35
|
+
import crypto$1 from 'crypto';
|
|
36
36
|
|
|
37
37
|
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
38
38
|
function getDefaultExportFromCjs(x) {
|
|
@@ -81937,148 +81937,6 @@ var Regex = {
|
|
|
81937
81937
|
carrier: carrier
|
|
81938
81938
|
};
|
|
81939
81939
|
|
|
81940
|
-
var verifyTaiwanIdIntermediateString = function(input) {
|
|
81941
|
-
var idArray = input.split("");
|
|
81942
|
-
var intRadix = 10;
|
|
81943
|
-
var TAIWAN_ID_LOCALE_CODE_LIST = [
|
|
81944
|
-
1,
|
|
81945
|
-
10,
|
|
81946
|
-
19,
|
|
81947
|
-
28,
|
|
81948
|
-
37,
|
|
81949
|
-
46,
|
|
81950
|
-
55,
|
|
81951
|
-
64,
|
|
81952
|
-
39,
|
|
81953
|
-
73,
|
|
81954
|
-
82,
|
|
81955
|
-
2,
|
|
81956
|
-
11,
|
|
81957
|
-
20,
|
|
81958
|
-
48,
|
|
81959
|
-
29,
|
|
81960
|
-
38,
|
|
81961
|
-
47,
|
|
81962
|
-
56,
|
|
81963
|
-
65,
|
|
81964
|
-
74,
|
|
81965
|
-
83,
|
|
81966
|
-
21,
|
|
81967
|
-
3,
|
|
81968
|
-
12,
|
|
81969
|
-
30
|
|
81970
|
-
];
|
|
81971
|
-
var RESIDENT_CERTIFICATE_NUMBER_LIST = [
|
|
81972
|
-
"0",
|
|
81973
|
-
"1",
|
|
81974
|
-
"2",
|
|
81975
|
-
"3",
|
|
81976
|
-
"4",
|
|
81977
|
-
"5",
|
|
81978
|
-
"6",
|
|
81979
|
-
"7",
|
|
81980
|
-
"4",
|
|
81981
|
-
"8",
|
|
81982
|
-
"9",
|
|
81983
|
-
"0",
|
|
81984
|
-
"1",
|
|
81985
|
-
"2",
|
|
81986
|
-
"5",
|
|
81987
|
-
"3",
|
|
81988
|
-
"4",
|
|
81989
|
-
"5",
|
|
81990
|
-
"6",
|
|
81991
|
-
"7",
|
|
81992
|
-
"8",
|
|
81993
|
-
"9",
|
|
81994
|
-
"2",
|
|
81995
|
-
"0",
|
|
81996
|
-
"1",
|
|
81997
|
-
"3"
|
|
81998
|
-
];
|
|
81999
|
-
// if is not a number (居留證編號)
|
|
82000
|
-
// eslint-disable-next-line no-restricted-globals
|
|
82001
|
-
if (isNaN(parseInt(idArray[1], intRadix))) {
|
|
82002
|
-
idArray[1] = RESIDENT_CERTIFICATE_NUMBER_LIST[input.charCodeAt(1) - "A".charCodeAt(0)];
|
|
82003
|
-
}
|
|
82004
|
-
var result = idArray.reduce(function(sum, n, index) {
|
|
82005
|
-
if (index === 0) {
|
|
82006
|
-
return sum + TAIWAN_ID_LOCALE_CODE_LIST[idArray[0].charCodeAt(0) - "A".charCodeAt(0)];
|
|
82007
|
-
}
|
|
82008
|
-
if (index === 9) {
|
|
82009
|
-
return sum + parseInt(idArray[9], intRadix);
|
|
82010
|
-
}
|
|
82011
|
-
return sum + parseInt(idArray[index], intRadix) * (9 - index);
|
|
82012
|
-
}, 0);
|
|
82013
|
-
if (result % 10 === 0) {
|
|
82014
|
-
return true;
|
|
82015
|
-
}
|
|
82016
|
-
return false;
|
|
82017
|
-
};
|
|
82018
|
-
var verifyId = function(input) {
|
|
82019
|
-
var regex = /^[A-Z][1,2,8,9]\d{8}$/;
|
|
82020
|
-
if (!regex.test(input)) {
|
|
82021
|
-
return false;
|
|
82022
|
-
}
|
|
82023
|
-
return verifyTaiwanIdIntermediateString(input);
|
|
82024
|
-
};
|
|
82025
|
-
var verifyTaxId = function(idStr) {
|
|
82026
|
-
var regex = /^\d{8}$/;
|
|
82027
|
-
if (!regex.test(idStr)) {
|
|
82028
|
-
console.log("Fail, 長度錯誤");
|
|
82029
|
-
return false;
|
|
82030
|
-
}
|
|
82031
|
-
var len = 8;
|
|
82032
|
-
var idArray = new Array(len);
|
|
82033
|
-
var weight = [
|
|
82034
|
-
1,
|
|
82035
|
-
2,
|
|
82036
|
-
1,
|
|
82037
|
-
2,
|
|
82038
|
-
1,
|
|
82039
|
-
2,
|
|
82040
|
-
4,
|
|
82041
|
-
1
|
|
82042
|
-
];
|
|
82043
|
-
var sum = 0;
|
|
82044
|
-
// eslint-disable-next-line no-plusplus
|
|
82045
|
-
for(var i = 0; i < len; i++){
|
|
82046
|
-
idArray[i] = parseInt(idStr[i], 10);
|
|
82047
|
-
var p = idArray[i] * weight[i];
|
|
82048
|
-
var s = Math.floor(p / 10) + p % 10;
|
|
82049
|
-
sum += s;
|
|
82050
|
-
}
|
|
82051
|
-
var checkNumber = 5;
|
|
82052
|
-
var isLegal = sum % checkNumber === 0 || (sum + 1) % checkNumber === 0 && idArray[6] === 7;
|
|
82053
|
-
if (!isLegal) {
|
|
82054
|
-
console.log("Fail, 不合法的統一編號驗證");
|
|
82055
|
-
}
|
|
82056
|
-
return isLegal;
|
|
82057
|
-
};
|
|
82058
|
-
|
|
82059
|
-
var decryptByEcPay = function(data, hashKey, hashIV) {
|
|
82060
|
-
var decipher = crypto$1.createDecipheriv("aes-128-cbc", Buffer.from(hashKey), Buffer.from(hashIV));
|
|
82061
|
-
decipher.setAutoPadding(true); // 使用 PKCS7 填充模式
|
|
82062
|
-
var decrypted = decipher.update(data, "base64", "utf8");
|
|
82063
|
-
decrypted += decipher.final("utf8");
|
|
82064
|
-
// 步驟 3: 解析解密後的資料
|
|
82065
|
-
var decodedData = decodeURIComponent(decrypted);
|
|
82066
|
-
var decoded = JSON.parse(decodedData);
|
|
82067
|
-
return decoded;
|
|
82068
|
-
};
|
|
82069
|
-
var encryptByEcPay = function(data, hashKey, hashIV) {
|
|
82070
|
-
// 步驟 1: 轉換資料為 JSON 字串
|
|
82071
|
-
var jsonData = JSON.stringify(data);
|
|
82072
|
-
// 步驟 2: URLEncode 編碼
|
|
82073
|
-
var urlEncodedData = window.encodeURIComponent(jsonData);
|
|
82074
|
-
// 步驟 3: AES 加密
|
|
82075
|
-
var cipher = crypto$1.createCipheriv("aes-128-cbc", Buffer.from(hashKey), Buffer.from(hashIV));
|
|
82076
|
-
cipher.setAutoPadding(true); // 使用 PKCS7 填充模式
|
|
82077
|
-
var encrypted = cipher.update(urlEncodedData, "utf8", "base64");
|
|
82078
|
-
encrypted += cipher.final("base64");
|
|
82079
|
-
return encrypted;
|
|
82080
|
-
};
|
|
82081
|
-
|
|
82082
81940
|
function bind(fn, thisArg) {
|
|
82083
81941
|
return function wrap() {
|
|
82084
81942
|
return fn.apply(thisArg, arguments);
|
|
@@ -102792,6 +102650,148 @@ var useLiff = function(publickLiffId, localStorageToken, loginFunc, checkTokenUr
|
|
|
102792
102650
|
};
|
|
102793
102651
|
};
|
|
102794
102652
|
|
|
102653
|
+
var verifyTaiwanIdIntermediateString = function(input) {
|
|
102654
|
+
var idArray = input.split("");
|
|
102655
|
+
var intRadix = 10;
|
|
102656
|
+
var TAIWAN_ID_LOCALE_CODE_LIST = [
|
|
102657
|
+
1,
|
|
102658
|
+
10,
|
|
102659
|
+
19,
|
|
102660
|
+
28,
|
|
102661
|
+
37,
|
|
102662
|
+
46,
|
|
102663
|
+
55,
|
|
102664
|
+
64,
|
|
102665
|
+
39,
|
|
102666
|
+
73,
|
|
102667
|
+
82,
|
|
102668
|
+
2,
|
|
102669
|
+
11,
|
|
102670
|
+
20,
|
|
102671
|
+
48,
|
|
102672
|
+
29,
|
|
102673
|
+
38,
|
|
102674
|
+
47,
|
|
102675
|
+
56,
|
|
102676
|
+
65,
|
|
102677
|
+
74,
|
|
102678
|
+
83,
|
|
102679
|
+
21,
|
|
102680
|
+
3,
|
|
102681
|
+
12,
|
|
102682
|
+
30
|
|
102683
|
+
];
|
|
102684
|
+
var RESIDENT_CERTIFICATE_NUMBER_LIST = [
|
|
102685
|
+
"0",
|
|
102686
|
+
"1",
|
|
102687
|
+
"2",
|
|
102688
|
+
"3",
|
|
102689
|
+
"4",
|
|
102690
|
+
"5",
|
|
102691
|
+
"6",
|
|
102692
|
+
"7",
|
|
102693
|
+
"4",
|
|
102694
|
+
"8",
|
|
102695
|
+
"9",
|
|
102696
|
+
"0",
|
|
102697
|
+
"1",
|
|
102698
|
+
"2",
|
|
102699
|
+
"5",
|
|
102700
|
+
"3",
|
|
102701
|
+
"4",
|
|
102702
|
+
"5",
|
|
102703
|
+
"6",
|
|
102704
|
+
"7",
|
|
102705
|
+
"8",
|
|
102706
|
+
"9",
|
|
102707
|
+
"2",
|
|
102708
|
+
"0",
|
|
102709
|
+
"1",
|
|
102710
|
+
"3"
|
|
102711
|
+
];
|
|
102712
|
+
// if is not a number (居留證編號)
|
|
102713
|
+
// eslint-disable-next-line no-restricted-globals
|
|
102714
|
+
if (isNaN(parseInt(idArray[1], intRadix))) {
|
|
102715
|
+
idArray[1] = RESIDENT_CERTIFICATE_NUMBER_LIST[input.charCodeAt(1) - "A".charCodeAt(0)];
|
|
102716
|
+
}
|
|
102717
|
+
var result = idArray.reduce(function(sum, n, index) {
|
|
102718
|
+
if (index === 0) {
|
|
102719
|
+
return sum + TAIWAN_ID_LOCALE_CODE_LIST[idArray[0].charCodeAt(0) - "A".charCodeAt(0)];
|
|
102720
|
+
}
|
|
102721
|
+
if (index === 9) {
|
|
102722
|
+
return sum + parseInt(idArray[9], intRadix);
|
|
102723
|
+
}
|
|
102724
|
+
return sum + parseInt(idArray[index], intRadix) * (9 - index);
|
|
102725
|
+
}, 0);
|
|
102726
|
+
if (result % 10 === 0) {
|
|
102727
|
+
return true;
|
|
102728
|
+
}
|
|
102729
|
+
return false;
|
|
102730
|
+
};
|
|
102731
|
+
var verifyId = function(input) {
|
|
102732
|
+
var regex = /^[A-Z][1,2,8,9]\d{8}$/;
|
|
102733
|
+
if (!regex.test(input)) {
|
|
102734
|
+
return false;
|
|
102735
|
+
}
|
|
102736
|
+
return verifyTaiwanIdIntermediateString(input);
|
|
102737
|
+
};
|
|
102738
|
+
var verifyTaxId = function(idStr) {
|
|
102739
|
+
var regex = /^\d{8}$/;
|
|
102740
|
+
if (!regex.test(idStr)) {
|
|
102741
|
+
console.log("Fail, 長度錯誤");
|
|
102742
|
+
return false;
|
|
102743
|
+
}
|
|
102744
|
+
var len = 8;
|
|
102745
|
+
var idArray = new Array(len);
|
|
102746
|
+
var weight = [
|
|
102747
|
+
1,
|
|
102748
|
+
2,
|
|
102749
|
+
1,
|
|
102750
|
+
2,
|
|
102751
|
+
1,
|
|
102752
|
+
2,
|
|
102753
|
+
4,
|
|
102754
|
+
1
|
|
102755
|
+
];
|
|
102756
|
+
var sum = 0;
|
|
102757
|
+
// eslint-disable-next-line no-plusplus
|
|
102758
|
+
for(var i = 0; i < len; i++){
|
|
102759
|
+
idArray[i] = parseInt(idStr[i], 10);
|
|
102760
|
+
var p = idArray[i] * weight[i];
|
|
102761
|
+
var s = Math.floor(p / 10) + p % 10;
|
|
102762
|
+
sum += s;
|
|
102763
|
+
}
|
|
102764
|
+
var checkNumber = 5;
|
|
102765
|
+
var isLegal = sum % checkNumber === 0 || (sum + 1) % checkNumber === 0 && idArray[6] === 7;
|
|
102766
|
+
if (!isLegal) {
|
|
102767
|
+
console.log("Fail, 不合法的統一編號驗證");
|
|
102768
|
+
}
|
|
102769
|
+
return isLegal;
|
|
102770
|
+
};
|
|
102771
|
+
|
|
102772
|
+
var decryptByEcPay = function(data, hashKey, hashIV) {
|
|
102773
|
+
var decipher = crypto$1.createDecipheriv("aes-128-cbc", Buffer.from(hashKey), Buffer.from(hashIV));
|
|
102774
|
+
decipher.setAutoPadding(true); // 使用 PKCS7 填充模式
|
|
102775
|
+
var decrypted = decipher.update(data, "base64", "utf8");
|
|
102776
|
+
decrypted += decipher.final("utf8");
|
|
102777
|
+
// 步驟 3: 解析解密後的資料
|
|
102778
|
+
var decodedData = decodeURIComponent(decrypted);
|
|
102779
|
+
var decoded = JSON.parse(decodedData);
|
|
102780
|
+
return decoded;
|
|
102781
|
+
};
|
|
102782
|
+
var encryptByEcPay = function(data, hashKey, hashIV) {
|
|
102783
|
+
// 步驟 1: 轉換資料為 JSON 字串
|
|
102784
|
+
var jsonData = JSON.stringify(data);
|
|
102785
|
+
// 步驟 2: URLEncode 編碼
|
|
102786
|
+
var urlEncodedData = window.encodeURIComponent(jsonData);
|
|
102787
|
+
// 步驟 3: AES 加密
|
|
102788
|
+
var cipher = crypto$1.createCipheriv("aes-128-cbc", Buffer.from(hashKey), Buffer.from(hashIV));
|
|
102789
|
+
cipher.setAutoPadding(true); // 使用 PKCS7 填充模式
|
|
102790
|
+
var encrypted = cipher.update(urlEncodedData, "utf8", "base64");
|
|
102791
|
+
encrypted += cipher.final("base64");
|
|
102792
|
+
return encrypted;
|
|
102793
|
+
};
|
|
102794
|
+
|
|
102795
102795
|
function _objectWithoutProperties(e, t) {
|
|
102796
102796
|
if (null == e) return {};
|
|
102797
102797
|
var o, r, i = _objectWithoutPropertiesLoose(e, t);
|
package/index.esm3.js
CHANGED
|
@@ -20,7 +20,6 @@ import 'date-fns/format/index.js';
|
|
|
20
20
|
import '@tanstack/react-table';
|
|
21
21
|
import '@radix-ui/react-dropdown-menu';
|
|
22
22
|
import '@radix-ui/react-icons';
|
|
23
|
-
import 'crypto';
|
|
24
23
|
import 'util';
|
|
25
24
|
import 'stream';
|
|
26
25
|
import 'path';
|
|
@@ -33,6 +32,7 @@ import 'tty';
|
|
|
33
32
|
import 'os';
|
|
34
33
|
import 'zlib';
|
|
35
34
|
import 'events';
|
|
35
|
+
import 'crypto';
|
|
36
36
|
|
|
37
37
|
/* eslint-disable no-prototype-builtins */ function _instanceof$4(left, right) {
|
|
38
38
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
package/package.json
CHANGED
|
@@ -22,5 +22,5 @@ interface UseLiffResult {
|
|
|
22
22
|
userInfo: UserInfo | null;
|
|
23
23
|
loginAuth: LoginAuth | null;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
export
|
|
25
|
+
declare const useLiff: (publickLiffId: string, localStorageToken: string, loginFunc: (loginToken: string) => string, checkTokenUrl: string, memberInfoUrl: string) => UseLiffResult;
|
|
26
|
+
export default useLiff;
|
|
@@ -22,5 +22,5 @@ interface UseLiffResult {
|
|
|
22
22
|
userInfo: UserInfo | null;
|
|
23
23
|
loginAuth: LoginAuth | null;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
export
|
|
25
|
+
declare const useLiff: (publickLiffId: string, localStorageToken: string, loginFunc: (loginToken: string) => string, checkTokenUrl: string, memberInfoUrl: string) => UseLiffResult;
|
|
26
|
+
export default useLiff;
|