郑龙捷
|
74dd97428f
|
feat: 接入运维真实数据与三角色权限链路
- 新增 model_deploy 与 model_operations 双库查询,支持模型列表、模型详情、单月监控结果和运维工作台真实接口。
- 关闭运维模块生产 Mock 数据,补充缺表/空数据降级、工作台空状态和首条纵向链路测试。
- 按业务团队、模型团队、管理员权限矩阵接入菜单、页面、操作按钮和后端接口权限校验,支持 business_team 角色。
- 更新工作台布局、深色欢迎卡片、全宽页面适配、顶部回退,以及权限分组展示。
- 新增架构实现基线、周目标完成情况和角色权限矩阵初始化 SQL 文档。
|
2026-09-02 15:02:47 +08:00 |
|
郑龙捷
|
6d044784ec
|
Merge origin/develop into feature/a-card-operations
|
2026-09-02 10:33:00 +08:00 |
|
郑龙捷
|
ad71259ba5
|
feat: add A-card operations frontend and backend foundation
|
2026-09-02 09:54:03 +08:00 |
|
xiaozhu
|
cc38bb1575
|
部分样式调整
|
2026-08-31 11:10:49 +08:00 |
|
tao.chen
|
9badd3597f
|
update: style
|
2026-08-28 12:00:14 +08:00 |
|
xiaozhu
|
80faf15359
|
updata:icon替换
|
2026-08-27 15:43:29 +08:00 |
|
tao.chen
|
d7f3db1cc4
|
refactor: replace Toast with Sonner
|
2026-08-26 14:06:12 +08:00 |
|
tao.chen
|
6fe2d0b42e
|
feat: role CRUD page
|
2026-08-25 22:52:00 +08:00 |
|
tao.chen
|
38e763d08e
|
refactor: permission
|
2026-08-25 21:21:28 +08:00 |
|
tao.chen
|
e186e5e541
|
refactor: use shadcn sidebar
|
2026-08-25 20:20:14 +08:00 |
|
xiaozhu
|
12111de788
|
update:css样式拆分
|
2026-08-25 16:52:10 +08:00 |
|
tao.chen
|
2ed8d7b2cc
|
refactor: useSchedulesStore.ts
|
2026-08-25 10:48:29 +08:00 |
|
 tao.chenandClaude Fable 5
