st-comp 0.0.251 → 0.0.253

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
- "use strict";const u=require("./base-ef747d02.cjs"),I=require("./el-dialog-1b185570.cjs");require("./el-overlay-ea65cb05.cjs");const C=require("./el-button-974ff9e9.cjs"),z=require("./el-input-fa18ef84.cjs"),e=require("vue"),N=require("./dayjs.min-2c20abe6.cjs"),S=require("./index-33f80550.cjs"),T=require("./_plugin-vue_export-helper-f246444f.cjs"),q=require("./index-6ca95c8a.cjs"),b=require("./use-form-common-props-d3ed62c6.cjs");require("./index-28e03bad.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");require("./index-f1c702f6.cjs");require("./vnode-b906ae6d.cjs");require("./scroll-b108dabd.cjs");require("./use-global-config-c80f33a4.cjs");require("./index-37b8d3c6.cjs");require("./index-eea0bcb3.cjs");require("./typescript-b63f8e83.cjs");require("./index-7dce9f59.cjs");require("./config-provider-2ae47cc8.cjs");const H=u.buildProps({size:{type:[Number,String],values:b.componentSizes,default:"",validator:s=>u.isNumber(s)},shape:{type:String,values:["circle","square"],default:"circle"},icon:{type:b.iconPropType},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:u.definePropType(String),default:"cover"}}),M={error:s=>s instanceof Event},j=e.defineComponent({name:"ElAvatar"}),R=e.defineComponent({...j,props:H,emits:M,setup(s,{emit:g}){const d=s,a=u.useNamespace("avatar"),p=e.ref(!1),r=e.computed(()=>{const{size:t,icon:l,shape:o}=d,n=[a.b()];return u.isString(t)&&n.push(a.m(t)),l&&n.push(a.m("icon")),o&&n.push(a.m(o)),n}),i=e.computed(()=>{const{size:t}=d;return u.isNumber(t)?a.cssVarBlock({size:u.addUnit(t)||""}):void 0}),m=e.computed(()=>({objectFit:d.fit}));e.watch(()=>d.src,()=>p.value=!1);function f(t){p.value=!0,g("error",t)}return(t,l)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(r)),style:e.normalizeStyle(e.unref(i))},[(t.src||t.srcSet)&&!p.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.src,alt:t.alt,srcset:t.srcSet,style:e.normalizeStyle(e.unref(m)),onError:f},null,44,["src","alt","srcset"])):t.icon?(e.openBlock(),e.createBlock(e.unref(S.ElIcon),{key:1},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon)))]),_:1})):e.renderSlot(t.$slots,"default",{key:2})],6))}});var $=u._export_sfc(R,[["__file","avatar.vue"]]);const D=u.withInstall($);const L=async({appId:s,apiKey:g,value:d,callback:a})=>{var p;try{const r=await fetch(`https://dashscope.aliyuncs.com/api/v1/apps/${s}/completion`,{method:"POST",body:JSON.stringify({input:{prompt:d},parameters:{incremental_output:"true"},debug:{}}),headers:{Authorization:`Bearer ${g}`,"Content-Type":"application/json","X-DashScope-SSE":"enable"}});if(!r.ok||!r.body)throw new Error("请求失败");const i=r.body.getReader(),m=new TextDecoder;for(;;){const{done:f,value:t}=await i.read();if(f&&a){a("finish","");break}try{const l=m.decode(t,{stream:!0}),o=JSON.parse(l.split(`
2
- `)[3].substr(5)),n=(p=o==null?void 0:o.output)==null?void 0:p.text;n&&a&&a("message",n)}catch{}}}catch(r){console.error(r)}};const x=s=>(e.pushScopeId("data-v-46407344"),s=s(),e.popScopeId(),s),P={class:"chat-container"},K={class:"avatar"},F={class:"message-content"},O={class:"message-text"},J={class:"message-time"},U={key:0,class:"message-item assistant"},X={class:"avatar"},G=x(()=>e.createElementVNode("div",{class:"message-content"},[e.createElementVNode("div",{class:"typing-indicator"},[e.createElementVNode("span"),e.createElementVNode("span"),e.createElementVNode("span")])],-1)),Q={class:"input-area"},W={class:"input-actions"},Y=x(()=>e.createElementVNode("div",{class:"input-hint"},[e.createElementVNode("span",null,"Ctrl + Enter 发送")],-1)),Z={__name:"index",props:{defaultMessage:{type:String,default:`你好呀!我是你的品种池AI助手,会根据您的自然语言去进行品种的条件查询
1
+ "use strict";const y=require("./base-ef747d02.cjs"),A=require("./el-dialog-1b185570.cjs");require("./el-overlay-ea65cb05.cjs");const H=require("./el-button-974ff9e9.cjs"),Y=require("./el-input-fa18ef84.cjs"),e=require("vue"),x=require("./dayjs.min-2c20abe6.cjs"),z=require("./index-8901a38c.cjs"),B=require("./index-33f80550.cjs"),$=require("./_plugin-vue_export-helper-f246444f.cjs"),D=require("./index-6ca95c8a.cjs"),M=require("./use-form-common-props-d3ed62c6.cjs");require("./index-28e03bad.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");require("./index-f1c702f6.cjs");require("./vnode-b906ae6d.cjs");require("./scroll-b108dabd.cjs");require("./use-global-config-c80f33a4.cjs");require("./index-37b8d3c6.cjs");require("./index-eea0bcb3.cjs");require("./typescript-b63f8e83.cjs");require("./index-7dce9f59.cjs");require("./config-provider-2ae47cc8.cjs");const j=y.buildProps({size:{type:[Number,String],values:M.componentSizes,default:"",validator:i=>y.isNumber(i)},shape:{type:String,values:["circle","square"],default:"circle"},icon:{type:M.iconPropType},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:y.definePropType(String),default:"cover"}}),I={error:i=>i instanceof Event},L=e.defineComponent({name:"ElAvatar"}),O=e.defineComponent({...L,props:j,emits:I,setup(i,{emit:V}){const f=i,r=y.useNamespace("avatar"),u=e.ref(!1),c=e.computed(()=>{const{size:n,icon:_,shape:t}=f,d=[r.b()];return y.isString(n)&&d.push(r.m(n)),_&&d.push(r.m("icon")),t&&d.push(r.m(t)),d}),v=e.computed(()=>{const{size:n}=f;return y.isNumber(n)?r.cssVarBlock({size:y.addUnit(n)||""}):void 0}),g=e.computed(()=>({objectFit:f.fit}));e.watch(()=>f.src,()=>u.value=!1);function l(n){u.value=!0,V("error",n)}return(n,_)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(c)),style:e.normalizeStyle(e.unref(v))},[(n.src||n.srcSet)&&!u.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.src,alt:n.alt,srcset:n.srcSet,style:e.normalizeStyle(e.unref(g)),onError:l},null,44,["src","alt","srcset"])):n.icon?(e.openBlock(),e.createBlock(e.unref(B.ElIcon),{key:1},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.icon)))]),_:1})):e.renderSlot(n.$slots,"default",{key:2})],6))}});var R=y._export_sfc(O,[["__file","avatar.vue"]]);const K=y.withInstall(R);const U=async({appId:i,apiKey:V,value:f,callback:r})=>{var u;try{const c=await fetch(`https://dashscope.aliyuncs.com/api/v1/apps/${i}/completion`,{method:"POST",body:JSON.stringify({input:{prompt:f},parameters:{incremental_output:"true"},debug:{}}),headers:{Authorization:`Bearer ${V}`,"Content-Type":"application/json","X-DashScope-SSE":"enable"}});if(!c.ok)throw new Error(`HTTP ${c.status}`);const v=c.body.getReader(),g=new TextDecoder;let l="";for(;;){const{done:n,value:_}=await v.read();if(n){l.trim()&&J(l,r),r("finish","");break}l+=g.decode(_,{stream:!0});let t;for(;(t=l.indexOf(`
2
+ `))!==-1;){const d=l.substring(0,t).trim();if(l=l.substring(t+1),d.startsWith("data:")){const h=d.substring(5).trim();if(h&&h!=="[DONE]")try{const k=JSON.parse(h),w=(u=k==null?void 0:k.output)==null?void 0:u.text;w&&r&&r("message",w)}catch{console.debug("等待完整数据...")}}}}}catch(c){console.error("流式请求失败:",c),r("error",c.message)}};function J(i,V){var r;const f=i.split(`
3
+ `);for(const u of f)if(u.startsWith("data:")){const c=u.substring(5).trim();if(c&&c!=="[DONE]")try{const v=JSON.parse(c),g=(r=v==null?void 0:v.output)==null?void 0:r.text;g&&V&&V("message",g)}catch{}}}const b=i=>(e.pushScopeId("data-v-f1a4bc79"),i=i(),e.popScopeId(),i),W={class:"chat-container"},X={class:"avatar"},G={class:"message-content"},Q={class:"message-text"},Z={class:"message-createTime"},ee=b(()=>e.createElementVNode("div",{class:"message-createTime"},"请问对本轮查询结果是否满意?",-1)),te={class:"feedback-buttons"},se=["onClick"],ae=b(()=>e.createElementVNode("span",{class:"btn-emoji"},"👍",-1)),ne=b(()=>e.createElementVNode("span",{class:"btn-text"},"满意",-1)),oe=[ae,ne],re=["onClick"],ie=b(()=>e.createElementVNode("span",{class:"btn-emoji"},"👎",-1)),ce=b(()=>e.createElementVNode("span",{class:"btn-text"},"不满意",-1)),le=[ie,ce],ue={key:1,class:"message-createTime"},de={key:0,class:"message-item assistant"},me={class:"avatar"},pe=b(()=>e.createElementVNode("div",{class:"message-content"},[e.createElementVNode("div",{class:"typing-indicator"},[e.createElementVNode("span"),e.createElementVNode("span"),e.createElementVNode("span")])],-1)),fe={class:"input-area"},ve={class:"input-actions"},ge=b(()=>e.createElementVNode("div",{class:"input-hint"},[e.createElementVNode("span",null,"Ctrl + Enter 发送")],-1)),_e={class:"feedback-dialog-content"},he=b(()=>e.createElementVNode("div",{class:"feedback-emoji"},"😟",-1)),ke=b(()=>e.createElementVNode("p",{class:"feedback-tip"},"很抱歉没能帮到您,请告诉我们哪里需要改进:",-1)),ye={class:"dialog-footer"},be={__name:"index",props:{defaultMessage:{type:String,default:`你好呀!我是你的品种池AI助手,会根据您的自然语言去进行品种的条件查询
3
4
 
4
5
  示例:
5
- 帮我查A股科创板下品种转价差上证50并且总市值大于1千万, 按照总市值升序进行排序`}},emits:["callBack"],setup(s,{expose:g,emit:d}){const a=d,p=s,r=e.ref(!1),i=e.ref(!1),m=e.ref(!1),f=e.ref(null),t=e.ref([]),l=e.ref(""),o=e.ref(null),n=e.ref(-1),w=async()=>{const E=l.value.trim();if(!E)return q.ElMessage.warning("请输入消息内容");if(i.value)return;t.value.push({role:"user",time:N.dayjs().format("HH:mm"),content:E}),l.value="",await y();const _={role:"assistant",time:N.dayjs().format("HH:mm"),content:""};t.value.push(_),n.value=t.value.length-1,o.value=_,await y(),i.value=!0,m.value=!0;let v="";try{await L({appId:"9e54d112acfe4531bd1fc4fee8827fef",apiKey:"sk-d995eb26a4334bdeb2ccb4cbfaf51de8",value:E,callback:(V,h)=>{if(V==="message")v+=h,o.value&&(o.value.content=v,y());else if(V==="finish"){m.value=!1,i.value=!1,console.log(v);try{const c=JSON.parse(v);a("callBack",c)}catch{a("callBack",v)}o.value=null,n.value=-1}}})}catch(k){q.ElMessage.error(`AI响应异常: ${k}`),console.error("AI响应异常:",k),n.value!==-1&&(t.value.splice(n.value,1),o.value=null,n.value=-1),t.value.push({role:"assistant",time:N.dayjs().format("HH:mm"),content:"抱歉,AI服务响应异常,请稍后重试。"}),await y(),i.value=!1,m.value=!1}},y=async()=>{await e.nextTick(),f.value&&(f.value.scrollTop=f.value.scrollHeight)};return e.onMounted(()=>{t.value.push({role:"assistant",time:N.dayjs().format("HH:mm"),content:p.defaultMessage})}),e.watch(()=>t.value,()=>{y()},{deep:!0}),g({open:E=>{r.value=!0,e.nextTick(()=>{y()})}}),(E,_)=>{const v=D,k=z.ElInput,B=C.ElButton,V=I.ElDialog;return e.openBlock(),e.createBlock(V,{class:"ai-dialog",modelValue:r.value,"onUpdate:modelValue":_[1]||(_[1]=h=>r.value=h),title:"✨ 品种池参数解析AI助手",width:"500px",center:"",draggable:"",overflow:"",modal:!1,"modal-penetrable":!0},{default:e.withCtx(()=>{var h;return[e.createElementVNode("div",P,[e.createElementVNode("div",{ref_key:"messageListRef",ref:f,class:"message-list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(c,A)=>(e.openBlock(),e.createElementBlock("div",{key:A,class:e.normalizeClass(["message-item",c.role])},[c.content?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",K,[e.createVNode(v,{size:32,icon:c.role==="user"?e.unref(S.user_filled_default):e.unref(S.service_default)},null,8,["icon"])]),e.createElementVNode("div",F,[e.createElementVNode("div",O,e.toDisplayString(c.content),1),e.createElementVNode("div",J,e.toDisplayString(c.time),1)])],64)):e.createCommentVNode("",!0)],2))),128)),m.value&&!((h=o.value)!=null&&h.content)?(e.openBlock(),e.createElementBlock("div",U,[e.createElementVNode("div",X,[e.createVNode(v,{size:32,icon:e.unref(S.service_default)},null,8,["icon"])]),G])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",Q,[e.createVNode(k,{class:"message-input",modelValue:l.value,"onUpdate:modelValue":_[0]||(_[0]=c=>l.value=c),type:"textarea",rows:4,autosize:{minRows:2,maxRows:4},placeholder:"输入您想查询的品种条件...",onKeydown:e.withKeys(e.withModifiers(w,["ctrl"]),["enter"])},null,8,["modelValue","onKeydown"]),e.createElementVNode("div",W,[Y,e.createVNode(B,{class:"send-btn",type:"primary",icon:e.unref(S.promotion_default),loading:i.value,onClick:w,round:""},{default:e.withCtx(()=>[e.createTextVNode(" 发送 ")]),_:1},8,["icon","loading"])])])])]}),_:1},8,["modelValue"])}}},ee=T._export_sfc(Z,[["__scopeId","data-v-46407344"]]),te={install(s){s.component("st-varietyAiHelper",ee)}};module.exports=te;
6
+ 帮我查A股科创板下品种转价差上证50并且总市值大于1千万, 按照总市值升序进行排序`}},emits:["callBack"],setup(i,{expose:V,emit:f}){const r=e.inject("stConfig"),u=e.reactive(z.V()),c=f,v=i,g=e.ref(!1),l=e.ref(!1),n=e.ref(!1),_=e.ref(null),t=e.ref([{role:"assistant",content:v.defaultMessage,userContent:null,showFeedback:!1,hasFeedback:!1,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss"),resTime:0,firstPackageTime:0}]),d=e.ref(""),h=e.ref(!1),k=e.ref(""),w=e.ref({}),C=async(E,s)=>{switch(E){case"satisfied":{const a=t.value[s],p={userName:u.username,userContent:a.userContent,aiContent:a.content,type:1,createTime:a.createTime,resTime:a.resTime,firstPackageTime:a.firstPackageTime};await r.request.post("/alarm/deliversign/addVarietyAiHelperLog",p),D.ElMessage.success("感谢您的评价!"),t.value[s].hasFeedback=!0;break}case"open":{w.value=s,h.value=!0;break}case"unsatisfied":{const a=t.value[s],p={userName:u.username,userContent:a.userContent,userSuggestion:k.value,aiContent:a.content,type:2,resTime:a.resTime,createTime:a.createTime,firstPackageTime:a.firstPackageTime};await r.request.post("/alarm/deliversign/addVarietyAiHelperLog",p),D.ElMessage.success("感谢您的反馈!我们将持续跟踪并进行优化"),h.value=!1,t.value[s].hasFeedback=!0;break}case"default":{const a=t.value[s],p={userName:u.username,userContent:a.userContent,userSuggestion:k.value,aiContent:a.content,type:null,resTime:a.resTime,createTime:a.createTime,firstPackageTime:a.firstPackageTime};await r.request.post("/alarm/deliversign/addVarietyAiHelperLog",p)}}},F=async()=>{const E=d.value.trim();if(!E)return D.ElMessage.warning("请输入消息内容");if(l.value)return;t.value.push({role:"user",content:E,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss")}),d.value="",await N(),t.value.push({role:"assistant",content:"",userContent:E,showFeedback:!1,hasFeedback:!1,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss"),resTime:0,firstPackageTime:0}),await N(),l.value=!0,n.value=!0;let s="",a=new Date().getTime();try{await U({appId:"9e54d112acfe4531bd1fc4fee8827fef",apiKey:"sk-d995eb26a4334bdeb2ccb4cbfaf51de8",value:E,callback:(S,m)=>{if(S==="message"){s+=m;const o=t.value[t.value.length-1];o&&o.role==="assistant"&&(o.content=s,N()),o.firstPackageTime===0&&(o.firstPackageTime=new Date().getTime()-a)}else if(S==="finish"){n.value=!1,l.value=!1;const o=t.value[t.value.length-1];o&&o.role==="assistant"&&(o.showFeedback=!0,o.resTime=new Date().getTime()-a,C("default",t.value.length-1));try{const T=JSON.parse(s);c("callBack",T)}catch{c("callBack",s)}}}})}catch(p){D.ElMessage.error(`AI响应异常: ${p}`),t.value.pop(),t.value.push({role:"assistant",userContent:E,content:"抱歉,AI服务响应异常,请稍后重试。",showFeedback:!0,hasFeedback:!1,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss"),resTime:new Date().getTime()-a,firstPackageTime:0}),C("default",t.value.length-1),await N(),l.value=!1,n.value=!1}},N=async()=>{await e.nextTick(),_.value&&(_.value.scrollTop=_.value.scrollHeight)};return e.watch(()=>t.value,()=>{N()},{deep:!0}),V({open:()=>{g.value=!0,e.nextTick(()=>{N()})}}),(E,s)=>{const a=K,p=Y.ElInput,q=H.ElButton,S=A.ElDialog;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(S,{class:"ai-dialog",modelValue:g.value,"onUpdate:modelValue":s[1]||(s[1]=m=>g.value=m),title:"✨ 品种池参数解析AI助手",width:"500px",center:"",draggable:"",overflow:"",modal:!1,"modal-penetrable":!0},{default:e.withCtx(()=>{var m;return[e.createElementVNode("div",W,[e.createElementVNode("div",{ref_key:"messageListRef",ref:_,class:"message-list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(o,T)=>(e.openBlock(),e.createElementBlock("div",{key:T,class:"message-item-wrapper"},[e.createElementVNode("div",{class:e.normalizeClass(["message-item",o.role])},[o.content?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",X,[e.createVNode(a,{size:32,icon:o.role==="user"?e.unref(B.user_filled_default):e.unref(B.service_default)},null,8,["icon"])]),e.createElementVNode("div",G,[e.createElementVNode("div",Q,e.toDisplayString(o.content),1),e.createElementVNode("div",Z,e.toDisplayString(o.createTime),1),o.role==="assistant"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.showFeedback&&!o.hasFeedback?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[ee,e.createElementVNode("div",te,[e.createElementVNode("button",{class:"feedback-btn satisfied-btn",onClick:P=>C("satisfied",T)},oe,8,se),e.createElementVNode("button",{class:"feedback-btn unsatisfied-btn",onClick:P=>C("open",T)},le,8,re)])],64)):e.createCommentVNode("",!0),o.showFeedback&&o.hasFeedback?(e.openBlock(),e.createElementBlock("div",ue,"感谢您进行的评价反馈")):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)])],64)):e.createCommentVNode("",!0)],2)]))),128)),n.value&&!((m=t.value[t.value.length-1])!=null&&m.content)?(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("div",me,[e.createVNode(a,{size:32,icon:e.unref(B.service_default)},null,8,["icon"])]),pe])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",fe,[e.createVNode(p,{class:"message-input",modelValue:d.value,"onUpdate:modelValue":s[0]||(s[0]=o=>d.value=o),type:"textarea",rows:4,autosize:{minRows:2,maxRows:4},placeholder:"输入您想查询的品种条件...",onKeydown:e.withKeys(e.withModifiers(F,["ctrl"]),["enter"])},null,8,["modelValue","onKeydown"]),e.createElementVNode("div",ve,[ge,e.createVNode(q,{class:"send-btn",type:"primary",icon:e.unref(B.promotion_default),loading:l.value,onClick:F,round:""},{default:e.withCtx(()=>[e.createTextVNode(" 发送 ")]),_:1},8,["icon","loading"])])])])]}),_:1},8,["modelValue"]),e.createVNode(S,{modelValue:h.value,"onUpdate:modelValue":s[5]||(s[5]=m=>h.value=m),title:"📝 反馈意见",width:"400px"},{footer:e.withCtx(()=>[e.createElementVNode("span",ye,[e.createVNode(q,{onClick:s[3]||(s[3]=m=>h.value=!1)},{default:e.withCtx(()=>[e.createTextVNode("取消")]),_:1}),e.createVNode(q,{type:"primary",onClick:s[4]||(s[4]=m=>C("unsatisfied",w.value))},{default:e.withCtx(()=>[e.createTextVNode("提交反馈")]),_:1})])]),default:e.withCtx(()=>[e.createElementVNode("div",_e,[he,ke,e.createVNode(p,{modelValue:k.value,"onUpdate:modelValue":s[2]||(s[2]=m=>k.value=m),type:"textarea",rows:4,placeholder:"[非必填]例如:回答不够准确、查询结果有误、界面体验不佳..."},null,8,["modelValue"])])]),_:1},8,["modelValue"])],64)}}},Ve=$._export_sfc(be,[["__scopeId","data-v-f1a4bc79"]]),Ee={install(i){i.component("st-varietyAiHelper",Ve)}};module.exports=Ee;