giime 1.0.2-snapshot.1 → 1.0.2-snapshot.3
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/index.css +107 -107
- package/es/components/src/base/affix/Affix.vue.d.ts +1 -1
- package/es/components/src/base/backtop/Backtop.vue.d.ts +1 -1
- package/es/components/src/base/backtop/index.d.ts +3 -3
- package/es/components/src/base/image/Image.vue.d.ts +1 -1
- package/es/components/src/base/image/index.d.ts +2 -2
- package/es/components/src/base/link/Link.vue.d.ts +1 -1
- package/es/components/src/base/link/index.d.ts +3 -3
- package/es/components/src/business/loginDialog/LoginDialog.vue.d.ts +9 -0
- package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs +8 -0
- package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs.map +1 -1
- package/es/components/src/business/loginDialog/loginDialog.d.ts +13 -0
- package/es/components/src/business/loginDialog/loginDialog.mjs +13 -0
- package/es/components/src/business/loginDialog/loginDialog.mjs.map +1 -1
- package/es/giime/index.mjs +1 -0
- package/es/giime/index.mjs.map +1 -1
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/index.css +107 -107
- package/es/utils/index.mjs +1 -0
- package/es/utils/index.mjs.map +1 -1
- package/es/utils/src/vue/appLoading.d.ts +33 -0
- package/es/utils/src/vue/appLoading.mjs +246 -0
- package/es/utils/src/vue/appLoading.mjs.map +1 -0
- package/es/utils/src/vue/index.d.ts +1 -0
- package/es/utils/src/vue/index.mjs +1 -0
- package/es/utils/src/vue/index.mjs.map +1 -1
- package/lib/components/src/base/affix/Affix.vue.d.ts +1 -1
- package/lib/components/src/base/backtop/Backtop.vue.d.ts +1 -1
- package/lib/components/src/base/backtop/index.d.ts +3 -3
- package/lib/components/src/base/image/Image.vue.d.ts +1 -1
- package/lib/components/src/base/image/index.d.ts +2 -2
- package/lib/components/src/base/link/Link.vue.d.ts +1 -1
- package/lib/components/src/base/link/index.d.ts +3 -3
- package/lib/components/src/business/loginDialog/LoginDialog.vue.d.ts +9 -0
- package/lib/components/src/business/loginDialog/LoginDialog.vue2.js +8 -0
- package/lib/components/src/business/loginDialog/LoginDialog.vue2.js.map +1 -1
- package/lib/components/src/business/loginDialog/loginDialog.d.ts +13 -0
- package/lib/components/src/business/loginDialog/loginDialog.js +13 -0
- package/lib/components/src/business/loginDialog/loginDialog.js.map +1 -1
- package/lib/giime/index.js +2 -0
- package/lib/giime/index.js.map +1 -1
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/index.css +107 -107
- package/lib/utils/index.js +2 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/src/vue/appLoading.d.ts +33 -0
- package/lib/utils/src/vue/appLoading.js +248 -0
- package/lib/utils/src/vue/appLoading.js.map +1 -0
- package/lib/utils/src/vue/index.d.ts +1 -0
- package/lib/utils/src/vue/index.js +2 -0
- package/lib/utils/src/vue/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -887,116 +887,61 @@ video {
|
|
|
887
887
|
.gm-group:hover .group-hover\:gm-block {
|
|
888
888
|
display: block;
|
|
889
889
|
}
|
|
890
|
-
.gm-flex-center[data-v-c17deec9] {
|
|
891
|
-
align-items: center;
|
|
892
|
-
}
|
|
893
|
-
|
|
894
|
-
.gm-flex-justify-between[data-v-c17deec9] {
|
|
895
|
-
justify-content: space-between;
|
|
896
|
-
}
|
|
897
|
-
[data-v-195b27e4] .gmSearchForm .el-form-item {
|
|
898
|
-
margin-right: 0;
|
|
899
|
-
margin-bottom: 4px;
|
|
900
|
-
}
|
|
901
|
-
[data-v-3f2c8504] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
902
|
-
border-right: none;
|
|
903
|
-
}
|
|
904
|
-
|
|
905
|
-
[data-v-3f2c8504] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
906
|
-
height: 0;
|
|
907
|
-
}
|
|
908
|
-
|
|
909
|
-
[data-v-3f2c8504] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
910
|
-
height: 0;
|
|
911
|
-
}
|
|
912
|
-
|
|
913
|
-
[data-v-3f2c8504] .gmTableNoBorder.el-table--border:after {
|
|
914
|
-
height: 0;
|
|
915
|
-
}
|
|
916
|
-
|
|
917
|
-
[data-v-3f2c8504] .gmTableNoBorder.el-table--border:before {
|
|
918
|
-
height: 0;
|
|
919
|
-
}
|
|
920
|
-
|
|
921
|
-
[data-v-3f2c8504] .gmTableNoBorder .el-table__border-left-patch {
|
|
922
|
-
height: 0;
|
|
923
|
-
}
|
|
924
|
-
.gm-number-interval-single[data-v-4e6f4d6f] {
|
|
925
|
-
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
926
|
-
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
927
|
-
background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
|
|
928
|
-
}
|
|
929
|
-
.gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
|
|
930
|
-
box-shadow: none;
|
|
931
|
-
background: none;
|
|
932
|
-
}
|
|
933
|
-
|
|
934
|
-
.gm-number-interval-close[data-v-4e6f4d6f] {
|
|
935
|
-
display: none;
|
|
936
|
-
color: var(--el-input-icon-color, var(--el-text-color-placeholder));
|
|
937
|
-
}
|
|
938
|
-
|
|
939
|
-
.gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
|
|
940
|
-
display: flex;
|
|
941
|
-
}
|
|
942
890
|
|
|
943
891
|
.gm-range-number .el-form-item[data-v-1ae16d96] {
|
|
944
892
|
margin: 0;
|
|
945
893
|
}
|
|
946
894
|
|
|
947
|
-
.gm-upload-
|
|
895
|
+
.gm-upload-preview-dialog[data-v-c615121c] [data-v-c615121c] .el-dialog__body {
|
|
948
896
|
padding: 0;
|
|
949
897
|
}
|
|
950
898
|
|
|
951
|
-
.gm-upload-
|
|
899
|
+
.gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload-list__item, .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload--picture-card {
|
|
952
900
|
width: auto;
|
|
953
901
|
height: auto;
|
|
954
902
|
}
|
|
955
|
-
.gm-upload-
|
|
903
|
+
.gm-upload-file {
|
|
956
904
|
line-height: normal;
|
|
957
905
|
}
|
|
958
|
-
.gm-upload-
|
|
959
|
-
font-size: unset;
|
|
960
|
-
}
|
|
961
|
-
.gm-upload-pro-file .el-checkbox {
|
|
906
|
+
.gm-upload-file li > .el-checkbox {
|
|
962
907
|
position: absolute;
|
|
963
908
|
left: 10px;
|
|
964
909
|
top: 0;
|
|
965
910
|
z-index: 9;
|
|
966
911
|
}
|
|
967
|
-
.gm-upload-
|
|
912
|
+
.gm-upload-file .el-upload-list--picture-card {
|
|
968
913
|
gap: 10px;
|
|
969
914
|
}
|
|
970
|
-
.gm-upload-
|
|
915
|
+
.gm-upload-file .el-upload-list__item {
|
|
971
916
|
margin: 0;
|
|
917
|
+
border: none;
|
|
972
918
|
}
|
|
973
|
-
.gm-upload-
|
|
974
|
-
line-height:
|
|
919
|
+
.gm-upload-file .el-upload-list__item-file-name {
|
|
920
|
+
line-height: normal;
|
|
975
921
|
}
|
|
976
|
-
.gm-upload-
|
|
922
|
+
.gm-upload-file .el-upload-dragger {
|
|
977
923
|
padding: 0;
|
|
978
924
|
border: none;
|
|
979
925
|
width: 100%;
|
|
980
926
|
height: 100%;
|
|
981
927
|
display: flex;
|
|
982
928
|
}
|
|
983
|
-
.gm-upload-
|
|
929
|
+
.gm-upload-file .el-upload--picture-card {
|
|
984
930
|
border: none;
|
|
985
931
|
}
|
|
986
932
|
|
|
987
|
-
.gm-upload-
|
|
933
|
+
.gm-upload-file-disabled .el-upload--picture-card {
|
|
988
934
|
display: none;
|
|
989
935
|
}
|
|
990
|
-
.gm-upload-
|
|
936
|
+
.gm-upload-file-disabled .el-upload-list__item-status-label {
|
|
991
937
|
display: none;
|
|
992
938
|
}
|
|
993
|
-
.gm-
|
|
994
|
-
|
|
939
|
+
.gm-flex-center[data-v-c17deec9] {
|
|
940
|
+
align-items: center;
|
|
995
941
|
}
|
|
996
942
|
|
|
997
|
-
.gm-
|
|
998
|
-
|
|
999
|
-
height: auto;
|
|
943
|
+
.gm-flex-justify-between[data-v-c17deec9] {
|
|
944
|
+
justify-content: space-between;
|
|
1000
945
|
}
|
|
1001
946
|
[data-v-050a4f74] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
1002
947
|
border-right: none;
|
|
@@ -1021,42 +966,97 @@ video {
|
|
|
1021
966
|
[data-v-050a4f74] .gmTableNoBorder .el-table__border-left-patch {
|
|
1022
967
|
height: 0;
|
|
1023
968
|
}
|
|
1024
|
-
.
|
|
969
|
+
[data-v-195b27e4] .gmSearchForm .el-form-item {
|
|
970
|
+
margin-right: 0;
|
|
971
|
+
margin-bottom: 4px;
|
|
972
|
+
}
|
|
973
|
+
.gm-upload-pro-file {
|
|
1025
974
|
line-height: normal;
|
|
1026
975
|
}
|
|
1027
|
-
.gm-upload-file
|
|
976
|
+
.gm-upload-pro-file .el-checkbox-group {
|
|
977
|
+
font-size: unset;
|
|
978
|
+
}
|
|
979
|
+
.gm-upload-pro-file .el-checkbox {
|
|
1028
980
|
position: absolute;
|
|
1029
981
|
left: 10px;
|
|
1030
982
|
top: 0;
|
|
1031
983
|
z-index: 9;
|
|
1032
984
|
}
|
|
1033
|
-
.gm-upload-file .el-upload-list--picture-card {
|
|
985
|
+
.gm-upload-pro-file .el-upload-list--picture-card {
|
|
1034
986
|
gap: 10px;
|
|
1035
987
|
}
|
|
1036
|
-
.gm-upload-file .el-upload-list__item {
|
|
988
|
+
.gm-upload-pro-file .el-upload-list__item {
|
|
1037
989
|
margin: 0;
|
|
1038
|
-
border: none;
|
|
1039
990
|
}
|
|
1040
|
-
.gm-upload-file .el-upload-list__item-file-name {
|
|
1041
|
-
line-height:
|
|
991
|
+
.gm-upload-pro-file .el-upload-list__item-file-name {
|
|
992
|
+
line-height: 1.7;
|
|
1042
993
|
}
|
|
1043
|
-
.gm-upload-file .el-upload-dragger {
|
|
994
|
+
.gm-upload-pro-file .el-upload-dragger {
|
|
1044
995
|
padding: 0;
|
|
1045
996
|
border: none;
|
|
1046
997
|
width: 100%;
|
|
1047
998
|
height: 100%;
|
|
1048
999
|
display: flex;
|
|
1049
1000
|
}
|
|
1050
|
-
.gm-upload-file .el-upload--picture-card {
|
|
1001
|
+
.gm-upload-pro-file .el-upload--picture-card {
|
|
1051
1002
|
border: none;
|
|
1052
1003
|
}
|
|
1053
1004
|
|
|
1054
|
-
.gm-upload-file-disabled .el-upload--picture-card {
|
|
1005
|
+
.gm-upload-pro-file-disabled .el-upload--picture-card {
|
|
1055
1006
|
display: none;
|
|
1056
1007
|
}
|
|
1057
|
-
.gm-upload-file-disabled .el-upload-list__item-status-label {
|
|
1008
|
+
.gm-upload-pro-file-disabled .el-upload-list__item-status-label {
|
|
1058
1009
|
display: none;
|
|
1059
1010
|
}
|
|
1011
|
+
.gm-number-interval-single[data-v-4e6f4d6f] {
|
|
1012
|
+
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
1013
|
+
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
1014
|
+
background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
|
|
1015
|
+
}
|
|
1016
|
+
.gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
|
|
1017
|
+
box-shadow: none;
|
|
1018
|
+
background: none;
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
.gm-number-interval-close[data-v-4e6f4d6f] {
|
|
1022
|
+
display: none;
|
|
1023
|
+
color: var(--el-input-icon-color, var(--el-text-color-placeholder));
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
.gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
|
|
1027
|
+
display: flex;
|
|
1028
|
+
}
|
|
1029
|
+
[data-v-3f2c8504] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
1030
|
+
border-right: none;
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
[data-v-3f2c8504] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
1034
|
+
height: 0;
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
[data-v-3f2c8504] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
1038
|
+
height: 0;
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
[data-v-3f2c8504] .gmTableNoBorder.el-table--border:after {
|
|
1042
|
+
height: 0;
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
[data-v-3f2c8504] .gmTableNoBorder.el-table--border:before {
|
|
1046
|
+
height: 0;
|
|
1047
|
+
}
|
|
1048
|
+
|
|
1049
|
+
[data-v-3f2c8504] .gmTableNoBorder .el-table__border-left-patch {
|
|
1050
|
+
height: 0;
|
|
1051
|
+
}
|
|
1052
|
+
.gm-upload-pro-preview-dialog[data-v-fbc23b01] [data-v-fbc23b01] .el-dialog__body {
|
|
1053
|
+
padding: 0;
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
.gm-upload-pro-file-picture-card[data-v-fbc23b01] [data-v-fbc23b01] .el-upload-list__item, .gm-upload-pro-file-picture-card[data-v-fbc23b01] [data-v-fbc23b01] .el-upload--picture-card {
|
|
1057
|
+
width: auto;
|
|
1058
|
+
height: auto;
|
|
1059
|
+
}
|
|
1060
1060
|
.circular[data-v-d7b04fae] {
|
|
1061
1061
|
animation: loading-rotate-d7b04fae 2s linear infinite;
|
|
1062
1062
|
}
|
|
@@ -1089,56 +1089,56 @@ video {
|
|
|
1089
1089
|
}
|
|
1090
1090
|
}
|
|
1091
1091
|
@charset "UTF-8";
|
|
1092
|
-
.custom-
|
|
1092
|
+
.table-custom-header-drawer .el-drawer__header {
|
|
1093
1093
|
padding: 10px 15px;
|
|
1094
1094
|
margin: 0;
|
|
1095
1095
|
border-bottom: 1px solid #ebeef5;
|
|
1096
1096
|
}
|
|
1097
|
-
.custom-
|
|
1097
|
+
.table-custom-header-drawer .el-drawer__title {
|
|
1098
1098
|
font-size: 14px;
|
|
1099
1099
|
color: #333;
|
|
1100
1100
|
}
|
|
1101
|
-
.custom-
|
|
1101
|
+
.table-custom-header-drawer .el-drawer__body {
|
|
1102
1102
|
padding: 15px;
|
|
1103
1103
|
}
|
|
1104
|
-
.custom-
|
|
1104
|
+
.table-custom-header-drawer .el-drawer__footer {
|
|
1105
1105
|
padding: 10px 15px;
|
|
1106
1106
|
border-top: 1px solid #ebeef5;
|
|
1107
1107
|
}
|
|
1108
|
-
.custom-
|
|
1108
|
+
.table-custom-header-drawer .el-checkbox {
|
|
1109
1109
|
display: flex;
|
|
1110
1110
|
align-items: center;
|
|
1111
1111
|
}
|
|
1112
|
-
.custom-
|
|
1112
|
+
.table-custom-header-drawer .el-input__inner {
|
|
1113
1113
|
text-align: center;
|
|
1114
1114
|
}
|
|
1115
|
-
.custom-
|
|
1115
|
+
.table-custom-header-drawer .el-input__suffix {
|
|
1116
1116
|
position: absolute;
|
|
1117
1117
|
right: 10px;
|
|
1118
1118
|
}
|
|
1119
|
-
.custom-
|
|
1119
|
+
.table-custom-header-drawer .custom-content li {
|
|
1120
1120
|
display: flex;
|
|
1121
1121
|
align-items: center;
|
|
1122
1122
|
justify-content: center;
|
|
1123
1123
|
height: 44px;
|
|
1124
1124
|
}
|
|
1125
|
-
.custom-
|
|
1125
|
+
.table-custom-header-drawer .custom-group {
|
|
1126
1126
|
max-height: calc(100vh - 226px);
|
|
1127
1127
|
overflow-y: auto;
|
|
1128
1128
|
}
|
|
1129
|
-
.custom-
|
|
1129
|
+
.table-custom-header-drawer .custom-group::-webkit-scrollbar {
|
|
1130
1130
|
/*滚动条整体样式*/
|
|
1131
1131
|
width: 4px;
|
|
1132
1132
|
/*高宽分别对应横竖滚动条的尺寸*/
|
|
1133
1133
|
height: 1px;
|
|
1134
1134
|
}
|
|
1135
|
-
.custom-
|
|
1135
|
+
.table-custom-header-drawer .custom-group::-webkit-scrollbar-thumb {
|
|
1136
1136
|
/*滚动条里面小方块*/
|
|
1137
1137
|
border-radius: 10px;
|
|
1138
1138
|
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
|
|
1139
1139
|
background: #999;
|
|
1140
1140
|
}
|
|
1141
|
-
.custom-
|
|
1141
|
+
.table-custom-header-drawer .custom-group::-webkit-scrollbar-track {
|
|
1142
1142
|
/*滚动条里面轨道*/
|
|
1143
1143
|
box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
|
|
1144
1144
|
border-radius: 10px;
|
|
@@ -1154,56 +1154,56 @@ video {
|
|
|
1154
1154
|
}
|
|
1155
1155
|
|
|
1156
1156
|
@charset "UTF-8";
|
|
1157
|
-
.
|
|
1157
|
+
.custom-operate-drawer .el-drawer__header {
|
|
1158
1158
|
padding: 10px 15px;
|
|
1159
1159
|
margin: 0;
|
|
1160
1160
|
border-bottom: 1px solid #ebeef5;
|
|
1161
1161
|
}
|
|
1162
|
-
.
|
|
1162
|
+
.custom-operate-drawer .el-drawer__title {
|
|
1163
1163
|
font-size: 14px;
|
|
1164
1164
|
color: #333;
|
|
1165
1165
|
}
|
|
1166
|
-
.
|
|
1166
|
+
.custom-operate-drawer .el-drawer__body {
|
|
1167
1167
|
padding: 15px;
|
|
1168
1168
|
}
|
|
1169
|
-
.
|
|
1169
|
+
.custom-operate-drawer .el-drawer__footer {
|
|
1170
1170
|
padding: 10px 15px;
|
|
1171
1171
|
border-top: 1px solid #ebeef5;
|
|
1172
1172
|
}
|
|
1173
|
-
.
|
|
1173
|
+
.custom-operate-drawer .el-checkbox {
|
|
1174
1174
|
display: flex;
|
|
1175
1175
|
align-items: center;
|
|
1176
1176
|
}
|
|
1177
|
-
.
|
|
1177
|
+
.custom-operate-drawer .el-input__inner {
|
|
1178
1178
|
text-align: center;
|
|
1179
1179
|
}
|
|
1180
|
-
.
|
|
1180
|
+
.custom-operate-drawer .el-input__suffix {
|
|
1181
1181
|
position: absolute;
|
|
1182
1182
|
right: 10px;
|
|
1183
1183
|
}
|
|
1184
|
-
.
|
|
1184
|
+
.custom-operate-drawer .custom-content li {
|
|
1185
1185
|
display: flex;
|
|
1186
1186
|
align-items: center;
|
|
1187
1187
|
justify-content: center;
|
|
1188
1188
|
height: 44px;
|
|
1189
1189
|
}
|
|
1190
|
-
.
|
|
1190
|
+
.custom-operate-drawer .custom-group {
|
|
1191
1191
|
max-height: calc(100vh - 226px);
|
|
1192
1192
|
overflow-y: auto;
|
|
1193
1193
|
}
|
|
1194
|
-
.
|
|
1194
|
+
.custom-operate-drawer .custom-group::-webkit-scrollbar {
|
|
1195
1195
|
/*滚动条整体样式*/
|
|
1196
1196
|
width: 4px;
|
|
1197
1197
|
/*高宽分别对应横竖滚动条的尺寸*/
|
|
1198
1198
|
height: 1px;
|
|
1199
1199
|
}
|
|
1200
|
-
.
|
|
1200
|
+
.custom-operate-drawer .custom-group::-webkit-scrollbar-thumb {
|
|
1201
1201
|
/*滚动条里面小方块*/
|
|
1202
1202
|
border-radius: 10px;
|
|
1203
1203
|
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
|
|
1204
1204
|
background: #999;
|
|
1205
1205
|
}
|
|
1206
|
-
.
|
|
1206
|
+
.custom-operate-drawer .custom-group::-webkit-scrollbar-track {
|
|
1207
1207
|
/*滚动条里面轨道*/
|
|
1208
1208
|
box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
|
|
1209
1209
|
border-radius: 10px;
|
|
@@ -82,8 +82,8 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
82
82
|
}, {
|
|
83
83
|
offset: number;
|
|
84
84
|
zIndex: any;
|
|
85
|
-
position: "top" | "bottom";
|
|
86
85
|
target: string;
|
|
86
|
+
position: "top" | "bottom";
|
|
87
87
|
}, {}>, {
|
|
88
88
|
default?: ((props: {}) => any) | undefined;
|
|
89
89
|
}>;
|
|
@@ -41,8 +41,8 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
41
41
|
onClick?: ((evt: MouseEvent) => any) | undefined;
|
|
42
42
|
}, {
|
|
43
43
|
bottom: number;
|
|
44
|
-
right: number;
|
|
45
44
|
target: string;
|
|
45
|
+
right: number;
|
|
46
46
|
visibilityHeight: number;
|
|
47
47
|
}, {}>, {
|
|
48
48
|
default?: ((props: {}) => any) | undefined;
|
|
@@ -44,8 +44,8 @@ export declare const GmBacktop: import("../../../../utils").SFCWithInstall<{
|
|
|
44
44
|
onClick?: ((evt: MouseEvent) => any) | undefined;
|
|
45
45
|
}, {
|
|
46
46
|
bottom: number;
|
|
47
|
-
right: number;
|
|
48
47
|
target: string;
|
|
48
|
+
right: number;
|
|
49
49
|
visibilityHeight: number;
|
|
50
50
|
}, true, {}, {}, {
|
|
51
51
|
P: {};
|
|
@@ -77,8 +77,8 @@ export declare const GmBacktop: import("../../../../utils").SFCWithInstall<{
|
|
|
77
77
|
elRef: import("vue").Ref<import("element-plus").BacktopInstance | undefined>;
|
|
78
78
|
}, {}, {}, {}, {
|
|
79
79
|
bottom: number;
|
|
80
|
-
right: number;
|
|
81
80
|
target: string;
|
|
81
|
+
right: number;
|
|
82
82
|
visibilityHeight: number;
|
|
83
83
|
}>;
|
|
84
84
|
__isFragment?: undefined;
|
|
@@ -109,8 +109,8 @@ export declare const GmBacktop: import("../../../../utils").SFCWithInstall<{
|
|
|
109
109
|
click: (evt: MouseEvent) => void;
|
|
110
110
|
}, string, {
|
|
111
111
|
bottom: number;
|
|
112
|
-
right: number;
|
|
113
112
|
target: string;
|
|
113
|
+
right: number;
|
|
114
114
|
visibilityHeight: number;
|
|
115
115
|
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
116
116
|
$slots: {
|
|
@@ -136,10 +136,10 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
136
136
|
download: (urlOrIndex: string | number, filename?: string | undefined) => Promise<void>;
|
|
137
137
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
138
138
|
error: (evt: Event) => void;
|
|
139
|
+
load: (evt: Event) => void;
|
|
139
140
|
show: () => void;
|
|
140
141
|
switch: (val: number) => void;
|
|
141
142
|
close: () => void;
|
|
142
|
-
load: (evt: Event) => void;
|
|
143
143
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
144
144
|
showProgress: {
|
|
145
145
|
type: BooleanConstructor;
|
|
@@ -126,10 +126,10 @@ export declare const GmImage: import("../../../../utils").SFCWithInstall<{
|
|
|
126
126
|
download: (urlOrIndex: string | number, filename?: string | undefined) => Promise<void>;
|
|
127
127
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
128
128
|
error: (evt: Event) => void;
|
|
129
|
+
load: (evt: Event) => void;
|
|
129
130
|
show: () => void;
|
|
130
131
|
switch: (val: number) => void;
|
|
131
132
|
close: () => void;
|
|
132
|
-
load: (evt: Event) => void;
|
|
133
133
|
}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
|
|
134
134
|
showProgress: {
|
|
135
135
|
type: BooleanConstructor;
|
|
@@ -545,10 +545,10 @@ export declare const GmImage: import("../../../../utils").SFCWithInstall<{
|
|
|
545
545
|
download: (urlOrIndex: string | number, filename?: string | undefined) => Promise<void>;
|
|
546
546
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
547
547
|
error: (evt: Event) => void;
|
|
548
|
+
load: (evt: Event) => void;
|
|
548
549
|
show: () => void;
|
|
549
550
|
switch: (val: number) => void;
|
|
550
551
|
close: () => void;
|
|
551
|
-
load: (evt: Event) => void;
|
|
552
552
|
}, string, {
|
|
553
553
|
infinite: boolean;
|
|
554
554
|
scale: number;
|
|
@@ -91,9 +91,9 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
91
91
|
}, {
|
|
92
92
|
type: "default" | "primary" | "success" | "warning" | "info" | "danger";
|
|
93
93
|
href: string;
|
|
94
|
+
target: string;
|
|
94
95
|
underline: boolean | "always" | "never" | "hover";
|
|
95
96
|
disabled: boolean;
|
|
96
|
-
target: string;
|
|
97
97
|
}, {}>, __VLS_Slots>;
|
|
98
98
|
export default _default;
|
|
99
99
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -89,9 +89,9 @@ export declare const GmLink: import("../../../../utils").SFCWithInstall<{
|
|
|
89
89
|
}, {
|
|
90
90
|
type: "default" | "primary" | "success" | "warning" | "info" | "danger";
|
|
91
91
|
href: string;
|
|
92
|
+
target: string;
|
|
92
93
|
underline: boolean | "always" | "never" | "hover";
|
|
93
94
|
disabled: boolean;
|
|
94
|
-
target: string;
|
|
95
95
|
}, true, {}, {}, {
|
|
96
96
|
P: {};
|
|
97
97
|
B: {};
|
|
@@ -144,9 +144,9 @@ export declare const GmLink: import("../../../../utils").SFCWithInstall<{
|
|
|
144
144
|
}, {}, {}, {}, {}, {
|
|
145
145
|
type: "default" | "primary" | "success" | "warning" | "info" | "danger";
|
|
146
146
|
href: string;
|
|
147
|
+
target: string;
|
|
147
148
|
underline: boolean | "always" | "never" | "hover";
|
|
148
149
|
disabled: boolean;
|
|
149
|
-
target: string;
|
|
150
150
|
}>;
|
|
151
151
|
__isFragment?: undefined;
|
|
152
152
|
__isTeleport?: undefined;
|
|
@@ -198,9 +198,9 @@ export declare const GmLink: import("../../../../utils").SFCWithInstall<{
|
|
|
198
198
|
}, string, {
|
|
199
199
|
type: "default" | "primary" | "success" | "warning" | "info" | "danger";
|
|
200
200
|
href: string;
|
|
201
|
+
target: string;
|
|
201
202
|
underline: boolean | "always" | "never" | "hover";
|
|
202
203
|
disabled: boolean;
|
|
203
|
-
target: string;
|
|
204
204
|
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
205
205
|
$slots: {
|
|
206
206
|
default?: ((props: {}) => any) | undefined;
|
|
@@ -15,6 +15,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
15
15
|
type: StringConstructor;
|
|
16
16
|
default: () => string;
|
|
17
17
|
};
|
|
18
|
+
extraQuery: {
|
|
19
|
+
type: import("vue").PropType<Record<string, string | number | boolean> | (() => Record<string, string | number | boolean>)>;
|
|
20
|
+
default: () => {};
|
|
21
|
+
};
|
|
18
22
|
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
19
23
|
needRealodRouteNames: {
|
|
20
24
|
type: import("vue").PropType<string[]>;
|
|
@@ -32,10 +36,15 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
32
36
|
type: StringConstructor;
|
|
33
37
|
default: () => string;
|
|
34
38
|
};
|
|
39
|
+
extraQuery: {
|
|
40
|
+
type: import("vue").PropType<Record<string, string | number | boolean> | (() => Record<string, string | number | boolean>)>;
|
|
41
|
+
default: () => {};
|
|
42
|
+
};
|
|
35
43
|
}>>, {
|
|
36
44
|
needRealodRouteNames: string[];
|
|
37
45
|
needScanningRouteNames: string[];
|
|
38
46
|
system: number;
|
|
39
47
|
redirectUrlField: string;
|
|
48
|
+
extraQuery: Record<string, string | number | boolean> | (() => Record<string, string | number | boolean>);
|
|
40
49
|
}, {}>;
|
|
41
50
|
export default _default;
|
|
@@ -58,6 +58,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
58
58
|
if (guard_company) {
|
|
59
59
|
loginUrl.value += `&companyId=${guard_company}`;
|
|
60
60
|
}
|
|
61
|
+
const extraQuery = typeof props.extraQuery === "function" ? props.extraQuery() : props.extraQuery;
|
|
62
|
+
if (extraQuery) {
|
|
63
|
+
Object.entries(extraQuery).forEach(([key, value]) => {
|
|
64
|
+
if (value !== void 0 && value !== null) {
|
|
65
|
+
loginUrl.value += `&${key}=${encodeURIComponent(value)}`;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
61
69
|
loginUrl.value += `&${props.redirectUrlField}=${protocol}//${host}${myPath}`;
|
|
62
70
|
console.log(loginUrl.value);
|
|
63
71
|
if (isMobile() || isDingTalk()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginDialog.vue2.mjs","sources":["../../../../../../../packages/components/src/business/loginDialog/LoginDialog.vue"],"sourcesContent":["<script lang=\"ts\">\nconst loginEnvKey = 'VITE_GIIME_LOGIN_URL'\n</script>\n<template>\n <div v-if=\"isSSRShowDialog\">\n <el-dialog v-model=\"loginStore.showLogin\" width=\"480px\" align-center append-to-body>\n <!-- 正常登录状态:显示iframe -->\n <iframe v-if=\"loginStore.showLogin && !loginStore.isLoginBlocked\" class=\"gm-h-[650px] gm-w-full\" :src=\"loginUrl\" />\n <!-- 异常状态:显示错误提示 -->\n <div v-else-if=\"loginStore.isLoginBlocked\" class=\"gm-py-10\" :src=\"loginUrl\">\n <el-result icon=\"warning\" title=\"登录异常\" sub-title=\"短时间内多次登录失败,请稍后重试\">\n <template #extra>\n <el-button type=\"primary\" @click=\"handleRetryLogin\">重新登录</el-button>\n <el-button type=\"warning\" @click=\"handleClearCache\">清空缓存</el-button>\n <el-button @click=\"loginStore.showLogin = false\">关闭</el-button>\n </template>\n </el-result>\n </div>\n </el-dialog>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, unref, watch } from 'vue';\n// import { isObject } from '@vue/shared';\nimport { ElButton, ElDialog, ElMessage, ElResult } from 'element-plus';\nimport Cookies from 'js-cookie';\n// import router from 'vue-router';\nimport { useLoginStore } from '@giime/hooks';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport { isDingTalk, isMobile, isString } from '@giime/utils';\nimport { getDomain, urlJoin } from '@giime/utils/src/http/url';\nimport { getTenantType, isGiikin } from '@giime/utils/src/tenant';\nimport { envConfigs, resolveEnvConfig } from '@giime/utils/src/http/createModes';\nimport { loginDialogProps } from './loginDialog';\nimport { resetEnvMode } from '@giime/constants/key';\n\nconst props = defineProps(loginDialogProps);\nconst router = useGlobalConfig('router');\n// const router = useRouter();\nconst route = computed(() => (router.value ? unref(router.value.currentRoute) : undefined));\nconst loginStore = useLoginStore();\nconst loginUrl = ref('');\n\n\nconst importMetaEnv = useGlobalConfig('env');\nconst isSSRShowDialog = ref(importMetaEnv.value.SSR === false);\n\n/**\n * 获取登录URL\n * 优先级:环境变量 > resetEnvMode > 租户类型判断 > 默认值\n */\nlet originLoginUrl = '';\n// 1. 优先使用环境变量配置的 loginUrl\nif (isString(importMetaEnv.value[loginEnvKey])) {\n originLoginUrl = importMetaEnv.value[loginEnvKey];\n} else {\n // 2. 根据租户类型获取登录路径\n const loginPath = isGiikin() ? '/guard/sso/public/auth' : '/fe/basic/login';\n\n // 3. 根据 resetEnvMode 获取环境配置并拼接完整URL\n const resetMode = importMetaEnv.value[resetEnvMode];\n const hostname = typeof window !== 'undefined' ? window.location.hostname : '';\n // 获取域名对应的环境配置\n const findEnvConfig = Object.values(envConfigs).find(config => config.domain === hostname);\n const resetEnvConfig = resolveEnvConfig(resetMode);\n if (resetEnvConfig) {\n originLoginUrl = urlJoin(resetEnvConfig.url, loginPath);\n } else if (findEnvConfig) {\n // 4. 根据域名获取环境配置并拼接完整URL\n originLoginUrl = urlJoin(findEnvConfig.url, loginPath);\n } else if (importMetaEnv.value.DEV) {\n // 5. 开发环境使用开发环境登录路径\n originLoginUrl = urlJoin(envConfigs.develop.url, loginPath);\n } else {\n // 6. 其他环境只使用登录路径\n originLoginUrl = loginPath;\n }\n}\nconst handleLogin = () => {\n const protocol = window.location.protocol;\n const host = window.location.host;\n const myPath = window.location.pathname;\n loginUrl.value = `${originLoginUrl}?_system=${props.system}&isPopUp=true`;\n if (route.value && props.needScanningRouteNames.includes(route.value?.name?.toString() ?? '')) {\n loginUrl.value += '&is_dashboard=1';\n }\n\n // 公司id\n const guard_company = Cookies.get('guard_company');\n if (guard_company) {\n loginUrl.value += `&companyId=${guard_company}`;\n }\n\n loginUrl.value += `&${props.redirectUrlField}=${protocol}//${host}${myPath}`;\n\n // eslint-disable-next-line no-console\n console.log(loginUrl.value);\n if (isMobile() || isDingTalk()) {\n window.location.href = loginUrl.value;\n }\n};\n\n/** 重试登录:重置循环保护计数器并重新加载登录页 */\nconst handleRetryLogin = () => {\n loginStore.resetLoginBlock();\n handleLogin();\n};\n\n/** 清空缓存:清除 Cookies、localStorage 和 sessionStorage */\nconst handleClearCache = () => {\n // 清除所有 Cookies\n const cookies = document.cookie.split(';');\n const curDomain = getDomain();\n cookies.forEach(cookie => {\n const name = cookie.split('=')[0].trim();\n if (name) {\n // 尝试多种方式删除 cookie\n Cookies.remove(name);\n Cookies.remove(name, { domain: curDomain });\n Cookies.remove(name, { domain: `.${curDomain}` });\n }\n });\n\n // 提示操作成功\n ElMessage.success('清除cookie缓存成功');\n};\nwatch(\n () => loginStore.showLogin,\n value => {\n if (value) {\n handleLogin();\n }\n },\n);\n// 超过5分钟没扫码 会不能扫码 定时没登录的话3分钟刷新次\nconst reloadTimer = ref<number>();\nif (route.value) {\n watch(route, (newValue, oldValue) => {\n if (!oldValue || !newValue) {\n return;\n }\n if (oldValue.name && props.needScanningRouteNames.includes(oldValue.name.toString())) {\n window.clearInterval(reloadTimer.value);\n }\n if (newValue.name && props.needScanningRouteNames.includes(newValue.name.toString())) {\n reloadTimer.value = window.setInterval(\n () => {\n if (!loginStore.showLogin) {\n return;\n }\n // 登录超时后 3分钟刷新次页面\n window.location.reload();\n },\n 3 * 60 * 1000,\n );\n }\n });\n}\n\ninterface GiikinLogged {\n type: string;\n data: {\n token: string;\n userId: string;\n /**token 或者 loginSuccess 控制当前登录是否成功*/\n loginSuccess?: boolean;\n /**禁止写入cookie */\n disabledWrite?: boolean;\n disabledClose?: boolean;\n tokens: { key: string; value: string }[];\n };\n cookies?: string[];\n}\n\nonMounted(() => {\n isSSRShowDialog.value = true;\n if (loginStore.showLogin) {\n handleLogin();\n }\n // iframe事件监听\n window.addEventListener('message', async e => {\n // 刷新登陆状态\n if (e.data.type == 'giikin-Logged') {\n const data: GiikinLogged = e.data;\n // eslint-disable-next-line no-console\n console.log(e.data);\n const token = Cookies.get('token');\n // const isProduction = importMetaEnv.value.MODE === 'production' || importMetaEnv.value.MODE === 'giiktok.production';\n const isProduction = importMetaEnv.value.MODE.includes('production');\n if (\n // 测试环境 但是需要登陆的情况\n (!isProduction && data?.data?.token) ||\n // 正式环境 登录成功 但是服务器token设置失败\n (isProduction && !token && data?.data?.token)\n ) {\n // loginStore.userToken = data.data.token;\n loginStore.userId = data.data.userId;\n const now = new Date();\n let time = now.getTime();\n time += 8 * 60 * 60 * 1000; // 8 小时之后的时间(单位:毫秒)\n now.setTime(time);\n const curDomain = getDomain();\n // 不禁用 则写入cookie\n if (!data.data.disabledWrite) {\n // cookieMap\n if (data.cookies && Array.isArray(data.cookies)) {\n data.cookies.forEach((cookie: string) => {\n document.cookie = cookie;\n });\n }\n // 可能出现测试环境调正式,需要写入token\n Cookies.set('token', data.data.token, { expires: now, domain: isProduction ? curDomain : undefined });\n // 本地开发时 写入token\n if (importMetaEnv.value.DEV && data.data.tokens) {\n data.data.tokens.forEach((token: { key: string; value: string }) => {\n Cookies.set(token.key, token.value, { expires: now, domain: curDomain });\n });\n }\n\n if (!Cookies.get('sso_user_id') && data.data.userId) {\n Cookies.set('sso_user_id', data.data.userId, {\n expires: now,\n domain: isProduction ? curDomain : undefined,\n });\n }\n }\n }\n if (!data.data.disabledClose) {\n // 触发登录成功监听\n if (data?.data?.token || data?.data?.loginSuccess) {\n await loginStore.triggerLoginResult(true);\n }\n // ElMessage.success('登录成功,请关闭弹窗');\n loginStore.showLogin = false;\n if (route.value && props.needRealodRouteNames.includes(route.value.name?.toString() ?? '')) {\n window.location.reload();\n }\n }\n }\n });\n});\nonUnmounted(() => {\n window.clearInterval(reloadTimer.value);\n});\n</script>\n"],"names":["token"],"mappings":";;;;;;;;;;;;;;;;;AACA,MAAM,WAAA,GAAc,sBAAA;;;;;AAmCpB,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,MAAA,GAAS,gBAAgB,QAAQ,CAAA;AAEvC,IAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,MAAO,MAAA,CAAO,KAAA,GAAQ,MAAM,MAAA,CAAO,KAAA,CAAM,YAAY,CAAA,GAAI,KAAA,CAAU,CAAA;AAC1F,IAAA,MAAM,aAAa,aAAA,EAAc;AACjC,IAAA,MAAM,QAAA,GAAW,IAAI,EAAE,CAAA;AAGvB,IAAA,MAAM,aAAA,GAAgB,gBAAgB,KAAK,CAAA;AAC3C,IAAA,MAAM,eAAA,GAAkB,GAAA,CAAI,aAAA,CAAc,KAAA,CAAM,QAAQ,KAAK,CAAA;AAM7D,IAAA,IAAI,cAAA,GAAiB,EAAA;AAErB,IAAA,IAAI,QAAA,CAAS,aAAA,CAAc,KAAA,CAAM,WAAW,CAAC,CAAA,EAAG;AAC9C,MAAA,cAAA,GAAiB,aAAA,CAAc,MAAM,WAAW,CAAA;AAAA,IAClD,CAAA,MAAO;AAEL,MAAA,MAAM,SAAA,GAAY,QAAA,EAAS,GAAI,wBAAA,GAA2B,iBAAA;AAG1D,MAAA,MAAM,SAAA,GAAY,aAAA,CAAc,KAAA,CAAM,YAAY,CAAA;AAClD,MAAA,MAAM,WAAW,OAAO,MAAA,KAAW,WAAA,GAAc,MAAA,CAAO,SAAS,QAAA,GAAW,EAAA;AAE5E,MAAA,MAAM,aAAA,GAAgB,OAAO,MAAA,CAAO,UAAU,EAAE,IAAA,CAAK,CAAA,MAAA,KAAU,MAAA,CAAO,MAAA,KAAW,QAAQ,CAAA;AACzF,MAAA,MAAM,cAAA,GAAiB,iBAAiB,SAAS,CAAA;AACjD,MAAA,IAAI,cAAA,EAAgB;AAClB,QAAA,cAAA,GAAiB,OAAA,CAAQ,cAAA,CAAe,GAAA,EAAK,SAAS,CAAA;AAAA,MACxD,WAAW,aAAA,EAAe;AAExB,QAAA,cAAA,GAAiB,OAAA,CAAQ,aAAA,CAAc,GAAA,EAAK,SAAS,CAAA;AAAA,MACvD,CAAA,MAAA,IAAW,aAAA,CAAc,KAAA,CAAM,GAAA,EAAK;AAElC,QAAA,cAAA,GAAiB,OAAA,CAAQ,UAAA,CAAW,OAAA,CAAQ,GAAA,EAAK,SAAS,CAAA;AAAA,MAC5D,CAAA,MAAO;AAEL,QAAA,cAAA,GAAiB,SAAA;AAAA,MACnB;AAAA,IACF;AACA,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,MAAM,QAAA,GAAW,OAAO,QAAA,CAAS,QAAA;AACjC,MAAA,MAAM,IAAA,GAAO,OAAO,QAAA,CAAS,IAAA;AAC7B,MAAA,MAAM,MAAA,GAAS,OAAO,QAAA,CAAS,QAAA;AAC/B,MAAA,QAAA,CAAS,KAAA,GAAQ,CAAA,EAAG,cAAc,CAAA,SAAA,EAAY,MAAM,MAAM,CAAA,aAAA,CAAA;AAC1D,MAAA,IAAI,KAAA,CAAM,KAAA,IAAS,KAAA,CAAM,sBAAA,CAAuB,QAAA,CAAS,KAAA,CAAM,KAAA,EAAO,IAAA,EAAM,QAAA,EAAS,IAAK,EAAE,CAAA,EAAG;AAC7F,QAAA,QAAA,CAAS,KAAA,IAAS,iBAAA;AAAA,MACpB;AAGA,MAAA,MAAM,aAAA,GAAgB,OAAA,CAAQ,GAAA,CAAI,eAAe,CAAA;AACjD,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,QAAA,CAAS,KAAA,IAAS,cAAc,aAAa,CAAA,CAAA;AAAA,MAC/C;AAEA,MAAA,QAAA,CAAS,KAAA,IAAS,IAAI,KAAA,CAAM,gBAAgB,IAAI,QAAQ,CAAA,EAAA,EAAK,IAAI,CAAA,EAAG,MAAM,CAAA,CAAA;AAG1E,MAAA,OAAA,CAAQ,GAAA,CAAI,SAAS,KAAK,CAAA;AAC1B,MAAA,IAAI,QAAA,EAAS,IAAK,UAAA,EAAW,EAAG;AAC9B,QAAA,MAAA,CAAO,QAAA,CAAS,OAAO,QAAA,CAAS,KAAA;AAAA,MAClC;AAAA,IACF,CAAA;AAGA,IAAA,MAAM,mBAAmB,MAAM;AAC7B,MAAA,UAAA,CAAW,eAAA,EAAgB;AAC3B,MAAA,WAAA,EAAY;AAAA,IACd,CAAA;AAGA,IAAA,MAAM,mBAAmB,MAAM;AAE7B,MAAA,MAAM,OAAA,GAAU,QAAA,CAAS,MAAA,CAAO,KAAA,CAAM,GAAG,CAAA;AACzC,MAAA,MAAM,YAAY,SAAA,EAAU;AAC5B,MAAA,OAAA,CAAQ,QAAQ,CAAA,MAAA,KAAU;AACxB,QAAA,MAAM,OAAO,MAAA,CAAO,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,EAAE,IAAA,EAAK;AACvC,QAAA,IAAI,IAAA,EAAM;AAER,UAAA,OAAA,CAAQ,OAAO,IAAI,CAAA;AACnB,UAAA,OAAA,CAAQ,MAAA,CAAO,IAAA,EAAM,EAAE,MAAA,EAAQ,WAAW,CAAA;AAC1C,UAAA,OAAA,CAAQ,OAAO,IAAA,EAAM,EAAE,QAAQ,CAAA,CAAA,EAAI,SAAS,IAAI,CAAA;AAAA,QAClD;AAAA,MACF,CAAC,CAAA;AAGD,MAAA,SAAA,CAAU,QAAQ,4CAAc,CAAA;AAAA,IAClC,CAAA;AACA,IAAA,KAAA;AAAA,MACE,MAAM,UAAA,CAAW,SAAA;AAAA,MACjB,CAAA,KAAA,KAAS;AACP,QAAA,IAAI,KAAA,EAAO;AACT,UAAA,WAAA,EAAY;AAAA,QACd;AAAA,MACF;AAAA,KACF;AAEA,IAAA,MAAM,cAAc,GAAA,EAAY;AAChC,IAAA,IAAI,MAAM,KAAA,EAAO;AACf,MAAA,KAAA,CAAM,KAAA,EAAO,CAAC,QAAA,EAAU,QAAA,KAAa;AACnC,QAAA,IAAI,CAAC,QAAA,IAAY,CAAC,QAAA,EAAU;AAC1B,UAAA;AAAA,QACF;AACA,QAAA,IAAI,QAAA,CAAS,QAAQ,KAAA,CAAM,sBAAA,CAAuB,SAAS,QAAA,CAAS,IAAA,CAAK,QAAA,EAAU,CAAA,EAAG;AACpF,UAAA,MAAA,CAAO,aAAA,CAAc,YAAY,KAAK,CAAA;AAAA,QACxC;AACA,QAAA,IAAI,QAAA,CAAS,QAAQ,KAAA,CAAM,sBAAA,CAAuB,SAAS,QAAA,CAAS,IAAA,CAAK,QAAA,EAAU,CAAA,EAAG;AACpF,UAAA,WAAA,CAAY,QAAQ,MAAA,CAAO,WAAA;AAAA,YACzB,MAAM;AACJ,cAAA,IAAI,CAAC,WAAW,SAAA,EAAW;AACzB,gBAAA;AAAA,cACF;AAEA,cAAA,MAAA,CAAO,SAAS,MAAA,EAAO;AAAA,YACzB,CAAA;AAAA,YACA,IAAI,EAAA,GAAK;AAAA,WACX;AAAA,QACF;AAAA,MACF,CAAC,CAAA;AAAA,IACH;AAiBA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,eAAA,CAAgB,KAAA,GAAQ,IAAA;AACxB,MAAA,IAAI,WAAW,SAAA,EAAW;AACxB,QAAA,WAAA,EAAY;AAAA,MACd;AAEA,MAAA,MAAA,CAAO,gBAAA,CAAiB,SAAA,EAAW,OAAM,CAAA,KAAK;AAE5C,QAAA,IAAI,CAAA,CAAE,IAAA,CAAK,IAAA,IAAQ,eAAA,EAAiB;AAClC,UAAA,MAAM,OAAqB,CAAA,CAAE,IAAA;AAE7B,UAAA,OAAA,CAAQ,GAAA,CAAI,EAAE,IAAI,CAAA;AAClB,UAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,GAAA,CAAI,OAAO,CAAA;AAEjC,UAAA,MAAM,YAAA,GAAe,aAAA,CAAc,KAAA,CAAM,IAAA,CAAK,SAAS,YAAY,CAAA;AACnE,UAAA;AAAA;AAAA,YAEG,CAAC,YAAA,IAAgB,IAAA,EAAM,IAAA,EAAM,KAAA;AAAA,YAE7B,YAAA,IAAgB,CAAC,KAAA,IAAS,IAAA,EAAM,IAAA,EAAM;AAAA,YACvC;AAEA,YAAA,UAAA,CAAW,MAAA,GAAS,KAAK,IAAA,CAAK,MAAA;AAC9B,YAAA,MAAM,GAAA,uBAAU,IAAA,EAAK;AACrB,YAAA,IAAI,IAAA,GAAO,IAAI,OAAA,EAAQ;AACvB,YAAA,IAAA,IAAQ,CAAA,GAAI,KAAK,EAAA,GAAK,GAAA;AACtB,YAAA,GAAA,CAAI,QAAQ,IAAI,CAAA;AAChB,YAAA,MAAM,YAAY,SAAA,EAAU;AAE5B,YAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,aAAA,EAAe;AAE5B,cAAA,IAAI,KAAK,OAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,OAAO,CAAA,EAAG;AAC/C,gBAAA,IAAA,CAAK,OAAA,CAAQ,OAAA,CAAQ,CAAC,MAAA,KAAmB;AACvC,kBAAA,QAAA,CAAS,MAAA,GAAS,MAAA;AAAA,gBACpB,CAAC,CAAA;AAAA,cACH;AAEA,cAAA,OAAA,CAAQ,GAAA,CAAI,OAAA,EAAS,IAAA,CAAK,IAAA,CAAK,KAAA,EAAO,EAAE,OAAA,EAAS,GAAA,EAAK,MAAA,EAAQ,YAAA,GAAe,SAAA,GAAY,KAAA,CAAA,EAAW,CAAA;AAEpG,cAAA,IAAI,aAAA,CAAc,KAAA,CAAM,GAAA,IAAO,IAAA,CAAK,KAAK,MAAA,EAAQ;AAC/C,gBAAA,IAAA,CAAK,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,CAACA,MAAAA,KAA0C;AAClE,kBAAA,OAAA,CAAQ,GAAA,CAAIA,MAAAA,CAAM,GAAA,EAAKA,MAAAA,CAAM,KAAA,EAAO,EAAE,OAAA,EAAS,GAAA,EAAK,MAAA,EAAQ,SAAA,EAAW,CAAA;AAAA,gBACzE,CAAC,CAAA;AAAA,cACH;AAEA,cAAA,IAAI,CAAC,OAAA,CAAQ,GAAA,CAAI,aAAa,CAAA,IAAK,IAAA,CAAK,KAAK,MAAA,EAAQ;AACnD,gBAAA,OAAA,CAAQ,GAAA,CAAI,aAAA,EAAe,IAAA,CAAK,IAAA,CAAK,MAAA,EAAQ;AAAA,kBAC3C,OAAA,EAAS,GAAA;AAAA,kBACT,MAAA,EAAQ,eAAe,SAAA,GAAY,KAAA;AAAA,iBACpC,CAAA;AAAA,cACH;AAAA,YACF;AAAA,UACF;AACA,UAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,aAAA,EAAe;AAE5B,YAAA,IAAI,IAAA,EAAM,IAAA,EAAM,KAAA,IAAS,IAAA,EAAM,MAAM,YAAA,EAAc;AACjD,cAAA,MAAM,UAAA,CAAW,mBAAmB,IAAI,CAAA;AAAA,YAC1C;AAEA,YAAA,UAAA,CAAW,SAAA,GAAY,KAAA;AACvB,YAAA,IAAI,KAAA,CAAM,KAAA,IAAS,KAAA,CAAM,oBAAA,CAAqB,QAAA,CAAS,KAAA,CAAM,KAAA,CAAM,IAAA,EAAM,QAAA,EAAS,IAAK,EAAE,CAAA,EAAG;AAC1F,cAAA,MAAA,CAAO,SAAS,MAAA,EAAO;AAAA,YACzB;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AACD,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,MAAA,CAAO,aAAA,CAAc,YAAY,KAAK,CAAA;AAAA,IACxC,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"LoginDialog.vue2.mjs","sources":["../../../../../../../packages/components/src/business/loginDialog/LoginDialog.vue"],"sourcesContent":["<script lang=\"ts\">\nconst loginEnvKey = 'VITE_GIIME_LOGIN_URL'\n</script>\n<template>\n <div v-if=\"isSSRShowDialog\">\n <el-dialog v-model=\"loginStore.showLogin\" width=\"480px\" align-center append-to-body>\n <!-- 正常登录状态:显示iframe -->\n <iframe v-if=\"loginStore.showLogin && !loginStore.isLoginBlocked\" class=\"gm-h-[650px] gm-w-full\" :src=\"loginUrl\" />\n <!-- 异常状态:显示错误提示 -->\n <div v-else-if=\"loginStore.isLoginBlocked\" class=\"gm-py-10\" :src=\"loginUrl\">\n <el-result icon=\"warning\" title=\"登录异常\" sub-title=\"短时间内多次登录失败,请稍后重试\">\n <template #extra>\n <el-button type=\"primary\" @click=\"handleRetryLogin\">重新登录</el-button>\n <el-button type=\"warning\" @click=\"handleClearCache\">清空缓存</el-button>\n <el-button @click=\"loginStore.showLogin = false\">关闭</el-button>\n </template>\n </el-result>\n </div>\n </el-dialog>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, unref, watch } from 'vue';\n// import { isObject } from '@vue/shared';\nimport { ElButton, ElDialog, ElMessage, ElResult } from 'element-plus';\nimport Cookies from 'js-cookie';\n// import router from 'vue-router';\nimport { useLoginStore } from '@giime/hooks';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport { isDingTalk, isMobile, isString } from '@giime/utils';\nimport { getDomain, urlJoin } from '@giime/utils/src/http/url';\nimport { getTenantType, isGiikin } from '@giime/utils/src/tenant';\nimport { envConfigs, resolveEnvConfig } from '@giime/utils/src/http/createModes';\nimport { loginDialogProps } from './loginDialog';\nimport { resetEnvMode } from '@giime/constants/key';\n\nconst props = defineProps(loginDialogProps);\nconst router = useGlobalConfig('router');\n// const router = useRouter();\nconst route = computed(() => (router.value ? unref(router.value.currentRoute) : undefined));\nconst loginStore = useLoginStore();\nconst loginUrl = ref('');\n\n\nconst importMetaEnv = useGlobalConfig('env');\nconst isSSRShowDialog = ref(importMetaEnv.value.SSR === false);\n\n/**\n * 获取登录URL\n * 优先级:环境变量 > resetEnvMode > 租户类型判断 > 默认值\n */\nlet originLoginUrl = '';\n// 1. 优先使用环境变量配置的 loginUrl\nif (isString(importMetaEnv.value[loginEnvKey])) {\n originLoginUrl = importMetaEnv.value[loginEnvKey];\n} else {\n // 2. 根据租户类型获取登录路径\n const loginPath = isGiikin() ? '/guard/sso/public/auth' : '/fe/basic/login';\n\n // 3. 根据 resetEnvMode 获取环境配置并拼接完整URL\n const resetMode = importMetaEnv.value[resetEnvMode];\n const hostname = typeof window !== 'undefined' ? window.location.hostname : '';\n // 获取域名对应的环境配置\n const findEnvConfig = Object.values(envConfigs).find(config => config.domain === hostname);\n const resetEnvConfig = resolveEnvConfig(resetMode);\n if (resetEnvConfig) {\n originLoginUrl = urlJoin(resetEnvConfig.url, loginPath);\n } else if (findEnvConfig) {\n // 4. 根据域名获取环境配置并拼接完整URL\n originLoginUrl = urlJoin(findEnvConfig.url, loginPath);\n } else if (importMetaEnv.value.DEV) {\n // 5. 开发环境使用开发环境登录路径\n originLoginUrl = urlJoin(envConfigs.develop.url, loginPath);\n } else {\n // 6. 其他环境只使用登录路径\n originLoginUrl = loginPath;\n }\n}\nconst handleLogin = () => {\n const protocol = window.location.protocol;\n const host = window.location.host;\n const myPath = window.location.pathname;\n loginUrl.value = `${originLoginUrl}?_system=${props.system}&isPopUp=true`;\n if (route.value && props.needScanningRouteNames.includes(route.value?.name?.toString() ?? '')) {\n loginUrl.value += '&is_dashboard=1';\n }\n\n // 公司id\n const guard_company = Cookies.get('guard_company');\n if (guard_company) {\n loginUrl.value += `&companyId=${guard_company}`;\n }\n\n // 追加用户自定义参数(全局配置 loginDialog.extraQuery,支持对象或返回对象的函数)\n const extraQuery = typeof props.extraQuery === 'function' ? props.extraQuery() : props.extraQuery;\n if (extraQuery) {\n Object.entries(extraQuery).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n loginUrl.value += `&${key}=${encodeURIComponent(value)}`;\n }\n });\n }\n\n loginUrl.value += `&${props.redirectUrlField}=${protocol}//${host}${myPath}`;\n\n // eslint-disable-next-line no-console\n console.log(loginUrl.value);\n if (isMobile() || isDingTalk()) {\n window.location.href = loginUrl.value;\n }\n};\n\n/** 重试登录:重置循环保护计数器并重新加载登录页 */\nconst handleRetryLogin = () => {\n loginStore.resetLoginBlock();\n handleLogin();\n};\n\n/** 清空缓存:清除 Cookies、localStorage 和 sessionStorage */\nconst handleClearCache = () => {\n // 清除所有 Cookies\n const cookies = document.cookie.split(';');\n const curDomain = getDomain();\n cookies.forEach(cookie => {\n const name = cookie.split('=')[0].trim();\n if (name) {\n // 尝试多种方式删除 cookie\n Cookies.remove(name);\n Cookies.remove(name, { domain: curDomain });\n Cookies.remove(name, { domain: `.${curDomain}` });\n }\n });\n\n // 提示操作成功\n ElMessage.success('清除cookie缓存成功');\n};\nwatch(\n () => loginStore.showLogin,\n value => {\n if (value) {\n handleLogin();\n }\n },\n);\n// 超过5分钟没扫码 会不能扫码 定时没登录的话3分钟刷新次\nconst reloadTimer = ref<number>();\nif (route.value) {\n watch(route, (newValue, oldValue) => {\n if (!oldValue || !newValue) {\n return;\n }\n if (oldValue.name && props.needScanningRouteNames.includes(oldValue.name.toString())) {\n window.clearInterval(reloadTimer.value);\n }\n if (newValue.name && props.needScanningRouteNames.includes(newValue.name.toString())) {\n reloadTimer.value = window.setInterval(\n () => {\n if (!loginStore.showLogin) {\n return;\n }\n // 登录超时后 3分钟刷新次页面\n window.location.reload();\n },\n 3 * 60 * 1000,\n );\n }\n });\n}\n\ninterface GiikinLogged {\n type: string;\n data: {\n token: string;\n userId: string;\n /**token 或者 loginSuccess 控制当前登录是否成功*/\n loginSuccess?: boolean;\n /**禁止写入cookie */\n disabledWrite?: boolean;\n disabledClose?: boolean;\n tokens: { key: string; value: string }[];\n };\n cookies?: string[];\n}\n\nonMounted(() => {\n isSSRShowDialog.value = true;\n if (loginStore.showLogin) {\n handleLogin();\n }\n // iframe事件监听\n window.addEventListener('message', async e => {\n // 刷新登陆状态\n if (e.data.type == 'giikin-Logged') {\n const data: GiikinLogged = e.data;\n // eslint-disable-next-line no-console\n console.log(e.data);\n const token = Cookies.get('token');\n // const isProduction = importMetaEnv.value.MODE === 'production' || importMetaEnv.value.MODE === 'giiktok.production';\n const isProduction = importMetaEnv.value.MODE.includes('production');\n if (\n // 测试环境 但是需要登陆的情况\n (!isProduction && data?.data?.token) ||\n // 正式环境 登录成功 但是服务器token设置失败\n (isProduction && !token && data?.data?.token)\n ) {\n // loginStore.userToken = data.data.token;\n loginStore.userId = data.data.userId;\n const now = new Date();\n let time = now.getTime();\n time += 8 * 60 * 60 * 1000; // 8 小时之后的时间(单位:毫秒)\n now.setTime(time);\n const curDomain = getDomain();\n // 不禁用 则写入cookie\n if (!data.data.disabledWrite) {\n // cookieMap\n if (data.cookies && Array.isArray(data.cookies)) {\n data.cookies.forEach((cookie: string) => {\n document.cookie = cookie;\n });\n }\n // 可能出现测试环境调正式,需要写入token\n Cookies.set('token', data.data.token, { expires: now, domain: isProduction ? curDomain : undefined });\n // 本地开发时 写入token\n if (importMetaEnv.value.DEV && data.data.tokens) {\n data.data.tokens.forEach((token: { key: string; value: string }) => {\n Cookies.set(token.key, token.value, { expires: now, domain: curDomain });\n });\n }\n\n if (!Cookies.get('sso_user_id') && data.data.userId) {\n Cookies.set('sso_user_id', data.data.userId, {\n expires: now,\n domain: isProduction ? curDomain : undefined,\n });\n }\n }\n }\n if (!data.data.disabledClose) {\n // 触发登录成功监听\n if (data?.data?.token || data?.data?.loginSuccess) {\n await loginStore.triggerLoginResult(true);\n }\n // ElMessage.success('登录成功,请关闭弹窗');\n loginStore.showLogin = false;\n if (route.value && props.needRealodRouteNames.includes(route.value.name?.toString() ?? '')) {\n window.location.reload();\n }\n }\n }\n });\n});\nonUnmounted(() => {\n window.clearInterval(reloadTimer.value);\n});\n</script>\n"],"names":["token"],"mappings":";;;;;;;;;;;;;;;;;AACA,MAAM,WAAA,GAAc,sBAAA;;;;;AAmCpB,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,MAAA,GAAS,gBAAgB,QAAQ,CAAA;AAEvC,IAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,MAAO,MAAA,CAAO,KAAA,GAAQ,MAAM,MAAA,CAAO,KAAA,CAAM,YAAY,CAAA,GAAI,KAAA,CAAU,CAAA;AAC1F,IAAA,MAAM,aAAa,aAAA,EAAc;AACjC,IAAA,MAAM,QAAA,GAAW,IAAI,EAAE,CAAA;AAGvB,IAAA,MAAM,aAAA,GAAgB,gBAAgB,KAAK,CAAA;AAC3C,IAAA,MAAM,eAAA,GAAkB,GAAA,CAAI,aAAA,CAAc,KAAA,CAAM,QAAQ,KAAK,CAAA;AAM7D,IAAA,IAAI,cAAA,GAAiB,EAAA;AAErB,IAAA,IAAI,QAAA,CAAS,aAAA,CAAc,KAAA,CAAM,WAAW,CAAC,CAAA,EAAG;AAC9C,MAAA,cAAA,GAAiB,aAAA,CAAc,MAAM,WAAW,CAAA;AAAA,IAClD,CAAA,MAAO;AAEL,MAAA,MAAM,SAAA,GAAY,QAAA,EAAS,GAAI,wBAAA,GAA2B,iBAAA;AAG1D,MAAA,MAAM,SAAA,GAAY,aAAA,CAAc,KAAA,CAAM,YAAY,CAAA;AAClD,MAAA,MAAM,WAAW,OAAO,MAAA,KAAW,WAAA,GAAc,MAAA,CAAO,SAAS,QAAA,GAAW,EAAA;AAE5E,MAAA,MAAM,aAAA,GAAgB,OAAO,MAAA,CAAO,UAAU,EAAE,IAAA,CAAK,CAAA,MAAA,KAAU,MAAA,CAAO,MAAA,KAAW,QAAQ,CAAA;AACzF,MAAA,MAAM,cAAA,GAAiB,iBAAiB,SAAS,CAAA;AACjD,MAAA,IAAI,cAAA,EAAgB;AAClB,QAAA,cAAA,GAAiB,OAAA,CAAQ,cAAA,CAAe,GAAA,EAAK,SAAS,CAAA;AAAA,MACxD,WAAW,aAAA,EAAe;AAExB,QAAA,cAAA,GAAiB,OAAA,CAAQ,aAAA,CAAc,GAAA,EAAK,SAAS,CAAA;AAAA,MACvD,CAAA,MAAA,IAAW,aAAA,CAAc,KAAA,CAAM,GAAA,EAAK;AAElC,QAAA,cAAA,GAAiB,OAAA,CAAQ,UAAA,CAAW,OAAA,CAAQ,GAAA,EAAK,SAAS,CAAA;AAAA,MAC5D,CAAA,MAAO;AAEL,QAAA,cAAA,GAAiB,SAAA;AAAA,MACnB;AAAA,IACF;AACA,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,MAAM,QAAA,GAAW,OAAO,QAAA,CAAS,QAAA;AACjC,MAAA,MAAM,IAAA,GAAO,OAAO,QAAA,CAAS,IAAA;AAC7B,MAAA,MAAM,MAAA,GAAS,OAAO,QAAA,CAAS,QAAA;AAC/B,MAAA,QAAA,CAAS,KAAA,GAAQ,CAAA,EAAG,cAAc,CAAA,SAAA,EAAY,MAAM,MAAM,CAAA,aAAA,CAAA;AAC1D,MAAA,IAAI,KAAA,CAAM,KAAA,IAAS,KAAA,CAAM,sBAAA,CAAuB,QAAA,CAAS,KAAA,CAAM,KAAA,EAAO,IAAA,EAAM,QAAA,EAAS,IAAK,EAAE,CAAA,EAAG;AAC7F,QAAA,QAAA,CAAS,KAAA,IAAS,iBAAA;AAAA,MACpB;AAGA,MAAA,MAAM,aAAA,GAAgB,OAAA,CAAQ,GAAA,CAAI,eAAe,CAAA;AACjD,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,QAAA,CAAS,KAAA,IAAS,cAAc,aAAa,CAAA,CAAA;AAAA,MAC/C;AAGA,MAAA,MAAM,UAAA,GAAa,OAAO,KAAA,CAAM,UAAA,KAAe,aAAa,KAAA,CAAM,UAAA,KAAe,KAAA,CAAM,UAAA;AACvF,MAAA,IAAI,UAAA,EAAY;AACd,QAAA,MAAA,CAAO,OAAA,CAAQ,UAAU,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AACnD,UAAA,IAAI,KAAA,KAAU,KAAA,CAAA,IAAa,KAAA,KAAU,IAAA,EAAM;AACzC,YAAA,QAAA,CAAS,SAAS,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,EAAI,kBAAA,CAAmB,KAAK,CAAC,CAAA,CAAA;AAAA,UACxD;AAAA,QACF,CAAC,CAAA;AAAA,MACH;AAEA,MAAA,QAAA,CAAS,KAAA,IAAS,IAAI,KAAA,CAAM,gBAAgB,IAAI,QAAQ,CAAA,EAAA,EAAK,IAAI,CAAA,EAAG,MAAM,CAAA,CAAA;AAG1E,MAAA,OAAA,CAAQ,GAAA,CAAI,SAAS,KAAK,CAAA;AAC1B,MAAA,IAAI,QAAA,EAAS,IAAK,UAAA,EAAW,EAAG;AAC9B,QAAA,MAAA,CAAO,QAAA,CAAS,OAAO,QAAA,CAAS,KAAA;AAAA,MAClC;AAAA,IACF,CAAA;AAGA,IAAA,MAAM,mBAAmB,MAAM;AAC7B,MAAA,UAAA,CAAW,eAAA,EAAgB;AAC3B,MAAA,WAAA,EAAY;AAAA,IACd,CAAA;AAGA,IAAA,MAAM,mBAAmB,MAAM;AAE7B,MAAA,MAAM,OAAA,GAAU,QAAA,CAAS,MAAA,CAAO,KAAA,CAAM,GAAG,CAAA;AACzC,MAAA,MAAM,YAAY,SAAA,EAAU;AAC5B,MAAA,OAAA,CAAQ,QAAQ,CAAA,MAAA,KAAU;AACxB,QAAA,MAAM,OAAO,MAAA,CAAO,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,EAAE,IAAA,EAAK;AACvC,QAAA,IAAI,IAAA,EAAM;AAER,UAAA,OAAA,CAAQ,OAAO,IAAI,CAAA;AACnB,UAAA,OAAA,CAAQ,MAAA,CAAO,IAAA,EAAM,EAAE,MAAA,EAAQ,WAAW,CAAA;AAC1C,UAAA,OAAA,CAAQ,OAAO,IAAA,EAAM,EAAE,QAAQ,CAAA,CAAA,EAAI,SAAS,IAAI,CAAA;AAAA,QAClD;AAAA,MACF,CAAC,CAAA;AAGD,MAAA,SAAA,CAAU,QAAQ,4CAAc,CAAA;AAAA,IAClC,CAAA;AACA,IAAA,KAAA;AAAA,MACE,MAAM,UAAA,CAAW,SAAA;AAAA,MACjB,CAAA,KAAA,KAAS;AACP,QAAA,IAAI,KAAA,EAAO;AACT,UAAA,WAAA,EAAY;AAAA,QACd;AAAA,MACF;AAAA,KACF;AAEA,IAAA,MAAM,cAAc,GAAA,EAAY;AAChC,IAAA,IAAI,MAAM,KAAA,EAAO;AACf,MAAA,KAAA,CAAM,KAAA,EAAO,CAAC,QAAA,EAAU,QAAA,KAAa;AACnC,QAAA,IAAI,CAAC,QAAA,IAAY,CAAC,QAAA,EAAU;AAC1B,UAAA;AAAA,QACF;AACA,QAAA,IAAI,QAAA,CAAS,QAAQ,KAAA,CAAM,sBAAA,CAAuB,SAAS,QAAA,CAAS,IAAA,CAAK,QAAA,EAAU,CAAA,EAAG;AACpF,UAAA,MAAA,CAAO,aAAA,CAAc,YAAY,KAAK,CAAA;AAAA,QACxC;AACA,QAAA,IAAI,QAAA,CAAS,QAAQ,KAAA,CAAM,sBAAA,CAAuB,SAAS,QAAA,CAAS,IAAA,CAAK,QAAA,EAAU,CAAA,EAAG;AACpF,UAAA,WAAA,CAAY,QAAQ,MAAA,CAAO,WAAA;AAAA,YACzB,MAAM;AACJ,cAAA,IAAI,CAAC,WAAW,SAAA,EAAW;AACzB,gBAAA;AAAA,cACF;AAEA,cAAA,MAAA,CAAO,SAAS,MAAA,EAAO;AAAA,YACzB,CAAA;AAAA,YACA,IAAI,EAAA,GAAK;AAAA,WACX;AAAA,QACF;AAAA,MACF,CAAC,CAAA;AAAA,IACH;AAiBA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,eAAA,CAAgB,KAAA,GAAQ,IAAA;AACxB,MAAA,IAAI,WAAW,SAAA,EAAW;AACxB,QAAA,WAAA,EAAY;AAAA,MACd;AAEA,MAAA,MAAA,CAAO,gBAAA,CAAiB,SAAA,EAAW,OAAM,CAAA,KAAK;AAE5C,QAAA,IAAI,CAAA,CAAE,IAAA,CAAK,IAAA,IAAQ,eAAA,EAAiB;AAClC,UAAA,MAAM,OAAqB,CAAA,CAAE,IAAA;AAE7B,UAAA,OAAA,CAAQ,GAAA,CAAI,EAAE,IAAI,CAAA;AAClB,UAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,GAAA,CAAI,OAAO,CAAA;AAEjC,UAAA,MAAM,YAAA,GAAe,aAAA,CAAc,KAAA,CAAM,IAAA,CAAK,SAAS,YAAY,CAAA;AACnE,UAAA;AAAA;AAAA,YAEG,CAAC,YAAA,IAAgB,IAAA,EAAM,IAAA,EAAM,KAAA;AAAA,YAE7B,YAAA,IAAgB,CAAC,KAAA,IAAS,IAAA,EAAM,IAAA,EAAM;AAAA,YACvC;AAEA,YAAA,UAAA,CAAW,MAAA,GAAS,KAAK,IAAA,CAAK,MAAA;AAC9B,YAAA,MAAM,GAAA,uBAAU,IAAA,EAAK;AACrB,YAAA,IAAI,IAAA,GAAO,IAAI,OAAA,EAAQ;AACvB,YAAA,IAAA,IAAQ,CAAA,GAAI,KAAK,EAAA,GAAK,GAAA;AACtB,YAAA,GAAA,CAAI,QAAQ,IAAI,CAAA;AAChB,YAAA,MAAM,YAAY,SAAA,EAAU;AAE5B,YAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,aAAA,EAAe;AAE5B,cAAA,IAAI,KAAK,OAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,OAAO,CAAA,EAAG;AAC/C,gBAAA,IAAA,CAAK,OAAA,CAAQ,OAAA,CAAQ,CAAC,MAAA,KAAmB;AACvC,kBAAA,QAAA,CAAS,MAAA,GAAS,MAAA;AAAA,gBACpB,CAAC,CAAA;AAAA,cACH;AAEA,cAAA,OAAA,CAAQ,GAAA,CAAI,OAAA,EAAS,IAAA,CAAK,IAAA,CAAK,KAAA,EAAO,EAAE,OAAA,EAAS,GAAA,EAAK,MAAA,EAAQ,YAAA,GAAe,SAAA,GAAY,KAAA,CAAA,EAAW,CAAA;AAEpG,cAAA,IAAI,aAAA,CAAc,KAAA,CAAM,GAAA,IAAO,IAAA,CAAK,KAAK,MAAA,EAAQ;AAC/C,gBAAA,IAAA,CAAK,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,CAACA,MAAAA,KAA0C;AAClE,kBAAA,OAAA,CAAQ,GAAA,CAAIA,MAAAA,CAAM,GAAA,EAAKA,MAAAA,CAAM,KAAA,EAAO,EAAE,OAAA,EAAS,GAAA,EAAK,MAAA,EAAQ,SAAA,EAAW,CAAA;AAAA,gBACzE,CAAC,CAAA;AAAA,cACH;AAEA,cAAA,IAAI,CAAC,OAAA,CAAQ,GAAA,CAAI,aAAa,CAAA,IAAK,IAAA,CAAK,KAAK,MAAA,EAAQ;AACnD,gBAAA,OAAA,CAAQ,GAAA,CAAI,aAAA,EAAe,IAAA,CAAK,IAAA,CAAK,MAAA,EAAQ;AAAA,kBAC3C,OAAA,EAAS,GAAA;AAAA,kBACT,MAAA,EAAQ,eAAe,SAAA,GAAY,KAAA;AAAA,iBACpC,CAAA;AAAA,cACH;AAAA,YACF;AAAA,UACF;AACA,UAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,aAAA,EAAe;AAE5B,YAAA,IAAI,IAAA,EAAM,IAAA,EAAM,KAAA,IAAS,IAAA,EAAM,MAAM,YAAA,EAAc;AACjD,cAAA,MAAM,UAAA,CAAW,mBAAmB,IAAI,CAAA;AAAA,YAC1C;AAEA,YAAA,UAAA,CAAW,SAAA,GAAY,KAAA;AACvB,YAAA,IAAI,KAAA,CAAM,KAAA,IAAS,KAAA,CAAM,oBAAA,CAAqB,QAAA,CAAS,KAAA,CAAM,KAAA,CAAM,IAAA,EAAM,QAAA,EAAS,IAAK,EAAE,CAAA,EAAG;AAC1F,cAAA,MAAA,CAAO,SAAS,MAAA,EAAO;AAAA,YACzB;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AACD,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,MAAA,CAAO,aAAA,CAAc,YAAY,KAAK,CAAA;AAAA,IACxC,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -28,4 +28,17 @@ export declare const loginDialogProps: {
|
|
|
28
28
|
type: StringConstructor;
|
|
29
29
|
default: () => string;
|
|
30
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* @description 追加到登录地址上的自定义查询参数
|
|
33
|
+
*
|
|
34
|
+
* 支持两种形式:
|
|
35
|
+
* - 对象:`{ from: 'crx', theme: 'dark' }`
|
|
36
|
+
* - 返回对象的函数:`() => ({ ts: Date.now() })`(每次打开登录弹窗时调用,可读取实时状态)
|
|
37
|
+
*
|
|
38
|
+
* 最终会以 `&key=value` 形式拼接到登录地址后(value 会做 URL 编码)。
|
|
39
|
+
*/
|
|
40
|
+
extraQuery: {
|
|
41
|
+
type: PropType<Record<string, string | number | boolean> | (() => Record<string, string | number | boolean>)>;
|
|
42
|
+
default: () => {};
|
|
43
|
+
};
|
|
31
44
|
};
|