|
80c92f7fd4
|
fix(frontend): restore login & auth-loading styles with Tailwind
提交 6b77018 把 frontend/app/app.css 从 112 行砍到 91 行,
删除了 .login-* 与 .auth-loading 选择器,但 login.tsx /
AuthContext.tsx 的类名没同步迁移,导致:
- /login 页面无样式(背景渐变、卡片阴影、输入框焦点环全部失效)
- AuthContext 初次加载时的旋转 spinner 无样式
两处都用 Tailwind 任意值 [..] 语法精确复刻原 CSS,精确到
原始色值(#1677ff、#eef5fb 等),不引入新的 CSS 文件,
不修改 app.css、路由配置或依赖。
Spinner 用 Tailwind 内置 animate-spin(1s)替代原 0.8s
keyframes auth-spin,视觉差异肉眼不可见,如需精确复刻可在
app.css @theme 加 --animate-auth-spin。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-25 10:35:27 +08:00 |
|
 tao.chenandClaude
|
b493907775
|
feat(scripts): 跨 owner 懒加载目录树 + 跨用户可见 workspace/public
修两个后端接口问题:
1) /api/v1/workspace-directories 返回为空,目录树结构消失
2) 同 workspace 内脚本/数据互相可见但默认排除 private
后端改动
--------
* list_scripts / list_resources / list_workspace_directories 新增
owner_user_id 可选 query 参数;缺省 = 当前请求者本人(scope 到
workspace/{me}/...),传值时 scope 到该 owner 的子树。前端根加载
默认只见自己一级,其他成员以折叠分组呈现。
* visibility 过滤统一:非 admin 请求者只返回 owner==me 或
visibility ∈ {workspace, public};admin 跳过。owner=me 含自己
的 private,owner=other 只剩其 workspace/public,排除他人 private。
* create_workspace_directory 两个分支 visibility 默认 'public'
(非 private),使跨 owner 目录树可见;响应新增 owner_user_id 字段。
* platform.list_members 鉴权从 system_admin_context 放宽为
系统管理员或该 workspace 活跃成员(让普通用户也能渲染同
workspace 成员名册,用于跨 owner 分组)。
* main.py 注册 platform 模块(随 list_members 改动补齐导入)。
* .env.example 同步 common/config.py 26 个字段。
前端改动
--------
* ScriptExplorer.memberScriptGroups 改由 members 列表播种分组,
display_name 取 members.display_name;inferredDirectories 现在按
owner_user_id 标记,统一跨 owner 目录渲染。删除脚本目录页头与
树分组标题的工作副本数量角标。
* WorkspaceTree 新增 ownerUserId 透传到 store.toggleExpanded;
仅"我"的分组 mount 时 auto-expand,他人分组默认折叠,展开才
调 loadOwnerGroup / owner-scoped loadScripts / loadChildren。
* scriptWorkspaceStore 引入 namespaced cache key
(ownerCacheKey = `${ownerUserId ?? me}:${path}`),loadedScriptPaths
/ loadedChildPaths / loadedOwnerGroups 全部按 owner 隔离;
toggleExpanded 用 loadPath === undefined 区分 group 头与真实
目录,修"他人子目录点击不触发接口"的 loadPath 前缀误判 bug。
* api.ts / AuthContext 透传 ownerUserId 给 listScripts /
listResources / listWorkspaceDirectories。
文档
----
* API.md: §3.2 创建目录 visibility 默认 public + 响应加 owner_user_id;
§3.3.1 GET directories 加 owner_user_id 参数 + 响应字段;
§3.4 GET scripts 改写为 owner 作用域 + visibility 过滤语义;
§五.1 GET data-resources 新增,同一套统一语义;
§7 intro 例外 — GET members 对系统管理员或 workspace 活跃成员开放。
* DEVELOP.md: Code layout 重写以反映 backend api/services/clients/
schemas 拆分 + schedule domain/scheduling/application/execution/
infrastructure 拆分 + common 子包(auth/storage/backends);
Configuration 系统补全 26 个 settings 字段;新增
"Owner-scoping + visibility (cross-owner browsing)" 小节;
Per-service dev 注释用 uv run 的源布局要求;Add a new DAG endpoint /
storage bucket 路径改为 backend/src/backend/api/* 与 services/*。
测试
----
* test_list_scripts_parent_path.py /
test_resources.py 补充 owner_user_id 参数化直接调用 + LIKE
前缀断言(workspace/{owner}/... 前缀)。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-21 19:26:53 +08:00 |
|
tao.chen
|
480e1cc638
|
update: data source
|
2026-08-14 11:59:06 +08:00 |
|
tao.chen
|
462617b66d
|
feat: datasource
|
2026-08-13 20:13:37 +08:00 |
|
xiaozhu
|
646c809c65
|
feat:菜单
|
2026-08-07 18:43:10 +08:00 |
|
tao.chen
|
984894d797
|
refactor: SchedulesPageRoute.tsx, UserManagementPage.tsx, ProjectManagementPage.tsx
|
2026-08-07 14:40:46 +08:00 |
|
tao.chen
|
ffd1db45fc
|
fix: workspace refresh
|
2026-08-07 13:12:07 +08:00 |
|
tao.chen
|
6f574073e3
|
fix: frontend routes
|
2026-08-07 12:47:37 +08:00 |
|
Winnie
|
d7bd88335c
|
merge: integrate feat/auth into develop
|
2026-08-03 17:44:00 +08:00 |
|
tchen
|
48414cb958
|
Merge branch 'main' into 'develop'
# Conflicts:
# default.conf
# docker-compose.yml
# frontend/Dockerfile
# frontend/README.md
# frontend/app/app.css
# frontend/app/root.tsx
# frontend/app/routes.ts
# frontend/package.json
# frontend/vite.config.ts
|
2026-08-03 02:56:26 +00:00 |
|
Winnie
|
c74b2abb48
|
重构模型平台前后端并移除Redis依赖
|
2026-07-30 19:03:00 +08:00 |
|
tao.chen
|
6beb5a6062
|
update: init react-router application
|
2026-07-30 12:02:13 +08:00 |
|