st-comp 0.0.266 → 0.0.267
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.
- package/es/VarietyAiHelper.cjs +3 -3
- package/es/VarietyAiHelper.js +242 -262
- package/es/VarietySearch.cjs +1 -1
- package/es/VarietySearch.js +1 -1
- package/es/aiTools-822859d6.cjs +4 -0
- package/es/aiTools-9a9c997f.js +149 -0
- package/es/aiTools.js +2 -2
- package/es/style.css +1 -1
- package/lib/aiTools.js +2 -2
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +192 -192
- package/lib/{index-53b3465c.js → index-7279dacd.js} +12861 -12881
- package/lib/{python-4a270481.js → python-60bc2922.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +1 -1
- package/packages/VarietyAiHelper/index.vue +226 -90
- package/public/aiTools.js +2 -2
- package/es/aiTools-6c9c58bd.cjs +0 -4
- package/es/aiTools-ab67ffa0.js +0 -149
package/es/VarietyAiHelper.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";const k=require("./base-ef747d02.cjs"),
|
|
1
|
+
"use strict";const k=require("./base-ef747d02.cjs"),O=require("./el-dialog-6501a151.cjs");require("./el-overlay-a94f8a98.cjs");const R=require("./el-button-dd065de0.cjs"),J=require("./el-input-094afbe2.cjs"),e=require("vue"),x=require("./dayjs.min-2c20abe6.cjs"),z=require("./index-8901a38c.cjs"),U=require("./aiTools-822859d6.cjs"),v=require("./index-3792552a.cjs"),K=require("./_plugin-vue_export-helper-f246444f.cjs"),D=require("./index-21e8d2bc.cjs"),L=require("./use-form-common-props-00ec25ac.cjs");require("./index-bf98dd03.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-28efb416.cjs");require("./index-7eb88616.cjs");require("./index-eea0bcb3.cjs");require("./typescript-b63f8e83.cjs");require("./index-4f900527.cjs");require("./config-provider-ea286661.cjs");const W=k.buildProps({size:{type:[Number,String],values:L.componentSizes,default:"",validator:i=>k.isNumber(i)},shape:{type:String,values:["circle","square"],default:"circle"},icon:{type:L.iconPropType},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:k.definePropType(String),default:"cover"}}),G={error:i=>i instanceof Event},Q=e.defineComponent({name:"ElAvatar"}),X=e.defineComponent({...Q,props:W,emits:G,setup(i,{emit:M}){const N=i,f=k.useNamespace("avatar"),h=e.ref(!1),B=e.computed(()=>{const{size:l,icon:u,shape:V}=N,p=[f.b()];return k.isString(l)&&p.push(f.m(l)),u&&p.push(f.m("icon")),V&&p.push(f.m(V)),p}),F=e.computed(()=>{const{size:l}=N;return k.isNumber(l)?f.cssVarBlock({size:k.addUnit(l)||""}):void 0}),Y=e.computed(()=>({objectFit:N.fit}));e.watch(()=>N.src,()=>h.value=!1);function _(l){h.value=!0,M("error",l)}return(l,u)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(B)),style:e.normalizeStyle(e.unref(F))},[(l.src||l.srcSet)&&!h.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:l.src,alt:l.alt,srcset:l.srcSet,style:e.normalizeStyle(e.unref(Y)),onError:_},null,44,["src","alt","srcset"])):l.icon?(e.openBlock(),e.createBlock(e.unref(v.ElIcon),{key:1},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.icon)))]),_:1})):e.renderSlot(l.$slots,"default",{key:2})],6))}});var Z=k._export_sfc(X,[["__file","avatar.vue"]]);const ee=k.withInstall(Z);const m=i=>(e.pushScopeId("data-v-c6a98338"),i=i(),e.popScopeId(),i),te={class:"ai-dialog-body"},se={class:"avatar"},ae={class:"message-content"},ne={key:0,class:"node-progress"},oe={class:"node-status-icon"},le={class:"node-name"},re={key:0,class:"node-progress-item next-step"},ce={class:"node-status-icon"},ie=m(()=>e.createElementVNode("span",{class:"node-name"},"正在执行下一步...",-1)),ue=["innerHTML"],de={key:2,class:"message-text"},me={class:"message-createTime"},fe=m(()=>e.createElementVNode("div",{class:"message-createTime"},"请问对本轮查询结果是否满意?",-1)),pe={class:"feedback-buttons"},ve=["onClick"],ke=m(()=>e.createElementVNode("span",{class:"btn-emoji"},"👍",-1)),_e=m(()=>e.createElementVNode("span",{class:"btn-text"},"满意",-1)),ge=[ke,_e],he=["onClick"],Ve=m(()=>e.createElementVNode("span",{class:"btn-emoji"},"👎",-1)),ye=m(()=>e.createElementVNode("span",{class:"btn-text"},"不满意",-1)),be=[Ve,ye],Ee={key:1,class:"message-createTime"},Ne={key:0,class:"message-item assistant"},Te={class:"avatar"},Ce=m(()=>e.createElementVNode("div",{class:"message-content"},[e.createElementVNode("div",{class:"typing-indicator"},[e.createElementVNode("span"),e.createElementVNode("span"),e.createElementVNode("span")])],-1)),we={class:"input-area"},Be={class:"input-actions"},Se=m(()=>e.createElementVNode("div",{class:"input-hint"},[e.createElementVNode("span",null,"Enter 发送 | Ctrl + Enter 换行")],-1)),qe={class:"feedback-dialog-content"},xe=m(()=>e.createElementVNode("div",{class:"feedback-emoji"},"😟",-1)),Fe=m(()=>e.createElementVNode("p",{class:"feedback-tip"},"很抱歉没能帮到您,请告诉我们哪里需要改进:",-1)),De={class:"dialog-footer"},Me={__name:"index",props:{defaultMessage:{type:String,default:`你好呀!我是你的品种池AI助手,会根据您的自然语言去进行品种的条件查询
|
|
2
2
|
|
|
3
3
|
示例:
|
|
4
|
-
帮我查A股科创板下品种转价差上证50并且总市值大于1千万, 最近一次红箱的开盘价大于前5根K线的最高价, 并按照总市值升序进行排序`}},emits:["callBack"],setup(
|
|
5
|
-
`+
|
|
4
|
+
帮我查A股科创板下品种转价差上证50并且总市值大于1千万, 最近一次红箱的开盘价大于前5根K线的最高价, 并按照总市值升序进行排序`}},emits:["callBack"],setup(i,{expose:M,emit:N}){const f=e.inject("stConfig"),h=e.reactive(z.V()),B=e.ref(!1),F=N,Y=i,_=e.ref(!1),l=e.ref(!1),u=e.ref([]),V=e.ref(!1),p=e.ref(null),o=e.ref([{role:"assistant",content:Y.defaultMessage,userContent:null,showFeedback:!1,hasFeedback:!1,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss"),resTime:0,firstPackageTime:0}]),y=e.ref(""),T=e.ref(!1),S=e.ref(""),H=e.ref({}),P=n=>{if(typeof n!="string")return!1;try{const t=JSON.parse(n);return t!==null&&typeof t=="object"}catch{return!1}},j=n=>{if(!P(n))return null;try{const t=JSON.parse(n),{parsedConditions:s,...d}=t;return{parsedConditions:s,webParams:d}}catch{return null}},$=n=>{var s;if(!n)return"";let t="";return(s=n.parsedConditions)!=null&&s.length&&(t+='<div class="parsed-conditions">',n.parsedConditions.forEach(d=>{t+=`<div class="parsed-conditions-item">${d}</div>`}),t+="</div>"),t},C=async(n,t)=>{switch(n){case"satisfied":{const s=o.value[t];await f.request.post("/alarm/deliversign/addVarietyAiHelperLog",{userName:h.username,userContent:s.userContent,aiContent:s.content,type:1,createTime:s.createTime,resTime:s.resTime,firstPackageTime:s.firstPackageTime,isSolved:1,logOrigin:1}),D.ElMessage.success("感谢您的评价!"),o.value[t].hasFeedback=!0;break}case"open":{H.value=t,T.value=!0;break}case"unsatisfied":{const s=o.value[t];await f.request.post("/alarm/deliversign/addVarietyAiHelperLog",{userName:h.username,userContent:s.userContent,userSuggestion:S.value,aiContent:s.content,type:2,resTime:s.resTime,createTime:s.createTime,firstPackageTime:s.firstPackageTime,isSolved:0,logOrigin:1}),D.ElMessage.success("感谢您的反馈!我们将持续跟踪并进行优化"),T.value=!1,o.value[t].hasFeedback=!0;break}case"default":{const s=o.value[t];await f.request.post("/alarm/deliversign/addVarietyAiHelperLog",{userName:h.username,userContent:s.userContent,userSuggestion:S.value,aiContent:s.content,type:null,resTime:s.resTime,createTime:s.createTime,firstPackageTime:s.firstPackageTime,isSolved:1,logOrigin:1})}}},A=async()=>{const n=y.value.trim();if(!n)return D.ElMessage.warning("请输入消息内容");if(_.value)return;u.value=[],V.value=!1,o.value.push({role:"user",content:n,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss")}),y.value="",await g(),o.value.push({role:"assistant",content:"",userContent:n,showFeedback:!1,hasFeedback:!1,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss"),resTime:0,firstPackageTime:0}),await g(),_.value=!0,l.value=!0;let t="",s=new Date().getTime(),d=!1;try{const w="1977602b357e4dab9d0b74899d5323b3",q="sk-d995eb26a4334bdeb2ccb4cbfaf51de8";await U.sendToBaiLianWorkflowStreaming({mode:"build:split",appId:w,apiKey:q,token:z.U(),value:n,callback:(b,r)=>{if(b==="error"){l.value=!1,_.value=!1,o.value.pop(),o.value.push({role:"assistant",userContent:n,content:`❌ ${r}`,showFeedback:!1,hasFeedback:!1,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss"),resTime:new Date().getTime()-s,firstPackageTime:0}),C("default",o.value.length-1),g();return}if(b==="node"){if(!d){d=!0;const c=o.value[o.value.length-1];c&&c.role==="assistant"&&c.firstPackageTime===0&&(c.firstPackageTime=new Date().getTime()-s)}const a=u.value.find(c=>c.name===r.name);a?a.status=r.status:u.value.push({name:r.name,status:r.status}),g();return}if(b==="message"){t=r;const a=o.value[o.value.length-1];a&&a.role==="assistant"&&(a.content=t,g())}if(b==="finish"){l.value=!1,_.value=!1,V.value=!0;const a=o.value[o.value.length-1];a&&a.role==="assistant"&&(a.showFeedback=!0,a.resTime=new Date().getTime()-s,C("default",o.value.length-1));try{const c=JSON.parse(t);c.parsedConditions&&delete c.parsedConditions,F("callBack",c)}catch{F("callBack",t)}}}})}catch(w){D.ElMessage.error(`AI响应异常: ${w}`),o.value.pop(),o.value.push({role:"assistant",userContent:n,content:"❌ 抱歉,AI服务响应异常,请稍后重试。",showFeedback:!0,hasFeedback:!1,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss"),resTime:new Date().getTime()-s,firstPackageTime:0}),C("default",o.value.length-1),await g(),_.value=!1,l.value=!1}},I=n=>{if(n.key==="Enter")if(n.ctrlKey){n.preventDefault();const t=n.target,s=t.selectionStart,d=t.selectionEnd;y.value=y.value.substring(0,s)+`
|
|
5
|
+
`+y.value.substring(d),e.nextTick(()=>{t.selectionStart=t.selectionEnd=s+1})}else n.preventDefault(),A()},g=async()=>{await e.nextTick(),p.value&&(p.value.scrollTop=p.value.scrollHeight)};return e.watch(()=>o.value,()=>{g()},{deep:!0}),e.watch(()=>T.value,n=>{n||(S.value="")}),M({open:()=>{B.value=!0,e.nextTick(()=>{g()})}}),(n,t)=>{const s=ee,d=v.ElIcon,w=J.ElInput,q=R.ElButton,b=O.ElDialog;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(b,{class:"ai-dialog",modelValue:B.value,"onUpdate:modelValue":t[1]||(t[1]=r=>B.value=r),title:"✨ 品种池参数解析AI助手",width:"500px",center:"",draggable:"",overflow:"",modal:!1,"modal-penetrable":!0},{default:e.withCtx(()=>{var r;return[e.createElementVNode("div",te,[e.createElementVNode("div",{ref_key:"messageListRef",ref:p,class:"message-list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(a,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:e.normalizeClass([a.role,"message-item"])},[a.content||c===o.value.length-1&&a.role==="assistant"&&u.value.length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",se,[e.createVNode(s,{size:32,icon:a.role==="user"?e.unref(v.user_filled_default):e.unref(v.service_default)},null,8,["icon"])]),e.createElementVNode("div",ae,[c===o.value.length-1&&a.role==="assistant"&&u.value.length>0&&!V.value?(e.openBlock(),e.createElementBlock("div",ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,E=>(e.openBlock(),e.createElementBlock("div",{key:E.name,class:"node-progress-item"},[e.createElementVNode("span",oe,[E.status==="success"?(e.openBlock(),e.createBlock(d,{key:0,class:"node-icon done"},{default:e.withCtx(()=>[e.createVNode(e.unref(v.success_filled_default))]),_:1})):(e.openBlock(),e.createBlock(d,{key:1,class:"node-icon running"},{default:e.withCtx(()=>[e.createVNode(e.unref(v.refresh_default))]),_:1}))]),e.createElementVNode("span",le,e.toDisplayString(E.name),1)]))),128)),u.value.length>0&&u.value.every(E=>E.status==="success")&&!V.value?(e.openBlock(),e.createElementBlock("div",re,[e.createElementVNode("span",ce,[e.createVNode(d,{class:"node-icon waiting"},{default:e.withCtx(()=>[e.createVNode(e.unref(v.refresh_default))]),_:1})]),ie])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),P(a.content)?(e.openBlock(),e.createElementBlock("div",{key:1,class:"message-json",innerHTML:$(j(a.content))},null,8,ue)):a.content?(e.openBlock(),e.createElementBlock("div",de,e.toDisplayString(a.content),1)):e.createCommentVNode("",!0),e.createElementVNode("div",me,e.toDisplayString(a.createTime),1),a.role==="assistant"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[a.showFeedback&&!a.hasFeedback?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[fe,e.createElementVNode("div",pe,[e.createElementVNode("button",{class:"feedback-btn satisfied-btn",onClick:E=>C("satisfied",c)},ge,8,ve),e.createElementVNode("button",{class:"feedback-btn unsatisfied-btn",onClick:E=>C("open",c)},be,8,he)])],64)):e.createCommentVNode("",!0),a.showFeedback&&a.hasFeedback?(e.openBlock(),e.createElementBlock("div",Ee,"感谢您进行的评价反馈")):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)])],64)):e.createCommentVNode("",!0)],2))),128)),l.value&&u.value.length===0&&!((r=o.value[o.value.length-1])!=null&&r.content)?(e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("div",Te,[e.createVNode(s,{size:32,icon:e.unref(v.service_default)},null,8,["icon"])]),Ce])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",we,[e.createVNode(w,{class:"message-input",modelValue:y.value,"onUpdate:modelValue":t[0]||(t[0]=a=>y.value=a),type:"textarea",rows:4,autosize:{minRows:2,maxRows:4},placeholder:"输入您想查询的品种条件...",onKeydown:I},null,8,["modelValue"]),e.createElementVNode("div",Be,[Se,e.createVNode(q,{class:"send-btn",type:"primary",icon:e.unref(v.promotion_default),loading:_.value,onClick:A,round:""},{default:e.withCtx(()=>[e.createTextVNode(" 发送 ")]),_:1},8,["icon","loading"])])])])]}),_:1},8,["modelValue"]),e.createVNode(b,{modelValue:T.value,"onUpdate:modelValue":t[5]||(t[5]=r=>T.value=r),title:"📝 反馈意见",width:"400px"},{footer:e.withCtx(()=>[e.createElementVNode("span",De,[e.createVNode(q,{onClick:t[3]||(t[3]=r=>T.value=!1)},{default:e.withCtx(()=>[e.createTextVNode("取消")]),_:1}),e.createVNode(q,{type:"primary",onClick:t[4]||(t[4]=r=>C("unsatisfied",H.value))},{default:e.withCtx(()=>[e.createTextVNode("提交反馈")]),_:1})])]),default:e.withCtx(()=>[e.createElementVNode("div",qe,[xe,Fe,e.createVNode(w,{modelValue:S.value,"onUpdate:modelValue":t[2]||(t[2]=r=>S.value=r),type:"textarea",rows:4,placeholder:"[非必填]例如:回答不够准确、查询结果有误、界面体验不佳..."},null,8,["modelValue"])])]),_:1},8,["modelValue"])],64)}}},Ye=K._export_sfc(Me,[["__scopeId","data-v-c6a98338"]]),He={install(i){i.component("st-varietyAiHelper",Ye)}};module.exports=He;
|