2533e4f22e
fix: 修正 SQLor 插入方法调用,sor.I() 改为 sor.C()
2026-05-29 19:24:58 +08:00
9ada9a5a77
fix: use 'default' as project name for Volcengine API calls
2026-05-29 19:18:37 +08:00
1b6c51f712
fix: use compact JSON (no spaces) for body hash consistency
2026-05-29 18:48:45 +08:00
2fd15eeb1e
fix: rewrite V4 signing to match official Volcengine Python example
2026-05-29 18:43:10 +08:00
073bd711c8
fix: correct V4 signing - URI encode query params, fix canonical headers format
2026-05-29 18:30:32 +08:00
03e1639ffc
fix: remove SK decryption, use plaintext AK/SK directly
2026-05-29 18:15:07 +08:00
bd70011c01
feat: rl_verify认证成功后用NewWindow控件在新窗口打开认证链接
2026-05-29 14:39:50 +08:00
414d0e66ed
refactor: 移除uapi依赖,改用直接V4签名调用火山引擎API
...
- 新增 rl_volcengine_client.py: V4 HMAC-SHA256签名 + StreamHttpClient
- rl_vendor_config 表新增 ak/sk 字段,AK/SK直接存储(不再经过uapi/upappkey)
- init.py: _call_vendor 改用 rl_volcengine_client.call_volcengine_api
- api_mapping 改为直接映射Volcengine API Action(如CreateAsset)
- SQL: 移除upappkey部分,ak/sk存入rl_vendor_config
2026-05-29 14:13:47 +08:00
af3368c019
chore: cleanup swp file, add gitignore
2026-05-29 13:29:51 +08:00
39f98a7136
add: 火山引擎AK/SK凭证
2026-05-29 13:28:34 +08:00
1264a6a2fa
add: 火山引擎真人人像模块配置SQL
...
- rl_vendor_config: api_mapping映射内部操作到uapi.name
- upappkey: AK/SK存储(需替换实际凭证)
- appcodes_kv: 供应商下拉代码
2026-05-29 13:27:11 +08:00
da5a67f23b
fix: 删除手写list dspy,让Sage CRUD框架自动生成list端点
...
手写文件遮蔽了框架自动生成的端点,导致:
- get_rl_vendor_config_list 500: org_id不在rl_vendor_config表
- get_rl_org_group_list 403: 手写文件绕过框架RBAC处理
Sage CRUD框架从json/定义自动生成list端点,不需要手写
2026-05-29 11:16:30 +08:00
db881a52e2
fix: 去掉多余的返回首页按钮和外部提交/重置按钮,Form自带
2026-05-29 10:46:33 +08:00
ac50a223b5
fix: 客户UI改用client API,简化表单字段
...
- create_validate.ui: 去掉callback_url/project_name,只保留vendor下拉,提交到rl_verify.dspy
- rl_verify.dspy: 自动用orgid作为project_name,返回Message widget含h5_link
- upload_asset.ui: 增加vendor下拉,vendor_group_id改为可选下拉(从已认证组合中选)
- 新增get_org_groups.dspy: 返回当前org已认证的vendor_group_id列表
- rl_upload.dspy: 返回Message widget格式
2026-05-29 10:44:19 +08:00
38650389b1
feat: add load_path.py with role-based wildcard % coverage
2026-05-29 00:52:24 +08:00
598ca58a26
fix: wrap cards+content in VScrollPanel
2026-05-29 00:10:55 +08:00
5d17fa5604
refactor(index.ui): 改用cwidth/cheight/cfontsize替代固定px值
...
- 卡片容器: height:140px/width:280px → cheight:12/cwidth:23
- 卡片标题: fontSize:18px + fontWeight:bold → Title5控件(内置bold)
- 描述文字: fontSize:14px → cfontsize:1.2
- 页面标题: fontSize:24px → Title2控件(内置bold+cfontsize:1.80)
- borderRadius保留px值(8px),已加入widget.js keys支持
所有尺寸基于charsize响应式缩放,浏览器放大缩小时保持一致
2026-05-28 23:46:53 +08:00
57383dfa7b
chore: remove vim swap file
2026-05-28 23:36:16 +08:00
0371bf3a12
refactor(index.ui): 卡片从Button改为VBox容器
...
Button在bricks中不是容器控件,不支持subwidgets嵌套。
改用VBox作为卡片容器,支持click事件+嵌套Text子控件。
固定尺寸: height=140px, width=280px
2026-05-28 23:36:07 +08:00
8f0c2a84e2
bugfix
2026-05-28 22:17:02 +08:00
19bae64494
bugfix
2026-05-28 22:16:26 +08:00
9ebd8e7a80
fix(index.ui): 客户卡片用customer.*角色控制显示
...
- customer.*角色: 看到真人认证、上传素材(2张)
- owner.superuser/reseller.operator: 看到全部6张
- 无角色/未登录: 不显示任何卡片
2026-05-28 22:08:06 +08:00
54184aedfe
feat(index.ui): 功能卡片固定高度140px + 角色分级显示
...
- 所有卡片固定height:140px,布局整齐统一
- 客户(已登录用户): 可见真人认证、上传素材(2张)
- 管理员(owner.superuser/reseller.operator): 可见全部6张卡片
额外: 素材组合管理、素材资产管理、供应商配置、机构映射管理
- 移除描述文字硬编码color:#666,跟随主题
2026-05-28 22:02:40 +08:00
a21eabbb11
refactor(reallife_asset): uapi网关架构重构 + UI全面修复
...
架构变更:
- 废弃volcengine_client.py直连,改为通过Sage uapi网关调用供应商API
- rl_vendor_config表新增upappid和api_mapping(JSON)字段
- 新增_call_vendor()统一路由: vendor→upappid→apiname→UpAppApi.call()
- 支持多供应商灵活映射,各家API数量/逻辑不同通过api_mapping配置
管理端UI:
- vendor_config_manage.ui: Tabular列表展示供应商配置
- vendor_config_edit.ui: 供应商配置编辑页(AK/SK通过upapp/upappkey管理)
- org_group_manage.ui: 机构映射管理页
- 新增api/get_upapp_list.dspy获取上位系统下拉选项
- 新增api/get_status_list.dspy获取状态下拉选项
客户端UI:
- create_validate.ui: 真人认证页面,支持选择供应商创建H5认证
- upload_asset.ui: 上传素材页面,支持URL/base64上传
- index.ui: 新增客户端入口卡片(真人认证、上传素材)
- 所有Form字段使用正确uitype(code/str/text),确保可输入
清理:
- 废弃rl_app_user表,统一使用rl_asset_group+rl_org_group
- 简化API签名,去除冗余apikey/secretkey透传
2026-05-28 18:49:46 +08:00
1d05b7e36b
feat: support base64 file upload in rl_upload, clarify API docs
...
- rl_upload.dspy: use b64media2url to convert base64/local path to
public URL before calling vendor API
- docs/api_downapp.md:
- Clarify dapi Bearer Token auth flow (dapi middleware -> get_user/get_userorgid)
- Add base64 upload example for rl_upload
- Clarify rl_status URL is a temporary signed download link (12h),
asset is permanently stored on volcengine, permanent ref is vendor_asset_id
- Update overview with auth, upload, and key management sections
2026-05-28 17:45:07 +08:00
36be53699d
fix: replace local_group_id with vendor_group_id in all client-facing APIs
...
- rl_upload_user: accept vendor_group_id instead of group_id,
validate directly via rl_org_group(org_id, vendor_group_id)
- rl_query_groups: remove local_group_id from response, only return
vendor_group_id, vendor, status, create_time
- rl_handle_callback: remove local_group_id from return value
- rl_upload.dspy: rename param group_id -> vendor_group_id
- docs/api_downapp.md: update all examples and descriptions
2026-05-28 17:27:26 +08:00
dbf8473b1b
fix: remove downapp_id parameter from all APIs, use Bearer token auth
...
- All APIs now identify caller via Bearer Token, dapi module
automatically provides user_id and org_id
- rl_verify.dspy: use (await get_user()) instead of downapp_id param
- rl_verify_user: rename downapp_id -> user_id param
- rl_upload_user: rename downapp_id -> user_id param
- rl_sync_asset_status_user: rename downapp_id -> user_id param
- Update docs/api_downapp.md: remove all downapp_id references,
add Bearer token auth description, add rl_query_groups and
rl_callback documentation
2026-05-28 17:21:02 +08:00
af65c307f8
feat: add callback handler and group query API for client auth flow
...
- Add rl_handle_callback() to init.py: handles Volcengine H5 auth callback,
queries vendor for result, registers rl_org_group mapping
- Add rl_query_groups() to init.py: client API to query authenticated
group_ids for an org
- Add wwwroot/api/rl_callback.dspy endpoint (no auth required for vendor POST)
- Add wwwroot/api/rl_query_groups.dspy endpoint (login required)
- Remove deprecated rl_app_user_* files (no longer used)
- Update scripts/load_path.py: rl_callback -> any role, rl_query_groups -> logined
2026-05-28 16:57:04 +08:00
3ad9b2bb46
update docs
2026-05-28 16:45:31 +08:00
2cd0974909
refactor: vendor config and org-group mapping
2026-05-28 16:44:00 +08:00
4280ad6894
docs: add Downapp API documentation
2026-05-28 16:29:13 +08:00
530f337704
feat: add downapp user API interfaces and ops management table
...
- New table rl_app_user for application tracking
- APIs: rl_apply, rl_verify, rl_upload, rl_status, rl_check_app_status
- Ops CRUD for managing applications and keys
- Multi-vendor support reserved via vendor field
2026-05-28 16:25:02 +08:00
78036b9640
fix: .dspy文件按开发规范重写
...
- 移除所有import语句(json/DBPools/datetime均为ahserver预加载全局)
- ret=json.dumps(result) 改为 return result
- 提前return简化if/else嵌套逻辑
- 12个.dspy文件全部修正
2026-05-28 11:17:30 +08:00
0e5696f5da
feat: 真人人像素材管理模块初始版本
...
- 支持火山方舟(Volcengine Ark)真人人像素材API
- AK/SK HMAC-SHA256签名(纯stdlib实现)
- 素材组合(Asset Group)管理: 创建认证、查询、删除
- 素材资产(Asset)管理: 上传、状态同步、删除
- 多供应商可扩展架构
- 完整CRUD + 前端UI + uapi SQL配置
- 12个API端点 + 6个前端页面
- 数据库表: rl_asset_group, rl_asset
2026-05-28 08:55:09 +08:00