Align console UI with school-iot-admin and wire login to serverschool

UI / layout
- rebuild left mode: full-width blue header (60px) + white sidebar below + card-style tags view
- introduce design tokens in variables.css (brand #347df9, sidebar 240px, menu item 49px)
  and theme overrides for dark / dark-blue themes
- restyle navigation bar (logo + platform name / top nav / tools + user), logo, sidebar
  (selected state: light blue bg + blue bar + bold), tags view, app main
- global styles: .app-container white card, .head-title, .btn-blue/.btn-white,
  el-table / el-dialog look, brand color injected into --el-color-primary
- add favorites store (localStorage) wired to sidebar star and header top nav
- disable template watermark / footer / promo notifications by default

Login (serverschool)
- port school-iot-admin login page (background art, right side card, keep-login)
- OAuth2 password mode: GET /oauth/token (raw axios) + GET /uc/account/current
- port phone lookup (/wx/getAccoutList) and forget-password flow
  (/sms/sendCode + /sms/verifyCode) as components/login/Forget.vue
- user store exposes accountInfo / accountType / teamId / roleId and strips password

Infra
- move all devServer proxies and env vars from school-iot-admin/vue.config.js
  (default targets point to production)
- fix empty sidebar: guard short-circuit skipped setRoutes when login page already
  fetched user info
This commit is contained in:
2026-10-27 09:13:39 +08:00
parent 80b8218b23
commit 47dd605067
38 changed files with 1719 additions and 464 deletions
+18 -1
View File
@@ -1,7 +1,24 @@
# 开发环境的环境变量(命名必须以 VITE_ 开头)
## 后端接口地址(如果解决跨域问题采用反向代理就只需写相对路径)
## 后端接口地址(apifoxmock,demo / FastCrud 演示页用)
VITE_BASE_URL = /api/v1
## 开发环境域名和静态资源公共路径(一般 / 或 ./ 都可以)
VITE_PUBLIC_PATH = /
# ===== serverschool 后端代理(默认连生产,与 school-iot-admin 的 dev 一致) =====
## /hxyd-api 代理目标;连测试库改成 http://192.168.0.10:8100
VITE_SCHOOL_TARGET = https://band.hxzhxy.cn
## WebSocket(/ws-api);老平台 dev 内网值 ws://192.168.0.244:58089
VITE_WS_TARGET = ws://139.159.182.121:8100
## 视频流 wvp(/hxyd-video);老平台 dev 内网值 http://10.19.64.250:8000
VITE_VIDEO_TARGET = http://11.1.20.107:8000
## yolo 抓拍图片 minio(/hxyd-video/yolo);老平台 dev 内网值 http://10.19.64.250:9000
VITE_VIDEO_MINIO = http://11.1.20.107:9000
## 智能体对话(/agent-dialogue-api,本机 score_agent / LangGraph)
VITE_AGENT_DIALOGUE_TARGET = http://127.0.0.1:3030