1 |
- import{J as i,K as Ce,r as ie,o,N as l,a as e,O,Q as R,V as me,W as U,X as q,Y as A,b as I,w as se,Z as ae,c as mt,$,a0 as ss,a1 as V,v as J,d as yt,a2 as as,a3 as fe,H as _t,a4 as kt,a5 as We,a6 as Ue,a7 as os,a8 as ze,a9 as je,aa as Se,ab as ls,ac as ns,ad as F,ae as Qe,af as is,ag as rs,ah as cs,ai as us,aj as ds,ak as ft,al as vs,am as ps,an as gs,ao as hs}from"./vendor-BfKWghV4.js";import{_ as we}from"./index-CUN88rPH.js";const ms="/assets/logoc-yCLvmkFc.png",fs="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAyBJREFUWEftlkmojmEUx3//naRYmRVRZIiiDCVTRBky3UwLd8MGa4pcQ7F2bdiQTBnLEBaGUrhFkUth4ZZrXLkb7I733J7v9tzXO9zvpVh46u3re9/nnPN/znPO/3/EX16qGt/MZgP++Lon6V4VX78L4G4IOuc/gD+aATNbDewHVkpqrXK3NRszGwucA/ZIOp/2lVkDZvYGGAW8ANbEIMysPzAeGAdMDQ5bwt5WSV8ygvve15JG9xSAo74IjEkCnZfU4IZm1gxsKcnIYUlbw34/uWfzFbAqK5u5XRBS1+TBzWw5cAzoGwVv8/YL/70dh0ffOoBGSZcTPw5ib95VlrahmU0GHkfOr3l9SPK0dy0z8+vYmexdHL2eIulJUcZ6AuA9MDg4acgqpBQQT7mf2tcHSUMqAzAzP9G+4KD0NFHxxVnbJck7KnMV1cBA4GOwOippc0nxdftsZkeSDGwKLwdJ+pRlXwRgYdJmN4LRDEkP6wQwHXgQbBZJupkLIAhL13dnNTPbDhwA2iUNqyd4dBXvgKHADkkHs+J0ZsDMmpKf3TVDSTKzM05CwBlJ6yoCOJ1wwNqET85KWmtJoMiPM2NTEYCTwPqkv49LaqwIwLljI3BK0oYiADVd74wTrsDZ7FDioE3SiIoA3gaC2iapOfcKspyb2Vzgdvg2LU08ZYACMT0K++ZJulNvF7jofA5G1xJGW1IWNP6eMOjViBUHxCIV7ytkwpT4lLJgVP0xG3aJU10ZiJx9jUSolA1T2tEhqV9R5nqiBa6ElyInR0NndCMmM3Pi8YqvsZ+brABaJH3IA1EmxwckLQunuhKJkvtrB+4HxzMD4dTieMClyUT1HLjuhFZXEUZjlE8y8UASi1PeoTrFx8xcS04A84HvXpBZIH7JQCq4j2RefC+jmnDHk8IzMbx/Bjz1JxYdM5sF+PzQB/gBjExfR95MWBskuwVPtVkvSe7Uqby3pG85fOIgXIg8AzVe6dpaWAPxydPOQ6ZqI9ncounZr6NuOS4jnQDAr8jXhKrje2kb5gH5FwAsCCO3Y7wg6VZZ1ioxYRWn9dj8BApzYTC98kdgAAAAAElFTkSuQmCC",ws="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABFNJREFUWEe1V12IVVUU/taeh6keegismEwmGCPP3ntyKMpRoUas6A+xKCoxKmkyLdLChwizP0KiVBSnsohoaKQ/kQiL0hSissCXu9eemPGlUIgiCqa3GWav7rqcO4zjnTlnxtuGy92c++1vfXud9XcJJVeWZQ8R0TYiOsTMG0seK4TRTAhr7UUAHgTwFBG1K1ZEBmKMawqZSwKmFeC9f0BEtgO4POd6C8B6AMuY+YeS/IWwhgK894+JiBrUVUkp3WmM+QXAMDN3FbLOAnCWAO/90yLyRs7Rp+/bWruJiHYCeI6ZX50FfyH0DAHe+60i8lJ+6kVmfkH31to9RPSEiPTGGN8pZJ0FYEJAZ2fnkpTSj3mgbY8xPlvncc59CuBuIlodQjg4C/5C6IQA59wHANY2inLn3NcAbgJwCzPrvmmrJsBau4KIjujeGLOkUqn8NNmCc24/gPs0JZm5v2nWAdQEOOc+q0b7XUQ0EEI4K8frMQBgCzO/3lQB3vuVIvJNTnozM9f3E3accxqM2wD0M7MWpqYtstZuIKK9InIkxriyEbO1NiOiCOAPZr60adb1FXjvd4rIJhF5P8b48HTkzrnvASxNKa0aHBz8vFkiyDn3BYDbieiVEMLWGQTUXoMGawihoafmIkoFDANYCGAdM783HYk2JiLS7OgQkUdjjO/OxeDUMypA8oc9zHxsJlLn3JMAdiuGiG4LIXx5riJUwCkA84no3hDCJ0WEzrmjAG5UHDPP2M6LuGoXcc5pa+0WkY0xxr6iQ1mWLTDG/DYJdzUzV4rOTfe7puHH1RS7pypmovkUkWVZttwY810ddy4xoQJ2ENHmqluPMXNPkfH6711dXW1jY2MfAViex8SR8fHx3WVStNpblqrHjTGntQ7cKiKHlMQYc0mlUvmzrIju7u7zR0ZGdhFR7yRv/AXgaDVIf9bCpR8iuiClNK9a8OYBUG8vVryI/FrvBSc1vQBsYOY3ywqo47z316SUeo0xd4hIW4nzmsKPpJTW1QVo79dJZ4iIukMI/5QgaQjJsuw6IlpmjFmQUro4v/WIiPwuIifUM0S0X0QujDFeURPgvb9KRHTm01U6GOci0lr7IRHpwLs5xrhr8kBS98L/JmLSbHlKRBbHGP8+o5A45w4AWJ3frLAyzsYDzrm1AHTq0iq6JoQwUNtPJXHOnQZwWf68KROQ914H2j258fUhhLfrdhuWUmvtcSK6Pk+VfcaYfSGEE7O5sWI7OjpaW1tbtxDRy7nxZ0IIOybzTFvLnXOPA5gozdX0UiGHR0dHvxoaGvp3JjGLFi1a2NLSsoaI7q8OuVfmxp8PIdSElBKgIGttT7WIvAbg2inntGsOikisNrHBlFK7MaadiNpERF/fCgDn5Wf6jTF9lUrleCPRpbpZHkA6LZUu1QAOiMjeGOO3M3mrlIA6gfd+VUrphrx9z8//uOq3VtLhanSfTCmdNMYMhxAOl4mZ/wA1oMF+HdM3kAAAAABJRU5ErkJggg==",ys="/assets/avter-DUp3luTf.png",wt="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1735280866862'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='17804'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='32'%20height='32'%3e%3cpath%20d='M474%20152m8%200l60%200q8%200%208%208l0%20704q0%208-8%208l-60%200q-8%200-8-8l0-704q0-8%208-8Z'%20fill='%2381bdfe'%20p-id='17805'%3e%3c/path%3e%3cpath%20d='M168%20474m8%200l672%200q8%200%208%208l0%2060q0%208-8%208l-672%200q-8%200-8-8l0-60q0-8%208-8Z'%20fill='%2381bdfe'%20p-id='17806'%3e%3c/path%3e%3c/svg%3e",_s="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1735280492544'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='4326'%20width='32'%20height='32'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath%20d='M442.514286%2073.142857c82.529524%2064.24381%20140.239238%20126.610286%20173.129143%20187.099429%2031.158857%2057.295238%2043.666286%20115.907048%2037.546666%20175.835428l-1.219047%209.996191%206.095238-4.973715a174.055619%20174.055619%200%200%200%2049.249524-69.607619l2.681904-7.411809%207.704381-23.04c82.285714%2055.734857%20123.440762%20150.064762%20123.440762%20283.062857C841.142857%20823.515429%20665.795048%20950.857143%20521.654857%20950.857143c-144.11581%200-308.224-85.333333-334.750476-263.875048-26.550857-178.541714%2083.480381-261.90019%20158.427429-378.197333C395.288381%20231.253333%20427.690667%20152.697905%20442.514286%2073.142857z%20m33.718857%20154.575238c-17.554286%2041.447619-39.424%2082.407619-65.536%20122.904381l-8.313905%2012.653714c-8.411429%2012.507429-17.310476%2024.941714-28.818286%2040.374858l-40.96%2054.467047c-63.634286%2086.869333-80.944762%20136.021333-68.851809%20217.526857%2017.92%20120.441905%20128.341333%20197.778286%20257.901714%20197.778286%20120.905143%200%20241.785905-110.933333%20241.785905-249.344%200-61.976381-9.825524-111.323429-29.110857-149.699048-8.240762%209.411048-17.237333%2018.285714-26.965334%2026.59962l-159.085714%20130.023619%2026.697143-195.364572c6.41219-46.811429-2.462476-92.208762-27.648-138.483809-13.214476-24.30781-31.98781-49.737143-56.368762-76.166096l-8.338286-8.850285-6.387809%2015.579428z'%20p-id='4327'%20fill='%23ff4d4f'%3e%3c/path%3e%3c/svg%3e",ks="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1735287774232'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1465'%20width='16'%20height='16'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath%20d='M563.8%20512l262.5-312.9c4.4-5.2%200.7-13.1-6.1-13.1h-79.8c-4.7%200-9.2%202.1-12.3%205.7L511.6%20449.8%20295.1%20191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8%200-10.5%207.9-6.1%2013.1L459.4%20512%20196.9%20824.9c-4.4%205.2-0.7%2013.1%206.1%2013.1h79.8c4.7%200%209.2-2.1%2012.3-5.7l216.5-258.1%20216.5%20258.1c3%203.6%207.5%205.7%2012.3%205.7h79.8c6.8%200%2010.5-7.9%206.1-13.1L563.8%20512z'%20p-id='1466'%3e%3c/path%3e%3c/svg%3e",bs="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1735280690063'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8850'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='32'%20height='32'%3e%3cpath%20d='M1022.955204%20556.24776c0%20100.19191-81.516572%20181.698249-181.718715%20181.698249l-185.637977%200c-11.2973%200-20.466124-9.168824-20.466124-20.466124%200-11.307533%209.168824-20.466124%2020.466124-20.466124l185.637977%200c77.628008%200%20140.786467-63.148226%20140.786467-140.766001%200-77.423347-62.841234-140.448776-140.203182-140.766001-0.419556%200.030699-0.828878%200.051165-1.248434%200.061398-5.935176%200.153496-11.665691-2.302439-15.666818-6.702656-4.001127-4.41045-5.884011-10.345626-5.157463-16.250102%201.330298-10.806113%201.944282-19.760043%201.944282-28.192086%200-60.763922-23.658839-117.874641-66.617234-160.833035-42.968627-42.958394-100.089579-66.617234-160.843268-66.617234-47.368844%200-92.742241%2014.449084-131.208321%2041.781592-37.616736%2026.738991-65.952084%2063.700811-81.925894%20106.884332-2.425236%206.54916-8.012488%2011.399631-14.827707%2012.893658-6.815219%201.483794-13.927197-0.603751-18.859533-5.536087-19.289322-19.340487-44.943608-29.982872-72.245418-29.982872-56.322773%200-102.146425%2045.813419-102.146425%20102.125959%200%200.317225%200.040932%200.982374%200.092098%201.627057%200.061398%200.920976%200.122797%201.831718%200.153496%202.762927%200.337691%209.465582-5.863545%2017.928325-15.001669%2020.455891-32.356942%208.943696-61.541635%2028.550243-82.181721%2055.217602-21.305235%2027.516704-32.571836%2060.508096-32.571836%2095.41307%200%2086.244246%2070.188572%20156.422585%20156.443052%20156.422585l169.981393%200c11.2973%200%2020.466124%209.15859%2020.466124%2020.466124%200%2011.2973-9.168824%2020.466124-20.466124%2020.466124l-169.981393%200c-108.828614%200-197.3753-88.536452-197.3753-197.354833%200-44.053332%2014.223956-85.712127%2041.126676-120.473839%2022.809495-29.450752%2053.897537-52.086285%2088.710414-64.816215%205.065366-74.322729%2067.149353-133.2447%20142.751215-133.2447%2028.386514%200%2055.504128%208.217149%2078.651314%2023.52581%2019.657712-39.868009%2048.842405-74.169233%2085.497233-100.212376%2045.434795-32.295544%2099.004875-49.354058%20154.918325-49.354058%2071.692832%200%20139.087778%2027.915793%20189.782368%2078.600149%2050.694589%2050.694589%2078.610382%20118.089535%2078.610382%20189.782368%200%203.704368-0.102331%207.470135-0.296759%2011.368932C952.633602%20386.245901%201022.955204%20463.188294%201022.955204%20556.24776z'%20p-id='8851'%3e%3c/path%3e%3cpath%20d='M629.258611%20589.106122c-3.990894%203.990894-9.230222%205.996574-14.46955%205.996574s-10.478655-2.00568-14.46955-5.996574l-67.087954-67.077721%200%20358.689289c0%2011.307533-9.15859%2020.466124-20.466124%2020.466124-11.307533%200-20.466124-9.15859-20.466124-20.466124l0-358.689289-67.087954%2067.077721c-7.992021%207.992021-20.947078%207.992021-28.939099%200s-7.992021-20.957311%200-28.949332l102.023628-102.013395c7.992021-7.992021%2020.947078-7.992021%2028.939099%200l102.023628%20102.013395C637.250632%20568.148811%20637.250632%20581.114101%20629.258611%20589.106122z'%20p-id='8852'%3e%3c/path%3e%3c/svg%3e",As="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1735280632344'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='7700'%20width='32'%20height='32'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath%20d='M924.672%20126.976q36.864%2036.864%2054.784%2082.432t17.92%2093.696-17.92%2093.696-54.784%2082.432l-392.192%20389.12q-36.864%2036.864-90.624%2061.44t-113.664%2028.672-122.368-16.384-115.712-73.728q-52.224-52.224-72.704-113.152t-16.384-121.344%2028.16-113.664%2060.928-90.112l348.16-345.088q9.216-9.216%2027.136-4.608t27.136%2013.824q8.192%209.216%2013.312%2027.136t-4.096%2027.136l-347.136%20344.064q-27.648%2027.648-46.08%2064.512t-21.504%2078.848%2012.288%2084.992%2055.296%2082.944q35.84%2035.84%2079.36%2050.688t86.528%2012.288%2081.92-18.944%2066.56-44.032l391.168-388.096q27.648-27.648%2039.424-57.344t11.264-58.88-13.824-56.832-36.864-51.2q-44.032-43.008-98.816-40.448t-110.08%2057.856l-353.28%20351.232q-23.552%2023.552-23.04%2052.224t18.944%2047.104q22.528%2022.528%2051.712%2018.432t47.616-22.528l320.512-318.464q9.216-9.216%2027.136-4.608t27.136%2013.824%2014.336%2027.136-4.096%2027.136l-321.536%20318.464q-36.864%2036.864-70.656%2051.2t-63.488%2012.8-55.296-15.872-47.104-34.816q-17.408-16.384-31.232-41.984t-15.872-56.32%2010.752-65.536%2049.664-70.656q18.432-18.432%2032.768-33.792%2012.288-13.312%2023.04-23.552t11.776-11.264l285.696-284.672q36.864-36.864%2080.384-57.856t88.576-24.064%2088.576%2012.288%2080.384%2052.224z'%20p-id='7701'%20fill='%231e1e1e'%3e%3c/path%3e%3c/svg%3e",Ss="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1735280808939'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='15804'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='32'%20height='32'%3e%3cpath%20d='M873.8816%20150.1184C973.9264%20250.2656%201024%20370.8928%201024%20512c0%20141.2096-50.0736%20261.8368-150.1184%20361.8816C773.7344%20973.9264%20653.1072%201024%20512%201024c-141.1072%200-261.7344-50.0736-361.8816-150.1184C50.0736%20773.8368%200%20653.2096%200%20512c0-141.1072%2050.0736-261.7344%20150.1184-361.8816C250.2656%2050.0736%20370.8928%200%20512%200%20653.1072%200%20773.7344%2050.0736%20873.8816%20150.1184zM819.712%20526.7456%20507.0848%20211.6608%20192%20526.7456l56.6272%2054.1696%20219.0336-219.0336%200%20477.4912%2078.7456%200L546.4064%20361.8816l219.0336%20219.0336L819.712%20526.7456z'%20p-id='15805'%20fill='%234096ff'%3e%3c/path%3e%3c/svg%3e",Cs="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1735295375625'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3239'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='16'%20height='16'%3e%3cpath%20d='M659.748571%20245.272381l-51.687619-51.687619-318.439619%20318.585905%20318.415238%20318.268952%2051.712-51.736381-266.703238-266.556952z'%20p-id='3240'%3e%3c/path%3e%3c/svg%3e",xs="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1735295357873'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='2254'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='16'%20height='16'%3e%3cpath%20d='M605.086476%20512.146286L338.358857%20245.272381l51.760762-51.687619%20318.415238%20318.585905L390.095238%20830.415238l-51.687619-51.736381z'%20p-id='2255'%3e%3c/path%3e%3c/svg%3e",Is="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1735287324782'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1522'%20width='32'%20height='32'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath%20d='M616.746667%2085.333333L896%20347.904V853.333333a85.333333%2085.333333%200%200%201-85.333333%2085.333334H213.333333a85.333333%2085.333333%200%200%201-85.333333-85.333334V170.666667a85.333333%2085.333333%200%200%201%2085.333333-85.333334h403.413334z%20m244.352%20295.381334L581.802667%20118.186667v177.237333a85.333333%2085.333333%200%200%200%2085.333333%2085.333333h193.962667z%20m-107.264%2076.373333h-49.152l-79.488%20227.157333-109.354667-227.114666h-13.226667l-110.506666%20226.688-77.824-226.688H265.130667l113.749333%20328.192h13.226667l117.12-239.36%20114.858666%20239.36h13.781334l115.968-328.192z'%20fill='%235197e8'%20p-id='1523'%3e%3c/path%3e%3c/svg%3e",Ds="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1735378230313'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3218'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='16'%20height='16'%3e%3cpath%20d='M784%20371.2c-16-25.6-35.2-44.8-44.8-54.4-9.6-9.6-28.8-9.6-38.4%203.2-9.6%209.6-9.6%2028.8%203.2%2038.4%203.2%203.2%206.4%206.4%209.6%209.6%209.6%209.6%2019.2%2022.4%2025.6%2035.2%2057.6%2086.4%2057.6%20179.2-38.4%20278.4-9.6%209.6-9.6%2028.8%200%2038.4%209.6%209.6%2028.8%209.6%2038.4%200C851.2%20598.4%20851.2%20476.8%20784%20371.2z'%20p-id='3219'%3e%3c/path%3e%3cpath%20d='M896%20246.4c-16-25.6-35.2-48-54.4-70.4-9.6-12.8-19.2-19.2-25.6-25.6-9.6-9.6-28.8-9.6-38.4%203.2-9.6%209.6-9.6%2028.8%203.2%2038.4%203.2%203.2%2012.8%209.6%2022.4%2022.4%2016%2019.2%2032%2038.4%2048%2064%20105.6%20160%20105.6%20336-70.4%20518.4-9.6%209.6-9.6%2028.8%200%2038.4%209.6%209.6%2028.8%209.6%2038.4%200C1014.4%20630.4%201014.4%20425.6%20896%20246.4z'%20p-id='3220'%3e%3c/path%3e%3cpath%20d='M483.2%2086.4l-217.6%20185.6-108.8%200c-57.6%200-108.8%2048-108.8%20108.8l0%20272c0%2060.8%2048%20108.8%20108.8%20108.8l96%200%20230.4%20182.4c54.4%2041.6%20105.6%2016%20105.6-51.2l0-755.2C588.8%2067.2%20534.4%2041.6%20483.2%2086.4zM534.4%20889.6c0%2022.4-3.2%2022.4-19.2%209.6l-236.8-185.6c-3.2-3.2-9.6-6.4-16-6.4l-105.6%200c-28.8%200-54.4-25.6-54.4-54.4l0-272c0-28.8%2025.6-54.4%2054.4-54.4l118.4%200c6.4%200%2012.8-3.2%2016-6.4l224-192c16-12.8%2016-12.8%2016%206.4L531.2%20889.6z'%20p-id='3221'%3e%3c/path%3e%3c/svg%3e",Ms="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAUVJREFUOE+l0z8snlEUBvCfxSZhwSpYxGCUGJAYLaSxaDcWg4EYJBKaSAxNDR0sLFIWEV2MTTA0MRrEUq0VSyUWMbknuW/y+vJ9n+JON+fPc57znHMa1H6dmMvudfypFtpQB+AALdn/D+MvAaxgGo+4Qx+Gc9IRztCMRmwme8QrMzjHPm7Rij1cZICe9J8o+T6k2N5KgCt8SckbJapN+X9fss1gAR21GAS1IYxUiPgz2Y8z9WcMQu2oPIZuXGILYd/NlSfzFKbQhd/4EUxCg6g4mPT4nCuE8teI0S1mgLXMph0xkVHMJ5FPygBfcYjo+wazmUlgROVvaEuJoUe0uFwAVGthFQM4zQz68QtL1VooBC7GWIj4MfX9KTu/p8SdWiIWADHG7WJBsrG8iUVc3THG4vzFw1sW6d2rXHkrrz6mSoD/Oucnp3ZSV0/fYroAAAAASUVORK5CYII=",Ze="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1736386332100'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3350'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='16'%20height='16'%3e%3cpath%20d='M923.04%20689.226667L515.786667%20281.973333a5.333333%205.333333%200%200%200-7.573334%200l-407.253333%20407.253334a5.333333%205.333333%200%200%200%200%207.573333l45.226667%2045.226667a5.333333%205.333333%200%200%200%207.573333%200l354.453333-354.453334a5.333333%205.333333%200%200%201%207.573334%200l354.453333%20354.453334a5.333333%205.333333%200%200%200%207.573333%200l45.226667-45.226667a5.333333%205.333333%200%200%200%200-7.573333z'%20p-id='3351'%3e%3c/path%3e%3c/svg%3e",Xe="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1736386047967'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='2366'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='16'%20height='16'%3e%3cpath%20d='M545.322667%20615.808L248.021333%20329.258667a33.706667%2033.706667%200%200%200-46.421333%200c-12.8%2012.373333-12.8%2032.384%200%2044.714666L544%20704l342.4-330.026667c12.8-12.373333%2012.8-32.341333%200-44.714666a33.706667%2033.706667%200%200%200-46.421333%200l-294.656%20286.549333z'%20fill='%23000000'%20p-id='2367'%3e%3c/path%3e%3c/svg%3e",Ts={class:"model-config"},$s=["src"],Es={class:"config-panel"},Us={class:"model-list"},zs={class:"model-header"},Ls={class:"model-title"},Ps={class:"model-form"},Vs={class:"form-item"},Gs={class:"form-item"},Ws={key:0,class:"form-item"},Os={class:"form-item"},Bs={class:"form-item"},Rs={class:"action-buttons"},qs={__name:"index",setup(m){const d=[{label:"主流模型",options:[{label:"ChatGPT",value:"chatgpt",endpoint:"https://api.openai.com/v1"},{label:"Claude",value:"claude",endpoint:"https://api.anthropic.com"},{label:"GPT-4",value:"gpt4",endpoint:"https://api.openai.com/v1"}]},{label:"开源模型",options:[{label:"DeepSeek",value:"deepseek",endpoint:"https://api.deepseek.com/v1"},{label:"Ollama",value:"ollama",endpoint:"http://localhost:11434"},{label:"ChatGLM",value:"chatglm",endpoint:"https://api.zhipuai.cn/v1"}]},{label:"国内模型",options:[{label:"阿里通义千问",value:"qianwen",endpoint:"https://dashscope.aliyuncs.com/api/v1"},{label:"百度文心一言",value:"wenxin",endpoint:"https://aip.baidubce.com/rpc/2.0/ai_custom/v1"},{label:"讯飞星火",value:"spark",endpoint:"https://spark-api.xf-yun.com/v1"}]},{label:"其他",options:[{label:"自定义模型",value:"custom",endpoint:""}]}],g=i(!1),b=i(!1),p=i(!1),y=i([{type:"",key:"",endpoint:"",name:""}]),n=i([]),f=async()=>{p.value=!0;try{const u=(await V.get("https://aiapi.raycos.com.cn/api/models")).data;if(console.log(u),u.code===2e3){const _=u.data.models.map(D=>({label:D.name,value:D.type,description:D.description||""}));n.value=[{label:"API模型",options:_},...d]}}catch(r){console.error("获取模型列表失败:",r),J.error("获取模型列表失败")}finally{p.value=!1}},Q=r=>({chatgpt:"请输入 OpenAI API Key",gpt4:"请输入 OpenAI API Key",claude:"请输入 Anthropic API Key",deepseek:"请输入 DeepSeek API Key",qianwen:"请输入阿里云 API Key",wenxin:"请输入百度 API Key",spark:"请输入讯飞 API Key",chatglm:"请输入智谱 API Key",ollama:"可选:请输入访问密钥",custom:"请输入 API Key"})[r]||"请输入 API Key",Y=(r,u)=>{const _=y.value[u],D=n.value.flatMap(H=>H.options).find(H=>H.value===r);D&&(_.endpoint=D.endpoint,_.name=D.label)},E=()=>{g.value=!g.value},x=()=>{y.value.push({type:"",key:"",endpoint:"",name:""})},w=r=>{if(y.value.length===1){J.warning("至少保留一个模型配置");return}y.value.splice(r,1)},G=r=>!(!r.type||!r.key||r.type==="ollama"&&!r.endpoint||r.type==="custom"&&(!r.name||!r.endpoint)),z=async()=>{if(y.value.some(u=>!G(u))){J.error("请填写完整的模型信息");return}b.value=!0;try{localStorage.setItem("modelConfig",JSON.stringify(y.value)),J.success("配置保存成功")}catch{J.error("配置保存失败")}finally{b.value=!1}},h=()=>{const r=localStorage.getItem("modelConfig");r&&(y.value=JSON.parse(r))};return Ce(async()=>{h(),await f()}),(r,u)=>{const _=ie("a-button"),D=ie("a-select-option"),H=ie("a-select-opt-group"),de=ie("a-select"),Le=ie("a-input-password"),ye=ie("a-input");return o(),l("div",Ts,[e("div",{class:"config-header",onClick:E},[u[0]||(u[0]=e("img",{src:Ms,alt:"setting",class:"config-icon"},null,-1)),u[1]||(u[1]=e("span",null,"模型配置",-1)),e("img",{src:g.value?O(Ze):O(Xe),alt:"toggle",class:"toggle-icon"},null,8,$s)]),R(e("div",Es,[e("div",Us,[(o(!0),l(U,null,q(y.value,(W,Z)=>(o(),l("div",{key:Z,class:"model-item"},[e("div",zs,[e("span",Ls,"模型 "+A(Z+1),1),I(_,{type:"link",danger:"",size:"small",onClick:T=>w(Z)},{default:se(()=>u[2]||(u[2]=[ae("删除")])),_:2},1032,["onClick"])]),e("div",Ps,[e("div",Vs,[u[3]||(u[3]=e("label",null,"选择模型",-1)),I(de,{style:{width:"200px"},value:W.type,"onUpdate:value":T=>W.type=T,placeholder:"请选择模型",onChange:T=>Y(T,Z)},{default:se(()=>[(o(!0),l(U,null,q(n.value,T=>(o(),mt(H,{key:T.label,label:T.label},{default:se(()=>[(o(!0),l(U,null,q(T.options,ve=>(o(),mt(D,{key:ve.value,value:ve.value},{default:se(()=>[ae(A(ve.label),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["label"]))),128))]),_:2},1032,["value","onUpdate:value","onChange"])]),W.type?(o(),l(U,{key:0},[e("div",Gs,[u[4]||(u[4]=e("label",null,"API Key",-1)),I(Le,{value:W.key,"onUpdate:value":T=>W.key=T,placeholder:Q(W.type)},null,8,["value","onUpdate:value","placeholder"])]),W.type==="ollama"?(o(),l("div",Ws,[u[5]||(u[5]=e("label",null,"服务器地址",-1)),I(ye,{value:W.endpoint,"onUpdate:value":T=>W.endpoint=T,placeholder:"例如: http://localhost:11434"},null,8,["value","onUpdate:value"])])):$("",!0),W.type==="custom"?(o(),l(U,{key:1},[e("div",Os,[u[6]||(u[6]=e("label",null,"模型名称",-1)),I(ye,{value:W.name,"onUpdate:value":T=>W.name=T,placeholder:"请输入自定义模型名称"},null,8,["value","onUpdate:value"])]),e("div",Bs,[u[7]||(u[7]=e("label",null,"服务器地址",-1)),I(ye,{value:W.endpoint,"onUpdate:value":T=>W.endpoint=T,placeholder:"请输入API地址"},null,8,["value","onUpdate:value"])])],64)):$("",!0)],64)):$("",!0)])]))),128))]),I(_,{type:"dashed",block:"",class:"add-model-btn",onClick:x},{default:se(()=>[I(O(ss)),u[8]||(u[8]=ae(" 添加模型 "))]),_:1}),e("div",Rs,[I(_,{type:"primary",loading:b.value,onClick:z},{default:se(()=>u[9]||(u[9]=[ae(" 保存配置 ")])),_:1},8,["loading"])])],512),[[me,g.value]])])}}},Js=we(qs,[["__scopeId","data-v-e8e9ff38"]]),Ns=yt({name:"SearchResults",components:{FileSearchOutlined:as},props:{searchResults:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},total:{type:Number,default:0},message:{type:String,default:""},enableWebSearch:{type:Boolean,default:!0}},emits:["update:total","update:enableWebSearch"],setup(m,{emit:d}){const g=i([]),b=i(!1),p=i(""),y=i(!1),n=i(m.total),f=i(m.enableWebSearch);fe(()=>m.total,w=>{n.value=w}),fe(()=>m.searchResults,w=>{g.value=w,b.value=g.value.length<m.total},{immediate:!0}),fe(()=>m.message,w=>{w&&m.enableWebSearch&&(p.value=w)}),fe(()=>m.enableWebSearch,w=>{f.value=w,w||E()});const Q=w=>_t(w).format("YYYY-MM-DD"),Y=async()=>{if(!(!p.value.trim()||y.value||!m.enableWebSearch)){y.value=!0;try{const w=await V.post("https://aiapi.raycos.com.cn/api/web-search-results/",{query:p.value,num_results:20,page:1,page_size:20,engine:"bing"});console.log("API Response:",w.data),w.data&&w.data.code===200&&(g.value=w.data.data.result||[],console.log("Total Results:",w.data.data.total),n.value=w.data.data.total||0,d("update:total",w.data.data.total||0))}catch(w){console.error("Web search failed:",w),g.value=[],n.value=0,d("update:total",0)}finally{y.value=!1}}},E=()=>{p.value="",g.value=[],n.value=0,d("update:total",0)},x=()=>{f.value=!f.value,d("update:enableWebSearch",f.value)};return{displayResults:g,loading:m.loading,total:n,hasMore:b,formatDate:Q,searchQuery:p,isSearching:y,handleSearch:Y,clearSearch:E,isSearchEnabled:f,toggleSearch:x}}}),Ks={class:"search-results"},Fs={key:0,class:"results-list"},Ys={class:"result-title"},Hs=["href"],Qs={class:"result-url"},js={class:"result-snippet"},Zs={class:"result-meta"},Xs={class:"result-date"},ea={class:"result-source"},ta={key:0,class:"loading-more",ref:"loadingTrigger"},sa={key:0,class:"loading-spinner"},aa={key:1},oa={key:1,class:"no-results"};function la(m,d,g,b,p,y){return o(),l("div",Ks,[e("div",{class:"results-container",ref:"resultsContainer",onScroll:d[0]||(d[0]=(...n)=>m.handleScroll&&m.handleScroll(...n))},[m.displayResults.length>0?(o(),l("div",Fs,[(o(!0),l(U,null,q(m.displayResults,(n,f)=>(o(),l("div",{key:f,class:"result-item"},[e("h3",Ys,[e("a",{href:n.link,target:"_blank",rel:"noopener noreferrer"},A(n.title),9,Hs)]),e("p",Qs,A(n.link),1),e("p",js,A(n.snippet),1),e("div",Zs,[e("span",Xs,A(m.formatDate(n.date)),1),e("span",ea,A(n.source),1)])]))),128)),m.hasMore?(o(),l("div",ta,[m.loading?(o(),l("div",sa)):(o(),l("span",aa,"Loading more results..."))],512)):$("",!0)])):(o(),l("div",oa))],544)])}const na=we(Ns,[["render",la],["__scopeId","data-v-23d582dd"]]),ia="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAVZJREFUOE+l079Ll1EUBvDP/b73G9HeIISDUxiOtQTiEGFOCipE0BiELQ0KgoOgk/Rjk5zdGnL2L2hyMRIHocEpaGgsvfrq1feFF339Wni3e885z3mec58T3PCEXvWRJSwkrsy7MhB5h6cYqgEiH/EnMV83bgUoWA086vDymO9NBpEVPEsMZZBLAJHPGEhMYD9SZoBb3D9gNxdFFjGXuBMKpgJTjVnk4if4XSWfART8CNxO9FXv2yUrIXcoma4BjviCo/peM6iKPmTWibeRkVMyy2cAvaZ8IX4vsl/l343s/C9A1l837I9stUnYOP371Cahy0zJTGKw4EXgdejyqjwfWn0G07m+X80hVnlrGE1sFnzqsHvpGwvWAo8Lxv+yV1Puso6vh6x2eYPZQx72MtJwh+kWI2UPTHZ4fsC366w8igcNK2dp7xNj+NnqxOZy3WiZ/nXLTwAE1GVpm7M6FwAAAABJRU5ErkJggg==",ra={class:"voice-config"},ca=["src"],ua={class:"config-panel"},da={class:"config-item"},va={class:"voice-select-container"},pa=["value"],ga={class:"config-item"},ha={class:"slider-container"},ma={class:"slider-value"},fa={class:"config-item",style:{display:"flex","justify-content":"space-around"}},wa=["disabled"],ya=["disabled"],_a={__name:"index",setup(m){const d=kt(),g=i(!1),b=i([]),p=We({role:"",speed:1,language:"zh"}),y=i(!1),n=i(!1),f=i(null),Q=async()=>{try{const r=(await V.get("https://aiapi.raycos.com.cn/chatbot/current_voice_config")).data.data;if(console.log("Current config:",r),r&&r.voice_name&&b.value.length>0){const u=b.value.find(_=>_.name===r.voice_name);console.log("Matched voice:",u),u&&(p.role=u.id,p.speed=r.speed||1,p.language=u.language,w())}}catch(h){console.error("获取当前语音配置失败:",h)}},Y=async()=>{try{const r=(await V.get("https://aiapi.raycos.com.cn/chatbot/list_voices")).data.data.voices;b.value=Object.values(r).flat(),console.log("Voice list:",b.value),await Q()}catch(h){console.error("获取语音列表失败:",h)}},E=h=>({"zh-cn":"中文","en-us":"英文","ja-jp":"日语","ko-kr":"韩语"})[h]||h;Ce(()=>{Y()});const x=()=>{g.value=!g.value},w=()=>{d.commit("updateVoiceConfig",{...p})},G=async()=>{if(p.role){y.value=!0;try{const h=new FormData;h.append("voice_id",p.role),await V.post("https://aiapi.raycos.com.cn/switch_voice_config",h,{headers:{"Content-Type":"multipart/form-data"}})}catch(h){console.error("切换语音失败:",h),alert("语音切换失败")}finally{y.value=!1}}},z=async()=>{if(!(!p.role||n.value))try{n.value=!0;const r=(await V.get(`https://aiapi.raycos.com.cn/get_voice_preview?voice_id=${p.role}`)).data;if(r.code!==200)throw new Error(r.msg||"获取音频失败");f.value&&(f.value.pause(),f.value=null);let u;if(r.audio&&r.audio.startsWith("data:audio"))u=new Audio(r.audio);else if(r.audio_url){const D=r.audio_url.startsWith("http")?r.audio_url:`https://aiapi.raycos.com.cn${r.audio_url}`;u=new Audio(D)}else throw new Error("无效的音频数据");f.value=u,u.onended=()=>{n.value=!1,f.value=null},u.onerror=_=>{console.error("音频播放失败:",_),n.value=!1,f.value=null,alert("试听失败")},u.oncanplaythrough=async()=>{try{await u.play()}catch(_){console.error("播放音频失败:",_),n.value=!1,f.value=null,alert("播放失败")}}}catch(h){console.error("试听失败:",h),n.value=!1,alert(h.message||"试听失败")}};return Ue(()=>{f.value&&(f.value.pause(),f.value=null)}),(h,r)=>(o(),l("div",ra,[e("div",{class:"config-header",onClick:x},[r[2]||(r[2]=e("img",{src:ia,alt:"voice",class:"config-icon"},null,-1)),r[3]||(r[3]=e("span",null,"语音配置",-1)),e("img",{src:g.value?O(Ze):O(Xe),alt:"toggle",class:"toggle-icon"},null,8,ca)]),R(e("div",ua,[e("div",da,[r[4]||(r[4]=e("label",null,"语音角色",-1)),e("div",va,[R(e("select",{"onUpdate:modelValue":r[0]||(r[0]=u=>p.role=u),onChange:w},[(o(!0),l(U,null,q(b.value,u=>(o(),l("option",{key:u.id,value:u.id},A(u.name+"_"+u.gender)+" ("+A(E(u.language))+") ",9,pa))),128))],544),[[os,p.role]])])]),e("div",ga,[r[5]||(r[5]=e("label",null,"语速",-1)),e("div",ha,[R(e("input",{type:"range","onUpdate:modelValue":r[1]||(r[1]=u=>p.speed=u),min:"0.5",max:"2",step:"0.1",onChange:w},null,544),[[ze,p.speed]]),e("span",ma,A(p.speed)+"x",1)])]),e("div",fa,[e("button",{class:"preview-button",onClick:z,disabled:n.value},A(n.value?"播放中...":"试听"),9,wa),e("button",{class:"switch-button",onClick:G,disabled:y.value},A(y.value?"切换中...":"切换语音"),9,ya)])],512),[[me,g.value]])]))}},ka=we(_a,[["__scopeId","data-v-8bc2e758"]]),ba="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='64%2064%20896%20896'%20width='16'%20height='16'%20fill='currentColor'%3e%3cpath%20d='M832%2064H192c-17.7%200-32%2014.3-32%2032v832c0%2017.7%2014.3%2032%2032%2032h640c17.7%200%2032-14.3%2032-32V96c0-17.7-14.3-32-32-32zm-260%2072h96v209.9L621.5%20312%20572%20347.4V136zm220%20752H232V136h280v296.9c0%203.3%201%206.6%203%209.3a15.9%2015.9%200%200%200%2022.3%203.7l83.8-59.9%2081.4%2059.4c2.7%202%206%203.1%209.3%203.1%208.8%200%2016-7.2%2016-16V136h64v752z'/%3e%3c/svg%3e",Aa={class:"knowledge-config"},Sa=["src"],Ca={class:"config-panel"},xa={class:"knowledge-list"},Ia={class:"group-header"},Da={class:"checkbox-list"},Ma={class:"item-desc"},Ta={class:"action-buttons"},$a={__name:"index",setup(m){const d=i([]),g=i(!1),b=i(!1),p=We({product:[],tech:[],industry:[]}),y=()=>{g.value=!g.value},n=async()=>{b.value=!0;try{localStorage.setItem("knowledgeConfig",JSON.stringify(p)),J.success("知识库配置保存成功")}catch{J.error("知识库配置保存失败")}finally{b.value=!1}},f=()=>{const E=localStorage.getItem("knowledgeConfig");if(E){const x=JSON.parse(E);Object.keys(x).forEach(w=>{p[w]=x[w]})}},Q=async E=>{try{const x=new URLSearchParams;return x.append("page",1),x.append("kb_id",E),x.append("pageSize",9999),(await V.post("https://aiapi.raycos.com.cn/docType/selectTypeList",x,{headers:{"Content-Type":"application/x-www-form-urlencoded",Authorization:`JWT ${localStorage.getItem("token")}`}})).data.data||[]}catch(x){return console.error("获取知识库子项失败:",x),[]}},Y=async()=>{try{const x=await V.post("https://aiapi.raycos.com.cn/kbm/selectBucketInfo",{user_id:2},{headers:{Authorization:`JWT ${localStorage.getItem("token")}`}}),w=await Promise.all(x.data.data.map(async G=>{const z=await Q(G.id);return console.log(z),{label:G.name,key:G.id,items:z.map(h=>({label:h.name,value:h.id}))}}));d.value=w,d.value.forEach(G=>{p[G.key]||(p[G.key]=[])})}catch(E){J.error("获取知识库信息失败"),console.error("获取知识库信息失败:",E)}};return Ce(async()=>{await Y(),f()}),(E,x)=>{const w=ie("a-checkbox"),G=ie("a-checkbox-group"),z=ie("a-button");return o(),l("div",Aa,[e("div",{class:"config-header",onClick:y},[x[0]||(x[0]=e("img",{src:ba,alt:"knowledge",class:"config-icon"},null,-1)),x[1]||(x[1]=e("span",null,"知识库配置",-1)),e("img",{src:g.value?O(Ze):O(Xe),alt:"toggle",class:"toggle-icon"},null,8,Sa)]),R(e("div",Ca,[e("div",xa,[(o(!0),l(U,null,q(d.value,h=>(o(),l("div",{class:"knowledge-group",key:h.label},[e("div",Ia,A(h.label),1),e("div",Da,[I(G,{value:p[h.key],"onUpdate:value":r=>p[h.key]=r},{default:se(()=>[(o(!0),l(U,null,q(h.items,r=>(o(),l("div",{key:r.value,class:"checkbox-item"},[I(w,{value:r.value},{default:se(()=>[ae(A(r.label)+" ",1),e("span",Ma,A(r.description),1)]),_:2},1032,["value"])]))),128))]),_:2},1032,["value","onUpdate:value"])])]))),128))]),e("div",Ta,[I(z,{type:"primary",loading:b.value,onClick:n},{default:se(()=>x[2]||(x[2]=[ae(" 保存配置 ")])),_:1},8,["loading"])])],512),[[me,g.value]])])}}},Ea=we($a,[["__scopeId","data-v-6b9363c0"]]),Ua=yt({name:"KnowledgeResults",props:{searchResults:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},total:{type:Number,default:0},message:{type:String,default:""},searchType:{type:String,default:"remote",validator:m=>["remote","local"].includes(m)},showTranslation:{type:Boolean,default:!0}},emits:["update:enableSearch","search","translate"],setup(m,{emit:d}){const g=i(""),b=i(!1),p=i(!1),y=i([]),n=i(1),f=i(20),Q=je(()=>m.searchType==="local"?"搜索本地知识库...":"搜索远程知识库...");fe(()=>m.searchResults,h=>{console.log("New search results:",h),y.value=h.map(r=>({...r,translation:r.translation||""}))}),fe(()=>m.message,h=>{h&&(g.value=h,Y())});const Y=async()=>{if(!(!g.value.trim()||b.value)){b.value=!0,n.value=1;try{d("search",{query:g.value,page:n.value,pageSize:f.value,type:m.searchType,needTranslation:m.showTranslation})}finally{b.value=!1}}},E=async()=>{if(!(b.value||!p.value)){b.value=!0,n.value+=1;try{d("search",{query:g.value,page:n.value,pageSize:f.value,type:m.searchType})}finally{b.value=!1}}};return{searchQuery:g,isSearching:b,displayResults:y,hasMore:p,handleSearch:Y,clearSearch:()=>{g.value="",y.value=[],n.value=1,d("update:enableSearch",!1)},formatDate:h=>_t(h).format("YYYY-MM-DD HH:mm"),handleScroll:h=>{const{scrollTop:r,scrollHeight:u,clientHeight:_}=h.target;u-r-_<50&&!b.value&&p.value&&E()},placeholder:Q,formatContent:h=>{if(!h)return"";const r=g.value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return h.replace(new RegExp(r,"gi"),u=>`<span class="highlight">${u}</span>`)}}}}),za={class:"knowledge-results"},La={class:"result-title"},Pa=["href"],Va=["innerHTML"],Ga={key:0,class:"result-translation"},Wa={class:"translation-content"},Oa={class:"result-meta"},Ba={class:"result-source"},Ra={class:"result-date"},qa={key:0,class:"load-more"},Ja={key:1,class:"loading-state"},Na={key:2,class:"empty-state"};function Ka(m,d,g,b,p,y){return o(),l("div",za,[d[4]||(d[4]=e("div",{class:"search-box"},null,-1)),!m.loading&&m.searchResults.length>0?(o(),l("div",{key:0,class:"results-container",ref:"resultsContainer",onScroll:d[0]||(d[0]=(...n)=>m.handleScroll&&m.handleScroll(...n))},[(o(!0),l(U,null,q(m.displayResults,n=>(o(),l("div",{key:n.id,class:"result-item"},[e("h3",La,[e("a",{href:n.link,target:"_blank",rel:"noopener noreferrer"},A(n.title),9,Pa)]),e("div",{class:"result-content",innerHTML:m.formatContent(n.content)},null,8,Va),n.translation?(o(),l("div",Ga,[d[1]||(d[1]=e("span",{class:"translation-label"},"中文释义:",-1)),e("span",Wa,A(n.translation),1)])):$("",!0),e("div",Oa,[e("span",Ba,"来源: "+A(n.source||"知识库"),1),e("span",Ra,A(m.formatDate(n.date)),1)])]))),128)),m.hasMore?(o(),l("div",qa,d[2]||(d[2]=[e("div",{class:"loading-spinner"},null,-1),e("span",null,"加载更多...",-1)]))):$("",!0)],544)):m.loading?(o(),l("div",Ja,d[3]||(d[3]=[e("div",{class:"loading-spinner"},null,-1),e("p",null,"正在搜索...",-1)]))):(o(),l("div",Na))])}const Fa=we(Ua,[["render",Ka],["__scopeId","data-v-c3cce166"]]),Ya={name:"ChangePasswordDialog",props:{visible:{type:Boolean,default:!1}},data(){return{formData:{old_password:"",new_password:"",confirm_password:""}}},methods:{closeDialog(){this.$emit("update:visible",!1),this.resetForm()},resetForm(){this.formData={old_password:"",new_password:"",confirm_password:""}},async handleSubmit(){var m,d;if(!this.formData.old_password){this.$message.error("请输入原密码");return}if(!this.formData.new_password){this.$message.error("请输入新密码");return}if(!this.formData.confirm_password){this.$message.error("请确认新密码");return}if(this.formData.new_password!==this.formData.confirm_password){this.$message.error("两次输入的新密码不一致");return}try{const g=await V.post("https://aiapi.raycos.com.cn/user/change_password",{old_password:this.formData.old_password,new_password:this.formData.new_password,confirm_password:this.formData.confirm_password},{headers:{Authorization:`JWT ${localStorage.getItem("token")}`}});if(g.data.code===200){this.$message.success("密码修改成功"),this.closeDialog();try{await V.post("https://aiapi.raycos.com.cn/user/logout",{},{headers:{Authorization:`JWT ${localStorage.getItem("token")}`}}),localStorage.removeItem("token"),this.$router.push("/login")}catch(b){console.error("退出登录失败:",b),localStorage.removeItem("token"),this.$router.push("/login")}}else this.$message.error(g.data.message||"密码修改失败")}catch(g){this.$message.error("密码修改失败:"+(((d=(m=g.response)==null?void 0:m.data)==null?void 0:d.message)||g.message))}}}},Ha={class:"dialog-content"},Qa={class:"dialog-header"},ja={class:"dialog-body"},Za={class:"form-group"},Xa={class:"form-group"},eo={class:"form-group"},to={class:"dialog-footer"};function so(m,d,g,b,p,y){return g.visible?(o(),l("div",{key:0,class:"dialog-overlay",onClick:d[6]||(d[6]=Se((...n)=>y.closeDialog&&y.closeDialog(...n),["self"]))},[e("div",Ha,[e("div",Qa,[d[7]||(d[7]=e("h3",null,"修改密码",-1)),e("button",{class:"close-button",onClick:d[0]||(d[0]=(...n)=>y.closeDialog&&y.closeDialog(...n))},"×")]),e("div",ja,[e("div",Za,[d[8]||(d[8]=e("label",null,"原密码:",-1)),R(e("input",{type:"password","onUpdate:modelValue":d[1]||(d[1]=n=>p.formData.old_password=n),placeholder:"请输入原密码"},null,512),[[ze,p.formData.old_password]])]),e("div",Xa,[d[9]||(d[9]=e("label",null,"新密码:",-1)),R(e("input",{type:"password","onUpdate:modelValue":d[2]||(d[2]=n=>p.formData.new_password=n),placeholder:"请输入新密码"},null,512),[[ze,p.formData.new_password]])]),e("div",eo,[d[10]||(d[10]=e("label",null,"确认密码:",-1)),R(e("input",{type:"password","onUpdate:modelValue":d[3]||(d[3]=n=>p.formData.confirm_password=n),placeholder:"请确认新密码"},null,512),[[ze,p.formData.confirm_password]])])]),e("div",to,[e("button",{class:"cancel-button",onClick:d[4]||(d[4]=(...n)=>y.closeDialog&&y.closeDialog(...n))},"取消"),e("button",{class:"confirm-button",onClick:d[5]||(d[5]=(...n)=>y.handleSubmit&&y.handleSubmit(...n))},"确认")])])])):$("",!0)}const ao=we(Ya,[["render",so],["__scopeId","data-v-b963ecb7"]]),oo={class:"header"},lo={class:"user-profile-bar"},no={class:"user-info-bar"},io=["title"],ro={key:1,class:"theme-icon",src:ws,alt:"切换到深色模式"},co={class:"user-name"},uo={class:"user-name"},vo={class:"dropdown-menu"},po=["src"],go={class:"conversation-list"},ho=["onClick"],mo={class:"config-container"},fo={class:"chat"},wo={key:0,class:"welcome-section"},yo={class:"suggestion-section"},_o={class:"cards-container"},ko={class:"suggestion-card"},bo={class:"suggestion-items"},Ao=["onClick"],So={key:0,class:"thinking-steps-stream"},Co={key:0,class:"typing-indicator"},xo={class:"message-bubble"},Io={class:"message-content"},Do={key:0,class:"thinking-steps"},Mo={key:0,class:"image-preview"},To=["src"],$o={key:1,class:"video-preview"},Eo=["src"],Uo={key:2,class:"file-info-display"},zo=["src"],Lo={class:"file-details"},Po=["title"],Vo={class:"file-size"},Go=["innerHTML"],Wo={key:3},Oo={key:4,class:"audio-controls"},Bo=["onClick"],Ro={key:0,class:"wave-animation"},qo=["src"],Jo={class:"input-container"},No={class:"left_item",style:{display:"flex"}},Ko={class:"search-toggle-item"},Fo={class:"toggle-content"},Yo={class:"toggle-switch"},Ho=["disabled"],Qo={class:"search-toggle-item"},jo={class:"toggle-content"},Zo={class:"toggle-switch"},Xo={class:"search-toggle-item"},el={class:"toggle-content"},tl={class:"toggle-switch"},sl={class:"search-toggle-item"},al={class:"toggle-content"},ol=["value","disabled"],ll={key:0,value:""},nl={key:1,value:""},il=["value"],rl={key:0,class:"attachments-panel"},cl={class:"panel-content"},ul={key:0,style:{display:"flex","justify-content":"center"}},dl={key:0,class:"upload-loading"},vl={key:1},pl={class:"file-list"},gl={key:0,class:"file-loading"},hl=["src"],ml=["src"],fl=["src"],wl=["onClick"],yl={key:0,class:"file-info"},_l={class:"file-name"},kl={class:"file-size"},bl={class:"input-wrapper"},Al={key:0,class:"loading-btn"},Sl={key:1,src:Ss,alt:"send"},Cl={class:"right-menu-content"},xl={class:"panel-container"},Il={class:"panel-container"},Dl={class:"document-preview"},Ml={class:"preview-container"},Tl={key:0,class:"direct-preview"},$l={class:"preview-header"},El={class:"preview-body"},Ul=["src"],zl=["src"],Ll={key:2},Pl={key:3},Vl=["src"],Gl={key:5,class:"file-preview"},Wl={class:"panel-container"},Ol=0,Bl=800,Rl={__name:"report",setup(m){const d=new ls({html:!0,linkify:!0,typographer:!0});i(!1);const g=i(""),b=i(!1),p=i(!1),y=i(null),n=i([]),f=i([]);i(!1);const Q=i(1),Y=i(1),E=i(null),x=kt(),w=cs(),G=i([{id:1,title:"当前会话",messages:[]}]),z=i(!1),h=i(null),r=i(null),u=i(!1),_=i(null),D=i(null),H=i(!1),de=i(null),Le=i(!1),ye=i([]),W=i([]);let Z=null;const T=i([]),ve=i(!1),Oe=i(0),B=i(!1),X=i(!1),xe=i(!1),Ie=i(!1),Be=i([]),Re=i(0),qe=i(!1),De=i(!0),_e=()=>{xe.value=window.innerWidth<=768,xe.value?(p.value=!0,X.value=!0):(p.value=!1,X.value=!1)};Ce(()=>{_e(),window.addEventListener("resize",_e)});const pe=i(!1),et=()=>{console.log(pe.value),pe.value=!pe.value},bt=()=>{X.value=!X.value,xe.value&&(document.body.style.overflow=X.value?"auto":"hidden",X.value||(p.value=!0)),document.querySelector(".chat")&&(document.querySelector(".chat").style.left=X.value?"0":"260px")},At=()=>{p.value=!1,document.querySelector(".chat")&&(document.querySelector(".chat").style.right=`${L.value}px`)},St=async()=>{Le.value=!0;try{const s=await V.get("https://aiapi.raycos.com.cn/api/document/summary?limit=2",{headers:{Authorization:`JWT ${localStorage.getItem("token")}`}});console.log("API Response:",s.data),s.data.status===200&&(de.value=s.data.data,console.log("Document Summary:",de.value),Ct())}catch(s){console.error("获取文档摘要失败:",s)}finally{Le.value=!1}},Ct=()=>{Z&&clearInterval(Z);const s=()=>{var t;if(!((t=de.value)!=null&&t.length)){console.log("没有可用的文档摘要数据");return}try{const a=de.value[0];if(a!=null&&a.questions){const v=[...a.questions.map(S=>({question:S}))].sort(()=>.5-Math.random());ye.value=v.slice(0,3)}}catch(a){console.error("处理第一篇文档问题失败:",a)}try{const a=de.value[1];if(a!=null&&a.questions){const v=[...a.questions.map(S=>({question:S}))].sort(()=>.5-Math.random());W.value=v.slice(0,3)}}catch(a){console.error("处理第二篇文档问题失败:",a)}};s(),Z=setInterval(s,5e3)},xt=s=>{console.log("QA clicked:",s),s!=null&&s.question&&(g.value=s.question,Je())};Ue(()=>{Z&&clearInterval(Z)});const tt=()=>{b.value=!b.value},It=s=>{n.value=n.value.filter(t=>t!==s),n.value.length===0?(L.value=0,document.querySelector(".chat")&&(document.querySelector(".chat").style.right="0px")):(L.value=450,document.querySelector(".chat")&&(document.querySelector(".chat").style.right=`${L.value}px`)),console.log(n.value.length)},st=()=>{var s;H.value||(s=y.value)==null||s.click()},at=async s=>{try{const t=new FormData;t.append("file",s);const a=await V.post("https://aiapi.raycos.com.cn/upload/file",t,{headers:{"Content-Type":"multipart/form-data"}});if(a.data.status===2e3)return a.data.data.fileUrl;throw new Error(a.data.message||"文件上传失败")}catch(t){throw console.error("文件上传失败:",t),t}},ot=async s=>{const t=Array.from(s.target.files);if(t.length===0)return;const a=10*1024*1024;if(t.filter(v=>!!(ke(v)&&v.size>a)).length>0){alert("Video files must not exceed 10MB"),s.target.value="";return}H.value=!0,L.value=450;try{for(const v of t){const S={name:v.name,size:v.size,sizeFormatted:lt(v.size),type:v.type,isUploading:!0};n.value.push(S);try{const C=await at(v),P=n.value.findIndex(oe=>oe.name===v.name);P!==-1&&n.value.splice(P,1,{...S,url:C,isUploading:!1})}catch(C){n.value=n.value.filter(P=>P.name!==v.name),console.error("单个文件上传失败:",C)}}}catch(v){console.error("文件上传失败:",v)}finally{H.value=!1,s.target.value="",n.value.length>0&&(ce.value="preview",p.value=!1,document.querySelector(".chat")&&(document.querySelector(".chat").style.right=`${L.value}px`))}t.length>0&&B.value&&(B.value=!1)},lt=s=>{if(!s||isNaN(s))return"0 B";const t=1024,a=["B","KB","MB","GB"],c=Math.floor(Math.log(s)/Math.log(t));return parseFloat((s/Math.pow(t,c)).toFixed(2))+" "+a[c]},nt=s=>s.url&&re(s)?s.url:Is,re=s=>{var c,v,S;const t=["jpg","jpeg","png","gif","webp"],a=((S=(v=(c=s.name)==null?void 0:c.split("."))==null?void 0:v.pop())==null?void 0:S.toLowerCase())||"";return t.includes(a)},ke=s=>{var c,v,S;const t=["mp4","webm","ogg"],a=((S=(v=(c=s.name)==null?void 0:c.split("."))==null?void 0:v.pop())==null?void 0:S.toLowerCase())||"";return t.includes(a)},Dt=s=>{const t=s.name.split(".").pop().toLowerCase(),a=["jpg","jpeg","png","gif","webp"],c=["mp4","webm","ogg"];return a.includes(t)?"image":c.includes(t)?"video":"document"},be=i(""),Ae=i(null),Je=async()=>{var P,oe;const s=localStorage.getItem("token");if(!s){w.push("/login");return}if(z.value){z.value=!1,Ae.value&&(Ae.value.abort(),Ae.value=null),h.value&&(clearTimeout(h.value),h.value=null);return}if(!g.value.trim()&&n.value.length===0||z.value)return;z.value=!0;const t=g.value.trim();g.value="",B.value?(Te.value=t,Mt(t).catch(M=>{console.error("Web search failed:",M)})):Ie.value&&(Te.value=t,dt({query:t,page:1,pageSize:20}));const a=[],c=[],v=[];n.value.forEach(M=>{const ee=Dt(M);ee==="image"?a.push(M.url):ee==="video"?c.push(M.url):v.push(M.url)});const S={id:Date.now(),role:"user",content:t,displayContent:t,files:n.value.map(M=>({name:M.name,size:M.sizeFormatted,type:M.type,url:M.url}))};f.value.push(S);const C={id:Date.now()+1,role:"assistant",content:"思考中...",displayContent:"思考中...",isLoading:!0};f.value.push(C);try{if(Ae.value=new AbortController,De.value){const M={message:t,user_id:"13365429324",session_id:be.value||""},ee=await fetch("https://aiapi.raycos.com.cn/api/agents/chat/multimodal/",{method:"POST",headers:{Authorization:`JWT ${s}`,"Content-Type":"application/json"},body:JSON.stringify(M)});if(!ee.ok)throw new Error("请求失败");const le=await ee.json();console.log(le);const Ee=le.data.sse_url;if(!Ee)throw new Error("未获取到SSE URL");const Ge=`https://aiapi.raycos.com.cn${Ee}${Ee.includes("?")?"&":"?"}token=JWT ${encodeURIComponent(s)}`;console.log("SSE连接URL:",Ge);const he=new EventSource(Ge,{withCredentials:!0});he.onmessage=te=>{try{console.log("收到SSE消息:",te.data);const k=JSON.parse(te.data);switch(k.type){case"connected":k.session_id&&(be.value=k.session_id,console.log("已连接,会话ID:",k.session_id));break;case"thinking_step":const ne=f.value[f.value.length-1];if(ne&&ne.id===C.id){ne.thinkingSteps||(ne.thinkingSteps=[]);let K="",es=k.data.step_type;switch(k.data.step_type){case"start":K=`${k.data.content}`;break;case"request_analysis":K=`${k.data.content}`;break;case"knowledge_search":K=`${k.data.content}`;break;case"search_error":K=`${k.data.content}`;break;case"intent_analysis":K=`${k.data.content}`;break;case"intent_result":K=`${k.data.content}`;break;case"model_call":K=`${k.data.content}`;break;case"response_generation":K=`${k.data.content}`;break;case"text_analysis":K=` ${k.data.content}`;break;case"planning":K=` ${k.data.content}`;break;case"execution":K=`${k.data.content}`;break;case"result":K=` ${k.data.content}`;break;case"conclusion":if(k.data.metadata&&k.data.metadata.final_content){ne.thinkingSteps.push({type:"conclusion",content:`✨ 完成: ${k.data.content}`});const ue=We({id:Date.now()+2,role:"assistant",content:k.data.metadata.final_content,displayContent:"",audioData:null,thinkingSteps:ne.thinkingSteps}),ht=f.value.findIndex(ts=>ts.id===C.id);ht!==-1&&f.value.splice(ht,1,ue),it(ue);return}else if(k.data.content){let ue="💭";k.data.content.includes("分析")?ue="🔍":k.data.content.includes("规划")?ue="📋":k.data.content.includes("执行")?ue="⚙️":k.data.content.includes("完成")&&(ue="✨"),K=`${ue} ${k.data.content}`}break}K&&(ne.thinkingSteps.push({type:es,content:K}),ne.content="AI正在思考中...",ne.displayContent="AI正在思考中...")}break;case"session_ended":console.log("会话结束"),he.close();break;case"heartbeat":console.log("收到心跳消息");break;default:console.log("未处理的消息类型:",k.type);break}}catch(k){console.error("处理SSE消息失败:",k)}},he.onerror=te=>{console.error("SSE连接错误:",te),he.close(),f.value=f.value.filter(k=>k.id!==C.id),f.value.push({id:Date.now()+2,role:"assistant",content:"连接出错,请重试",displayContent:"连接出错,请重试"})}}else{const M=B.value?"https://aiapi.raycos.com.cn/api/chat/web-search-llm/":"https://aiapi.raycos.com.cn/api/chat/online/multimodal",ee=await V.post(M,{message:t,chat_config_id:"2",user_id:"13365429324",session_id:be.value,source:"pc",image_urls:a,video_urls:c,documents:v,merchant_id:JSON.parse(localStorage.getItem("userInfo")).merchant.merchant_id,model_type:vt.value.type,model_name:vt.value.name},{headers:{Authorization:`JWT ${localStorage.getItem("token")}`},signal:Ae.value.signal});f.value=f.value.filter(k=>k.id!==C.id);const le=B.value?ee.data.data:ee.data,Ee=B.value?le.answer:le.choices[0].message.content,Ge=B.value?(P=le.audio_info)==null?void 0:P.audio:(oe=le.audio_info)==null?void 0:oe.audio,he=(B.value,le.session_id);he&&(be.value=he);const te=We({id:Date.now()+2,role:"assistant",content:Ee,displayContent:"",audioData:Ge||null});f.value.push(te),te.audioData&&!u.value&&await pt(te.audioData,te.id),await it(te)}}catch(M){console.error("发送消息失败:",M),f.value=f.value.filter(ee=>ee.id!==C.id),f.value.push({id:Date.now()+2,role:"assistant",content:"发送消息失败,请重试",displayContent:"发送消息失败,请重试"})}finally{z.value=!1,Ae.value=null}},Mt=async s=>{ve.value=!0;try{const t=await V.post("https://aiapi.raycos.com.cn/api/web-search-results/",{query:s,num_results:20,page:1,page_size:20,engine:"tavily"});console.log(t),t.data&&t.data.code===200&&(T.value=t.data.data.result||[],console.log(T.value),Oe.value=t.data.data.total||0)}catch(t){console.error("Web search failed:",t),T.value=[],Oe.value=0}finally{ve.value=!1}},it=async s=>{if(!s||!s.content){console.error("Invalid message or content is missing");return}return new Promise(t=>{let v=0;s.displayContent="";const S=()=>{if(v<s.content.length&&z.value){let C="";const P=s.content[v];if(/[\u4e00-\u9fa5]/.test(P))C=P;else if(/[.,!?;,。!?;]/.test(P))C=P;else if(P===" "&&v+1<s.content.length){let M=v+1;for(;M<s.content.length&&!/[\s\n]/.test(s.content[M]);)M++;C=s.content.substring(v,M)}else C=P;s.displayContent=s.content.substring(0,v)+C,v+=C.length;const oe=C.length>1?50:20;h.value=setTimeout(S,oe)}else z.value||(s.displayContent=s.content),t()};S()})},Tt=()=>{Y.value++;const s={id:Date.now(),title:`New Conversation ${Y.value}`,messages:[]};G.value.push(s),be.value="",rt(s.id)},rt=s=>{Q.value=s;const t=G.value.find(a=>a.id===s);f.value=t?t.messages:[],be.value=""},$t=async s=>{if(H.value)return;const t=Array.from(s.dataTransfer.files);if(t.length===0)return;const a=10*1024*1024;t.filter(c=>!!(ke(c)&&c.size>a)),H.value=!0;try{for(const c of t){const v={name:c.name,size:c.size,sizeFormatted:lt(c.size),type:c.type,isUploading:!0};n.value.push(v);try{const S=await at(c),C=n.value.findIndex(P=>P.name===c.name);C!==-1&&n.value.splice(C,1,{...v,url:S,isUploading:!1})}catch(S){n.value=n.value.filter(C=>C.name!==c.name),console.error("单个文件上传失败:",S)}}}catch(c){console.error("文件上传失败:",c)}finally{H.value=!1,n.value.length>0&&(ce.value="preview",p.value=!1,document.querySelector(".chat")&&(document.querySelector(".chat").style.right=`${L.value}px`))}t.length>0&&B.value&&(B.value=!1)},Et=s=>{s.audioData?_.value===s.id?Me():pt(s.audioData,s.id):_.value===s.id?Me():Ut(s.content,s.id)},Ut=async(s,t)=>{try{if(_.value&&_.value!==t&&Me(),_.value===t)return;const a=await V.post("https://aiapi.raycos.com.cn/api/voices/play_text",{text:s},{headers:{Authorization:`JWT ${localStorage.getItem("token")}`}});if(a.data.code===200){const c=new Audio(`https://aiapi.raycos.com.cn${a.data.audio_url}`);D.value=c,_.value=t,u.value=!0,c.onended=()=>{_.value=null,D.value=null,u.value=!1},c.onerror=v=>{console.error("播放文本失败:",v),J.error("播放失败,请稍后重试"),_.value=null,D.value=null,u.value=!1},await c.play()}}catch(a){console.error("播放文本失败:",a),J.error("播放失败,请稍后重试"),_.value=null,D.value=null,u.value=!1}},Me=()=>{r.value&&(r.value.pause(),r.value.currentTime=0,r.value=null),D.value&&(D.value.pause(),D.value.currentTime=0,D.value=null),u.value=!1,_.value=null};Ue(()=>{Me()});const zt=s=>s?d.render(s):"",L=i(0),ct=s=>{s.preventDefault();const t=s.type==="mousedown"?s.clientX:s.touches[0].clientX,a=L.value,c=S=>{if(p.value)return;const C=S.type==="mousemove"?S.clientX:S.touches[0].clientX,P=t-C;let oe=Math.min(Math.max(a+P,Ol),Bl);L.value=oe,document.querySelector(".chat")&&(document.querySelector(".chat").style.right=`${oe}px`)},v=()=>{document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",v),document.removeEventListener("touchmove",c),document.removeEventListener("touchend",v)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",v),document.addEventListener("touchmove",c),document.addEventListener("touchend",v)};i(!0);const Te=i(""),Lt=s=>{console.log(B),B.value=s,s&&(At(),ce.value="search")},ce=i("search"),Pt=i(!1),Ne=()=>{Pt.value=window.innerWidth<=480};Ue(()=>{window.removeEventListener("resize",Ne)});const ut=i(!1),Ke=()=>{ut.value=window.innerWidth<=768};Ue(()=>{window.removeEventListener("resize",Ke)});const Vt=je(()=>(_e(),!p.value)),Gt=()=>{De.value=!De.value},Wt=s=>{s.target.checked?(L.value=450,document.querySelector(".chat")&&(document.querySelector(".chat").style.right=`${L.value}px`),B.value=!1,ce.value="knowledge",g.value.trim()&&dt({query:g.value,page:1,pageSize:20})):(L.value=0,document.querySelector(".chat")&&(document.querySelector(".chat").style.right=`${L.value}px`))},dt=async s=>{if(!(!s.query.trim()||!Ie.value)){qe.value=!0;try{const t=await V.post("https://aiapi.raycos.com.cn/chataids/mysql_fuzzy_search/",{keywords:s.query,documents:[],document_ids:[],limit:5},{headers:{Authorization:`JWT ${localStorage.getItem("token")}`}});console.log(t),t.data&&t.data.status===200&&(Be.value=t.data.data.data||[],Re.value=t.data.data.data.total||0)}catch(t){console.error("Knowledge search failed:",t),Be.value=[],Re.value=0}finally{qe.value=!1}}},Ot=s=>{s.target.checked?(L.value=450,document.querySelector(".chat")&&(document.querySelector(".chat").style.right=`${L.value}px`),Ie.value=!1,ce.value="search",g.value.trim()&&(Te.value=g.value)):(L.value=0,document.querySelector(".chat")&&(document.querySelector(".chat").style.right=`${L.value}px`))},Bt="https://aiapi.raycos.com.cn",ge=i([]),$e=i(null),Pe=i(!1),vt=je(()=>{if(!$e.value||!ge.value.length)return{type:"",name:""};const s=ge.value.find(t=>t.id===$e.value);return{type:(s==null?void 0:s.type)||"",name:(s==null?void 0:s.name)||""}}),Rt=async()=>{Pe.value=!0;try{const t=await(await fetch(`${Bt}/api/models?merchant_id=${JSON.parse(localStorage.getItem("userInfo")).merchant.merchant_id}`)).json();console.log(t),t.code===2e3&&(ge.value=(t.data.models||[]).map(a=>({id:a.id,name:a.name,type:a.type||a.model_type||"default"})),ge.value.length>0&&($e.value=ge.value[0].id))}catch(s){console.error("Failed to fetch models:",s)}finally{Pe.value=!1}},qt=s=>{$e.value=s},Fe=i({name:"",role:""});Ce(()=>{Ke(),window.addEventListener("resize",Ke),Ne(),window.addEventListener("resize",Ne),_e(),window.addEventListener("resize",_e),Rt(),St();const s=localStorage.getItem("userInfo");if(s)try{Fe.value=JSON.parse(s)}catch(t){console.error("解析用户信息失败:",t)}});const Ye=i(!1),Jt=()=>{Ye.value=!0,pe.value=!1},Nt=async()=>{try{await V.post("https://aiapi.raycos.com.cn/user/logout",{},{headers:{Authorization:`JWT ${localStorage.getItem("token")}`}}),localStorage.removeItem("token"),localStorage.removeItem("userInfo"),localStorage.removeItem("permissions"),localStorage.removeItem("username"),localStorage.removeItem("mobile"),x.commit("app/setUser",{user:{},permission:[],auth:{}}),pe.value=!1,w.push("/login")}catch(s){console.error("退出登录失败:",s),localStorage.clear(),w.push("/login")}},Kt=async()=>{var s,t;try{const a=await V.post("https://aiapi.raycos.com.cn/user/create_invitation",{},{headers:{Authorization:`JWT ${localStorage.getItem("token")}`}});if(console.log(a),a.data.code===200){J.success("创建邀请成功");const c=`${window.location.protocol}//${window.location.host}`;window.location.href=`${c}${a.data.data.invitation_link}`}else J.error(a.data.message||"创建邀请失败")}catch(a){console.error("创建邀请失败:",a),J.error(((t=(s=a.response)==null?void 0:s.data)==null?void 0:t.message)||"创建邀请失败,请稍后重试")}pe.value=!1},pt=async(s,t)=>{try{if(_.value&&_.value!==t&&Me(),_.value===t)return;const a=new Audio(s);D.value=a,_.value=t,u.value=!0,a.onended=()=>{_.value=null,D.value=null,u.value=!1},a.onerror=c=>{console.error("播放音频失败:",c),J.error("播放失败,请稍后重试"),_.value=null,D.value=null,u.value=!1},await a.play()}catch(a){console.error("播放音频失败:",a),J.error("播放失败,请稍后重试"),_.value=null,D.value=null,u.value=!1}},j=i(!1),He=s=>{document.documentElement.classList.toggle("dark-theme",s)},Ft=()=>{j.value=!j.value,localStorage.setItem("theme",j.value?"dark":"light"),He(j.value)};Ce(()=>{document.querySelector(".chat")&&(document.querySelector(".chat").style.right="0px"),_e();const s=localStorage.getItem("theme");s?j.value=s==="dark":j.value=window.matchMedia("(prefers-color-scheme: dark)").matches,He(j.value),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",a=>{localStorage.getItem("theme")||(j.value=a.matches,He(a.matches))})});const Yt=i({xls:!1,minColLength:15,minRowLength:50,widthOffset:50,heightOffset:30,forceRender:!0,maxSheetLength:10,showGridLines:!0,defaultFontSize:12,defaultRowHeight:24,autoFitColumn:!0,overflowColumns:!0,showToolbar:!0}),gt=()=>{console.log("Excel文件渲染完成"),us(()=>{window.dispatchEvent(new Event("resize"))})},Ht=s=>{console.error("Excel文件渲染失败:",s),J.error("Excel预览失败:"+(s.message||"请尝试下载后查看"))},Qt=s=>{var v,S,C;if(!s)return!1;const t=["doc","docx"],a=((C=(S=(v=s.name)==null?void 0:v.split("."))==null?void 0:S.pop())==null?void 0:C.toLowerCase())||"",c=t.includes(a);return c&&s.type?s.type==="application/msword"||s.type==="application/vnd.openxmlformats-officedocument.wordprocessingml.document":c},jt=s=>{var c,v,S;if(!s)return!1;const t=["xls","xlsx"],a=((S=(v=(c=s.name)==null?void 0:c.split("."))==null?void 0:v.pop())==null?void 0:S.toLowerCase())||"";return t.includes(a)},Zt=s=>{var t,a;return s&&((a=(t=s.name)==null?void 0:t.toLowerCase())==null?void 0:a.endsWith(".pdf"))||!1},N=i(null);fe(()=>n.value,s=>{s&&s.length>0?N.value=s[s.length-1]:N.value=null},{immediate:!0,deep:!0});const Xt=()=>{N.value=null},Ve=i([]);return(s,t)=>(o(),l("div",{class:F(["layout",{"dark-theme":j.value}])},[I(ao,{visible:Ye.value,"onUpdate:visible":t[0]||(t[0]=a=>Ye.value=a)},null,8,["visible"]),e("div",oo,[e("div",lo,[t[12]||(t[12]=e("div",{class:"logo"},[e("img",{src:ms,alt:"logo",class:"logo-img"})],-1)),e("div",no,[e("div",{class:"theme-switch",onClick:Ft,title:j.value?"切换到浅色模式":"切换到深色模式"},[I(ns,{name:"theme-icon",mode:"out-in"},{default:se(()=>[j.value?(o(),l("img",{key:j.value,src:fs,alt:"切换到浅色模式",class:"theme-icon"})):(o(),l("img",ro))]),_:1})],8,io),xe.value?$("",!0):(o(),l("div",{key:0,class:"user-info",onClick:et},[e("div",co,"商户名称:"+A(Fe.value.merchant_name||"未登录用户"),1),e("div",uo,"当前用户:"+A(Fe.value.username||"未登录用户"),1)])),e("div",{class:"avatar",onClick:et},t[8]||(t[8]=[e("img",{src:ys,alt:"用户头像"},null,-1)]))]),R(e("div",vo,[e("div",{class:"dropdown-item",onClick:Jt},t[9]||(t[9]=[e("i",{class:"fas fa-key"},null,-1),ae(" 修改密码 ")])),e("div",{class:"dropdown-item",onClick:Kt},t[10]||(t[10]=[e("i",{class:"fas fa-user-plus"},null,-1),ae(" 创建邀请 ")])),e("div",{class:"dropdown-item",onClick:Nt},t[11]||(t[11]=[e("i",{class:"fas fa-sign-out-alt"},null,-1),ae(" 退出登录 ")]))],512),[[me,pe.value]])])]),e("div",{class:F(["collapse-left-button",{"menu-collapsed":X.value}]),onClick:bt},[e("img",{src:X.value?O(xs):O(Cs),alt:"toggle",class:"collapse-icon"},null,8,po)],2),e("div",{class:F(["menu",{collapsed:X.value}])},[e("button",{class:"new-conversation-btn",onClick:Tt},t[13]||(t[13]=[e("img",{class:"tab-icon",src:wt,alt:""},null,-1),e("span",null,"New Conversation",-1)])),e("div",go,[(o(!0),l(U,null,q(G.value,a=>(o(),l("div",{key:a.id,class:F(["conversation-item",{active:Q.value===a.id}]),onClick:c=>rt(a.id)},A(a.title),11,ho))),128))]),e("div",mo,[I(Ea),I(Js),I(ka)])],2),e("div",fo,[f.value.length===0?(o(),l("div",wo,[e("div",yo,[t[16]||(t[16]=e("h3",null,"嗨,我是你的智能助手",-1)),e("div",_o,[e("div",ko,[t[14]||(t[14]=e("div",{class:"card-header"},[e("img",{src:_s,alt:"hot topics",class:"tab-icon"}),e("h4",null,"推荐问题")],-1)),t[15]||(t[15]=e("p",{class:"card-subtitle"},"为您精选的热门问题",-1)),e("div",bo,[(o(!0),l(U,null,q([...ye.value,...W.value],(a,c)=>(o(),l("div",{key:c,class:"suggestion-item",onClick:v=>xt(a)},A(a.question),9,Ao))),128))])])])])])):(o(),l("div",{key:1,class:"message-list",ref_key:"messageList",ref:E},[Ve.value&&Ve.value.length>0?(o(),l("div",So,[(o(!0),l(U,null,q(Ve.value,(a,c)=>(o(),l("div",{key:c,class:F(["thinking-step-stream",[a.type,{"fade-in":!0}]])},[ae(A(a.content)+" ",1),c===Ve.value.length-1?(o(),l("div",Co,t[17]||(t[17]=[e("span",null,null,-1),e("span",null,null,-1),e("span",null,null,-1)]))):$("",!0)],2))),128))])):$("",!0),(o(!0),l(U,null,q(f.value,a=>(o(),l("div",{key:a.id,class:F(["message-item",a.role==="user"?"user":"assistant"])},[e("div",xo,[e("div",Io,[a.thinkingSteps&&a.thinkingSteps.length>0?(o(),l("div",Do,[(o(!0),l(U,null,q(a.thinkingSteps,(c,v)=>(o(),l("div",{key:v,class:F(["thinking-step",c.type])},A(c.content),3))),128))])):$("",!0),a.role==="user"&&a.files?(o(!0),l(U,{key:1},q(a.files,c=>(o(),l("div",{key:c.name,class:"file-message"},[re(c)?(o(),l("div",Mo,[e("img",{src:c.url,class:"preview-image"},null,8,To)])):ke(c)?(o(),l("div",$o,[e("video",{controls:"",class:"preview-video",src:c.url,preload:"metadata"}," Your browser does not support the video tag. ",8,Eo)])):(o(),l("div",Uo,[e("img",{src:nt(c),class:"file-type-icon"},null,8,zo),e("div",Lo,[e("span",{class:"file-name",title:c.name},A(c.name),9,Po),e("span",Vo,A(c.size),1)])]))]))),128)):$("",!0),a.role==="assistant"?(o(),l("div",{key:2,class:"message-text",innerHTML:zt(a.displayContent)},null,8,Go)):(o(),l("div",Wo,A(a.content),1)),a.role==="assistant"?(o(),l("div",Oo,[e("button",{class:"audio-btn",onClick:c=>Et(a)},[_.value===a.id?(o(),l("div",Ro,t[18]||(t[18]=[e("span",{class:"wave-bar"},null,-1),e("span",{class:"wave-bar"},null,-1),e("span",{class:"wave-bar"},null,-1),e("span",{class:"wave-bar"},null,-1)]))):(o(),l("img",{key:1,src:O(Ds),alt:"播放",class:"audio-icon"},null,8,qo))],8,Bo)])):$("",!0)])])],2))),128))],512)),e("div",Jo,[e("div",{class:F(["search-toggles",{compact:ut.value}])},[e("div",No,[e("div",Ko,[e("div",Fo,[I(O(ds)),t[20]||(t[20]=e("span",{class:"toggle-text"},"互联网",-1)),e("div",Yo,[R(e("input",{type:"checkbox",id:"webSearchToggle","onUpdate:modelValue":t[1]||(t[1]=a=>B.value=a),onChange:Ot,disabled:n.value.length>0,class:"toggle-input"},null,40,Ho),[[Qe,B.value]]),e("label",{for:"webSearchToggle",class:F(["toggle-label",{disabled:n.value.length>0}])},t[19]||(t[19]=[e("span",{class:"toggle-slider"},null,-1)]),2)])])]),e("div",Qo,[e("div",jo,[I(O(ft)),t[22]||(t[22]=e("span",{class:"toggle-text"},"知识库",-1)),e("div",Zo,[R(e("input",{type:"checkbox",id:"knowledgeSearchToggle","onUpdate:modelValue":t[2]||(t[2]=a=>Ie.value=a),onChange:Wt,class:"toggle-input"},null,544),[[Qe,Ie.value]]),t[21]||(t[21]=e("label",{for:"knowledgeSearchToggle",class:"toggle-label"},[e("span",{class:"toggle-slider"})],-1))])])]),e("div",Xo,[e("div",el,[I(O(ft)),t[24]||(t[24]=e("span",{class:"toggle-text"},"推理模式",-1)),e("div",tl,[R(e("input",{type:"checkbox",id:"inferenceModelId","onUpdate:modelValue":t[3]||(t[3]=a=>De.value=a),onChange:Gt,class:"toggle-input"},null,544),[[Qe,De.value]]),t[23]||(t[23]=e("label",{for:"inferenceModelId",class:"toggle-label"},[e("span",{class:"toggle-slider"})],-1))])])])]),e("div",sl,[e("div",al,[e("select",{class:"model-select",value:$e.value,onChange:t[4]||(t[4]=a=>qt(a.target.value)),disabled:Pe.value},[Pe.value?(o(),l("option",ll,"加载中...")):ge.value.length===0?(o(),l("option",nl,"无可用模型")):$("",!0),(o(!0),l(U,null,q(ge.value,a=>(o(),l("option",{key:a.id,value:a.id},A(a.name),9,il))),128))],40,ol)])])],2),b.value?(o(),l("div",rl,[e("div",cl,[e("div",{class:"attachments-header"},[t[26]||(t[26]=e("span",null,"Attachments",-1)),e("button",{class:"close-btn",onClick:tt},t[25]||(t[25]=[e("img",{src:ks,alt:""},null,-1)]))]),n.value.length===0?(o(),l("div",ul,[e("div",{class:F(["upload-area",{"has-files":n.value.length>0}]),onClick:st,onDrop:Se($t,["prevent"]),onDragover:t[5]||(t[5]=Se(()=>{},["prevent"])),onDragenter:t[6]||(t[6]=Se(()=>{},["prevent"]))},[H.value?(o(),l("div",dl,t[27]||(t[27]=[e("div",{class:"loading-spinner"},null,-1),e("div",{class:"upload-text"},"Uploading...",-1)]))):(o(),l(U,{key:1},[t[28]||(t[28]=e("img",{src:bs,alt:"upload",class:"upload-icon"},null,-1)),t[29]||(t[29]=e("div",{class:"upload-text"},"Upload files",-1)),t[30]||(t[30]=e("div",{class:"upload-hint"}," Click or drag files to this area to upload ",-1))],64)),e("input",{type:"file",ref_key:"fileInput",ref:y,style:{display:"none"},onChange:ot,multiple:""},null,544)],34)])):$("",!0),n.value.length!==0?(o(),l("div",vl,[e("div",pl,[(o(!0),l(U,null,q(n.value,a=>(o(),l("div",{key:a.name,class:F(["file-item",{"is-image":re(a)}])},[e("div",{class:F(re(a)?"file-wrapper":"")},[a.isUploading?(o(),l("div",gl,t[31]||(t[31]=[e("div",{class:"loading-spinner"},null,-1)]))):re(a)?(o(),l("img",{key:1,src:a.url,alt:"file",class:"file-icon"},null,8,hl)):ke(a)?(o(),l("video",{key:2,src:a.url,class:"file-icon",preload:"metadata"}," Your browser does not support the video tag. ",8,ml)):(o(),l("img",{key:3,src:nt(a),alt:"file",class:F(re(a)||ke(a)?"file-icon":"")},null,10,fl)),a.isUploading?$("",!0):(o(),l("button",{key:4,class:"remove-btn",onClick:Se(c=>It(a),["stop"])}," × ",8,wl))],2),re(a)?$("",!0):(o(),l("div",yl,[e("span",_l,A(a.name),1),e("span",kl,A(a.sizeFormatted),1)]))],2))),128)),e("button",{class:"add-more-btn",onClick:Se(st,["stop"])},t[32]||(t[32]=[e("img",{src:wt,alt:"add"},null,-1)]))]),e("input",{type:"file",ref_key:"fileInput",ref:y,style:{display:"none"},onChange:ot,multiple:""},null,544)])):$("",!0)])])):$("",!0),e("div",bl,[e("button",{class:"attachment-btn",onClick:tt},t[33]||(t[33]=[e("img",{src:As,alt:"attachment",class:"tab-icon"},null,-1)])),R(e("input",{type:"text",class:"message-input","onUpdate:modelValue":t[7]||(t[7]=a=>g.value=a),onKeyup:is(Je,["enter"]),placeholder:"Type a message..."},null,544),[[ze,g.value]]),e("button",{class:"send-btn",onClick:Je},[z.value?(o(),l("span",Al,t[34]||(t[34]=[e("span",{class:"loading-square"},null,-1)]))):(o(),l("img",Sl))])])])]),xe.value?$("",!0):(o(),l("div",{key:0,class:F(["right_menu",{collapsed:!Vt.value}]),style:rs({width:L.value+"px"})},[e("div",{class:"resize-handle",onMousedown:ct,onTouchstart:ct},null,32),e("div",Cl,[R(e("div",xl,[I(na,{searchResults:T.value,loading:ve.value,total:Oe.value,enableWebSearch:B.value,message:Te.value,"onUpdate:enableWebSearch":Lt},null,8,["searchResults","loading","total","enableWebSearch","message"])],512),[[me,ce.value==="search"]]),R(e("div",Il,[t[36]||(t[36]=e("div",{class:"preview-header"},[e("span",null,"文档预览")],-1)),e("div",Dl,[e("div",Ml,[N.value?(o(),l("div",Tl,[e("div",$l,[e("span",null,A(N.value.name),1),e("button",{class:"close-btn",onClick:Xt},[I(O(vs))])]),e("div",El,[re(N.value)?(o(),l("img",{key:0,src:N.value.url,class:"preview-image",alt:"preview"},null,8,Ul)):ke(N.value)?(o(),l("video",{key:1,src:N.value.url,controls:"",class:"preview-video"},null,8,zl)):Qt(N.value)?(o(),l("div",Ll,[I(O(ps),{src:N.value.url,class:"doc-preview",onRendered:gt,onError:s.handleError},null,8,["src","onError"])])):jt(N.value)?(o(),l("div",Pl,[I(O(gs),{options:Yt.value,onRendered:gt,onError:Ht,src:N.value.url,class:"doc-preview"},null,8,["options","src"])])):Zt(N.value)?(o(),l("iframe",{key:4,src:N.value.url,style:{width:"100%",height:"100%"},frameborder:"0"},null,8,Vl)):(o(),l("div",Gl,[I(O(hs),{class:"large-icon"}),t[35]||(t[35]=e("p",null,"该文件类型暂不支持预览",-1))]))])])):$("",!0)])])],512),[[me,ce.value==="preview"]]),R(e("div",Wl,[I(Fa,{searchResults:Be.value,loading:qe.value,total:Re.value,message:Te.value},null,8,["searchResults","loading","total","message"])],512),[[me,ce.value==="knowledge"]])])],6))],2))}},Nl=we(Rl,[["__scopeId","data-v-1e10eed1"]]);export{Nl as default};
|