fix: ServerManager标签显示JSON对象解析为key:value格式(原显示原始JSON字符串)
This commit is contained in:
1 parent
440d731b9b
commit
91561a0eff
1 file changed
+7
-2
@@ -95,14 +95,19 @@ export function ServerManager() {
|
|||||||
loadData();
|
loadData();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
// 解析标签:后端 tags 可能是 JSON 字符串、逗号分隔字符串或数组
|
// 解析标签:后端 tags 可能是 JSON 字符串(JSON数组/对象)、逗号分隔字符串或数组 // Logan.Li
|
||||||
const getTags = (server: any): string[] => {
|
const getTags = (server: any): string[] => {
|
||||||
const tags = server.tags;
|
const tags = server.tags;
|
||||||
if (!tags) return [];
|
if (!tags) return [];
|
||||||
if (Array.isArray(tags)) return tags;
|
if (Array.isArray(tags)) return tags;
|
||||||
try {
|
try {
|
||||||
const parsed = JSON.parse(tags);
|
const parsed = JSON.parse(tags);
|
||||||
return Array.isArray(parsed) ? parsed : [String(tags)];
|
if (Array.isArray(parsed)) return parsed;
|
||||||
|
// JSON 对象 → key:value 格式展示(如 project:prod) // Logan.Li
|
||||||
|
if (typeof parsed === 'object' && parsed !== null) {
|
||||||
|
return Object.entries(parsed).map(([k, v]) => `${k}:${String(v)}`);
|
||||||
|
}
|
||||||
|
return [String(parsed)];
|
||||||
} catch {
|
} catch {
|
||||||
return String(tags)
|
return String(tags)
|
||||||
.split(',')
|
.split(',')
|
||||||
|
|||||||
Reference in new issue
Block a user