05804f41a91abe6a84b2c49b6e7b68e39578d5ae
build / build (push) Successful in 4m19s
- 接入点收敛为 index.html <head> 内一段同步 loader(env-config 引导之后、title/入口之前),
document.write 保 parser-blocking;通道 init 已吸收 FOUC 门 + manifest 预取 + DCL 挂 <link>
+ href 去重交棒,主题逻辑升级全走 /static,不再需要重新构建本应用
- 域名四档:staticHost > baseHost > VITE_THEME_HOST(dev 跨源直连专用,需通道 CORS)> 同源相对。
不复用 VITE_BASE_HOST:它与 SSO/API 共用、.env.dev 里本就非空,复用会让 dev 立刻跨源被 CORS 拦;
build 产物不读 .env,占位符留字面量 → 置空 → 同源(产物零环境值烧入,与 2f423c2 口径一致)
- 删 plugins/vite-plugin-theme(-420 行 vendor)+ package.json/lock 的 file: 依赖,
根治 CI 容器解析不到 file:../../YschTheme 那类 npm ci 秒失败
- vite.config:保留 dev /static 代理(联调便利,changeOrigin 顺带改写 Host,等价旧插件的
headers.Host 补偿),注释端口纠错 5174 → 9527;theme.ts 同步到通道版本 20260929-1112-1b1724d
- 已验:npm run build 通过,dist/index.html 注入段存活且无 B 类痕迹,
YschTheme npm run smoke 断言 3 张主题表按序挂载、FOUC 门先于首帧、manifest 只拉一次
通知公告前端(Vue3 + Vite + view-ui-plus)
本地启动
npm install
1)纯前端调试(推荐,后端不可用时)
本地连不上 sso.yunhaixingtong.com / base.yunhaixingtong.com 时,后端 CAS 过滤器会拦截
/api/* 请求导致所有接口失败。此时使用内置 mock 调试前端页面:
npm run dev:mock
- 启用
src/assets/mock/noticeapi.ts中的内存 mock(vite-plugin-mock),覆盖全部页面接口: 用户/菜单、发文部门字典、通知增删改查、阅读情况、联系组、选择用户树、附件上传等。 - mock 数据为内存态,刷新页面即还原;修改 mock 文件后需重启 dev server 才生效。
- mock 模式下请求走 vite 同源(
host.config.ts中serviceHost为空串)。
2)连接后端调试
npm run dev
.env.dev:VITE_SERVICE_HOST=http://localhost:8070/notice(Java 后端,见../service)。- 后端需要能访问 CAS(
yh.sso.server-url-prefix)与用户中心(yh.open.*),否则接口 302/失败。
主要页面
| 路由 | 页面 |
|---|---|
/notice/newnotice |
通知发送(新建/编辑 ?serid=/转发 ?fid=,wangeditor 富文本) |
/notice/notice_list |
已发通知 |
/notice/notice_accept |
已收通知(左列表 + 右详情,打印/转发/附件) |
/notice/manage |
通知列表(管理端) |
/notice/setting |
应用设置(发文部门卡片 + 自定义组) |
/notice/notice_details |
通知详情(type=0 管理视角含阅读进度/编辑/打印,type=1 查看) |
关键组件
components/UserCheckModal.vue:选择用户弹窗(组织树勾选 + 已选列表,移植自旧前端oldfront/src/components/userCheck.vue)。components/UserCheckInput.vue:通知对象选择(全部用户/指定用户,移植自旧user_check_input.vue)。components/NoticeUpload.vue:通知附件上传(选择文件 + 200MB 限制,移植自旧uploadFile.vue)。- 发文部门卡片:见
views/notice/NoticeSetting.vue,样式与交互对齐 UserBase「应用类型」 (UserBase/front/src/views/app/AppCategory.vue),额外支持停用/启用。
统计说明
统计相关前端已按需求移除(Notice_statis 接口封装、菜单、图标等),后期统计不在本应用内做。
Languages
Vue
48%
JavaScript
24.5%
TypeScript
23.3%
SCSS
1.8%
CSS
1.7%
Other
0.7%