dashboard-shell-shell 3.0.5-test.42 → 3.0.5-test.43
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/assets/translations/en-us.yaml +1 -0
- package/assets/translations/zh-hans.yaml +9 -0
- package/components/CruResource.vue +3 -2
- package/components/SingleClusterInfo.vue +2 -1
- package/components/auth/Principal.vue +1 -1
- package/config/product/explorer.js +1 -1
- package/dialog/RollbackWorkloadDialog.vue +1 -1
- package/package.json +1 -1
- package/pages/c/_cluster/explorer/index.vue +2 -1
- package/plugins/dashboard-store/actions.js +23 -0
- package/scripts/publish-shell.sh +1 -1
- package/types/shell/index.d.ts +1 -0
- package/utils/errorTranslateNew.json +10 -0
|
@@ -6464,6 +6464,7 @@ storageClass:
|
|
|
6464
6464
|
tooltip: By default the default storage class on the host Harvester cluster is used.
|
|
6465
6465
|
|
|
6466
6466
|
tableHeaders:
|
|
6467
|
+
claimedby: claimedby
|
|
6467
6468
|
pod: pod
|
|
6468
6469
|
volumeattributesclass: volumeattributesclass
|
|
6469
6470
|
assuredConcurrencyShares: Assured Concurrency Shares
|
|
@@ -796,6 +796,10 @@ asyncButton:
|
|
|
796
796
|
action: 恢复编排
|
|
797
797
|
success: 已恢复编排
|
|
798
798
|
waiting: 正在恢复编排
|
|
799
|
+
redeploy:
|
|
800
|
+
action: 重新部署
|
|
801
|
+
success: 重新部署成功
|
|
802
|
+
waiting: 正在重新部署工作负载
|
|
799
803
|
rollback:
|
|
800
804
|
action: 回滚
|
|
801
805
|
success: 已回滚
|
|
@@ -4592,6 +4596,10 @@ promptRollback:
|
|
|
4592
4596
|
multipleWorkloadError: "一次只能回滚一个工作负载。"
|
|
4593
4597
|
singleRevisionBanner: 没有可用于回滚的修订版本。
|
|
4594
4598
|
|
|
4599
|
+
promptRedeploy:
|
|
4600
|
+
title: 重新部署 {type}?
|
|
4601
|
+
attemptingToRedeploy: "您正在尝试重新部署 {type} {names} 重新部署将重启所选工作负载,可能导致暂时性服务中断。"
|
|
4602
|
+
|
|
4595
4603
|
promptSaveAsRKETemplate:
|
|
4596
4604
|
title: 将 {cluster} 转换为新的 RKE 模板
|
|
4597
4605
|
name: 集群模板名称
|
|
@@ -5442,6 +5450,7 @@ storageClass:
|
|
|
5442
5450
|
tooltip: 默认使用主机 Cloud 集群上的默认存储类。
|
|
5443
5451
|
|
|
5444
5452
|
tableHeaders:
|
|
5453
|
+
claimedby: 占用者
|
|
5445
5454
|
pod: pod
|
|
5446
5455
|
ip: ip
|
|
5447
5456
|
volumeattributesclass: 卷属性类
|
|
@@ -623,13 +623,14 @@ export default {
|
|
|
623
623
|
/>
|
|
624
624
|
<span v-else>{{ subtype.label }}</span>
|
|
625
625
|
</h5>
|
|
626
|
-
|
|
626
|
+
<!-- 禅道 3541 隐藏 更多信息 -->
|
|
627
|
+
<!-- <a
|
|
627
628
|
v-if="subtype.docLink"
|
|
628
629
|
:href="subtype.docLink"
|
|
629
630
|
target="_blank"
|
|
630
631
|
rel="noopener nofollow"
|
|
631
632
|
class="flex-right"
|
|
632
|
-
>{{ t('generic.moreInfo') }} <i class="icon icon-external-link" /></a>
|
|
633
|
+
>{{ t('generic.moreInfo') }} <i class="icon icon-external-link" /></a> -->
|
|
633
634
|
</div>
|
|
634
635
|
<hr
|
|
635
636
|
v-if="subtype.description"
|
|
@@ -97,7 +97,7 @@ export default {
|
|
|
97
97
|
<div :style="userLogoSize === 79 ? { width: '287px' } : {}" class="avatar">
|
|
98
98
|
<img
|
|
99
99
|
:style="{ width: userLogoSize + 'px', height: userLogoSize + 'px' }"
|
|
100
|
-
src="@shell/assets/images/user.png"
|
|
100
|
+
:src="require('@shell/assets/images/user.png')"
|
|
101
101
|
:class="{'round': principal.roundAvatar}"
|
|
102
102
|
:alt="t('principal.alt.avatar')"
|
|
103
103
|
>
|
|
@@ -655,7 +655,7 @@ export function init(store) {
|
|
|
655
655
|
virtualType({
|
|
656
656
|
label: store.getters['i18n/t'](`typeLabel.${ VIRTUAL_TYPES.PROJECT_SECRETS }`, { count: 2 }),
|
|
657
657
|
group: 'storage',
|
|
658
|
-
icon: '
|
|
658
|
+
icon: 'default',
|
|
659
659
|
namespaced: false,
|
|
660
660
|
ifRancherCluster: true,
|
|
661
661
|
name: VIRTUAL_TYPES.PROJECT_SECRETS,
|
package/package.json
CHANGED
|
@@ -694,7 +694,8 @@ export default {
|
|
|
694
694
|
role="link"
|
|
695
695
|
:aria-label="t('nav.clusterTools')"
|
|
696
696
|
>
|
|
697
|
-
|
|
697
|
+
<!-- 禅道 3539 隐藏集群工具 -->
|
|
698
|
+
<!-- <span>{{ t('nav.clusterTools') }}</span> -->
|
|
698
699
|
</router-link>
|
|
699
700
|
</div>
|
|
700
701
|
<ConfigBadge
|
|
@@ -41,6 +41,26 @@ export async function handleSpoofedRequest(rootGetters, schemaStore, opt, produc
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
export function normalizeSchemaMethods(schema) {
|
|
45
|
+
if (!schema) return schema;
|
|
46
|
+
|
|
47
|
+
const HTTP_METHODS = ["get", "post", "put", "patch", "delete"];
|
|
48
|
+
|
|
49
|
+
if (Array.isArray(schema.resourceMethods)) {
|
|
50
|
+
schema.resourceMethods = schema.resourceMethods.map(m =>
|
|
51
|
+
HTTP_METHODS.includes(m.toLowerCase()) ? m.toUpperCase() : m
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (Array.isArray(schema.collectionMethods)) {
|
|
56
|
+
schema.collectionMethods = schema.collectionMethods.map(m =>
|
|
57
|
+
HTTP_METHODS.includes(m.toLowerCase()) ? m.toUpperCase() : m
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return schema;
|
|
62
|
+
}
|
|
63
|
+
|
|
44
64
|
export async function loadSchemas(ctx, watch = true) {
|
|
45
65
|
const {
|
|
46
66
|
getters, dispatch, commit, rootGetters
|
|
@@ -55,6 +75,9 @@ export async function loadSchemas(ctx, watch = true) {
|
|
|
55
75
|
}
|
|
56
76
|
|
|
57
77
|
res.data.forEach(addSchemaIndexFields);
|
|
78
|
+
|
|
79
|
+
// ✅ 统一处理 HTTP 方法
|
|
80
|
+
res.data.forEach(normalizeSchemaMethods);
|
|
58
81
|
|
|
59
82
|
commit('loadAll', {
|
|
60
83
|
ctx,
|
package/scripts/publish-shell.sh
CHANGED
package/types/shell/index.d.ts
CHANGED
|
@@ -2687,6 +2687,7 @@ export default class Ingress {
|
|
|
2687
2687
|
|
|
2688
2688
|
declare module '@shell/plugins/dashboard-store/actions' {
|
|
2689
2689
|
export function handleSpoofedRequest(rootGetters: any, schemaStore: any, opt: any, product: any): Promise<any>;
|
|
2690
|
+
export function normalizeSchemaMethods(schema: any): any;
|
|
2690
2691
|
export function loadSchemas(ctx: any, watch?: boolean): Promise<any>;
|
|
2691
2692
|
export const _ALL: "all";
|
|
2692
2693
|
export const _MERGE: "merge";
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"translations": [
|
|
3
|
+
{
|
|
4
|
+
"pattern": "virtualmachineimages\\.harvesterhci\\.io.*forbidden.*user.*cannot.*(patch|update|create|delete).*resource.*virtualmachineimages.*harvesterhci\\.io.*namespace",
|
|
5
|
+
"replacement": "权限不足",
|
|
6
|
+
"flags": "gi"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"pattern": "storageclasses\\.storage\\.k8s\\.io.*forbidden.*user.*cannot.*(patch|update|create|delete).*resource.*storageclasses.*storage\\.k8s\\.io.*cluster scope",
|
|
10
|
+
"replacement": "权限不足",
|
|
11
|
+
"flags": "gi"
|
|
12
|
+
},
|
|
3
13
|
{
|
|
4
14
|
"pattern": "Cluster agent is not connected",
|
|
5
15
|
"replacement": "集群agent未连接",
|