张涛 hai 1 ano
pai
achega
5f184f0f8a

+ 1 - 1
dist/assets/Agent-ff54ea9d.js → dist/assets/Agent-74a5108b.js

@@ -1 +1 @@
-import{a4 as t}from"./index-e7ddf4c4.js";function s(a){return t.get("/api/v1/canvas/list",{params:a})}function e(){return t.get("/api/v1/llm/distinct",{})}function n(a){return t.get("/api/v1/conversation/app_usage")}function o(a){return t.post("/api/v1/conversation/app_usage/rm",a)}export{n as a,e as b,o as d,s as q};
+import{a4 as t}from"./index-d61ae909.js";function s(a){return t.get("/api/v1/canvas/list",{params:a})}function e(){return t.get("/api/v1/llm/distinct",{})}function n(a){return t.get("/api/v1/conversation/app_usage")}function o(a){return t.post("/api/v1/conversation/app_usage/rm",a)}export{n as a,e as b,o as d,s as q};

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/Knowledge-3d7a2319.js


+ 1 - 1
dist/assets/Login-63fe84ea.js → dist/assets/Login-ed6a68bd.js

@@ -1 +1 @@
-import{_ as g}from"./login-bd96354f.js";import{_ as f,m as v,x as i,C as w,D as k,E as n,v as p,B as V,r as a}from"./index-e7ddf4c4.js";const _=v({components:{},props:[],setup(){const{ajax:o,helper:e}=V("$global"),t=a(""),r=a("");return{login:async()=>{const l=await o.user.login(t.value,r.value);l&&(e.write("userName",l.nickname||l.username),e.write("token",l.access_token),e.goLink("/"))},username:t,password:r,goRegister:()=>{e.goLink("register")}}}});function y(o,e,t,r,u,d){const l=i("a-input"),m=i("a-input-password");return w(),k("main",null,[n("section",null,[e[6]||(e[6]=n("header",null,[n("img",{src:g}),n("p",null,"欢迎使用")],-1)),e[7]||(e[7]=n("p",null,"账号登录",-1)),n("section",null,[e[4]||(e[4]=n("p",null,"账号",-1)),n("div",null,[p(l,{placeholder:"请输入手机号",style:{width:"250px",height:"40px"},modelValue:o.username,"onUpdate:modelValue":e[0]||(e[0]=s=>o.username=s)},null,8,["modelValue"])])]),n("section",null,[e[5]||(e[5]=n("p",null,"密码",-1)),n("div",null,[p(m,{placeholder:"请输入手机号",style:{width:"250px",height:"40px"},modelValue:o.password,"onUpdate:modelValue":e[1]||(e[1]=s=>o.password=s)},null,8,["modelValue"])])]),n("section",null,[n("p",{style:{cursor:"pointer"},onClick:e[2]||(e[2]=(...s)=>o.goRegister&&o.goRegister(...s))},"去注册")]),n("div",{onClick:e[3]||(e[3]=(...s)=>o.login&&o.login(...s))},"登录")])])}const $=f(_,[["render",y],["__scopeId","data-v-c8b3e868"]]);export{$ as default};
+import{_ as g}from"./login-bd96354f.js";import{_ as f,m as v,x as i,C as w,D as k,E as n,v as p,B as V,r as a}from"./index-d61ae909.js";const _=v({components:{},props:[],setup(){const{ajax:o,helper:e}=V("$global"),t=a(""),r=a("");return{login:async()=>{const l=await o.user.login(t.value,r.value);l&&(e.write("userName",l.nickname||l.username),e.write("token",l.access_token),e.goLink("/"))},username:t,password:r,goRegister:()=>{e.goLink("register")}}}});function y(o,e,t,r,u,d){const l=i("a-input"),m=i("a-input-password");return w(),k("main",null,[n("section",null,[e[6]||(e[6]=n("header",null,[n("img",{src:g}),n("p",null,"欢迎使用")],-1)),e[7]||(e[7]=n("p",null,"账号登录",-1)),n("section",null,[e[4]||(e[4]=n("p",null,"账号",-1)),n("div",null,[p(l,{placeholder:"请输入手机号",style:{width:"250px",height:"40px"},modelValue:o.username,"onUpdate:modelValue":e[0]||(e[0]=s=>o.username=s)},null,8,["modelValue"])])]),n("section",null,[e[5]||(e[5]=n("p",null,"密码",-1)),n("div",null,[p(m,{placeholder:"请输入手机号",style:{width:"250px",height:"40px"},modelValue:o.password,"onUpdate:modelValue":e[1]||(e[1]=s=>o.password=s)},null,8,["modelValue"])])]),n("section",null,[n("p",{style:{cursor:"pointer"},onClick:e[2]||(e[2]=(...s)=>o.goRegister&&o.goRegister(...s))},"去注册")]),n("div",{onClick:e[3]||(e[3]=(...s)=>o.login&&o.login(...s))},"登录")])])}const $=f(_,[["render",y],["__scopeId","data-v-c8b3e868"]]);export{$ as default};

