- 新增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种子数据(栏目/分类/内容)
36 lines
1.2 KiB
Plaintext
36 lines
1.2 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,
|
|
'source': params_kw.get('source', 'website'),
|
|
'name': params_kw.get('name', ''),
|
|
'company': params_kw.get('company', ''),
|
|
'phone': params_kw.get('phone', ''),
|
|
'email': params_kw.get('email', ''),
|
|
'industry': params_kw.get('industry', ''),
|
|
'region': params_kw.get('region', ''),
|
|
'interest_products': params_kw.get('interest_products', ''),
|
|
'message': params_kw.get('message', ''),
|
|
'raw_text': params_kw.get('raw_text', ''),
|
|
'status': params_kw.get('status', 'new'),
|
|
'assigned_to': params_kw.get('assigned_to', ''),
|
|
'notes': params_kw.get('notes', ''),
|
|
'created_at': now,
|
|
'updated_at': now,
|
|
}
|
|
|
|
try:
|
|
async with get_sor_context(request._run_ns, 'ocai_cms') as sor:
|
|
await sor.I('cms_leads', 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)
|