@sunggang/ui-lib 0.3.52 → 0.3.53
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.esm2.js +101 -27
- package/package.json +1 -1
package/index.esm2.js
CHANGED
|
@@ -78640,6 +78640,30 @@ var LiffProvider = function(param) {
|
|
|
78640
78640
|
var _useState4 = _sliced_to_array(useState(null), 2), userInfo = _useState4[0], setUserInfo = _useState4[1];
|
|
78641
78641
|
var _useState5 = _sliced_to_array(useState(null), 2), isFriendship = _useState5[0], setFriendship = _useState5[1];
|
|
78642
78642
|
var _useState6 = _sliced_to_array(useState(null), 2), loginType = _useState6[0], setLoginType = _useState6[1];
|
|
78643
|
+
// userInfo 的 localStorage key
|
|
78644
|
+
var userInfoStorageKey = "".concat(localStorageKey, "-userInfo");
|
|
78645
|
+
// 從 localStorage 載入 userInfo
|
|
78646
|
+
var loadUserInfoFromStorage = function() {
|
|
78647
|
+
try {
|
|
78648
|
+
var storedUserInfo = window.localStorage.getItem(userInfoStorageKey);
|
|
78649
|
+
if (storedUserInfo) {
|
|
78650
|
+
var parsedUserInfo = JSON.parse(storedUserInfo);
|
|
78651
|
+
setUserInfo(parsedUserInfo);
|
|
78652
|
+
return parsedUserInfo;
|
|
78653
|
+
}
|
|
78654
|
+
} catch (err) {
|
|
78655
|
+
console.error("載入 userInfo 失敗:", err);
|
|
78656
|
+
}
|
|
78657
|
+
return null;
|
|
78658
|
+
};
|
|
78659
|
+
// 儲存 userInfo 到 localStorage
|
|
78660
|
+
var saveUserInfoToStorage = function(info) {
|
|
78661
|
+
try {
|
|
78662
|
+
window.localStorage.setItem(userInfoStorageKey, JSON.stringify(info));
|
|
78663
|
+
} catch (err) {
|
|
78664
|
+
console.error("儲存 userInfo 失敗:", err);
|
|
78665
|
+
}
|
|
78666
|
+
};
|
|
78643
78667
|
var fetchMemberInfo = function() {
|
|
78644
78668
|
var _ref = _async_to_generator(function(token) {
|
|
78645
78669
|
var response, err;
|
|
@@ -78665,7 +78689,9 @@ var LiffProvider = function(param) {
|
|
|
78665
78689
|
];
|
|
78666
78690
|
case 2:
|
|
78667
78691
|
response = _state.sent();
|
|
78692
|
+
console.log("provider fetch member");
|
|
78668
78693
|
setUserInfo(response);
|
|
78694
|
+
saveUserInfoToStorage(response);
|
|
78669
78695
|
return [
|
|
78670
78696
|
3,
|
|
78671
78697
|
4
|
|
@@ -78695,6 +78721,7 @@ var LiffProvider = function(param) {
|
|
|
78695
78721
|
return _ts_generator(this, function(_state) {
|
|
78696
78722
|
switch(_state.label){
|
|
78697
78723
|
case 0:
|
|
78724
|
+
console.log(checkTokenUrl, memberInfoUrl);
|
|
78698
78725
|
if (!checkTokenUrl) return [
|
|
78699
78726
|
2
|
|
78700
78727
|
];
|
|
@@ -78702,9 +78729,9 @@ var LiffProvider = function(param) {
|
|
|
78702
78729
|
case 1:
|
|
78703
78730
|
_state.trys.push([
|
|
78704
78731
|
1,
|
|
78705
|
-
|
|
78732
|
+
6,
|
|
78706
78733
|
,
|
|
78707
|
-
|
|
78734
|
+
7
|
|
78708
78735
|
]);
|
|
78709
78736
|
return [
|
|
78710
78737
|
4,
|
|
@@ -78714,26 +78741,43 @@ var LiffProvider = function(param) {
|
|
|
78714
78741
|
];
|
|
78715
78742
|
case 2:
|
|
78716
78743
|
response = _state.sent();
|
|
78717
|
-
if ((response === null || response === void 0 ? void 0 : response.status) && (response === null || response === void 0 ? void 0 : response.data))
|
|
78718
|
-
|
|
78719
|
-
|
|
78720
|
-
|
|
78721
|
-
|
|
78722
|
-
|
|
78723
|
-
];
|
|
78724
|
-
}
|
|
78725
|
-
return [
|
|
78744
|
+
if (!((response === null || response === void 0 ? void 0 : response.status) && (response === null || response === void 0 ? void 0 : response.data))) return [
|
|
78745
|
+
3,
|
|
78746
|
+
5
|
|
78747
|
+
];
|
|
78748
|
+
setAccessToken(token);
|
|
78749
|
+
if (!memberInfoUrl) return [
|
|
78726
78750
|
3,
|
|
78727
78751
|
4
|
|
78728
78752
|
];
|
|
78753
|
+
return [
|
|
78754
|
+
4,
|
|
78755
|
+
fetchMemberInfo(token)
|
|
78756
|
+
];
|
|
78729
78757
|
case 3:
|
|
78758
|
+
_state.sent();
|
|
78759
|
+
_state.label = 4;
|
|
78760
|
+
case 4:
|
|
78761
|
+
return [
|
|
78762
|
+
2,
|
|
78763
|
+
true
|
|
78764
|
+
];
|
|
78765
|
+
case 5:
|
|
78766
|
+
return [
|
|
78767
|
+
3,
|
|
78768
|
+
7
|
|
78769
|
+
];
|
|
78770
|
+
case 6:
|
|
78730
78771
|
err = _state.sent();
|
|
78731
78772
|
console.error(err);
|
|
78773
|
+
// token 無效時清除 userInfo
|
|
78774
|
+
setUserInfo(null);
|
|
78775
|
+
window.localStorage.removeItem(userInfoStorageKey);
|
|
78732
78776
|
return [
|
|
78733
78777
|
3,
|
|
78734
|
-
|
|
78778
|
+
7
|
|
78735
78779
|
];
|
|
78736
|
-
case
|
|
78780
|
+
case 7:
|
|
78737
78781
|
return [
|
|
78738
78782
|
2,
|
|
78739
78783
|
false
|
|
@@ -78759,9 +78803,9 @@ var LiffProvider = function(param) {
|
|
|
78759
78803
|
case 1:
|
|
78760
78804
|
_state.trys.push([
|
|
78761
78805
|
1,
|
|
78762
|
-
|
|
78806
|
+
7,
|
|
78763
78807
|
,
|
|
78764
|
-
|
|
78808
|
+
8
|
|
78765
78809
|
]);
|
|
78766
78810
|
return [
|
|
78767
78811
|
4,
|
|
@@ -78785,26 +78829,46 @@ var LiffProvider = function(param) {
|
|
|
78785
78829
|
}
|
|
78786
78830
|
window.localStorage.setItem(localStorageKey, JSON.stringify(resData));
|
|
78787
78831
|
loginToken = resData === null || resData === void 0 ? void 0 : (_resData_data1 = resData.data) === null || _resData_data1 === void 0 ? void 0 : _resData_data1.access_token;
|
|
78788
|
-
if (loginToken)
|
|
78789
|
-
|
|
78790
|
-
|
|
78791
|
-
|
|
78792
|
-
|
|
78793
|
-
|
|
78794
|
-
|
|
78795
|
-
}
|
|
78796
|
-
return [
|
|
78832
|
+
if (!loginToken) return [
|
|
78833
|
+
3,
|
|
78834
|
+
5
|
|
78835
|
+
];
|
|
78836
|
+
setAccessToken(loginToken);
|
|
78837
|
+
setLoginType("line");
|
|
78838
|
+
if (!memberInfoUrl) return [
|
|
78797
78839
|
3,
|
|
78798
78840
|
4
|
|
78799
78841
|
];
|
|
78842
|
+
return [
|
|
78843
|
+
4,
|
|
78844
|
+
fetchMemberInfo(loginToken)
|
|
78845
|
+
];
|
|
78800
78846
|
case 3:
|
|
78847
|
+
_state.sent();
|
|
78848
|
+
_state.label = 4;
|
|
78849
|
+
case 4:
|
|
78850
|
+
return [
|
|
78851
|
+
3,
|
|
78852
|
+
6
|
|
78853
|
+
];
|
|
78854
|
+
case 5:
|
|
78855
|
+
setUserInfo(response);
|
|
78856
|
+
saveUserInfoToStorage(response);
|
|
78857
|
+
if (handleLoginError) handleLoginError();
|
|
78858
|
+
_state.label = 6;
|
|
78859
|
+
case 6:
|
|
78860
|
+
return [
|
|
78861
|
+
3,
|
|
78862
|
+
8
|
|
78863
|
+
];
|
|
78864
|
+
case 7:
|
|
78801
78865
|
err = _state.sent();
|
|
78802
78866
|
console.error(err.toString());
|
|
78803
78867
|
return [
|
|
78804
78868
|
3,
|
|
78805
|
-
|
|
78869
|
+
8
|
|
78806
78870
|
];
|
|
78807
|
-
case
|
|
78871
|
+
case 8:
|
|
78808
78872
|
return [
|
|
78809
78873
|
2
|
|
78810
78874
|
];
|
|
@@ -79072,6 +79136,9 @@ var LiffProvider = function(param) {
|
|
|
79072
79136
|
if (!isValid) {
|
|
79073
79137
|
console.warn("JWT token 驗證失敗");
|
|
79074
79138
|
setLoginType(null);
|
|
79139
|
+
// 清除 userInfo
|
|
79140
|
+
setUserInfo(null);
|
|
79141
|
+
window.localStorage.removeItem(userInfoStorageKey);
|
|
79075
79142
|
return [
|
|
79076
79143
|
2,
|
|
79077
79144
|
false
|
|
@@ -79086,6 +79153,8 @@ var LiffProvider = function(param) {
|
|
|
79086
79153
|
err = _state.sent();
|
|
79087
79154
|
// token 失效或其他問題
|
|
79088
79155
|
setLoginType(null);
|
|
79156
|
+
setUserInfo(null);
|
|
79157
|
+
window.localStorage.removeItem(userInfoStorageKey);
|
|
79089
79158
|
console.warn("LIFF token 驗證失敗,需重新登入", err);
|
|
79090
79159
|
return [
|
|
79091
79160
|
2,
|
|
@@ -79098,13 +79167,18 @@ var LiffProvider = function(param) {
|
|
|
79098
79167
|
}
|
|
79099
79168
|
});
|
|
79100
79169
|
}), [
|
|
79101
|
-
liffObject
|
|
79170
|
+
liffObject,
|
|
79171
|
+
userInfoStorageKey
|
|
79102
79172
|
]);
|
|
79103
79173
|
var normalizeToken = function(token) {
|
|
79104
79174
|
var trimmed = token.trim();
|
|
79105
79175
|
return trimmed.toLowerCase().startsWith("bearer ") ? trimmed : "Bearer ".concat(trimmed);
|
|
79106
79176
|
};
|
|
79107
79177
|
var searchParams = typeof window !== "undefined" ? new URLSearchParams(window.location.search) : null;
|
|
79178
|
+
// 初始載入時從 localStorage 載入 userInfo
|
|
79179
|
+
useEffect(function() {
|
|
79180
|
+
loadUserInfoFromStorage();
|
|
79181
|
+
}, []);
|
|
79108
79182
|
// 客戶端初始化 LIFF
|
|
79109
79183
|
useEffect(function() {
|
|
79110
79184
|
var checkAndInitialize = function() {
|