+ 1 - 1
dist/assets/Register-077284b7.js → dist/assets/Register-cf132150.js

@@ -1 +1 @@
-import{_ as g}from"./login-bd96354f.js";import{_ as f,m as v,x as p,C as w,D as _,E as s,v as a,B as V,r as u}from"./index-e7ddf4c4.js";const y=v({components:{},props:[],setup(){const{ajax:n,helper:e}=V("$global"),l=u(""),t=u("");return{register:async()=>{const r=await n.user.register(l.value,t.value);r&&(e.write("userName",String(r.username)),e.goLink("/login"))},username:l,password:t}}});function b(n,e,l,t,i,r){const d=p("a-input"),m=p("a-input-password");return w(),_("main",null,[s("section",null,[e[5]||(e[5]=s("header",null,[s("img",{src:g}),s("p",null,"欢迎使用")],-1)),e[6]||(e[6]=s("p",null,"账号注册",-1)),s("section",null,[e[3]||(e[3]=s("p",null,"账号",-1)),s("div",null,[a(d,{placeholder:"请输入账号",style:{width:"250px",height:"40px"},modelValue:n.username,"onUpdate:modelValue":e[0]||(e[0]=o=>n.username=o)},null,8,["modelValue"])])]),s("section",null,[e[4]||(e[4]=s("p",null,"密码",-1)),s("div",null,[a(m,{type:"password",placeholder:"请输入密码",style:{width:"250px",height:"40px"},modelValue:n.password,"onUpdate:modelValue":e[1]||(e[1]=o=>n.password=o)},null,8,["modelValue"])])]),s("div",{onClick:e[2]||(e[2]=(...o)=>n.register&&n.register(...o))},"注册")])])}const k=f(y,[["render",b],["__scopeId","data-v-b8d3c93b"]]);export{k as default};
+import{_ as g}from"./login-bd96354f.js";import{_ as f,m as v,x as p,C as w,D as _,E as s,v as a,B as V,r as u}from"./index-d61ae909.js";const y=v({components:{},props:[],setup(){const{ajax:n,helper:e}=V("$global"),l=u(""),t=u("");return{register:async()=>{const r=await n.user.register(l.value,t.value);r&&(e.write("userName",String(r.username)),e.goLink("/login"))},username:l,password:t}}});function b(n,e,l,t,i,r){const d=p("a-input"),m=p("a-input-password");return w(),_("main",null,[s("section",null,[e[5]||(e[5]=s("header",null,[s("img",{src:g}),s("p",null,"欢迎使用")],-1)),e[6]||(e[6]=s("p",null,"账号注册",-1)),s("section",null,[e[3]||(e[3]=s("p",null,"账号",-1)),s("div",null,[a(d,{placeholder:"请输入账号",style:{width:"250px",height:"40px"},modelValue:n.username,"onUpdate:modelValue":e[0]||(e[0]=o=>n.username=o)},null,8,["modelValue"])])]),s("section",null,[e[4]||(e[4]=s("p",null,"密码",-1)),s("div",null,[a(m,{type:"password",placeholder:"请输入密码",style:{width:"250px",height:"40px"},modelValue:n.password,"onUpdate:modelValue":e[1]||(e[1]=o=>n.password=o)},null,8,["modelValue"])])]),s("div",{onClick:e[2]||(e[2]=(...o)=>n.register&&n.register(...o))},"注册")])])}const k=f(y,[["render",b],["__scopeId","data-v-b8d3c93b"]]);export{k as default};

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/authheader.vue_vue_type_script_setup_true_lang-bc8fe98c.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/default-layout-a1c1c74e.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/index-146af53f.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/index-2515b082.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/index-3934b759.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/index-7bfbfeaf.js


