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, 'section_key': params_kw.get('section_key', ''), 'title': params_kw.get('title', ''), 'subtitle': params_kw.get('subtitle', ''), 'section_type': params_kw.get('section_type', ''), 'content_type': params_kw.get('content_type', ''), 'sort_order': int(params_kw.get('sort_order', '0') or '0'), 'is_visible': params_kw.get('is_visible', '1'), 'display_config': params_kw.get('display_config', ''), 'style_config': params_kw.get('style_config', ''), 'static_content': params_kw.get('static_content', ''), 'created_at': now, 'updated_at': now, } if not data['section_key'] or not data['title']: return json.dumps({'status': 'error', 'message': '栏目Key和标题不能为空'}, ensure_ascii=False) try: async with get_sor_context(request._run_ns, 'ocai_cms') as sor: await sor.I('cms_sections', 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)