portal/wwwroot/api/cms_content_create.dspy
Hermes Agent 2d3c74b6ad feat: CMS管理后台CRUD基础设施 + 暗色主题修复
- 新增5张CMS表的模型定义(models/)和CRUD定义(json/)
- 新增17个.dspy API端点(create/update/delete + search)
- 新增load_path.py RBAC权限注册脚本
- xls2crud生成5个CRUD管理页面目录
- 修复bricks默认灰色背景覆盖暗色主题(.site-root全局override)
- user_menu.ui添加管理后台入口(按权限显示)
- 初始化CMS种子数据(栏目/分类/内容)
2026-06-16 13:32:58 +08:00

40 lines
1.4 KiB
Plaintext

user_id = await get_user()
if not user_id:
return json.dumps({'status': 'error', 'message': '未登录'}, ensure_ascii=False)
org_id = params_kw.get('org_id', '')
if not org_id:
org_id = (await get_userorgid()) or '0'
now = curDateString()
data = {
'id': getID(),
'org_id': org_id,
'content_type': params_kw.get('content_type', ''),
'category_id': params_kw.get('category_id', ''),
'title': params_kw.get('title', ''),
'subtitle': params_kw.get('subtitle', ''),
'summary_text': params_kw.get('summary_text', ''),
'body': params_kw.get('body', ''),
'image_url': params_kw.get('image_url', ''),
'tags': params_kw.get('tags', ''),
'sort_order': int(params_kw.get('sort_order', '0') or '0'),
'status': params_kw.get('status', 'draft'),
'approval_id': params_kw.get('approval_id', ''),
'published_at': params_kw.get('published_at', '') or None,
'extra_json': params_kw.get('extra_json', ''),
'created_by': user_id,
'created_at': now,
'updated_at': now,
}
if not data['title']:
return json.dumps({'status': 'error', 'message': '标题不能为空'}, ensure_ascii=False)
try:
async with get_sor_context(request._run_ns, 'ocai_cms') as sor:
await sor.I('cms_content', data)
return json.dumps({'status': 'ok', 'id': data['id']}, ensure_ascii=False)
except Exception as e:
return json.dumps({'status': 'error', 'message': str(e)}, ensure_ascii=False)