giime 1.0.1 → 1.0.2-snapshot.1
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 +103 -103
- package/es/api/utils/createModes.mjs +1 -1
- package/es/api/utils/index.mjs +1 -1
- package/es/api/utils/resetAxiosBaseUrl.mjs +4 -3
- package/es/api/utils/resetAxiosBaseUrl.mjs.map +1 -1
- package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs +4 -3
- package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs.map +1 -1
- package/es/components/src/composite/searchForm/SearchForm.vue.mjs +1 -1
- package/es/components/src/composite/searchForm/SearchForm.vue2.mjs +23 -3
- package/es/components/src/composite/searchForm/SearchForm.vue2.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 +103 -103
- package/es/utils/src/http/createModes.d.ts +10 -2
- package/es/utils/src/http/createModes.mjs +22 -3
- package/es/utils/src/http/createModes.mjs.map +1 -1
- package/es/utils/src/tenant.mjs +4 -3
- package/es/utils/src/tenant.mjs.map +1 -1
- package/lib/api/utils/createModes.js +1 -0
- package/lib/api/utils/createModes.js.map +1 -1
- package/lib/api/utils/index.js +1 -0
- package/lib/api/utils/index.js.map +1 -1
- package/lib/api/utils/resetAxiosBaseUrl.js +3 -2
- package/lib/api/utils/resetAxiosBaseUrl.js.map +1 -1
- package/lib/components/src/business/loginDialog/LoginDialog.vue2.js +3 -2
- package/lib/components/src/business/loginDialog/LoginDialog.vue2.js.map +1 -1
- package/lib/components/src/composite/searchForm/SearchForm.vue.js +1 -1
- package/lib/components/src/composite/searchForm/SearchForm.vue2.js +22 -2
- package/lib/components/src/composite/searchForm/SearchForm.vue2.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 +103 -103
- package/lib/utils/src/http/createModes.d.ts +10 -2
- package/lib/utils/src/http/createModes.js +22 -2
- package/lib/utils/src/http/createModes.js.map +1 -1
- package/lib/utils/src/tenant.js +3 -2
- package/lib/utils/src/tenant.js.map +1 -1
- package/package.json +1 -1
package/lib/index.css
CHANGED
|
@@ -887,11 +887,71 @@ 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
|
+
}
|
|
890
942
|
|
|
891
943
|
.gm-range-number .el-form-item[data-v-1ae16d96] {
|
|
892
944
|
margin: 0;
|
|
893
945
|
}
|
|
894
946
|
|
|
947
|
+
.gm-upload-pro-preview-dialog[data-v-fbc23b01] [data-v-fbc23b01] .el-dialog__body {
|
|
948
|
+
padding: 0;
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
.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 {
|
|
952
|
+
width: auto;
|
|
953
|
+
height: auto;
|
|
954
|
+
}
|
|
895
955
|
.gm-upload-pro-file {
|
|
896
956
|
line-height: normal;
|
|
897
957
|
}
|
|
@@ -930,48 +990,36 @@ video {
|
|
|
930
990
|
.gm-upload-pro-file-disabled .el-upload-list__item-status-label {
|
|
931
991
|
display: none;
|
|
932
992
|
}
|
|
933
|
-
.gm-upload-
|
|
993
|
+
.gm-upload-preview-dialog[data-v-c615121c] [data-v-c615121c] .el-dialog__body {
|
|
934
994
|
padding: 0;
|
|
935
995
|
}
|
|
936
996
|
|
|
937
|
-
.gm-upload-
|
|
997
|
+
.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 {
|
|
938
998
|
width: auto;
|
|
939
999
|
height: auto;
|
|
940
1000
|
}
|
|
941
|
-
|
|
942
|
-
|
|
1001
|
+
[data-v-050a4f74] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
1002
|
+
border-right: none;
|
|
943
1003
|
}
|
|
944
1004
|
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
stroke-dasharray: 90, 150;
|
|
948
|
-
stroke-dashoffset: 0;
|
|
949
|
-
stroke: var(--el-color-primary);
|
|
950
|
-
stroke-linecap: round;
|
|
1005
|
+
[data-v-050a4f74] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
1006
|
+
height: 0;
|
|
951
1007
|
}
|
|
952
1008
|
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
transform: rotate(360deg);
|
|
956
|
-
}
|
|
1009
|
+
[data-v-050a4f74] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
1010
|
+
height: 0;
|
|
957
1011
|
}
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
stroke-dashoffset: 0;
|
|
962
|
-
}
|
|
963
|
-
50% {
|
|
964
|
-
stroke-dasharray: 90, 150;
|
|
965
|
-
stroke-dashoffset: -40px;
|
|
966
|
-
}
|
|
967
|
-
100% {
|
|
968
|
-
stroke-dasharray: 90, 150;
|
|
969
|
-
stroke-dashoffset: -120px;
|
|
970
|
-
}
|
|
1012
|
+
|
|
1013
|
+
[data-v-050a4f74] .gmTableNoBorder.el-table--border:after {
|
|
1014
|
+
height: 0;
|
|
971
1015
|
}
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
1016
|
+
|
|
1017
|
+
[data-v-050a4f74] .gmTableNoBorder.el-table--border:before {
|
|
1018
|
+
height: 0;
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
[data-v-050a4f74] .gmTableNoBorder .el-table__border-left-patch {
|
|
1022
|
+
height: 0;
|
|
975
1023
|
}
|
|
976
1024
|
.gm-upload-file {
|
|
977
1025
|
line-height: normal;
|
|
@@ -1009,84 +1057,36 @@ video {
|
|
|
1009
1057
|
.gm-upload-file-disabled .el-upload-list__item-status-label {
|
|
1010
1058
|
display: none;
|
|
1011
1059
|
}
|
|
1012
|
-
.
|
|
1013
|
-
|
|
1014
|
-
}
|
|
1015
|
-
|
|
1016
|
-
.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 {
|
|
1017
|
-
width: auto;
|
|
1018
|
-
height: auto;
|
|
1019
|
-
}
|
|
1020
|
-
.gm-flex-center[data-v-c17deec9] {
|
|
1021
|
-
align-items: center;
|
|
1022
|
-
}
|
|
1023
|
-
|
|
1024
|
-
.gm-flex-justify-between[data-v-c17deec9] {
|
|
1025
|
-
justify-content: space-between;
|
|
1026
|
-
}
|
|
1027
|
-
.gm-number-interval-single[data-v-4e6f4d6f] {
|
|
1028
|
-
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
1029
|
-
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
1030
|
-
background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
|
|
1031
|
-
}
|
|
1032
|
-
.gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
|
|
1033
|
-
box-shadow: none;
|
|
1034
|
-
background: none;
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
.gm-number-interval-close[data-v-4e6f4d6f] {
|
|
1038
|
-
display: none;
|
|
1039
|
-
color: var(--el-input-icon-color, var(--el-text-color-placeholder));
|
|
1040
|
-
}
|
|
1041
|
-
|
|
1042
|
-
.gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
|
|
1043
|
-
display: flex;
|
|
1044
|
-
}
|
|
1045
|
-
[data-v-050a4f74] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
1046
|
-
border-right: none;
|
|
1047
|
-
}
|
|
1048
|
-
|
|
1049
|
-
[data-v-050a4f74] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
1050
|
-
height: 0;
|
|
1051
|
-
}
|
|
1052
|
-
|
|
1053
|
-
[data-v-050a4f74] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
1054
|
-
height: 0;
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
[data-v-050a4f74] .gmTableNoBorder.el-table--border:after {
|
|
1058
|
-
height: 0;
|
|
1059
|
-
}
|
|
1060
|
-
|
|
1061
|
-
[data-v-050a4f74] .gmTableNoBorder.el-table--border:before {
|
|
1062
|
-
height: 0;
|
|
1063
|
-
}
|
|
1064
|
-
|
|
1065
|
-
[data-v-050a4f74] .gmTableNoBorder .el-table__border-left-patch {
|
|
1066
|
-
height: 0;
|
|
1067
|
-
}
|
|
1068
|
-
[data-v-3f2c8504] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
1069
|
-
border-right: none;
|
|
1070
|
-
}
|
|
1071
|
-
|
|
1072
|
-
[data-v-3f2c8504] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
1073
|
-
height: 0;
|
|
1074
|
-
}
|
|
1075
|
-
|
|
1076
|
-
[data-v-3f2c8504] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
1077
|
-
height: 0;
|
|
1060
|
+
.circular[data-v-d7b04fae] {
|
|
1061
|
+
animation: loading-rotate-d7b04fae 2s linear infinite;
|
|
1078
1062
|
}
|
|
1079
1063
|
|
|
1080
|
-
[data-v-
|
|
1081
|
-
|
|
1064
|
+
.path[data-v-d7b04fae] {
|
|
1065
|
+
animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
|
|
1066
|
+
stroke-dasharray: 90, 150;
|
|
1067
|
+
stroke-dashoffset: 0;
|
|
1068
|
+
stroke: var(--el-color-primary);
|
|
1069
|
+
stroke-linecap: round;
|
|
1082
1070
|
}
|
|
1083
1071
|
|
|
1084
|
-
|
|
1085
|
-
|
|
1072
|
+
@keyframes loading-rotate-d7b04fae {
|
|
1073
|
+
to {
|
|
1074
|
+
transform: rotate(360deg);
|
|
1075
|
+
}
|
|
1086
1076
|
}
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1077
|
+
@keyframes loading-dash-d7b04fae {
|
|
1078
|
+
0% {
|
|
1079
|
+
stroke-dasharray: 1, 200;
|
|
1080
|
+
stroke-dashoffset: 0;
|
|
1081
|
+
}
|
|
1082
|
+
50% {
|
|
1083
|
+
stroke-dasharray: 90, 150;
|
|
1084
|
+
stroke-dashoffset: -40px;
|
|
1085
|
+
}
|
|
1086
|
+
100% {
|
|
1087
|
+
stroke-dasharray: 90, 150;
|
|
1088
|
+
stroke-dashoffset: -120px;
|
|
1089
|
+
}
|
|
1090
1090
|
}
|
|
1091
1091
|
@charset "UTF-8";
|
|
1092
1092
|
.custom-operate-drawer .el-drawer__header {
|
|
@@ -21,10 +21,18 @@ export interface EnvConfig {
|
|
|
21
21
|
* 统一的配置源,控制所有环境、租户、域名映射
|
|
22
22
|
*/
|
|
23
23
|
export declare const envConfigs: Record<string, EnvConfig>;
|
|
24
|
+
/**
|
|
25
|
+
* 把 VITE_GIIME_MODE 解析成环境配置。
|
|
26
|
+
* 支持两种写法:
|
|
27
|
+
* 1. 预定义 key(development / test / production / 'giiktok.production' 等)
|
|
28
|
+
* 2. 直接填完整域名(如 https://manage.kingkungmeta-pre.com)—— 临时联调任意环境
|
|
29
|
+
* 无法解析时返回 undefined,由各调用方决定 fallback(域名匹配 / development / serviceType)。
|
|
30
|
+
*/
|
|
31
|
+
export declare const resolveEnvConfig: (mode?: string) => EnvConfig | undefined;
|
|
24
32
|
/**
|
|
25
33
|
* 根据模式获取环境配置
|
|
26
|
-
* @param mode 环境模式
|
|
27
|
-
* @returns
|
|
34
|
+
* @param mode 环境模式(预定义 key 或完整域名)
|
|
35
|
+
* @returns 环境配置对象,解析不到时回落到 development
|
|
28
36
|
*/
|
|
29
37
|
export declare const getEnvConfig: (mode?: string) => EnvConfig;
|
|
30
38
|
/**
|
|
@@ -17,9 +17,28 @@ const envConfigs = {
|
|
|
17
17
|
// 租户:吉客拓客
|
|
18
18
|
"giiktok.production": { url: "https://manage.kingkungmeta.com", tenant: "giiktok", domain: "manage.kingkungmeta.com" }
|
|
19
19
|
};
|
|
20
|
+
const isHttpUrl = (value) => !!value && /^https?:\/\//i.test(value);
|
|
21
|
+
const urlToEnvConfig = (url) => {
|
|
22
|
+
let domain = "";
|
|
23
|
+
try {
|
|
24
|
+
domain = new URL(url).hostname;
|
|
25
|
+
} catch {
|
|
26
|
+
domain = "";
|
|
27
|
+
}
|
|
28
|
+
const known = Object.values(envConfigs).find((config) => config.domain === domain);
|
|
29
|
+
return {
|
|
30
|
+
url: url.replace(/\/+$/, ""),
|
|
31
|
+
tenant: known?.tenant ?? "giikin",
|
|
32
|
+
domain
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
const resolveEnvConfig = (mode) => {
|
|
36
|
+
if (!mode) return void 0;
|
|
37
|
+
if (isHttpUrl(mode)) return urlToEnvConfig(mode);
|
|
38
|
+
return envConfigs[mode];
|
|
39
|
+
};
|
|
20
40
|
const getEnvConfig = (mode) => {
|
|
21
|
-
|
|
22
|
-
return envConfigs[mode] || envConfigs.development;
|
|
41
|
+
return resolveEnvConfig(mode) ?? envConfigs.development;
|
|
23
42
|
};
|
|
24
43
|
const createModes = (options) => {
|
|
25
44
|
const { developmentPath, serviceType } = options;
|
|
@@ -34,4 +53,5 @@ const createModes = (options) => {
|
|
|
34
53
|
exports.createModes = createModes;
|
|
35
54
|
exports.envConfigs = envConfigs;
|
|
36
55
|
exports.getEnvConfig = getEnvConfig;
|
|
56
|
+
exports.resolveEnvConfig = resolveEnvConfig;
|
|
37
57
|
//# sourceMappingURL=createModes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createModes.js","sources":["../../../../../../packages/utils/src/http/createModes.ts"],"sourcesContent":["import type { TenantType } from '../tenant';\nimport { urlJoin } from './url';\n\nexport interface CreateModesOptions {\n /** 开发环境路径,如 '/giime-guard-resource-api' */\n developmentPath: string;\n /** 服务类型:如 'guard', 'middle' 等 */\n serviceType: string;\n}\n\n/**\n * 环境配置项\n */\nexport interface EnvConfig {\n /** 环境URL */\n url: string;\n /** 租户类型 */\n tenant: TenantType;\n /** 域名(可选,用于域名匹配) */\n domain?: string;\n}\n\n/**\n * 环境配置映射表\n * 统一的配置源,控制所有环境、租户、域名映射\n */\nexport const envConfigs: Record<string, EnvConfig> = {\n // 本地开发环境\n development: { url: 'https://manage-dev.giikin.cn', tenant: 'giikin', domain: 'manage-dev.giikin.cn' },\n // 前后端联调的开发环境\n dev: { url: 'https://manage-dev.giikin.cn', tenant: 'giikin', domain: 'manage-dev.giikin.cn' },\n develop: { url: 'https://manage-dev.giikin.cn', tenant: 'giikin', domain: 'manage-dev.giikin.cn' },\n // 测试环境\n test: { url: 'https://manage-test.giikin.cn', tenant: 'giikin', domain: 'manage-test.giikin.cn' },\n // 预发布环境\n release: { url: 'https://manage-pre.giikin.com', tenant: 'giikin', domain: 'manage-pre.giikin.com' },\n // 生产环境\n production: { url: 'https://manage.giikin.com', tenant: 'giikin', domain: 'manage.giikin.com' },\n // 租户:吉客拓客\n 'giiktok.production': { url: 'https://manage.kingkungmeta.com', tenant: 'giiktok', domain: 'manage.kingkungmeta.com' },\n} as const;\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"createModes.js","sources":["../../../../../../packages/utils/src/http/createModes.ts"],"sourcesContent":["import type { TenantType } from '../tenant';\nimport { urlJoin } from './url';\n\nexport interface CreateModesOptions {\n /** 开发环境路径,如 '/giime-guard-resource-api' */\n developmentPath: string;\n /** 服务类型:如 'guard', 'middle' 等 */\n serviceType: string;\n}\n\n/**\n * 环境配置项\n */\nexport interface EnvConfig {\n /** 环境URL */\n url: string;\n /** 租户类型 */\n tenant: TenantType;\n /** 域名(可选,用于域名匹配) */\n domain?: string;\n}\n\n/**\n * 环境配置映射表\n * 统一的配置源,控制所有环境、租户、域名映射\n */\nexport const envConfigs: Record<string, EnvConfig> = {\n // 本地开发环境\n development: { url: 'https://manage-dev.giikin.cn', tenant: 'giikin', domain: 'manage-dev.giikin.cn' },\n // 前后端联调的开发环境\n dev: { url: 'https://manage-dev.giikin.cn', tenant: 'giikin', domain: 'manage-dev.giikin.cn' },\n develop: { url: 'https://manage-dev.giikin.cn', tenant: 'giikin', domain: 'manage-dev.giikin.cn' },\n // 测试环境\n test: { url: 'https://manage-test.giikin.cn', tenant: 'giikin', domain: 'manage-test.giikin.cn' },\n // 预发布环境\n release: { url: 'https://manage-pre.giikin.com', tenant: 'giikin', domain: 'manage-pre.giikin.com' },\n // 生产环境\n production: { url: 'https://manage.giikin.com', tenant: 'giikin', domain: 'manage.giikin.com' },\n // 租户:吉客拓客\n 'giiktok.production': { url: 'https://manage.kingkungmeta.com', tenant: 'giiktok', domain: 'manage.kingkungmeta.com' },\n} as const;\n\n/** 判断字符串是否为 http(s) 完整地址 */\nconst isHttpUrl = (value?: string): value is string => !!value && /^https?:\\/\\//i.test(value);\n\n/**\n * 把一个完整域名地址合成为 EnvConfig\n * - url:去掉末尾斜杠,保持与 envConfigs 中的写法一致\n * - tenant:若该域名恰好命中已知环境则复用其租户,否则默认 giikin\n * - domain:从地址解析出的 hostname\n */\nconst urlToEnvConfig = (url: string): EnvConfig => {\n let domain = '';\n try {\n domain = new URL(url).hostname;\n } catch {\n domain = '';\n }\n const known = Object.values(envConfigs).find(config => config.domain === domain);\n return {\n url: url.replace(/\\/+$/, ''),\n tenant: known?.tenant ?? ('giikin' as TenantType),\n domain,\n };\n};\n\n/**\n * 把 VITE_GIIME_MODE 解析成环境配置。\n * 支持两种写法:\n * 1. 预定义 key(development / test / production / 'giiktok.production' 等)\n * 2. 直接填完整域名(如 https://manage.kingkungmeta-pre.com)—— 临时联调任意环境\n * 无法解析时返回 undefined,由各调用方决定 fallback(域名匹配 / development / serviceType)。\n */\nexport const resolveEnvConfig = (mode?: string): EnvConfig | undefined => {\n if (!mode) return undefined;\n if (isHttpUrl(mode)) return urlToEnvConfig(mode);\n return envConfigs[mode as keyof typeof envConfigs];\n};\n\n/**\n * 根据模式获取环境配置\n * @param mode 环境模式(预定义 key 或完整域名)\n * @returns 环境配置对象,解析不到时回落到 development\n */\nexport const getEnvConfig = (mode?: string): EnvConfig => {\n return resolveEnvConfig(mode) ?? envConfigs.development;\n};\n\n/**\n * 创建API模式配置\n * @param options 配置对象\n * @param options.developmentPath 开发环境路径,如 '/giime-guard-resource-api'\n * @param options.serviceType 服务类型:如 'guard', 'middle' 等\n * @returns ViteMode数组\n */\nexport const createModes = (options: CreateModesOptions) => {\n const { developmentPath, serviceType } = options;\n\n return Object.keys(envConfigs).map(mode => {\n // 本地开发环境特殊处理:使用 developmentPath\n if (mode === 'development') {\n return { mode, url: developmentPath };\n }\n // 其他环境:拼接 baseUrl + serviceType\n return { mode, url: urlJoin(envConfigs[mode].url, serviceType) };\n });\n};\n"],"names":["urlJoin"],"mappings":";;;;AA0BO,MAAM,UAAA,GAAwC;AAAA;AAAA,EAEnD,aAAa,EAAE,GAAA,EAAK,gCAAgC,MAAA,EAAQ,QAAA,EAAU,QAAQ,sBAAA,EAAuB;AAAA;AAAA,EAErG,KAAK,EAAE,GAAA,EAAK,gCAAgC,MAAA,EAAQ,QAAA,EAAU,QAAQ,sBAAA,EAAuB;AAAA,EAC7F,SAAS,EAAE,GAAA,EAAK,gCAAgC,MAAA,EAAQ,QAAA,EAAU,QAAQ,sBAAA,EAAuB;AAAA;AAAA,EAEjG,MAAM,EAAE,GAAA,EAAK,iCAAiC,MAAA,EAAQ,QAAA,EAAU,QAAQ,uBAAA,EAAwB;AAAA;AAAA,EAEhG,SAAS,EAAE,GAAA,EAAK,iCAAiC,MAAA,EAAQ,QAAA,EAAU,QAAQ,uBAAA,EAAwB;AAAA;AAAA,EAEnG,YAAY,EAAE,GAAA,EAAK,6BAA6B,MAAA,EAAQ,QAAA,EAAU,QAAQ,mBAAA,EAAoB;AAAA;AAAA,EAE9F,sBAAsB,EAAE,GAAA,EAAK,mCAAmC,MAAA,EAAQ,SAAA,EAAW,QAAQ,yBAAA;AAC7F;AAGA,MAAM,SAAA,GAAY,CAAC,KAAA,KAAoC,CAAC,CAAC,KAAA,IAAS,eAAA,CAAgB,KAAK,KAAK,CAAA;AAQ5F,MAAM,cAAA,GAAiB,CAAC,GAAA,KAA2B;AACjD,EAAA,IAAI,MAAA,GAAS,EAAA;AACb,EAAA,IAAI;AACF,IAAA,MAAA,GAAS,IAAI,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA;AAAA,EACxB,CAAA,CAAA,MAAQ;AACN,IAAA,MAAA,GAAS,EAAA;AAAA,EACX;AACA,EAAA,MAAM,KAAA,GAAQ,OAAO,MAAA,CAAO,UAAU,EAAE,IAAA,CAAK,CAAA,MAAA,KAAU,MAAA,CAAO,MAAA,KAAW,MAAM,CAAA;AAC/E,EAAA,OAAO;AAAA,IACL,GAAA,EAAK,GAAA,CAAI,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA;AAAA,IAC3B,MAAA,EAAQ,OAAO,MAAA,IAAW,QAAA;AAAA,IAC1B;AAAA,GACF;AACF,CAAA;AASO,MAAM,gBAAA,GAAmB,CAAC,IAAA,KAAyC;AACxE,EAAA,IAAI,CAAC,MAAM,OAAO,KAAA,CAAA;AAClB,EAAA,IAAI,SAAA,CAAU,IAAI,CAAA,EAAG,OAAO,eAAe,IAAI,CAAA;AAC/C,EAAA,OAAO,WAAW,IAA+B,CAAA;AACnD;AAOO,MAAM,YAAA,GAAe,CAAC,IAAA,KAA6B;AACxD,EAAA,OAAO,gBAAA,CAAiB,IAAI,CAAA,IAAK,UAAA,CAAW,WAAA;AAC9C;AASO,MAAM,WAAA,GAAc,CAAC,OAAA,KAAgC;AAC1D,EAAA,MAAM,EAAE,eAAA,EAAiB,WAAA,EAAY,GAAI,OAAA;AAEzC,EAAA,OAAO,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA,CAAE,IAAI,CAAA,IAAA,KAAQ;AAEzC,IAAA,IAAI,SAAS,aAAA,EAAe;AAC1B,MAAA,OAAO,EAAE,IAAA,EAAM,GAAA,EAAK,eAAA,EAAgB;AAAA,IACtC;AAEA,IAAA,OAAO,EAAE,MAAM,GAAA,EAAKA,WAAA,CAAQ,WAAW,IAAI,CAAA,CAAE,GAAA,EAAK,WAAW,CAAA,EAAE;AAAA,EACjE,CAAC,CAAA;AACH;;;;;;;"}
|
package/lib/utils/src/tenant.js
CHANGED
|
@@ -8,8 +8,9 @@ const getTenantType = () => {
|
|
|
8
8
|
const hostname = typeof window !== "undefined" ? window.location.hostname : "";
|
|
9
9
|
const importMetaEnv = index.useGlobalConfig("env");
|
|
10
10
|
const mode = importMetaEnv.value[key.resetEnvMode];
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const modeEnvConfig = createModes.resolveEnvConfig(mode);
|
|
12
|
+
if (modeEnvConfig) {
|
|
13
|
+
return modeEnvConfig.tenant;
|
|
13
14
|
}
|
|
14
15
|
const envConfig = Object.values(createModes.envConfigs).find((config) => config.domain === hostname);
|
|
15
16
|
if (envConfig) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.js","sources":["../../../../../packages/utils/src/tenant.ts"],"sourcesContent":["/**\n * 基于环境模式和域名的租户类型判断\n * 优先根据环境模式获取租户类型,其次根据域名判断\n */\n\nimport { resetEnvMode } from '@giime/constants/key';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport { envConfigs } from './http/createModes';\n\n/** 租户类型 */\nexport type TenantType = 'giikin' | 'giiktok' | 'giimall';\n\n/**\n * 根据环境模式或域名获取租户类型\n * 优先级:环境模式 > 域名 > 默认值(giikin)\n */\nexport const getTenantType = (): TenantType => {\n const hostname = typeof window !== 'undefined' ? window.location.hostname : '';\n const importMetaEnv = useGlobalConfig('env');\n const mode = importMetaEnv.value[resetEnvMode];\n\n // 1. 优先根据 resetEnvMode
|
|
1
|
+
{"version":3,"file":"tenant.js","sources":["../../../../../packages/utils/src/tenant.ts"],"sourcesContent":["/**\n * 基于环境模式和域名的租户类型判断\n * 优先根据环境模式获取租户类型,其次根据域名判断\n */\n\nimport { resetEnvMode } from '@giime/constants/key';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport { envConfigs, resolveEnvConfig } from './http/createModes';\n\n/** 租户类型 */\nexport type TenantType = 'giikin' | 'giiktok' | 'giimall';\n\n/**\n * 根据环境模式或域名获取租户类型\n * 优先级:环境模式 > 域名 > 默认值(giikin)\n */\nexport const getTenantType = (): TenantType => {\n const hostname = typeof window !== 'undefined' ? window.location.hostname : '';\n const importMetaEnv = useGlobalConfig('env');\n const mode = importMetaEnv.value[resetEnvMode];\n\n // 1. 优先根据 resetEnvMode 获取租户类型(支持预定义 key 或直填完整域名)\n const modeEnvConfig = resolveEnvConfig(mode);\n if (modeEnvConfig) {\n return modeEnvConfig.tenant;\n }\n\n // 2. 其次根据域名获取租户类型\n const envConfig = Object.values(envConfigs).find(config => config.domain === hostname);\n if (envConfig) {\n return envConfig.tenant;\n }\n\n // 3. 默认返回 giikin\n return 'giikin';\n};\n\n/**\n * 判断是否为 giiktok 租户\n */\nexport const isGiiktok = () => getTenantType() === 'giiktok';\n\n/**\n * 判断是否为 giikin\n */\nexport const isGiikin = () => getTenantType() === 'giikin';\n"],"names":["useGlobalConfig","resetEnvMode","resolveEnvConfig","envConfigs"],"mappings":";;;;;;AAgBO,MAAM,gBAAgB,MAAkB;AAC7C,EAAA,MAAM,WAAW,OAAO,MAAA,KAAW,WAAA,GAAc,MAAA,CAAO,SAAS,QAAA,GAAW,EAAA;AAC5E,EAAA,MAAM,aAAA,GAAgBA,sBAAgB,KAAK,CAAA;AAC3C,EAAA,MAAM,IAAA,GAAO,aAAA,CAAc,KAAA,CAAMC,gBAAY,CAAA;AAG7C,EAAA,MAAM,aAAA,GAAgBC,6BAAiB,IAAI,CAAA;AAC3C,EAAA,IAAI,aAAA,EAAe;AACjB,IAAA,OAAO,aAAA,CAAc,MAAA;AAAA,EACvB;AAGA,EAAA,MAAM,SAAA,GAAY,OAAO,MAAA,CAAOC,sBAAU,EAAE,IAAA,CAAK,CAAA,MAAA,KAAU,MAAA,CAAO,MAAA,KAAW,QAAQ,CAAA;AACrF,EAAA,IAAI,SAAA,EAAW;AACb,IAAA,OAAO,SAAA,CAAU,MAAA;AAAA,EACnB;AAGA,EAAA,OAAO,QAAA;AACT;AAKO,MAAM,SAAA,GAAY,MAAM,aAAA,EAAc,KAAM;AAK5C,MAAM,QAAA,GAAW,MAAM,aAAA,EAAc,KAAM;;;;;;"}
|