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 |
|