feat(admin): 新增管理后台前端资源文件 feat(api): 实现获取用户统计数据的API接口 - 添加获取用户道具卡数量、优惠券数量和积分余额的接口 - 实现设置默认地址和删除地址的接口 feat(service): 新增用户统计服务方法 - 实现GetUserStats方法查询用户统计数据 - 添加地址管理相关服务方法 fix(core): 修复静态资源路由问题 - 调整静态资源路由配置 - 优化404路由处理逻辑 chore: 更新前端构建配置 - 添加Windows平台构建命令 - 更新README构建说明
2 lines
5.4 KiB
JavaScript
2 lines
5.4 KiB
JavaScript
var e=Object.defineProperty,a=Object.defineProperties,s=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,l=(a,s,t)=>s in a?e(a,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[s]=t;import{d as o,c as n,aQ as m,a as d,o as c,aM as p,aH as u,E as v,e as f,f as x,p as g,z as j,h as b,i as y,u as w,m as h,ab as _,b4 as M,F as O,G as k,B as z,aG as C,I as E,J as V,dN as A,dO as P,y as B,l as D,n as I}from"./index-ip5gDR6L.js";/* empty css *//* empty css */import{_ as R}from"./index.vue_vue_type_script_setup_true_lang-CCGboj8m.js";/* empty css *//* empty css *//* empty css */import{m as T}from"./avatar6-6Evj8BB9.js";import{a as G}from"./avatar10-Dom60BwY.js";import{E as H}from"./index-CGPOeeHR.js";import{E as K}from"./index-DfrOVkw6.js";import{E as N}from"./index-opP5No9I.js";import{E as S}from"./index-DQ5yxWeA.js";import"./index-fnD_mPvE.js";import"./index-CHAf6FpU.js";import"./use-form-item-BDb3ZgPk.js";import"./use-form-common-props-BwBs_jod.js";import"./index-D-10FtUD.js";import"./index-D-iZIej9.js";import"./index-D17cYxP7.js";import"./vnode-6FKeug3R.js";import"./scroll-ChxXkPhM.js";import"./use-dialog-Cj8YneNA.js";const U={class:"mb-5 flex-cb"},F={class:"mt-1.5 flex-c gap-1"},J={class:"text-xs text-g-600"},L={class:"flex h-[calc(100%-70px)] flex-col"},Q={class:"font-medium"},W={class:"text-g-600"},Y={class:"px-4 pt-4"},q={class:"flex gap-2 py-2"},X={class:"mt-3 flex-cb"},Z={class:"flex-c"},$="Art Bot",ee="Ricky",ae=o((se=((e,a)=>{for(var s in a||(a={}))i.call(a,s)&&l(e,s,a[s]);if(t)for(var s of t(a))r.call(a,s)&&l(e,s,a[s]);return e})({},{name:"ArtChatWindow"}),a(se,s({__name:"index",setup(e){const{width:a}=m(),s=n(()=>a.value<640),t=d(!1),i=d(!0),r=d(""),l=d(10),o=d(null),ae=d([{id:1,sender:$,content:"你好!我是你的AI助手,有什么我可以帮你的吗?",time:"10:00",isMe:!1,avatar:G},{id:2,sender:ee,content:"我想了解一下系统的使用方法。",time:"10:01",isMe:!0,avatar:T},{id:3,sender:$,content:"好的,我来为您介绍系统的主要功能。首先,您可以通过左侧菜单访问不同的功能模块...",time:"10:02",isMe:!1,avatar:G},{id:4,sender:ee,content:"听起来很不错,能具体讲讲数据分析部分吗?",time:"10:05",isMe:!0,avatar:T},{id:5,sender:$,content:"当然可以。数据分析模块可以帮助您实时监控关键指标,并生成详细的报表...",time:"10:06",isMe:!1,avatar:G},{id:6,sender:ee,content:"太好了,那我如何开始使用呢?",time:"10:08",isMe:!0,avatar:T},{id:7,sender:$,content:"您可以先创建一个项目,然后在项目中添加相关的数据源,系统会自动进行分析。",time:"10:09",isMe:!1,avatar:G},{id:8,sender:ee,content:"明白了,谢谢你的帮助!",time:"10:10",isMe:!0,avatar:T},{id:9,sender:$,content:"不客气,有任何问题随时联系我。",time:"10:11",isMe:!1,avatar:G}]),se=()=>{I(()=>{setTimeout(()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)},100)})},te=()=>{const e=r.value.trim();if(!e)return;const a={id:l.value++,sender:ee,content:e,time:(new Date).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),isMe:!0,avatar:T};ae.value.push(a),r.value="",se()},ie=()=>{t.value=!0,se()},re=()=>{t.value=!1};return c(()=>{se(),p.on("openChat",ie)}),u(()=>{p.off("openChat",ie)}),(e,a)=>{const l=_,n=H,m=N,d=K,c=R,p=S,u=v("ripple");return x(),f("div",null,[g(p,{modelValue:w(t),"onUpdate:modelValue":a[1]||(a[1]=e=>E(t)?t.value=e:null),size:w(s)?"100%":"480px","with-header":!1},{default:j(()=>[b("div",U,[b("div",null,[a[2]||(a[2]=b("span",{class:"text-base font-medium"},"Art Bot",-1)),b("div",F,[b("div",{class:y(["h-2 w-2 rounded-full",w(i)?"bg-success/100":"bg-danger/100"])},null,2),b("span",J,h(w(i)?"在线":"离线"),1)])]),b("div",null,[g(l,{class:"c-p",size:20,onClick:re},{default:j(()=>[g(w(M))]),_:1})])]),b("div",L,[b("div",{class:"flex-1 overflow-y-auto border-t-d px-4 py-7.5 [&::-webkit-scrollbar]:!w-1",ref_key:"messageContainer",ref:o},[(x(!0),f(O,null,k(w(ae),(e,a)=>(x(),f("div",{key:a,class:y(["mb-7.5 flex w-full items-start gap-2",e.isMe?"flex-row-reverse":"flex-row"])},[g(n,{size:32,src:e.avatar,class:"shrink-0"},null,8,["src"]),b("div",{class:y(["flex max-w-[70%] flex-col",e.isMe?"items-end":"items-start"])},[b("div",{class:y(["mb-1 flex gap-2 text-xs",e.isMe?"flex-row-reverse":"flex-row"])},[b("span",Q,h(e.sender),1),b("span",W,h(e.time),1)],2),b("div",{class:y(["rounded-md px-3.5 py-2.5 text-sm leading-[1.4] text-g-900",e.isMe?"message-right bg-theme/15":"message-left bg-g-300/50"])},h(e.content),3)],2)],2))),128))],512),b("div",Y,[g(d,{modelValue:w(r),"onUpdate:modelValue":a[0]||(a[0]=e=>E(r)?r.value=e:null),type:"textarea",rows:3,placeholder:"输入消息",resize:"none",onKeyup:z(C(te,["prevent"]),["enter"])},{append:j(()=>[b("div",q,[g(m,{icon:w(A),circle:"",plain:""},null,8,["icon"]),g(m,{icon:w(P),circle:"",plain:""},null,8,["icon"]),V((x(),B(m,{type:"primary",onClick:te},{default:j(()=>[...a[3]||(a[3]=[D("发送",-1)])]),_:1})),[[u]])])]),_:1},8,["modelValue","onKeyup"]),b("div",X,[b("div",Z,[g(c,{icon:"ri:image-line",class:"mr-5 c-p text-g-600 text-lg"}),g(c,{icon:"ri:emotion-happy-line",class:"mr-5 c-p text-g-600 text-lg"})]),V((x(),B(m,{type:"primary",onClick:te,class:"min-w-20"},{default:j(()=>[...a[4]||(a[4]=[D("发送",-1)])]),_:1})),[[u]])])])])]),_:1},8,["modelValue","size"])])}}}))));var se;export{ae as default};
|