user_id = await get_user() if not user_id: return {"widgettype":"Error","options":{"title":"操作失败","message":'未登录',"cwidth":16,"cheight":9,"timeout":3}} data = { 'id': getID(), 'project_id': params_kw.get('project_id', ''), 'task_id': params_kw.get('task_id', ''), 'title': params_kw.get('title', ''), 'deliverable_type': params_kw.get('deliverable_type', 'code'), 'repo_name': params_kw.get('repo_name', ''), 'target_path': params_kw.get('target_path', ''), 'file_path': params_kw.get('file_path', ''), 'content': params_kw.get('content', ''), 'quality_score': params_kw.get('quality_score', 80), 'review_status': params_kw.get('review_status', 'pending'), 'created_by': user_id, 'created_at': curDateString(), } try: async with get_sor_context(request._run_ns, 'pipeline') as sor: await sor.C('pipeline_deliverables', data) return {"widgettype":"Message","options":{"title":"创建成功","message":"ok","cwidth":16,"cheight":9,"timeout":3,"user_data": data}} except Exception as e: return {"widgettype":"Error","options":{"title":"操作失败","message":str(e),"cwidth":16,"cheight":9,"timeout":3}}