fix(web): 让 embed 模式可访问管理入口
This commit is contained in:
parent
bff6125cd1
commit
b6d0e34b51
|
|
@ -140,6 +140,17 @@ class StaticVendorTests(unittest.TestCase):
|
|||
self.assertIn(":focus-visible", css)
|
||||
self.assertIn("@media (max-width: 640px)", css)
|
||||
|
||||
def test_admin_entry_lives_in_main_conversation_panel(self) -> None:
|
||||
html = DEV_HTML.read_text(encoding="utf-8")
|
||||
header = html.split("<header>", 1)[1].split("</header>", 1)[0]
|
||||
conversation_head = html.split('id="pane-mid"', 1)[1].split(
|
||||
'id="chat-meta"', 1
|
||||
)[0]
|
||||
|
||||
self.assertNotIn('id="hd-admin"', header)
|
||||
self.assertIn('id="hd-admin"', conversation_head)
|
||||
self.assertIn('href="/static/admin.html"', conversation_head)
|
||||
|
||||
def test_file_toolbar_keeps_hidden_toggle_and_groups_add_actions(self) -> None:
|
||||
html = DEV_HTML.read_text(encoding="utf-8")
|
||||
files_js = (JS_DIR / "files.js").read_text(encoding="utf-8")
|
||||
|
|
|
|||
|
|
@ -1730,14 +1730,12 @@
|
|||
header .who { display: none; }
|
||||
header .brand { min-width: 0; flex-shrink: 1; }
|
||||
header .title { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
||||
/* tab 行:order 让 tabs 换行到 header 末行,「管理」(order 更大)跟到 tabs 右侧
|
||||
成小按钮 —— 首行只留 brand + 改密码/退出。flex-basis 70% 是换行开关:
|
||||
首行剩余空间塞不下 70% → tabs 必换行;换行后 70% + 管理(~15%)同行放得下 */
|
||||
/* tab 行换到 header 末行。flex-basis 70% 是换行开关:
|
||||
首行剩余空间塞不下 70% → tabs 必换行。 */
|
||||
.mobile-tabs { display: flex; order: 99; flex: 1 1 70%; }
|
||||
.mobile-tabs button { flex: 1; }
|
||||
#hd-admin { order: 100; flex-shrink: 0; padding: 5px 10px; font-size: 12px; }
|
||||
#hd-chpw, #hd-logout { padding: 4px 8px; font-size: 12px; }
|
||||
/* embed(企业微信免登)时 brand/改密码/退出已藏 → tabs +「管理」自然收成单行 */
|
||||
/* embed(企业微信免登)时 brand/改密码/退出已藏 → tabs 自然收成单行 */
|
||||
body.embed-mode header .spacer { display: none; }
|
||||
|
||||
/* 浮层菜单:加大触控目标(桌面 6px 高度在手机上难点准) */
|
||||
|
|
@ -2132,8 +2130,6 @@
|
|||
</div>
|
||||
<div class="who" id="hd-who"></div>
|
||||
<div class="spacer"></div>
|
||||
<a id="hd-admin" href="/static/admin.html" target="_blank" rel="noopener"
|
||||
title="管理后台(仅管理员)" style="display:none;">管理</a>
|
||||
<button id="hd-chpw" title="修改登录密码">改密码</button>
|
||||
<button id="hd-logout">退出登录</button>
|
||||
<!-- 手机 tab(桌面 display:none):对话列表 / 对话 / 文件 / 软件作业 -->
|
||||
|
|
@ -2218,6 +2214,8 @@
|
|||
<div class="pane-head">
|
||||
<span class="label">对话</span>
|
||||
<span class="spacer"></span>
|
||||
<a id="hd-admin" href="/static/admin.html" target="_blank" rel="noopener"
|
||||
title="打开管理后台(仅管理员)" style="display:none;">管理</a>
|
||||
<button id="mobile-software-results" class="small" type="button" hidden>软件结果</button>
|
||||
<button id="btn-done" class="small" disabled>完成</button>
|
||||
<button id="btn-task-menu" class="small dd-toggle" disabled title="更多任务操作(导出 / 清空 / 废弃 / 删除)">⋯</button>
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ export function enterApp(initialTaskId = "") {
|
|||
loadModels(); // 模型清单缓存:chat-meta 下拉 + 新建对话框 + 历史小标
|
||||
loadFolderSuggestions(); // 灌 filter-wd select(modal 打开时会重拉,这里让左 pane 先有选项)
|
||||
loadStorage(); // 顶栏存储用量(后台扫描快照,非实时)
|
||||
loadRole(); // 拉 /v1/me,admin 才显「管理」入口(/static/admin.html)
|
||||
loadRole(); // 拉 /v1/me,admin 才显对话面板的「管理」入口(/static/admin.html)
|
||||
refreshProcs(); // 后台进程(bg proc):上个会话遗留的 running proc 恢复轮询/展示
|
||||
initSoftwareJobs();
|
||||
}
|
||||
|
|
@ -53,7 +53,7 @@ function renderWho() {
|
|||
}
|
||||
|
||||
// 当前用户身份 + 角色:/v1/me 返 {user_id, role, name, user_name, email}。
|
||||
// admin → 显顶栏「管理」链接;并用服务端权威值校准顶栏用户名(platform_key 登录 / 老 token
|
||||
// admin → 显对话面板「管理」链接;并用服务端权威值校准顶栏用户名(platform_key 登录 / 老 token
|
||||
// 升级后,name/user_name 这一刻才到齐)。失败静默(增量功能,拉不到就维持登录时的兜底值)。
|
||||
async function loadRole() {
|
||||
const link = $("hd-admin");
|
||||
|
|
|
|||
Loading…
Reference in New Issue