user_id = await get_user() if not user_id: return json.dumps({'status': 'error', 'message': '未登录'}, ensure_ascii=False) rec_id = params_kw.get('id', '') if not rec_id: return json.dumps({'status': 'error', 'message': '缺少id'}, ensure_ascii=False) data = {'id': rec_id, 'updated_at': curDateString()} for field in ['content_type', 'category_id', 'title', 'subtitle', 'summary_text', 'body', 'image_url', 'tags', 'status', 'approval_id', 'extra_json']: if field in params_kw: data[field] = params_kw[field] if 'sort_order' in params_kw: data['sort_order'] = int(params_kw['sort_order'] or '0') if 'published_at' in params_kw: data['published_at'] = params_kw['published_at'] or None try: async with get_sor_context(request._run_ns, 'ocai_cms') as sor: await sor.U('cms_content', data) return json.dumps({'status': 'ok'}, ensure_ascii=False) except Exception as e: return json.dumps({'status': 'error', 'message': str(e)}, ensure_ascii=False)