本卡屬 FR-195(Agent 資安修正),第 2 批 F2-FE。修 FR-186 掃描的 配合 F2(S1a F1),嚴重度:中。
後端把「改本機對外位址」改成只有本機管理員能做、而且要再輸一次本機管理員密碼。畫面要跟上:不是本機管理員的人看不到這顆按鈕;對話框多一個密碼欄,送出時一起帶。
console/views/Ops.vue:121 已有 const isLocalAdmin = computed(() => props.me.sub === LOCAL_ADMIN_SUB),「更換主系統」對話框(:88)已經用 v-if="isLocalAdmin" 包住;改位址的按鈕與 BaseUrlDialog 還沒有。console/components/BaseUrlDialog.vue(72 行)目前只有新位址與註冊 token 兩欄;console/opsApi.js:22 setBaseUrl(baseUrl, token) 只送這兩個值。console/components/CloudChangeDialog.vue:29-31(PrimeVue Password、:feedback="false"、toggle-mask、autocomplete="off")。console/components/BaseUrlDialog.vue
console/opsApi.js
console/views/Ops.vue
console 的 i18n 檔(`agent_console_ops` 這組,zh 與 en 各一)
Ops.vue:開啟改位址對話框的按鈕與 <BaseUrlDialog> 都加 v-if="isLocalAdmin",寫法照同檔 :88 的 CloudChangeDialog。BaseUrlDialog.vue:在 token 欄下面加一個密碼欄,整段照抄 CloudChangeDialog.vue:29-31 的 Password 寫法(改 id 與 v-model);save() 送出時帶上密碼,送完把密碼清空(比照現有 token.value = '');送出鈕的 :disabled 加上「密碼沒填」。opsApi.js:22 setBaseUrl 多收第三個參數 password,放進 body 的 password 欄。lang.agent_console_ops 加密碼欄標籤與提示兩個 key,中英都要;用語照 lang.agent_console_cloud_change.password 那組。錯誤訊息不用加:後端回的 AGENT_CLOUD_CHANGE_PASSWORD_WRONG、AGENT_CONSOLE_LOCAL_ADMIN_REQUIRED 兩顆錯誤碼前端已有翻譯(更換主系統與 LDAP 頁在用),開工先 grep 確認兩顆都在,不在才補。不是本機管理員的人在主控台看不到「改本機對外位址」。
npm run lint:自己改的檔沒有新增錯誤(既有的錯誤不用修)npm run build:CONSOLE 編得過(產物 dist-console/ 不入版控,不用 add)