chenxing
|
b685ff5dc0
|
fix(顶栏): LOGO 文字字号对齐应用名层级(19px/700)(LOGO文字与主题JSON化增补)
|
2026-10-09 11:56:42 +08:00 |
|
chenxing
|
9c8b0f900a
|
chore(theme): theme.ts 同步通道 1038 版本戳(LOGO文字与主题JSON化)
|
2026-10-09 10:49:42 +08:00 |
|
chenxing
|
fea12895c1
|
feat(顶栏): LOGO 徽标旁显示平台文字(yh-logo-text 键接入);theme.ts 同步通道新版本戳(LOGO文字与主题JSON化)
|
2026-10-09 10:35:45 +08:00 |
|
chenxing
|
599fed01b5
|
chore(theme): YschTheme sync 件更新(版本 20261009-0054-5732ee2,信封兼容)
|
2026-10-09 00:54:49 +08:00 |
|
chenxing
|
e0d1b2b769
|
chore(theme): YschTheme sync 件更新(版本 20261009-0036-19f025a,serviceHost 前缀修复)
|
2026-10-09 00:36:34 +08:00 |
|
chenxing
|
f611c15a6e
|
chore(theme): YschTheme sync 件更新(版本 20261008-2326-f7fb534,oapi 代理轮)
|
2026-10-09 00:23:28 +08:00 |
|
chenxing
|
941031e1b4
|
refactor(theme): 移除顶栏配色切换器入口(oapi 代理轮拍板:设置收敛 UserHome)
本地切换会被服务端生效值收敛打回,不留半残入口;ThemeSwitcher 资产保留(通道 sync 件)
|
2026-10-08 23:27:35 +08:00 |
|
chenxing
|
59f8fad4ca
|
外观偏好异步补齐C:YschTheme sync 件更新(UserAvatar 监听 yh-appearance-updated 重读键 + theme.ts 版本戳 20261008-1831-d9db725)
build / build (push) Successful in 2m38s
|
2026-10-08 18:52:14 +08:00 |
|
chenxing
|
f4d0c7d97a
|
外观偏好异步补齐C:顶栏 Logo 接平台键 yh-logo-url(服务端学校 Logo 异步生效)
- .logo-badge img 改动态 src:localStorage["yh-logo-url"](yh-theme-init 异步补齐段写入)优先,本仓 yunhai-logo.svg 兜底,@error 回落兜底——绝无空 src/裂图
- mounted 读一次 + 监听 yh-appearance-updated 即时切换(无需刷新)
|
2026-10-08 18:51:51 +08:00 |
|
chenxing
|
e37ff9f8d1
|
feat(avatar): 默认头像轮接入(YschTheme sync 件 + 顶栏三态头像)
- src/utils/avatar.ts + src/components/UserAvatar.vue:YschTheme 默认头像轮 sync 下发公共源(取值链 URL > yh-avatar > yh-avatar-sch-default > text)
- layout.vue:顶栏 img 头像换 UserAvatar 三态组件(placement=brand,size=28);头像/姓名点击统一跳 UserHome 设置页「个人信息」pane(原 /v/userinfo 已下线语义)
- theme.ts/ThemeSwitcher.vue:sync 刷新至 20261006-2013-75c1d10(theme.ts 仅版本戳;ThemeSwitcher 与源仓逐字节一致)
- auto-imports.d.ts:UserAvatar 组件自动登记
当前分支 feat/flow-embed(avatar 轮独立于流程嵌入工作,随分支推送时机一并处理)
|
2026-10-06 20:25:37 +08:00 |
|
chenxing
|
c81f097188
|
feat(notice): 接入流程进度嵌入页(守卫端点 + Drawer iframe)
|
2026-10-03 16:59:48 +08:00 |
|
chenxing
|
05804f41a9
|
theme: 切 A 类免插件接入(YschTheme 方案 §11),删 vendored vite 插件
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 只拉一次
|
2026-09-29 11:38:31 +08:00 |
|
chenxing
|
29c051350b
|
fix(layout): 菜单点击/高亮统一走 resolveMenuPage,修 /approval 尾空格导致要点多次+不高亮
build / build (push) Successful in 2m35s
- 之前模板与 linkMenu 用 raw item.page,后端 GetUserMod 待审核 page="/approval "(带尾空格)
与 routeChange 解析后的 "/approval" 不一致 → router.push 带空格需多次才命中、active 比对不等不高亮。
- linkMenu 与 active-class 改用 resolveMenuPage 解析后的 path(顺带修复外链 item.external 之前从 raw 取不到)。
- 不改数据;根治建议:平台模块管理把该 page 的尾空格去掉。
|
2026-09-24 15:38:36 +08:00 |
|
chenxing
|
8c2d539f34
|
fix(menu): modId 按真实 /base/GetUserMod 校正(1/2/3/4/21/89/91),撤销上版误值
build / build (push) Successful in 2m59s
- 上版(693aba9)照 31ca694 提交说明的假设值 1000/…/2100,与后端实际返回不符。
真实 modId:已收到1 已发送2 全部通知3 通知统计4 应用设置21 待审核89 抄送91。
- 深层页回到 parentId 2/2/3(发通知22 / 详情23 / 详情24),修正上版 parentId:2000/3000
造成的父菜单高亮失效。
- config/menu.ts、mock GetUserMod 同步真实值并补「抄送给我的」91。
- 说明:/approval 导航本就靠 page 精确匹配(后端 page "/approval " 尾空格已被 resolveMenuPage trim),
本次主要修 modId 契约与详情撞车/高亮,不改变可点击性。
|
2026-09-24 15:15:46 +08:00 |
|
chenxing
|
693aba9968
|
fix(menu): modId 契约全量对齐后端 /base/GetUserMod,解 /approval 与 /list/detail 撞车
build / build (push) Successful in 2m41s
- routes.ts:已收到1000/已发送2000/全部通知3000/通知统计4000/应用设置5000;
深层页按 UserBase 范式编码 20001/20002/30001;/approval 独立 2100
(原与通知详情同为 23,ROUTE_BY_MODID 取先注册者 → 待审核会被误解析到通知详情)。
- config/menu.ts、mock GetUserMod:id/modId 同步对齐。
- 不动 NoticeApproval.vue 主题改动;/cc 维持 25(与平台一致,未纳入本次对齐)。
|
2026-09-24 14:22:11 +08:00 |
|
chenxing
|
21a0bd36b6
|
fix(ci): vendor @yunhai/vite-plugin-theme 进仓,修 CI npm ci 解析不到 file:../../YschTheme
build / build (push) Successful in 2m34s
- CI 只 clone NoticeFront,file:../../YschTheme/packages/vite-plugin 在容器里不存在 → npm ci 秒失败(run#13)。
- 改为仓内 plugins/vite-plugin-theme(拷构建产物,dist→lib 规避 .gitignore 的 dist 规则;剥离 devDeps 防嵌套安装)。
- package.json 消费改 file:./plugins/vite-plugin-theme,重生成 lock(已清 extraneous 孤儿)。
- 本地 npm run build 通过。待 Nexus npm 仓就绪后再迁回版本号消费(方案 B)。
|
2026-09-24 12:22:09 +08:00 |
|
chenxing
|
796a1b9a7b
|
chore(theme): 同步 theme.ts 到已发布通道版本 20260924-1142-e34cbc4
build / build (push) Failing after 10s
YschTheme 通道已 --publish 上线(base.yunhaixingtong.com 实测 manifest=1142);
经 npm run sync 刷新 src/utils/theme.ts 版本戳。
|
2026-09-24 11:51:46 +08:00 |
|
chenxing
|
74b9e80b0d
|
theme: 以 feature/theme-remote-p0 内容整体替换 main(主题通道化试点,非 merge)
- 本地 icons.css/layout.css 下线改走中央静态通道;新增 ThemeSwitcher.vue + useElementHeight.ts;
layout/main.ts/vite/menu 及各页适配对齐 feature 试点。
- 已知回退:本轮按 feature 覆盖,冲掉了 main 上 31ca694(/approval 可达性+modId 对齐) 与
1516eff(cc useTableHeight) 两处功能修复,待后续单独补回。
- 回滚锚点:archive/main-before-theme-20260924 = 替换前 main(1516eff)。
|
2026-09-24 11:33:13 +08:00 |
|
chenxing
|
1516effb69
|
fix(cc): 抄送页高度改走 Utils.useTableHeight——main 分支无 theme 试点分支的 useElementHeight 钩子
build / build (push) Successful in 2m41s
|
2026-09-24 09:33:36 +08:00 |
|
chenxing
|
edd91b53b7
|
feat(flow): 应用内「抄送给我的」——notice_cc 列表页(路由 /cc)、API 封装、跳通知详情(type=0 不标读)
数据源 /api/notice/cc/My(flw_cc 落表经 flow.cc.sent 回调);未发布通知的详情可见由后端 NoticeFlowGuard 第 4 条(被抄送人)放行
|
2026-09-24 09:29:21 +08:00 |
|
chenxing
|
7c885c0b4b
|
chore(theme): 同步 YschTheme 再生产物 theme.ts(版本戳 20260923-1454-9619fbf)
build / build (push) Successful in 2m33s
仅版本戳注释行变化,正文与 20260921-1219-bb1637c 版一致;main 此前无该文件,本次新增。
|
2026-09-23 15:59:51 +08:00 |
|
chenxing
|
31ca694d48
|
fix(approval): /approval 点击不可达——modId 全量对齐 GetUserMod + 页面按 bsch 应用页规范重构
根因:/approval 与 /list/detail 的 meta.modId 同为 23,menuRoute.ts 的 ROUTE_BY_MODID 按注册
顺序取首条,23 恒解析为「通知详情」;菜单下发的 path 一旦未精确命中,兜底即串页 → 表现为点不到。
- routes.ts:modId 全量对齐 /base/GetUserMod(已收到 1000 / 已发送 2000 / 全部通知 3000 /
通知统计 4000 / 应用设置 5000 / 待审核 2100);深层页按「父×10+序」重排
(/list/new=20001、/list/detail=20002、/noticelist/detail=30001,parentId 同步);
/approval 去掉 parentId,按一级模块处理;文件头契约注释重写
- NoticeApproval.vue:tabs-wrapper/tabs-panel[type=card] + main-container(v-show 保活);
link-table table-bottom-box + useTableHeight;page-panel + customPageCount 记忆;
操作列 operatingTextHandle(通过 / 驳回 text-error,fixed:right);
状态列改用行级 cellClassName(status-color-N,本仓 view-ui-plus 为行级对象语义);
驳回弹窗改 Form + 必填红星,校验失败统一提示「请填写红色星号内容!」
- mock/noticeapi.ts、config/menu.ts:GetUserMod 六条全量对齐并补「待审核」(顺序按平台配置)
|
2026-09-23 15:59:44 +08:00 |
|
chenxing
|
f41719f3c4
|
feat(approval): 我的待审核页——待办列表+办件视角+通过/驳回
build / build (push) Successful in 2m41s
- /approval 路由(modId 23 深层页,菜单挂载待 GetUserMod 配置)
- 待办:标题/摘要(bizSnapshot 解析)/节点/到达时间,通过一键,驳回弹窗强制意见
- 办件:状态 RadioGroup 筛选(10/20/30/40),状态 Tag 着色
- 全部走本应用后端代理 /api/notice/approval/**(前端不直调 oapi,不传身份)
- vite build 通过(2m24s)
|
2026-09-23 00:36:21 +08:00 |
|
chenxing
|
468cb8670f
|
feat(details): 审批卡片升级——撤回走后端中转、流程图弹窗同源嵌入、结构化步骤时间线
build / build (push) Successful in 3m17s
|
2026-09-17 01:10:41 +08:00 |
|
chenxing
|
830f9088f4
|
feat: 通知前端存量(审批状态/消息中心/详情流程入口等 2026-09-13/14 改动)
build / build (push) Successful in 3m19s
|
2026-09-16 01:21:46 +08:00 |
|
chenxing
|
c3ff58fd94
|
先审后发
build / build (push) Successful in 5m1s
|
2026-09-15 22:09:27 +08:00 |
|
chenxing
|
1b39e0086d
|
ci修订:构建容器名唯一化(修复与同宿主其他仓并发构建时 exit 137 互杀)-runner 挂宿主 docker.sock,容器名在整个 daemon 上共享命名空间,固定名 frontbuild 在多仓/多 workflow 并发时会被对方的 docker rm -f 直接 SIGKILL(2026-09-10 三仓同推:UserBase 与 Cms 的 build 被打死、Notice 侥幸绿);改法 BUILD_CONTAINER=frontbuild-${GITHUB_RUN_ID}-${时间戳},run/exec/cp/rm 全步统一引用;YAML 解析与 step sh -n 通过
build / build (push) Successful in 2m30s
|
2026-09-10 12:17:00 +08:00 |
|
chenxing
|
c50cafe44e
|
面包屑首页图标垂直居中+首页入口改指 userhome:crumb-home 用 inline-flex 真居中并关掉压缩 layout.css 遗留的 .path-nav .icon-category{top:1px} 字体基线补偿(该补偿是给老 iconfont 字形用的,对 mask 的 1em 方块反而顶偏;不改压缩产物,覆盖收在组件 scoped);linkHomePage 与面板「全部应用」由 /BschHome/front/index.html 改 /userhome/front/index.html(线上 BschHome 实测 404,userhome 200 且 hash 含 /apps);头部「常用应用」改「返回首页」(icon-shouye,面板 appList 全仓无赋值属死入口,面板 DOM 与 isPanel 保留仅失去入口);build 通过
build / build (push) Successful in 2m33s
|
2026-09-10 11:57:47 +08:00 |
|
chenxing
|
99e4ea8369
|
登录修订
build / build (push) Successful in 3m46s
|
2026-09-09 14:57:50 +08:00 |
|
chenxing
|
2f423c2d33
|
env-config 运行时配置迁移:vite 产物直出 dist/(根治 zip 根只有 base/ 目录、projman 前端发布校验缺 html),index.html 内联引导同步拉 /api/env-config?target=front,host.config 改三级合并(__APP_CONFIG__ > VITE_* 仅本地 > 同域推导);删 .env.base/.env.prod/.env.ld,build 产物零环境值烧入
build / build (push) Successful in 4m21s
|
2026-09-08 22:10:37 +08:00 |
|
chenxing
|
d2d0eb6cae
|
构建修复:同步 package-lock(补齐 @open-file-viewer 依赖树,修复 CI npm ci 失败),移除未使用的 node-sass/sass-loader(Node20 装包需下载二进制,内网不可达)
build / build (push) Successful in 2m31s
|
2026-09-08 20:50:19 +08:00 |
|
chenxing
|
17be4e6445
|
菜单图标切换本地 bsch-icons:layout.vue 改用 iconfont 掩码类,刷新 icons.css 图标库;登出地址改为 /cas/logout
build / build (push) Failing after 57s
|
2026-09-08 20:22:53 +08:00 |
|
chenxing
|
23750b4fde
|
功能修订
|
2026-09-08 20:22:52 +08:00 |
|
admin
|
e755eb3aa2
|
ci: 上传/webhook curl 加 -f 防静默失败 [skip ci]
|
2026-09-07 10:14:11 +08:00 |
|
admin
|
7b893de175
|
ci: init build workflow [skip ci]
|
2026-09-01 14:47:59 +08:00 |
|
chenxing
|
807ca07367
|
init: 迁移本地前端代码(Gitea 仓库重建后重新初始化)
|
2026-09-01 14:41:56 +08:00 |
|