chenxing
|
8bbe3c654b
|
feat(dept): 部门管理改卡片视图,树只到学校层+含子组开关,修复只显示教师组
build / build (push) Successful in 2m22s
- 右侧由表格改为部门卡片网格;有下级部门的部门渲染为跨整行的分组卡(办公室 → 校办/宣传/财务/党建),叶子部门为单卡
- 左侧沿用 zTree,剪枝到「学校」层;学校行尾挂「包含子组」开关(MyTree 新增 attachNodeControl,不污染 node.name、不触发节点选中)
- 按访问级别分视角:超管/局端显示树,学校管理员无树直接列本校部门(多校走顶部下拉)
- 修复「只显示教师组一行」:右侧数据改为从全量组树按 id 回查 children,不再使用 treeLink 中已清空 children 的节点
|
2026-10-21 10:31:48 +08:00 |
|
chenxing
|
3605a91b78
|
feat(module): 子模块自定义ID/路径改为选填,适配按钮权限型子模块
build / build (push) Successful in 1m51s
- 校验规则改为 computed:仅根模块强制 path/customId,子模块两者皆可空
- 占位文案按 openingIsChild 切换,提示「作按钮权限时可留空」
- 提交前 path 做 trim,空值传 undefined(后端归一并放开 nullable)
|
2026-10-21 08:53:00 +08:00 |
|
chenxing
|
24ae7b13fe
|
部门线P0最小批:极简部门管理页(只读树+状态徽标+启停确认,权限管理分组下)
build / build (push) Successful in 1m52s
|
2026-10-20 22:37:43 +08:00 |
|
chenxing
|
1a011656ec
|
ci: apk 源不可达时按可达性自动切换镜像(修复流水线卡死在第一步)
build / build (push) Successful in 2m50s
现象:10-20 12:18 / 12:19 两轮构建都失败在第一步 apk add:
fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main: Permission denied(每个源卡满 60s)
ERROR: unable to select packages: curl (no such package)
后续 clone / 构建 / 打包 / 建档全部被 skip,代码根本没被编译到。
同一时刻本机访问该源是 200,说明是 runner 容器侧网络受限。
改法:装包前用 busybox wget 依次探测 dl-cdn / 阿里云 / 腾讯云 / 华为云,
取第一个可达源替换 /etc/apk/repositories 后再 apk add;四源全不可达则显式报错退出,
不再以 120 秒超时的形式掩盖真实原因。
|
2026-10-20 14:18:45 +08:00 |
|
chenxing
|
32b73ba407
|
fix(授权): 父级勾选态改「任一子节点选中即选中」+ 无模块应用可授权(组授权/角色授权)
build / build (push) Failing after 2m6s
1. 父级选中态(两页口径统一)
isAppChecked 由「全部子模块都勾选才 true」改为「任一子孙被勾选即 true」,
新增 isModuleAnyChecked 替代不再使用的 isModuleAllChecked;buildModuleNode 同步。
样式把 zTree checkbox_true_part / _focus 的 background-position 指向 checkbox_true_full
的蓝勾位置——父节点 checked=true 但子节点未全选时,原生是"蓝底横杠"半选,
折叠态几乎看不出部分授权,改成蓝勾后与全选视觉一致。
2. 无子模块应用(如「一周安排」)勾选后刷新即失效
- GroupAuth:这类应用没有模块明细,原 buildModuleDiff 前后快照恒为空、根本不发请求。
改为单独走 moduleId=0 的「整应用」提交(后端翻译成 -appId 哨兵记录);
回显读后端应用级 checked / inheritFlag;setLocalAppInherit 支持应用级。
- AppModuleCheckTree:onTreeCheck 直接记 app.checked;saveNow 把后端约定的 -appId
并入 moduleIds —— 角色授权是模块 id 全量覆盖,不带哨兵每一项保存都会被静默清掉。
后端配套改动见 UserBaseService 同名提交(AppLevelModuleId / resolveModuleIds / VO 新增 checked)。
|
2026-10-20 12:18:54 +08:00 |
|
chenxing
|
e8ab9280bf
|
feat(loading): 表格加载接通道 .ysch-spin(v1.11 试点第一端)——TablePageAlovaNew/Alova 插槽挂 ysch-spin,main.scss 改布局块+文案 var(--brand),删 loading.gif 两份副本(ModuleManage 按钮权限既有改动不在本提交)
build / build (push) Successful in 2m26s
|
2026-10-14 18:13:13 +08:00 |
|
chenxing
|
d48153ced9
|
fix(状态徽标): 正常/禁用改主题色描边徽标(对齐「当前生效」样式)
build / build (push) Successful in 1m51s
view-ui-plus Tag 预设色的 border prop 渲染仍实心(无效),改全局描边类 .tag-outline(var(--brand) 文字+边框白底,随档变化)+ .tag-outline-muted 中性灰态;转出角标不变
|
2026-10-11 11:07:02 +08:00 |
|
chenxing
|
d034320406
|
feat(验收微调轮): 状态徽标描边化+树卡300px+截断预留收窄+全应用/日志链接主题色
build / build (push) Successful in 2m3s
- group-user 状态列 Tag 加 border 描边(对齐「当前生效」徽标样式,弃实心块)
- 组树顶部操作钮图标 18→16px、内边距收窄,第5钮不再贴边
- main.scss UserBase 专项:tree-wrapper 左树卡统一 300px(撤 AppList 180px 局部覆写)
- GroupAuth ztree 节点名预留 90→36px(子组继承复选框悬停才注入,常态不该预留),消除有空间却截断成 ...
- 角色授权「全应用」徽标改描边主题色 tag-brand;AppModuleCheckTree 当前角色文字 var(--brand)、面板 min-height 320→0
- 三个日志详情弹窗「下载/在线预览」链接 #577afb/#3d5afe → var(--brand)/var(--brand-2)
- 注:本机 I/O 风暴(冷读 node_modules 停顿 30-45s)致 npm run build 门禁未跑通验证,改动均为样式/props 级
|
2026-10-11 10:46:49 +08:00 |
|
chenxing
|
3b0f29b0d1
|
feat(接入规范验收修订轮): 操作列收口text形态+通道撑满高度+主题色批量落地
build / build (push) Successful in 1m58s
- 操作列:group-user/操作日志/开放接口日志/推送日志四页手写 h('a') 迁 actionColumn({mode:"text"}),颜色归通道 var(--brand);推送日志「重试」改 disabledWhen 置灰保位
- group-user 状态列 h('Tag')/h('Badge') 字符串组件名改 import 真组件(Vue3 坑)
- 高度:日志三页根节点改 page-wrapper yh-fill;TablePageAlovaNew 对齐 flow-center 同构版(.table-region + useElementHeight 实测 + 页长记忆);RoleAuthzList 转 tree-wrapper 骨架(外边界/间隙 16)
- 主题色:当前学校/当前组/当前角色、应用管理左类型面板、角色管理卡片操作位硬编码蓝改 var(--brand) 系令牌
- 顶栏房子图标钮删除(§4:首页入口收敛面包屑「首页」)
- 含 2026-10-10 试点未提交件:tableActions.ts 七函数、main.scss .op-cell、AppList/ModuleManage/RoleUserManage 迁移
|
2026-10-10 23:39:32 +08:00 |
|
chenxing
|
5c7d5d68e4
|
revert(顶栏): 移除 LOGO 文字显示(用户反馈子应用不展示,仅门户展示)(LOGO文字与主题JSON化增补)
build / build (push) Failing after 15s
|
2026-10-09 12:29:36 +08:00 |
|
chenxing
|
a2aa4f925c
|
fix(顶栏): LOGO 文字字号对齐应用名层级(19px/700)(LOGO文字与主题JSON化增补)
build / build (push) Failing after 1m2s
|
2026-10-09 11:56:43 +08:00 |
|
chenxing
|
2dec060b91
|
feat(顶栏): LOGO 徽标旁显示平台文字(yh-logo-text 键接入)(LOGO文字与主题JSON化)
build / build (push) Successful in 3m13s
|
2026-10-09 10:36:10 +08:00 |
|
chenxing
|
c12628f051
|
外观偏好异步补齐C:顶栏新增云海 logo 徽标 + 接平台键 yh-logo-url + sync 件更新
build / build (push) Failing after 10s
- header-container 首位插入 .logo-badge(结构与 Notice 对齐,皮肤由通道 base.layout.css 提供);拷贝平台 yunhai-logo.svg 资产兜底
- localStorage["yh-logo-url"] 优先,@error 回落兜底;mounted 读一次 + 监听 yh-appearance-updated 即时切换
- sync 件:UserAvatar.vue 监听 yh-appearance-updated 重读键(YschTheme d9db725 分发)
|
2026-10-08 18:52:31 +08:00 |
|
chenxing
|
0a93441f64
|
chore(deps): view-ui-plus lock 对齐 1.3.24(YschTheme 通道批次0 前置,版本锁测试解锁)
build / build (push) Successful in 3m51s
|
2026-10-07 23:35:46 +08:00 |
|
chenxing
|
b1dba84c49
|
feat(appicon): 应用图标 AppIcon 矢量选择器接入(YschAppIcons 资产库 10-04 轮)
- src/assets/appicon-icons.json:资产库图标清单
- src/components/AppIconPicker.vue:矢量图标+配色选择器(YschAppIcons mask 资产)
- AppForm.vue:平台模式 Pc 应用图标换 AppIconPicker(学校模式保留位图上传,学校覆盖线只收 pcIcon);App 位图图标移入高级折叠区(遗留通道,存量 pc_icon/app_icon 链路保留,新应用优先矢量图标键)
- AddAppContainer/EditAppContainer:配套接线
依据:根目录《AppIcon资产库落地-执行报告-20261004.md》P2 管理端图标选择器
|
2026-10-06 20:16:21 +08:00 |
|
chenxing
|
efd55a3a75
|
feat(avatar): 顶栏三态头像接入(YschTheme 默认头像轮 sync 件)
- src/utils/avatar.ts + src/components/UserAvatar.vue:YschTheme sync 下发公共源(取值链 URL > yh-avatar > yh-avatar-sch-default > text,值域 text|silhouette)
- layout.vue:顶栏 img 头像换 UserAvatar 组件(placement=brand,size=28);头像/姓名点击统一跳 UserHome 设置页「个人信息」pane(原 /v/userinfo 已下线语义)
|
2026-10-06 20:16:20 +08:00 |
|
chenxing
|
5296b5999c
|
feat(theme): A 类免插件接入 YschTheme 中央静态通道(index.html loader + 删本地 layout.css)
- index.html:env-config 引导后插主题通道 loader(优先级 staticHost > baseHost > %VITE_THEME_HOST% 仅 dev > 同源 /static,document.write parser-blocking,产物占位符零烧入)
- main.ts:删本地 layout.css 引入(通道旧版全量拷贝 14.8KB),注释改指通道下发链
- src/assets/styles/layout.css:删除(staged)
- vite.config.ts:/static dev 代理(YH_THEME_PROXY_TARGET 可覆盖)+ /api /mobiapi 代理整理
- .env.dev:三种 dev 模式说明 + VITE_THEME_HOST 连法注释
- App.vue:注释纠正(主题样式改由中央通道下发)
- alova-iview/alova-vant:修 mock 失效(baseUrl 未认 isMock)
依据:YschTheme 方案 §11 A 类契约 +《主题通道当前困境与待决问题-20260929》§3 九文件清单
|
2026-10-06 20:16:03 +08:00 |
|
chenxing
|
ec53c34b9c
|
feat(app): 基石应用删除解禁——MyConfirm 同步 projman 删除模(输名确认+红色确认键),删除一律危险确认;基石模块/推送仍置灰
build / build (push) Successful in 3m47s
|
2026-09-29 15:26:25 +08:00 |
|
chenxing
|
e034b947e5
|
fix(app): 性质/技术标识提示改 md-help 图标+Button 触发的 Tooltip(max-width=320 防截断);基石应用整行隐藏 Pc 地址/图标(无消费方)
build / build (push) Successful in 12m52s
|
2026-09-29 14:47:21 +08:00 |
|
chenxing
|
e1aee91a98
|
feat(app): 基石应用隐藏门户投放字段(前端类型/PC·App地址图标/公众号/钉钉);性质说明改 Tooltip 防折行;技术标识加 kebab-case 提示与校验
build / build (push) Successful in 3m38s
|
2026-09-29 11:39:59 +08:00 |
|
chenxing
|
14dcdb7fe1
|
feat(app): 编辑应用回传 appCode/appNature 必填配套(C5)——AppForm 编辑态技术标识必填规则(后端 Create/Update 组同口径);EditAppContainer 学校分支补回传 categoryId/appCode/appNature 原值满足平台校验(后端学校覆盖只读名称/描述/图标,语义不变)
build / build (push) Successful in 2m24s
|
2026-09-28 17:08:12 +08:00 |
|
chenxing
|
6a2c82c0ef
|
feat(app): 应用表单加性质 Switch+技术标识,列表加性质列且基石行模块/推送/删除置灰(消息卡片方案 B1)
|
2026-09-28 12:44:45 +08:00 |
|
chenxing
|
0080861482
|
fix(authz): 组授权卡片计数改贴整卡右下角,与子组继承复选框同列
build / build (push) Successful in 1m51s
- 「N个应用」从卡片头移入 cat-card-body 末尾,绝对定位到整卡右下角
- .cat-count 的 right 与子组继承复选框同值 14px,上下对齐成一列
- cat-card-body 底部 padding 加到 24px 腾出计数位置;卡片头 padding 恢复 8px 12px
|
2026-09-23 09:29:32 +08:00 |
|
chenxing
|
02a203a7f1
|
fix(authz): 组授权卡片头计数下沉右下角,子组继承回归最右
build / build (push) Successful in 2m29s
- 「N个应用」改为绝对定位到卡片头右下角,不再参与主行 flex 排布
- 主行右侧顺序调整:全部展开 → 子组继承(居最右)
- 卡片头底部 padding 加到 26px 容纳角标;分类名收缩系数收敛为 flex: 0 1 auto
|
2026-09-23 09:24:46 +08:00 |
|
chenxing
|
71c08d6e9a
|
feat(authz): 权限一览加「全部展开」开关与卡片布局加固;下线测试推送页
build / build (push) Successful in 2m3s
- 权限一览:应用层默认折叠,新增「全部展开」开关(事件不冒泡到标题行),MyTree 透传 expand-all
- 应用模块树卡片:分类名与数量让位(超大收缩系数 + min-width:0),「子组继承」加 tooltip 与弹性空隙,
「全部展开」加标签样式与竖线分隔,避免整组被挤出可视区或被读成同一个开关
- 下线测试推送:删除 /push-test 路由、菜单项与 PushTest.vue
|
2026-09-18 11:13:36 +08:00 |
|
chenxing
|
7784492522
|
chore(types): 同步用户身份字段(删 SysUserVo.roles,identityNames 口径注释订正)
- SysUserVo.roles 已停写(后端本次一并删除该字段),前端类型同步移除
- identityNames 注明:组上下文列表只含当前组范围解析出的学校下的身份(与编辑弹窗「所在组」同源)
|
2026-09-18 11:13:27 +08:00 |
|
chenxing
|
d012a99e28
|
feat(log): 三类日志列表加大小列,详情按 50KB 门槛切换在线预览/下载
build / build (push) Successful in 1m57s
- 推送/操作/开放接口日志列表各加"大小"列(payload_size/response_size,Utils.getFileSize 格式化)
- 详情弹窗:下载按钮常驻;Utils.canPreview(≤50KB) 才显示"在线预览",点击 fetch 复用各自 /Download/{id} 取原文渲染
- oapilog 详情从无条件内联改为同一套门槛逻辑
- utils 新增 PREVIEW_MAX_BYTES 与 canPreview
|
2026-09-18 09:24:38 +08:00 |
|
chenxing
|
628a914e19
|
feat(authz): 应用类型卡片新增「全部展开」开关 + 用户管理列宽让位部门列
build / build (push) Successful in 3m16s
- MyTree 新增受控 prop expandAll(默认 false):在 zTree 初始化之后套用并监听变化,
数据重载(切组/搜索过滤)后自动重新展开,规避调用方与 initTree 抢 nextTick 时序
- 组授权 / 角色授权的应用类型卡片头部加「全部展开 + small Switch」,默认关闭,
控制该类型下全部应用与模块的展开收起;每个卡片独立,状态按 category id 保存
- 开关外层 @click.stop:卡片头部本身绑定 toggleCollapse,不阻断冒泡会连带折叠卡片
- 角色授权「用户管理」表格:账号/姓名改定宽(110/90)、操作 80,部门 minWidth 吃剩余
宽度,把空间留给组路径列
|
2026-09-16 19:14:23 +08:00 |
|
chenxing
|
a082e59c3e
|
fix(tree): 修复左侧树滚动条失效与叶子节点误显 +/−,统一权限一览连接线
build / build (push) Successful in 3m27s
滚动条(上次改动引入的回归):
- MyTree 根节点加 .my-tree 类并打通高度链(flex 纵向 + .ztree 承担滚动),
父级定高时滚动条只落在树节点区域;父级 auto 的卡片内树行为不变
- GroupTreeSearchPanel 的 .tree-body 改 flex 纵向传递高度,删除已失效的 .ztree 规则
叶子节点 +/−(以组用户管理左侧树为参考统一):
- zTree 只要 children 是数组即强制 isParent=true,故空数组必须不挂键;
修正 GroupAuth / AppModuleCheckTree / PermissionView 共 9 处节点构造
- MyTree 初始化前加节点规范化兜底,防止后续新增树重犯
- removeNode 删除末个子节点后同步父节点父/叶状态,不再残留 +/−
权限一览:
- 删除 li{line-height:26px} 覆盖(zTree 图标按 21px 节距,26px 会让连接线出现断口)
- 左列改用页面级 permission-tree 类:flex 纵向 + overflow:hidden,
消除整列滚动与外层裁切,滚动收敛到树体
|
2026-09-16 17:46:06 +08:00 |
|
chenxing
|
af94e1d2cb
|
fix(permission): 角色节点联动已授权应用、所属部门按行收窄、树滚动条收敛
build / build (push) Successful in 2m53s
- 权限一览:formatRoleAuthzTree 子节点键 apps→children(zTree 只认 children,导致除分类外全不渲染)
- 权限一览:所属部门按行所在组请求 UserGroupTree,多组用户只显示该组链路,(本组)标记指向该组
- 角色授权:用户管理新增「部门」列,添加/删除按(用户,组)维度,切组清空勾选避免误绑
- 编辑用户:切「所在组」时身份与角色属性双回显,该组角色未就绪拦截提交防误存;保存按组覆盖
- 组用户管理:左侧树滚动条收敛到树节点(页面级新增 group-user-tree 类,不动全局 .tree-container)
|
2026-09-16 16:33:58 +08:00 |
|
chenxing
|
4237615238
|
权限一览修订
build / build (push) Successful in 3m40s
|
2026-09-16 09:44:54 +08:00 |
|
chenxing
|
711765234f
|
feat(app-module): 模块管理新增图标字段的表格列与表单行
build / build (push) Successful in 1m56s
配合后端 app_module.icon(YschIcons 图标名,非必填):
- 表格在「模块名称」后加「图标」列,有值时预览 SvgIcon 并显示图标名原文,无值显示占位
- 新增/编辑弹窗在「模块路径」后加一行「模块图标」输入框(clearable,非必填)
- 回显、新增/子模块初始值、两处提交参数均已带上 icon;空串归一为不下发该字段,
后端 edit 逐字段整体赋值,故清空图标可生效
|
2026-09-15 18:11:18 +08:00 |
|
chenxing
|
6750a735c2
|
fix(auth): 改用 zTree 原生级联替代手动 checkNode,彻底修复级联错乱
build / build (push) Successful in 1m58s
手动代码级联与 zTree 内部状态机(checkNode 提前 return、setChkClass、repairParentChkClassWithSelf)反复交互,
导致除 open 外级联视觉完全失效、点击父节点无法联动子孙,整体错乱。
改为 zTree 原生 chkboxType {Y:"ps", N:"s"}:
- Y="ps":勾选任意节点 -> 父/祖先全部勾选 + 子孙全部勾选
- N="s":取消节点 -> 子孙全部取消,父/祖先不受影响
恰好对应需求 4 条规则(勾选子->祖先勾选;勾选父->子孙勾选;取消父->子孙取消;取消子->父/祖不动),
且视觉由 zTree 原生刷新,不再依赖手动 checkNode。
onTreeCheck 退化为只做本地数据同步:原生级联完成后把应用子树最终勾选态
(syncAppModulesFromTree)写回 AppItem.modules 作为提交依据;GroupAuth 仍按模块明细 diff,
角色授权页仍全量防抖保存。
|
2026-09-15 17:45:43 +08:00 |
|
chenxing
|
af367ddd19
|
fix(auth): 修复勾选级联视觉不生效——checkNode 提前 return 跳过外观刷新
build / build (push) Successful in 1m58s
zTree checkNode 在 node.checked 已等于目标值且 checkTypeFlag=false 时会提前 return,
setChkClass(复选框外观刷新)被跳过。原先实现先手动赋值 n.checked 再调 checkNode,
导致除点击节点外,联动到的祖先/子孙节点只改数据、外观不刷新,表现为级联未生效。
改为由 checkNode 内部设置 checked 并刷新外观后再处理后续联动。
|
2026-09-15 17:18:21 +08:00 |
|
chenxing
|
e1cdc26697
|
feat(auth): 树勾选级联+点击文字勾选+树默认闭合
build / build (push) Successful in 3m19s
- 新增共享级联工具 utils/treeCascade.ts:勾选子->祖先全部勾选;勾选父->子孙全部勾选/取消;取消子->父/祖不受影响(zTree 侧 chkboxType 置空,由代码级联)
- GroupAuth.vue:接入代码级联,模块明细按 diff 提交(追加/删除),取消时同步清理子组继承标记
- AppModuleCheckTree.vue:角色授权接入同一套级联逻辑
- 组/角色授权树与应用节点默认闭合,点击文字等价勾选框(MyTree onClick 同步触发 onCheck)
- PermissionView.vue「已授权应用」应用一级默认不展开模块
|
2026-09-15 16:51:43 +08:00 |
|
chenxing
|
e0252eb997
|
fix(user): 编辑用户「所在组」路径去掉分隔符两侧空格
build / build (push) Successful in 1m51s
groupOptions 拍平组织树时完整路径分隔符由 " / " 改为 "/",
使所在组显示为 教育云中心/信阳教育局/…/202601。
|
2026-09-11 10:14:22 +08:00 |
|
chenxing
|
c1e4603fa4
|
ci修订:恢复构建容器名唯一化(模板重注入回退修复)
build / build (push) Failing after 2m2s
远端 4bf8efe 删除整个 .gitea/workflows 目录后,194e761 由 projman 模板重新注入
build.yml,而 projman 的 templates/ci/frontend.yml 仍是固定容器名 frontbuild,
导致 34c2496 的容器名唯一化修复被回退。
runner 挂的是宿主 docker.sock,容器名在整个 daemon 上是共享命名空间,固定名
frontbuild 会在多仓/多条 workflow 并发构建时互相 docker rm -f 掉对方正在构建的
容器,表现为无编译报错的 exit 137(SIGKILL)。
本次仅恢复 build.yml 的容器名为 BUILD_CONTAINER=frontbuild-${GITHUB_RUN_ID:-0}-$(date +%s),
不引入 deploy.yml(远端已删除,部署通道统一走 build.yml -> Nexus -> projman 前端发布)。
|
2026-09-10 19:32:49 +08:00 |
|
chenxing
|
3697121c03
|
移除未使用的 sass-loader 并重生 lock(修 build.yml 在 CI 里 npm ci 失败)-本项目是 vite 工程,src 与 vite.config.ts 对 sass-loader 零引用,scss 编译由 dependencies 里的 sass(dart-sass)承担;但 sass-loader@10 作为 peer 把 node-sass@6 拖进了 package-lock,CI 的 npm ci 在 node:20 容器里必须装 node-sass(最高只支持 Node 16,无预编译二进制,postinstall 退回 node-gyp 源码编译且内网拉不到 nodejs.org 头文件),故 build.yml 自加入起两次 run 全挂;本地 npm ci --dry-run 实测确认安装集含 node-sass 6.0.1,清理后 node-sass 与 webpack 子树引用均为 0;lock 同步移除 sass-loader 连带拖入的整条 webpack 工具链(@webassemblyjs/*、terser-webpack-plugin、schema-utils、neo-async 等,3005 行删除),node_modules 未动(--package-lock-only),npm run build 本地通过;做法与 Notice d2d0eb6 一致
build / build (push) Failing after 4m1s
|
2026-09-10 12:36:38 +08:00 |
|
chenxing
|
34c2496704
|
ci修订:构建容器名唯一化+deploy.yml改手动触发(修复 exit 137 互杀)-根因是 runner 挂宿主 docker.sock,容器名在整个 daemon 上是共享命名空间,而 build.yml 与新加的 deploy.yml 都写死固定名 frontbuild,两条又都挂 push 触发:同一次 push 并发起两个 job,各自的 docker rm -f frontbuild 会把对方正在 npm ci/build 的容器直接 SIGKILL 掉,表现为无编译报错的 exitcode 137(2026-09-10 三仓同推即撞,UserBase 两条 run 与 Cms run 全红、Notice 侥幸绿);改法:两条 workflow 内 BUILD_CONTAINER=frontbuild-${GITHUB_RUN_ID}-${时间戳} 全步引用(run/exec/cp/rm 统一),GITHUB_RUN_ID 实例级唯一、时间戳兜底手动重跑与未注入场景;部署通道收敛:push 自动部署归一 build.yml→Nexus→projman 前端发布,deploy.yml 的 on 去掉 push 只留 workflow_dispatch(需要直连宿主 /data/www/userbase 软链秒级回滚时在 Actions 手动 Run),避免同一次提交被部署两遍;四条 workflow YAML 解析通过、改动 step sh -n 语法通过
build / build (push) Failing after 3m10s
|
2026-09-10 12:16:31 +08:00 |
|
chenxing
|
efff0eba39
|
退出登录图标接入 ysch 单 svg+首页入口与登出路由修订:从 YschIcons/svg 复制 logout.svg、shouye.svg 进 src/assets/icons(雪碧图根目录文件即 #icon-{name}),退出与头部按钮改用现成 SvgIcon 渲染,不再依赖 index.html 引入的 bschload.min.js 平台 iconfont 字体(与 Notice 同形同尺寸:退出 18px、头部 22px,均白色);<svg> 默认 inline 带基线降部空隙,新增组件 scoped 补 display:block 与首页按钮 flex 居中(layout.css 的 .logout i/.icon-btn i 只命中 <i>,不改压缩产物);头部「常用应用」改「返回首页」(本项目 appList 实为 store.modules,menu.ts 无 url/icon 键,面板渲染 href="undefined" 属坏入口;面板 DOM 与 showPanel/isPanel 保留仅失去入口);linkHomePage 仅改独立 Web 分支 URL /BschHome→/userhome/front/index.html(线上 BschHome 实测 404),嵌入态 BschLoadUtil.goBackDesktop() 逻辑原样保留;登出路由 /cas/logout→/logout 与 Notice/UserhomeFront 统一(/cas/logout 在 SSO 侧无效);build 通过
build / build (push) Failing after 5s
deploy-userbase-front / build-and-deploy (push) Failing after 11s
|
2026-09-10 11:58:26 +08:00 |
|
chenxing
|
b1b16332e4
|
ci
deploy-userbase-front / build-and-deploy (push) Successful in 2m39s
|
2026-09-07 18:29:17 +08:00 |
|
chenxing
|
c7404b9d5e
|
env-config修订
|
2026-09-07 18:16:37 +08:00 |
|
chenxing
|
7e37f2ada6
|
更改校端权限
|
2026-09-07 09:32:38 +08:00 |
|
chenxing
|
9200fa2135
|
更改环境配置
|
2026-09-03 23:57:05 +08:00 |
|
chenxing
|
790f0e3db5
|
bug修订
|
2026-09-02 08:41:35 +08:00 |
|
chenxing
|
428ee56bd3
|
读取动态配置
|
2026-09-01 11:50:38 +08:00 |
|
chenxing
|
886cce1b9e
|
跨校身份更改
|
2026-08-27 20:13:16 +08:00 |
|
chenxing
|
73066b5ab3
|
转出状态
|
2026-08-26 12:37:56 +08:00 |
|
chenxing
|
9c04b5e9fc
|
样式修复
|
2026-08-20 15:35:43 +08:00 |
|
chenxing
|
f5c1289681
|
开放日志修改
|
2026-08-20 12:17:29 +08:00 |
|
chenxing
|
049965f51b
|
添加开放接口日志
|
2026-08-20 10:23:47 +08:00 |
|
chenxing
|
35529fc671
|
api路径修复
|
2026-08-19 12:01:26 +08:00 |
|
chenxing
|
eb0ab76c83
|
修复api
|
2026-08-19 11:28:31 +08:00 |
|
chenxing
|
bf6439888e
|
更新api
|
2026-08-19 00:26:27 +08:00 |
|
chenxing
|
a096948371
|
api更改
|
2026-08-19 00:19:03 +08:00 |
|
chenxing
|
5247515a85
|
ci
|
2026-08-18 23:48:18 +08:00 |
|
chenxing
|
02f1fd2b14
|
修复重复弹msg的bug
|
2026-08-18 23:31:27 +08:00 |
|
chenxing
|
8fd5a21fcc
|
推送/操作日志下载改location.href;移动组关闭自动select;所在组改单选
|
2026-08-18 00:04:08 +08:00 |
|
chenxing
|
58a606764b
|
更改推送日志功能
|
2026-08-17 22:54:49 +08:00 |
|
chenxing
|
4b73cc7b29
|
推送日志修改
|
2026-08-17 20:25:18 +08:00 |
|
chenxing
|
89e7c08b2f
|
功能修改
|
2026-08-17 19:49:00 +08:00 |
|
chenxing
|
2321571060
|
修改角色bug
|
2026-08-17 18:54:00 +08:00 |
|
chenxing
|
0fa4b0f38a
|
修复所在组bug
|
2026-08-17 17:19:04 +08:00 |
|
chenxing
|
b96bbc9a62
|
修改功能
|
2026-08-17 16:41:08 +08:00 |
|
chenxing
|
85619785f6
|
推送功能添加
|
2026-08-14 09:08:01 +08:00 |
|
chenxing
|
4077ef64d8
|
组用户功能修订
|
2026-08-12 19:19:46 +08:00 |
|
chenxing
|
82f4c623af
|
修改环境变量,重新ci
|
2026-08-10 17:57:27 +08:00 |
|
chenxing
|
648c32c29e
|
test
|
2026-08-10 16:33:36 +08:00 |
|
chenxing
|
bf2d800c63
|
docs: 注明仓库Actions已启用,push到main自动触发部署
|
2026-08-10 16:24:16 +08:00 |
|
chenxing
|
4adf38af77
|
fix: deploy.yml 两处修复 - .npmrc 仅存在时删(被gitignore,CI无此文件); 软链改用相对路径(releases/X)避免Caddy容器内绝对路径断链
|
2026-08-10 16:16:58 +08:00 |
|
chenxing
|
020911419e
|
fix: 前端部署方案B修复 - deploy.yml支持首次真实目录迁移到releases/initial再建软链; 删除多余且基于错误假设的caddy-switch.yml(Caddy已是file_server)
|
2026-08-10 16:06:09 +08:00 |
|
chenxing
|
06ee85cf8d
|
ci: 前端方案B - 软链接版本化部署(不再打镜像) + caddy-switch 工作流
|
2026-08-10 15:42:00 +08:00 |
|
chenxing
|
eea881b616
|
init: UserBaseFront (frontend)
|
2026-08-10 14:41:13 +08:00 |
|