@sunggang/ui-lib 0.4.48 → 0.4.50
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/LiffProvider.cjs.js +100 -29
- package/LiffProvider.esm.js +100 -29
- package/package.json +1 -1
package/LiffProvider.cjs.js
CHANGED
|
@@ -728,15 +728,15 @@ var LiffProvider = function(param) {
|
|
|
728
728
|
// 初始化 LIFF
|
|
729
729
|
var initializeLiff = function() {
|
|
730
730
|
var _ref = _async_to_generator(function(isValid) {
|
|
731
|
-
var customFetch, liff, redirectUri, originalFetch, profile, lineToken, tempFriendship, friendship, friendFlag, error, err;
|
|
731
|
+
var customFetch, liff, redirectUri, originalFetch, profile, profileErr, e, msg, lineToken, tempFriendship, friendship, friendFlag, error, err;
|
|
732
732
|
return _ts_generator(this, function(_state) {
|
|
733
733
|
switch(_state.label){
|
|
734
734
|
case 0:
|
|
735
735
|
_state.trys.push([
|
|
736
736
|
0,
|
|
737
|
-
|
|
737
|
+
19,
|
|
738
738
|
,
|
|
739
|
-
|
|
739
|
+
20
|
|
740
740
|
]);
|
|
741
741
|
customFetch = // 自訂 fetch 函數,避免每次請求都改變 URL
|
|
742
742
|
// eslint-disable-next-line no-inner-declarations
|
|
@@ -778,8 +778,34 @@ var LiffProvider = function(param) {
|
|
|
778
778
|
if (openInApp && !(liff === null || liff === void 0 ? void 0 : liff.isInClient()) && (liff === null || liff === void 0 ? void 0 : liff.getOS()) !== "web") window.location.href = "line://app/".concat(liffId);
|
|
779
779
|
if (!!liff.isLoggedIn()) return [
|
|
780
780
|
3,
|
|
781
|
-
|
|
781
|
+
11
|
|
782
|
+
];
|
|
783
|
+
if (!(!liffId || typeof liffId !== "string" || liffId.trim() === "")) return [
|
|
784
|
+
3,
|
|
785
|
+
2
|
|
786
|
+
];
|
|
787
|
+
console.warn("liffId 未提供或為空字串,跳過 liff.init()。");
|
|
788
|
+
return [
|
|
789
|
+
3,
|
|
790
|
+
11
|
|
791
|
+
];
|
|
792
|
+
case 2:
|
|
793
|
+
_state.trys.push([
|
|
794
|
+
2,
|
|
795
|
+
10,
|
|
796
|
+
,
|
|
797
|
+
11
|
|
798
|
+
]);
|
|
799
|
+
if (!(typeof liff.init !== "function")) return [
|
|
800
|
+
3,
|
|
801
|
+
3
|
|
802
|
+
];
|
|
803
|
+
console.warn("liff.init 尚未提供,跳過 init。");
|
|
804
|
+
return [
|
|
805
|
+
3,
|
|
806
|
+
9
|
|
782
807
|
];
|
|
808
|
+
case 3:
|
|
783
809
|
return [
|
|
784
810
|
4,
|
|
785
811
|
liff.init({
|
|
@@ -787,62 +813,107 @@ var LiffProvider = function(param) {
|
|
|
787
813
|
withLoginOnExternalBrowser: false
|
|
788
814
|
})
|
|
789
815
|
];
|
|
790
|
-
case
|
|
816
|
+
case 4:
|
|
791
817
|
_state.sent();
|
|
792
818
|
console.log("LIFF init succeeded.");
|
|
793
819
|
setLiffObject(liff);
|
|
820
|
+
_state.label = 5;
|
|
821
|
+
case 5:
|
|
822
|
+
_state.trys.push([
|
|
823
|
+
5,
|
|
824
|
+
7,
|
|
825
|
+
,
|
|
826
|
+
8
|
|
827
|
+
]);
|
|
794
828
|
return [
|
|
795
829
|
4,
|
|
796
830
|
liff.getProfile()
|
|
797
831
|
];
|
|
798
|
-
case
|
|
832
|
+
case 6:
|
|
799
833
|
profile = _state.sent();
|
|
800
834
|
setLiffProfile(profile);
|
|
801
835
|
saveLiffUserInfoToStorage(profile);
|
|
802
|
-
|
|
803
|
-
|
|
836
|
+
return [
|
|
837
|
+
3,
|
|
838
|
+
8
|
|
839
|
+
];
|
|
840
|
+
case 7:
|
|
841
|
+
profileErr = _state.sent();
|
|
842
|
+
// 取得 profile 失敗不致命,後續可由 caller 取得
|
|
843
|
+
console.warn("取得 LIFF profile 失敗(非致命):", profileErr);
|
|
844
|
+
return [
|
|
845
|
+
3,
|
|
846
|
+
8
|
|
847
|
+
];
|
|
848
|
+
case 8:
|
|
849
|
+
// 標記為已初始化(persist),避免 redirect 回來時重複 init
|
|
850
|
+
try {
|
|
851
|
+
window.localStorage.setItem("".concat(localStorageKey, "-liffInitialized"), "1");
|
|
852
|
+
} catch (e) {
|
|
853
|
+
// ignore
|
|
854
|
+
}
|
|
855
|
+
_state.label = 9;
|
|
856
|
+
case 9:
|
|
857
|
+
return [
|
|
858
|
+
3,
|
|
859
|
+
11
|
|
860
|
+
];
|
|
861
|
+
case 10:
|
|
862
|
+
e = _state.sent();
|
|
863
|
+
// 如果是缺少 liffId 的 SDK 錯誤,安靜短路並不要把錯誤曝露給使用者
|
|
864
|
+
msg = (e === null || e === void 0 ? void 0 : e.message) || String(e);
|
|
865
|
+
if (typeof msg === "string" && msg.includes("liffId is necessary")) {
|
|
866
|
+
console.warn("略過 liff.init 錯誤(缺少 liffId):", msg);
|
|
867
|
+
} else {
|
|
868
|
+
throw e;
|
|
869
|
+
}
|
|
870
|
+
return [
|
|
871
|
+
3,
|
|
872
|
+
11
|
|
873
|
+
];
|
|
874
|
+
case 11:
|
|
804
875
|
lineToken = liff === null || liff === void 0 ? void 0 : liff.getAccessToken();
|
|
805
876
|
tempFriendship = null;
|
|
806
877
|
if (!lineToken) return [
|
|
807
878
|
3,
|
|
808
|
-
|
|
879
|
+
18
|
|
809
880
|
];
|
|
810
|
-
_state.label =
|
|
811
|
-
case
|
|
881
|
+
_state.label = 12;
|
|
882
|
+
case 12:
|
|
812
883
|
_state.trys.push([
|
|
813
|
-
|
|
814
|
-
|
|
884
|
+
12,
|
|
885
|
+
15,
|
|
815
886
|
,
|
|
816
|
-
|
|
887
|
+
16
|
|
817
888
|
]);
|
|
818
889
|
if (!!liff.isLoggedIn()) return [
|
|
819
890
|
3,
|
|
820
|
-
|
|
891
|
+
14
|
|
821
892
|
];
|
|
822
893
|
return [
|
|
823
894
|
4,
|
|
824
895
|
liff.getFriendship()
|
|
825
896
|
];
|
|
826
|
-
case
|
|
897
|
+
case 13:
|
|
827
898
|
friendship = _state.sent();
|
|
828
899
|
friendFlag = friendship === null || friendship === void 0 ? void 0 : friendship.friendFlag;
|
|
829
900
|
setFriendship(friendFlag);
|
|
830
901
|
tempFriendship = friendFlag;
|
|
831
902
|
console.log("isFriendship", friendFlag);
|
|
832
|
-
_state.label =
|
|
833
|
-
case
|
|
903
|
+
_state.label = 14;
|
|
904
|
+
case 14:
|
|
834
905
|
return [
|
|
835
906
|
3,
|
|
836
|
-
|
|
907
|
+
16
|
|
837
908
|
];
|
|
838
|
-
case
|
|
909
|
+
case 15:
|
|
839
910
|
error = _state.sent();
|
|
840
911
|
console.error("Error in liff.getFriendship():", error);
|
|
841
912
|
return [
|
|
842
913
|
3,
|
|
843
|
-
|
|
914
|
+
16
|
|
844
915
|
];
|
|
845
|
-
case
|
|
916
|
+
case 16:
|
|
846
917
|
console.log("isValid", isValid);
|
|
847
918
|
if (tempFriendship && isValid) return [
|
|
848
919
|
2
|
|
@@ -851,23 +922,23 @@ var LiffProvider = function(param) {
|
|
|
851
922
|
4,
|
|
852
923
|
loginInit(lineToken)
|
|
853
924
|
];
|
|
854
|
-
case
|
|
925
|
+
case 17:
|
|
855
926
|
_state.sent();
|
|
856
|
-
_state.label =
|
|
857
|
-
case
|
|
927
|
+
_state.label = 18;
|
|
928
|
+
case 18:
|
|
858
929
|
return [
|
|
859
930
|
3,
|
|
860
|
-
|
|
931
|
+
20
|
|
861
932
|
];
|
|
862
|
-
case
|
|
933
|
+
case 19:
|
|
863
934
|
err = _state.sent();
|
|
864
935
|
setLiffError(err.toString());
|
|
865
936
|
console.log("LIFF init failed.", err);
|
|
866
937
|
return [
|
|
867
938
|
3,
|
|
868
|
-
|
|
939
|
+
20
|
|
869
940
|
];
|
|
870
|
-
case
|
|
941
|
+
case 20:
|
|
871
942
|
return [
|
|
872
943
|
2
|
|
873
944
|
];
|
package/LiffProvider.esm.js
CHANGED
|
@@ -724,15 +724,15 @@ var LiffProvider = function(param) {
|
|
|
724
724
|
// 初始化 LIFF
|
|
725
725
|
var initializeLiff = function() {
|
|
726
726
|
var _ref = _async_to_generator(function(isValid) {
|
|
727
|
-
var customFetch, liff, redirectUri, originalFetch, profile, lineToken, tempFriendship, friendship, friendFlag, error, err;
|
|
727
|
+
var customFetch, liff, redirectUri, originalFetch, profile, profileErr, e, msg, lineToken, tempFriendship, friendship, friendFlag, error, err;
|
|
728
728
|
return _ts_generator(this, function(_state) {
|
|
729
729
|
switch(_state.label){
|
|
730
730
|
case 0:
|
|
731
731
|
_state.trys.push([
|
|
732
732
|
0,
|
|
733
|
-
|
|
733
|
+
19,
|
|
734
734
|
,
|
|
735
|
-
|
|
735
|
+
20
|
|
736
736
|
]);
|
|
737
737
|
customFetch = // 自訂 fetch 函數,避免每次請求都改變 URL
|
|
738
738
|
// eslint-disable-next-line no-inner-declarations
|
|
@@ -774,8 +774,34 @@ var LiffProvider = function(param) {
|
|
|
774
774
|
if (openInApp && !(liff === null || liff === void 0 ? void 0 : liff.isInClient()) && (liff === null || liff === void 0 ? void 0 : liff.getOS()) !== "web") window.location.href = "line://app/".concat(liffId);
|
|
775
775
|
if (!!liff.isLoggedIn()) return [
|
|
776
776
|
3,
|
|
777
|
-
|
|
777
|
+
11
|
|
778
|
+
];
|
|
779
|
+
if (!(!liffId || typeof liffId !== "string" || liffId.trim() === "")) return [
|
|
780
|
+
3,
|
|
781
|
+
2
|
|
782
|
+
];
|
|
783
|
+
console.warn("liffId 未提供或為空字串,跳過 liff.init()。");
|
|
784
|
+
return [
|
|
785
|
+
3,
|
|
786
|
+
11
|
|
787
|
+
];
|
|
788
|
+
case 2:
|
|
789
|
+
_state.trys.push([
|
|
790
|
+
2,
|
|
791
|
+
10,
|
|
792
|
+
,
|
|
793
|
+
11
|
|
794
|
+
]);
|
|
795
|
+
if (!(typeof liff.init !== "function")) return [
|
|
796
|
+
3,
|
|
797
|
+
3
|
|
798
|
+
];
|
|
799
|
+
console.warn("liff.init 尚未提供,跳過 init。");
|
|
800
|
+
return [
|
|
801
|
+
3,
|
|
802
|
+
9
|
|
778
803
|
];
|
|
804
|
+
case 3:
|
|
779
805
|
return [
|
|
780
806
|
4,
|
|
781
807
|
liff.init({
|
|
@@ -783,62 +809,107 @@ var LiffProvider = function(param) {
|
|
|
783
809
|
withLoginOnExternalBrowser: false
|
|
784
810
|
})
|
|
785
811
|
];
|
|
786
|
-
case
|
|
812
|
+
case 4:
|
|
787
813
|
_state.sent();
|
|
788
814
|
console.log("LIFF init succeeded.");
|
|
789
815
|
setLiffObject(liff);
|
|
816
|
+
_state.label = 5;
|
|
817
|
+
case 5:
|
|
818
|
+
_state.trys.push([
|
|
819
|
+
5,
|
|
820
|
+
7,
|
|
821
|
+
,
|
|
822
|
+
8
|
|
823
|
+
]);
|
|
790
824
|
return [
|
|
791
825
|
4,
|
|
792
826
|
liff.getProfile()
|
|
793
827
|
];
|
|
794
|
-
case
|
|
828
|
+
case 6:
|
|
795
829
|
profile = _state.sent();
|
|
796
830
|
setLiffProfile(profile);
|
|
797
831
|
saveLiffUserInfoToStorage(profile);
|
|
798
|
-
|
|
799
|
-
|
|
832
|
+
return [
|
|
833
|
+
3,
|
|
834
|
+
8
|
|
835
|
+
];
|
|
836
|
+
case 7:
|
|
837
|
+
profileErr = _state.sent();
|
|
838
|
+
// 取得 profile 失敗不致命,後續可由 caller 取得
|
|
839
|
+
console.warn("取得 LIFF profile 失敗(非致命):", profileErr);
|
|
840
|
+
return [
|
|
841
|
+
3,
|
|
842
|
+
8
|
|
843
|
+
];
|
|
844
|
+
case 8:
|
|
845
|
+
// 標記為已初始化(persist),避免 redirect 回來時重複 init
|
|
846
|
+
try {
|
|
847
|
+
window.localStorage.setItem("".concat(localStorageKey, "-liffInitialized"), "1");
|
|
848
|
+
} catch (e) {
|
|
849
|
+
// ignore
|
|
850
|
+
}
|
|
851
|
+
_state.label = 9;
|
|
852
|
+
case 9:
|
|
853
|
+
return [
|
|
854
|
+
3,
|
|
855
|
+
11
|
|
856
|
+
];
|
|
857
|
+
case 10:
|
|
858
|
+
e = _state.sent();
|
|
859
|
+
// 如果是缺少 liffId 的 SDK 錯誤,安靜短路並不要把錯誤曝露給使用者
|
|
860
|
+
msg = (e === null || e === void 0 ? void 0 : e.message) || String(e);
|
|
861
|
+
if (typeof msg === "string" && msg.includes("liffId is necessary")) {
|
|
862
|
+
console.warn("略過 liff.init 錯誤(缺少 liffId):", msg);
|
|
863
|
+
} else {
|
|
864
|
+
throw e;
|
|
865
|
+
}
|
|
866
|
+
return [
|
|
867
|
+
3,
|
|
868
|
+
11
|
|
869
|
+
];
|
|
870
|
+
case 11:
|
|
800
871
|
lineToken = liff === null || liff === void 0 ? void 0 : liff.getAccessToken();
|
|
801
872
|
tempFriendship = null;
|
|
802
873
|
if (!lineToken) return [
|
|
803
874
|
3,
|
|
804
|
-
|
|
875
|
+
18
|
|
805
876
|
];
|
|
806
|
-
_state.label =
|
|
807
|
-
case
|
|
877
|
+
_state.label = 12;
|
|
878
|
+
case 12:
|
|
808
879
|
_state.trys.push([
|
|
809
|
-
|
|
810
|
-
|
|
880
|
+
12,
|
|
881
|
+
15,
|
|
811
882
|
,
|
|
812
|
-
|
|
883
|
+
16
|
|
813
884
|
]);
|
|
814
885
|
if (!!liff.isLoggedIn()) return [
|
|
815
886
|
3,
|
|
816
|
-
|
|
887
|
+
14
|
|
817
888
|
];
|
|
818
889
|
return [
|
|
819
890
|
4,
|
|
820
891
|
liff.getFriendship()
|
|
821
892
|
];
|
|
822
|
-
case
|
|
893
|
+
case 13:
|
|
823
894
|
friendship = _state.sent();
|
|
824
895
|
friendFlag = friendship === null || friendship === void 0 ? void 0 : friendship.friendFlag;
|
|
825
896
|
setFriendship(friendFlag);
|
|
826
897
|
tempFriendship = friendFlag;
|
|
827
898
|
console.log("isFriendship", friendFlag);
|
|
828
|
-
_state.label =
|
|
829
|
-
case
|
|
899
|
+
_state.label = 14;
|
|
900
|
+
case 14:
|
|
830
901
|
return [
|
|
831
902
|
3,
|
|
832
|
-
|
|
903
|
+
16
|
|
833
904
|
];
|
|
834
|
-
case
|
|
905
|
+
case 15:
|
|
835
906
|
error = _state.sent();
|
|
836
907
|
console.error("Error in liff.getFriendship():", error);
|
|
837
908
|
return [
|
|
838
909
|
3,
|
|
839
|
-
|
|
910
|
+
16
|
|
840
911
|
];
|
|
841
|
-
case
|
|
912
|
+
case 16:
|
|
842
913
|
console.log("isValid", isValid);
|
|
843
914
|
if (tempFriendship && isValid) return [
|
|
844
915
|
2
|
|
@@ -847,23 +918,23 @@ var LiffProvider = function(param) {
|
|
|
847
918
|
4,
|
|
848
919
|
loginInit(lineToken)
|
|
849
920
|
];
|
|
850
|
-
case
|
|
921
|
+
case 17:
|
|
851
922
|
_state.sent();
|
|
852
|
-
_state.label =
|
|
853
|
-
case
|
|
923
|
+
_state.label = 18;
|
|
924
|
+
case 18:
|
|
854
925
|
return [
|
|
855
926
|
3,
|
|
856
|
-
|
|
927
|
+
20
|
|
857
928
|
];
|
|
858
|
-
case
|
|
929
|
+
case 19:
|
|
859
930
|
err = _state.sent();
|
|
860
931
|
setLiffError(err.toString());
|
|
861
932
|
console.log("LIFF init failed.", err);
|
|
862
933
|
return [
|
|
863
934
|
3,
|
|
864
|
-
|
|
935
|
+
20
|
|
865
936
|
];
|
|
866
|
-
case
|
|
937
|
+
case 20:
|
|
867
938
|
return [
|
|
868
939
|
2
|
|
869
940
|
];
|