2 lines
3.4 KiB
JavaScript
2 lines
3.4 KiB
JavaScript
|
|
import{C as e,D as t}from"./index-DGiVEDOl.js";import{a as n,A as o}from"./auth.vuBox8Gk.js";import{F as r}from"./session.AIvyRM0e.js";function i(){return u("/user/profile/")}function s(e={}){return u("/user/training-records/",{search:e.search,page:e.page})}function a(){return u("/user/analysis/")}function c(){return u("/user/competency-metrics/")}async function d(t){var n,i;const s=function(e){if(e&&"object"==typeof e&&"data"in e){const t=e;if(t.code&&"OK"!==t.code&&"ok"!==t.code)throw new o(t.message||"请求失败",t.code);if(void 0!==t.data)return t.data}return e}(await(n=`/evaluations/${encodeURIComponent(String(t))}`,new Promise(((t,s)=>{e({url:`${r}${f(n,i)}`,method:"GET",timeout:1e4,header:m(),success:e=>{if(e.statusCode>=200&&e.statusCode<300)return void t(e.data);const n=e.data,r="string"==typeof(null==n?void 0:n.code)?n.code:void 0;s(new o(p(e.data,`请求失败(${e.statusCode})`),r,e.statusCode))},fail:e=>{s(new o(e.errMsg||"无法连接服务"))}})}))));return function(e,t){const n=A(e.case)?e.case:{},o=v(e.total_score??e.score??e.current_score,0);return{evaluation_id:v(e.evaluation_id??e.id??e.record_id,t),session_id:v(e.session_id,0),case_id:v(e.case_id??n.id,0),case_title:g(e.case_title??e.caseTitle??n.title,"未命名病例"),score_type:y(e.score_type),total_score:o,dimension_scores:l(e.dimension_scores??e.radar),score_details:_(e.score_details),overall_comment:g(e.overall_comment??e.comment,"本次评价暂无详细点评。"),pdf_file_path:h(e.pdf_file_path??e.pdfFilePath),created_at:h(e.created_at??e.trained_at)}}(s,t)}function u(t,r){return new Promise(((i,s)=>{e({url:`${n}${f(t,r)}`,method:"GET",timeout:1e4,header:m(),success:e=>{if(e.statusCode>=200&&e.statusCode<300)return void i(e.data);const t=e.data,n="string"==typeof(null==t?void 0:t.code)?t.code:void 0;s(new o(p(e.data,`请求失败(${e.statusCode})`),n,e.statusCode))},fail:e=>{s(new o(e.errMsg||"无法连接服务"))}})}))}function m(){const e={"Content-Type":"application/json",Accept:"application/json"},n=function(){try{const e=t("clinical-thinking-access-token");return"string"==typeof e?e.trim():""}catch{return""}}();return n&&(e.Authorization=`Bearer ${n}`),e}function f(e,t){if(!t)return e;const n=Object.entries(t).filter((([,e])=>null!=e&&""!==e)).map((([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(String(t))}`)).join("&");return n?`${e}?${n}`:e}function p(e,t){if(e&&"object"==typeof e){const t=e,n=t.message||t.detail||t.error;if("string"==typeof n&&n.trim())return n}return t}function l(e){return Array.isArray(e)?e.map((e=>{const t=A(e)?e:{};return{dimension:g(t.dimension??t.label,"未命名维度"),score:v(t.score,0),max_score:v(t.max_score,100),comment:h(t.comment),evidence:Array.isArray(t.evidence)?t.evidence.map(String):void 0,deductions:Array.isArray(t.deductions)?t.deductions.map(String):void 0,improvement:h(t.improvement)}})):[]}function _(e){return Array.isArray(e)?e.map((e=>{const t=A(e)?e:{};return{dimension:g(t.dimension,"未命名维度"),score:v(t.score,0),deducted_reason:h(t.deducted_reason),ai_confidence:void 0===t.ai_confidence?void 0:v(t.ai_confidence,0),comment:h(t.comment)}})):[]}function y(e){return"five_point"===e?"five_point":"percentage"}function v(e,t=0){const n=Number(e);return Number.isFinite(n)?n:t}function g(e,t=""){return"string"==typeof e?e.trim()||t:"number"==typeof e?String(e):t}function h(e){return g(e)||void 0}function A(e){return Boolean(e&&"object"==typeof e&&!Array.isArray(e))}export{s as a,d as b,i as c,c as d,a as f};
|