+ 1 - 1
dist/assets/index-61a5bfe9.js → dist/assets/index-8e07d6b7.js

@@ -1 +1 @@
-import{m as s,r as n,U as r,ae as o,x as _,C as c,D as i,v as l,E as t,_ as d}from"./index-e7ddf4c4.js";const u={class:"container"},m={class:"iframe-box"},f=["src"],p={name:"Agent"},v=s({...p,setup(h){const e=n("");return r(()=>{e.value=`${o.RAGFlowUrl?o.RAGFlowUrl:window.location.origin}/flow?${localStorage.Authorization}`}),(x,g)=>{const a=_("Breadcrumb");return c(),i("div",u,[l(a,{items:["Agent","配置"]}),t("div",m,[t("iframe",{src:e.value,height:"100%",width:"100%",frameborder:"0"},null,8,f)])])}}});const B=d(v,[["__scopeId","data-v-82ea0634"]]);export{B as default};
+import{m as s,r as n,U as r,ae as o,x as _,C as c,D as i,v as l,E as t,_ as d}from"./index-d61ae909.js";const u={class:"container"},m={class:"iframe-box"},f=["src"],p={name:"Agent"},v=s({...p,setup(h){const e=n("");return r(()=>{e.value=`${o.RAGFlowUrl?o.RAGFlowUrl:window.location.origin}/flow?${localStorage.Authorization}`}),(x,g)=>{const a=_("Breadcrumb");return c(),i("div",u,[l(a,{items:["Agent","配置"]}),t("div",m,[t("iframe",{src:e.value,height:"100%",width:"100%",frameborder:"0"},null,8,f)])])}}});const B=d(v,[["__scopeId","data-v-82ea0634"]]);export{B as default};

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/index-a403c34c.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/index-ace0d5e4.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/index-b339fad1.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/index-cfa9fc7d.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
dist/assets/index-d61ae909.js


+ 1 - 1
dist/assets/index-d42ac787.js → dist/assets/index-e54e527d.js

