feat: 2026-07-11 全量更新 - 代办集成+会议室预定+知识迭代修复+UI统一+Bug修复

== 已部署上线 (9项) ==
- 代办事项真实数据源集成 (企微审批API 8bug修复链)
- H5/坐席端 Logo样式统一+绿色背景
- 视频引导页修复 (localStorage key v2)
- 坐席端 v9 Vue版本修复 (ElMessage._context)
- 截图按钮 v10 修复 (getDisplayMedia user gesture)
- 扫码样式恢复+H5扫码登录跳转修复
- H5截图快捷键提示

== 代码完成待部署 (3项) ==
- 知识迭代3Bug修复 (#8 POST端点/#7 MERGE幂等/#6 过期检查)
- 会议室预定-小鱼易联终端 (40文件, 40/40测试通过)
- IT资产升级审批推送 (asset_service.py)

== 需求文档 (2项) ==
- 坐席端AI辅助消息框-PRD (4项新功能确认)
- 坐席端布局优化建议 v2.0 (7天计划)

== 新增文档 ==
- 日报-2026-07-11.md
- 知识迭代Bug修复报告-20260711.md
- 会议室预定-部署指南.md
- CHANGELOG.md 更新

== 测试 ==
- test_todo_integration.py: 40/40
- test_meetingroom.py: 40/40
- test_bugfix_ki_suggestions.py: 21/21
This commit is contained in:
Simon
2026-07-11 23:13:10 +08:00
parent 3d152fc8eb
commit bea288e414
928 changed files with 85169 additions and 54205 deletions
@@ -0,0 +1 @@
import{Z as y,r as c,S as f,$ as p}from"./index-BCt9h3P8.js";import{a as _}from"./index-CTvVpU0T.js";const u="admin_token",m="admin_user_id",A=y("admin",()=>{const r=c(null),n=c(localStorage.getItem(u)),s=c(localStorage.getItem(m)),l=c(!1),I=f(()=>!!n.value&&!!r.value),h=f(()=>{var e;return((e=r.value)==null?void 0:e.name)||""}),S=f(()=>{var e;return((e=r.value)==null?void 0:e.user_id)||s.value||""});async function E(e,o,d){l.value=!0;try{const t=await _.post("/agents/login",{user_id:e,name:e,password:o,otp_code:d||void 0}),i=t.agent_info||t;if("require_otp"in t&&t.require_otp)throw l.value=!1,new Error("require_otp");if(i.role!=="admin")throw new Error("无管理权限:该账号非管理员角色");n.value=t.token||i.token,s.value=e,localStorage.setItem(u,t.token||i.token),localStorage.setItem(m,e),r.value={...i,role:"admin"},p.push("/dashboard")}catch(a){if(console.error("管理员登录失败:",a),a instanceof Error&&a.message==="require_otp")throw a;const t=a instanceof Error?a.message:"登录失败,请重试";throw new Error(t)}finally{l.value=!1}}function g(){n.value=null,s.value=null,r.value=null,localStorage.removeItem(u),localStorage.removeItem(m),p.push("/login")}async function v(){var e;try{if(!n.value)return;const o=await _.get("/agents/me");r.value=o}catch(o){console.error("获取管理员信息失败:",o),o&&typeof o=="object"&&"response"in o&&((e=o.response)==null?void 0:e.status)===401&&g()}}async function w(){const e=localStorage.getItem(u);if(e){n.value=e,s.value=localStorage.getItem(m);try{await v()}catch{g()}}}return{adminInfo:r,token:n,adminUserId:s,logging:l,isLoggedIn:I,adminName:h,userId:S,login:E,logout:g,refreshAdminInfo:v,initAuth:w}});export{A as u};