@@ -1,4 +1,4 @@
-import{a3 as qk,a4 as Ks,m as Of,r as Zt,a5 as Ta,U as t1,b as _h,V as bg,C as zr,D as Fn,E as or,u as Ti,J as _s,K as lc,L as xa,R as r1,_ as zu,l as Iu,a6 as n1,f as wA,w as i1,x as vn,v as Qr,F as Fr,G as Ya,a7 as Ig,Q as qs,Z as mu,M as ys,n as XI,H as Ma,I as Ca,a8 as X5,N as wh,O as Bh,a9 as Wk,aa as Kk,ab as $5,ac as zk,ad as Vk}from"./index-e7ddf4c4.js";import{a as U5,d as Zk,q as Xk}from"./Agent-ff54ea9d.js";import{p as $k}from"./icon-chart-38e5438e.js";import{a as JI}from"./auth-54229761.js";import{a as xB,u as e9}from"./index-20d644ae.js";const SB="/assets/icon-user-007bea0f.jpg",Vp="/assets/icon-picture-144a065f.png";var t9=Object.defineProperty,r9=(D,U,K)=>U in D?t9(D,U,{enumerable:!0,configurable:!0,writable:!0,value:K}):D[U]=K,PI=(D,U,K)=>r9(D,typeof U!="symbol"?U+"":U,K);class j5 extends Error{constructor(U,K){super(U),PI(this,"type"),PI(this,"field"),PI(this,"value"),PI(this,"line"),this.name="ParseError",this.type=K.type,this.field=K.field,this.value=K.value,this.line=K.line}}function dB(D){}function n9(D){const{onEvent:U=dB,onError:K=dB,onRetry:ee=dB,onComment:ge}=D;let Ue="",ht=!0,ut,_t="",Jt="";function ar(sr){const Ir=ht?sr.replace(/^\xEF\xBB\xBF/,""):sr,[hn,Oe]=i9(`${Ue}${Ir}`);for(const Et of hn)Tt(Et);Ue=Oe,ht=!1}function Tt(sr){if(sr===""){yr();return}if(sr.startsWith(":")){ge&&ge(sr.slice(sr.startsWith(": ")?2:1));return}const Ir=sr.indexOf(":");if(Ir!==-1){const hn=sr.slice(0,Ir),Oe=sr[Ir+1]===" "?2:1,Et=sr.slice(Ir+Oe);Fe(hn,Et,sr);return}Fe(sr,"",sr)}function Fe(sr,Ir,hn){switch(sr){case"event":Jt=Ir;break;case"data":_t=`${_t}${Ir}
+import{a3 as qk,a4 as Ks,m as Of,r as Zt,a5 as Ta,U as t1,b as _h,V as bg,C as zr,D as Fn,E as or,u as Ti,J as _s,K as lc,L as xa,R as r1,_ as zu,l as Iu,a6 as n1,f as wA,w as i1,x as vn,v as Qr,F as Fr,G as Ya,a7 as Ig,Q as qs,Z as mu,M as ys,n as XI,H as Ma,I as Ca,a8 as X5,N as wh,O as Bh,a9 as Wk,aa as Kk,ab as $5,ac as zk,ad as Vk}from"./index-d61ae909.js";import{a as U5,d as Zk,q as Xk}from"./Agent-74a5108b.js";import{p as $k}from"./icon-chart-38e5438e.js";import{a as JI}from"./auth-54229761.js";import{a as xB,u as e9}from"./index-ace0d5e4.js";const SB="/assets/icon-user-007bea0f.jpg",Vp="/assets/icon-picture-144a065f.png";var t9=Object.defineProperty,r9=(D,U,K)=>U in D?t9(D,U,{enumerable:!0,configurable:!0,writable:!0,value:K}):D[U]=K,PI=(D,U,K)=>r9(D,typeof U!="symbol"?U+"":U,K);class j5 extends Error{constructor(U,K){super(U),PI(this,"type"),PI(this,"field"),PI(this,"value"),PI(this,"line"),this.name="ParseError",this.type=K.type,this.field=K.field,this.value=K.value,this.line=K.line}}function dB(D){}function n9(D){const{onEvent:U=dB,onError:K=dB,onRetry:ee=dB,onComment:ge}=D;let Ue="",ht=!0,ut,_t="",Jt="";function ar(sr){const Ir=ht?sr.replace(/^\xEF\xBB\xBF/,""):sr,[hn,Oe]=i9(`${Ue}${Ir}`);for(const Et of hn)Tt(Et);Ue=Oe,ht=!1}function Tt(sr){if(sr===""){yr();return}if(sr.startsWith(":")){ge&&ge(sr.slice(sr.startsWith(": ")?2:1));return}const Ir=sr.indexOf(":");if(Ir!==-1){const hn=sr.slice(0,Ir),Oe=sr[Ir+1]===" "?2:1,Et=sr.slice(Ir+Oe);Fe(hn,Et,sr);return}Fe(sr,"",sr)}function Fe(sr,Ir,hn){switch(sr){case"event":Jt=Ir;break;case"data":_t=`${_t}${Ir}
 `;break;case"id":ut=Ir.includes("\0")?void 0:Ir;break;case"retry":/^\d+$/.test(Ir)?ee(parseInt(Ir,10)):K(new j5(`Invalid \`retry\` value: "${Ir}"`,{type:"invalid-retry",value:Ir,line:hn}));break;default:K(new j5(`Unknown field "${sr.length>20?`${sr.slice(0,20)}…`:sr}"`,{type:"unknown-field",field:sr,value:Ir,line:hn}));break}}function yr(){_t.length>0&&U({id:ut,event:Jt||void 0,data:_t.endsWith(`
 `)?_t.slice(0,-1):_t}),ut=void 0,_t="",Jt=""}function Le(sr={}){Ue&&sr.consume&&Tt(Ue),ut=void 0,_t="",Jt="",Ue=""}return{feed:ar,reset:Le}}function i9(D){const U=[];let K="";const ee=D.length;for(let ge=0;ge<ee;ge++){const Ue=D[ge];Ue==="\r"&&D[ge+1]===`
 `?(U.push(K),K="",ge++):Ue==="\r"||Ue===`

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/assets/index-fe580f51.js


+ 1 - 1
dist/assets/loading-476fc16a.js → dist/assets/loading-f544a88e.js

@@ -1 +1 @@
-import{r as a}from"./index-e7ddf4c4.js";function l(e=!1){const o=a(e);return{loading:o,setLoading:t=>{o.value=t},toggle:()=>{o.value=!o.value}}}export{l as u};
+import{r as a}from"./index-d61ae909.js";function l(e=!1){const o=a(e);return{loading:o,setLoading:t=>{o.value=t},toggle:()=>{o.value=!o.value}}}export{l as u};

+ 2 - 2
dist/index.html

@@ -5,8 +5,8 @@
         <link rel="icon" href="/logo.svg" />
         <meta name="viewport" content="width=device-width, initial-scale=1.0" />
         <title>大模型系统</title>
-      <script type="module" crossorigin src="/assets/index-e7ddf4c4.js"></script>
-      <link rel="stylesheet" href="/assets/index-2417f207.css">
+      <script type="module" crossorigin src="/assets/index-d61ae909.js"></script>
+      <link rel="stylesheet" href="/assets/index-146af53f.css">
     </head>
     <body>
         <div id="app"></div>

+ 40 - 43
src/components/DialogWrap.vue

@@ -98,8 +98,7 @@
             </p>
           </div>
           <div class="dialog-footer" v-else>
-            <p v-if="item.answer" v-html="item.answer"></p>
-
+            <span v-html="item.answer"></span>
           </div>
           <div v-if="(type === 'knowledge' || type === 'knowledgeQuiz') && knowledgeList.length > 0"
             class="knowledge-wrap">
@@ -138,6 +137,44 @@
               </div>
             </section>
           </div>
+
+          <!-- 历史记录的引用来源 -->
+          <div v-if="item.reference && item.reference.chunks" class="knowledge-wrap">
+            <header>
+              <p>来源</p>
+              <!-- TODO详情暂时注释 -->
+              <!-- <p @click="goKnowledge">查看全部关联 ></p> -->
+            </header>
+            <section>
+              <div v-for="(knowledge, knowledgeIndex) in item.reference.chunks" :key="knowledgeIndex">
+                <a-popover :title="knowledge.docnm_kwd" position="left">
+                  <div>
+                    <span>{{ knowledgeIndex + 1 }}</span>
+                    <span>{{ knowledge.docnm_kwd }}</span>
+                  </div>
+                  <template #content>
+                    <div class="knowledge-detail">
+                      <div class="knowledge-content">
+                        {{ knowledge.content_ltks }}
+                      </div>
+                      <div class="knowledge-footer">
+                        <p>检索片段</p>
+                        <p>
+                          <span v-for="(content, contentIndex) in knowledge.content_ltks[0]" :key="contentIndex"
+                            :class="{ active: knowledge.page === contentIndex }" @click="() => {
+                              knowledge.page = contentIndex;
+                            }
+                              ">{{ contentIndex + 1 }}</span>
+                        </p>
+                        <!-- TODO详情暂时注释 -->
+                        <!-- <p @click="goKnowledge(knowledge.id)">查看详情></p> -->
+                      </div>
+                    </div>
+                  </template>
+                </a-popover>
+              </div>
+            </section>
+          </div>
           <div v-if="item.file" class="paper-wrap" @click="downloadFile(item.file.file_url)">
             <img src="@/assets/question/excel.svg" v-if="type === 'excel'" />
             <img src="@/assets/question/word.svg" v-else />
@@ -204,49 +241,9 @@ export default defineComponent({
   },
   props: ["open", "suggestions", "isSetting", "readonly", "type", "list", "agentId", "dialogId", 'reference'],
   setup(props, { emit }) {
-    console.log('type', props.type)
     const knowledgeList = ref([]);
     const DOCUMENT_RESULT = {
-      type: "document",
-      text: "谷歌知识库",
-      status: "loaded",
-      data: {
-        title: "AI Agent的论文",
-        documents: [
-          {
-            type: "PDF",
-            title: "科比的传奇一生,你知道多少?",
-            list: [
-              {
-                title: "P1",
-                content:
-                  "科比·布莱恩特(Kobe Bryant),1978年8月23日出生,2020年1月26日不幸逝世,是美国著名的职业篮球运动员,司职得分后卫/小前锋。他的NBA生涯全部在洛杉矶湖人队度过,共获得5次NBA总冠军、1次NBA常规赛MVP、2次NBA总决赛MVP"
-              },
-              {
-                title: "P2",
-                content:
-                  "科比·布莱恩特(Kobe Bryant),1978年8月23日出生,2020年1月26日不幸逝世,是美国著名的职业篮球运动员,司职得分后卫/小前锋。他的NBA生涯全部在洛杉矶湖人队度过,共获得5次NBA总冠军、1次NBA常规赛MVP、2次NBA总决赛MVP"
-              }
-            ]
-          },
-          {
-            type: "PDF",
-            title: "科比的传奇一生,你知道多少?",
-            list: [
-              {
-                title: "P1",
-                content:
-                  "科比·布莱恩特(Kobe Bryant),1978年8月23日出生,2020年1月26日不幸逝世,是美国著名的职业篮球运动员,司职得分后卫/小前锋。他的NBA生涯全部在洛杉矶湖人队度过,共获得5次NBA总冠军、1次NBA常规赛MVP、2次NBA总决赛MVP"
-              },
-              {
-                title: "P2",
-                content:
-                  "科比·布莱恩特(Kobe Bryant),1978年8月23日出生,2020年1月26日不幸逝世,是美国著名的职业篮球运动员,司职得分后卫/小前锋。他的NBA生涯全部在洛杉矶湖人队度过,共获得5次NBA总冠军、1次NBA常规赛MVP、2次NBA总决赛MVP"
-              }
-            ]
-          }
-        ]
-      }
+
     };
     const { helper, ajax } = inject("$global");
     const userName = ref(helper.read("userName") || "");

+ 1 - 1
src/components/Slider.vue

@@ -248,7 +248,7 @@ export default defineComponent({
       helper.goLink("/login");
     }
     const handleClick = (id, title) => {
-      emit("select-nav", { id: id, title: title });
+      emit("select-nav", { id, title });
     };
     const logout = () => {
       helper.reset();

+ 7 - 7
src/views/Index.vue

@@ -17,9 +17,9 @@
                 </div>
                 <swiper class="the-swiper-wrap" :slides-per-group="number" :slides-per-view="number" :space-between="10"
                     @swiper="onSwiper">
-                    <swiper-slide v-for="(item, key) in slider" :key="key" width="230">
-                        <div class="swiper-item" @mouseover="onMouseover(key)" @mouseleave="onMouseleave"
-                            @click="handleClick(key)">
+                    <swiper-slide v-for="item in slider" :key="item.id" width="230">
+                        <div class="swiper-item" @mouseover="onMouseover(item.id)" @mouseleave="onMouseleave"
+                            @click="handleClick(item.id, item.title)">
                             <div>
                                 <img :src="getAssetURL(item.img)" width="48" />
                                 <p>{{ item.title }}</p>
@@ -65,15 +65,15 @@ export default defineComponent({
             useSwiper.slideTo(props.number * page.value);
         };
         const onMouseover = (key) => {
-            title.value = config.slider[key].title;
-            desc.value = config.slider[key].desc;
+            title.value = config.slider.find((item) => item.id === key).title;
+            desc.value = config.slider.find((item) => item.id === key).desc;
         };
         const onMouseleave = () => {
             title.value = config.defaultTitle;
             desc.value = config.defaultDesc;
         };
-        const handleClick = (index) => {
-            emit("select-nav", index);
+        const handleClick = (id, title) => {
+            emit("select-nav", { id, title });
         };
         return {
             onSwiper,

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio