@acedatacloud/nexior 3.29.3 → 3.29.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (612) hide show
  1. package/dist/assets/{Auth-Dl8H1KJ0.js → Auth-CoBGJCCw.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-C4gAXBol.js → BotPlaceholder-BL8MMNSZ.js} +1 -1
  3. package/dist/assets/{Callback-D7QFIXoM.js → Callback-BgH_Utyj.js} +1 -1
  4. package/dist/assets/{Console-Ck1ox1pJ.js → Console-DVax2DE4.js} +1 -1
  5. package/dist/assets/{Conversation-CrN7aAlF.js → Conversation-GSrX1R-R.js} +1 -1
  6. package/dist/assets/{CopyToClipboard-BCqghcSi.js → CopyToClipboard-DUBbK93t.js} +1 -1
  7. package/dist/assets/{Detail-BOcqucKg.js → Detail-DhtrRWvX.js} +1 -1
  8. package/dist/assets/{EditArray-Dmvzbtd_.js → EditArray-DK5ALfIW.js} +1 -1
  9. package/dist/assets/{Extra-ClZJj_56.js → Extra-B5Qcplat.js} +1 -1
  10. package/dist/assets/{FilePreview-B9t2XU5i.js → FilePreview-ButdEzn1.js} +1 -1
  11. package/dist/assets/{History-9TcbRFT5.js → History-BqC9hCAk.js} +1 -1
  12. package/dist/assets/{ImagePreview-DdvFIJXZ.js → ImagePreview-16UTA4Ig.js} +1 -1
  13. package/dist/assets/{ImageWrapper-CNEsQVKf.js → ImageWrapper-mb1KsHr6.js} +1 -1
  14. package/dist/assets/{Index-C_MgiNz0.js → Index-2elzaLl1.js} +1 -1
  15. package/dist/assets/{Index-D-uPPAwU.js → Index-6gMLg2EY.js} +1 -1
  16. package/dist/assets/{Index-Bq1JMkse.js → Index-BBS6o--_.js} +1 -1
  17. package/dist/assets/{Index-DIXzI9k_.js → Index-BHhT0z1M.js} +1 -1
  18. package/dist/assets/{Index-B2mJhQ5U.js → Index-BYqD9lqM.js} +1 -1
  19. package/dist/assets/{Index-CNJj-rgt.js → Index-B_SqEGMu.js} +1 -1
  20. package/dist/assets/{Index-CCAGXtJb.js → Index-BmDhGkIl.js} +1 -1
  21. package/dist/assets/{Index-KkF8D9fW.js → Index-BzeXUOoU.js} +1 -1
  22. package/dist/assets/{Index-ngNe9STI.js → Index-CarBKXc_.js} +1 -1
  23. package/dist/assets/{Index-Dhrz1Lux.js → Index-Cc0p4WHd.js} +1 -1
  24. package/dist/assets/{Index-BncNg4qp.js → Index-DKp2CLo3.js} +1 -1
  25. package/dist/assets/{Index-DDXW-rqs.js → Index-DXez4nb7.js} +1 -1
  26. package/dist/assets/{Index-DQUF2Bby.js → Index-DYfKRilM.js} +1 -1
  27. package/dist/assets/{Index-Cj65n8aI.js → Index-DouhjWdd.js} +1 -1
  28. package/dist/assets/{Index-C13vqJPT.js → Index-MGM-5rcn.js} +1 -1
  29. package/dist/assets/Index-Q2Y5_EP0.js +1 -0
  30. package/dist/assets/{Index-btBZlFH3.css → Index-YyZEkfEe.css} +1 -1
  31. package/dist/assets/{Index-X1Z0H3U2.js → Index-ZCpheDG7.js} +1 -1
  32. package/dist/assets/{Index-CSiY85L1.js → Index-kR-R_Ruz.js} +1 -1
  33. package/dist/assets/{Invitees-CvwFZxah.js → Invitees-DNFvqTDa.js} +1 -1
  34. package/dist/assets/{List-MV5euY3q.js → List-B9nGTwmd.js} +1 -1
  35. package/dist/assets/{List-CEWd7OZ9.js → List-CXaCzqEO.js} +1 -1
  36. package/dist/assets/{List-pEQU7hML.js → List-DtsesRgc.js} +1 -1
  37. package/dist/assets/{Main-DlJjYr_X.js → Main-xhazevN1.js} +1 -1
  38. package/dist/assets/{Navigator-d3jQ7b8m.js → Navigator-_n13vxm-.js} +1 -1
  39. package/dist/assets/{NoTasks-BsbQMi3P.js → NoTasks-itMtwFM2.js} +1 -1
  40. package/dist/assets/{Pagination-wWFgAVUi.js → Pagination-CM3nVrNB.js} +1 -1
  41. package/dist/assets/{ScrollList-BKBKIlCd.js → ScrollList-DZkNnK0d.js} +1 -1
  42. package/dist/assets/{Status-BH8IJXFv.js → Status-D6REuTZv.js} +1 -1
  43. package/dist/assets/{Subscribe-CsxCDTK7.js → Subscribe-Dkht8EId.js} +1 -1
  44. package/dist/assets/{VideoPlayer-BI8yzo-n.js → VideoPlayer-DMvGMBbk.js} +1 -1
  45. package/dist/assets/application-BAZ0dbBl.js +1 -0
  46. package/dist/assets/application-BH1cvhHo.js +1 -0
  47. package/dist/assets/application-BgGdGdRj.js +1 -0
  48. package/dist/assets/application-Bhldlggu.js +1 -0
  49. package/dist/assets/application-BrhYj3DT.js +1 -0
  50. package/dist/assets/application-CKPi8cPy.js +1 -0
  51. package/dist/assets/application-CPSPYWCX.js +1 -0
  52. package/dist/assets/application-CZngDUPx.js +1 -0
  53. package/dist/assets/{application-BIKcbaVW.js → application-CoiETkeN.js} +1 -1
  54. package/dist/assets/application-Cv6gfKhE.js +1 -0
  55. package/dist/assets/application-CvxwMbkk.js +1 -0
  56. package/dist/assets/application-D6yPzlLo.js +1 -0
  57. package/dist/assets/application-DBlkreCS.js +1 -0
  58. package/dist/assets/application-DOPGZ8gS.js +1 -0
  59. package/dist/assets/application-NGZNbFMk.js +1 -0
  60. package/dist/assets/application-U-zi54cH.js +1 -0
  61. package/dist/assets/application-mO4a5JKx.js +1 -0
  62. package/dist/assets/{application-rjK39_oK.js → application-sOpp2_Uj.js} +1 -1
  63. package/dist/assets/common-BcDeWKMG.js +1 -0
  64. package/dist/assets/common-BtcEI3_z.js +1 -0
  65. package/dist/assets/common-Byo6dAD4.js +1 -0
  66. package/dist/assets/common-CBLt4Lh2.js +1 -0
  67. package/dist/assets/common-CFMWyQcn.js +1 -0
  68. package/dist/assets/common-CUQ2Rxsz.js +1 -0
  69. package/dist/assets/common-DWlKkKHT.js +1 -0
  70. package/dist/assets/common-Db1Ljfwf.js +1 -0
  71. package/dist/assets/common-DsjfBo3C.js +1 -0
  72. package/dist/assets/common-DzpTTtSR.js +1 -0
  73. package/dist/assets/common-JFbq6Gv8.js +1 -0
  74. package/dist/assets/common-JkxpO6Ry.js +1 -0
  75. package/dist/assets/common-NyqPuFQx.js +1 -0
  76. package/dist/assets/common-QFN7jZT-.js +1 -0
  77. package/dist/assets/common-Rn4Rz0s3.js +1 -0
  78. package/dist/assets/common-XX_w7bp_.js +1 -0
  79. package/dist/assets/common-dWQObmCb.js +1 -0
  80. package/dist/assets/{distribution-Dxd6ePKs.js → distribution-BeqWAQIH.js} +1 -1
  81. package/dist/assets/flux-B2pbIQ9G.js +1 -0
  82. package/dist/assets/flux-B2xsh-q7.js +1 -0
  83. package/dist/assets/flux-BGe23XSi.js +1 -0
  84. package/dist/assets/flux-BqCgCSE3.js +1 -0
  85. package/dist/assets/flux-BtvrkxrM.js +1 -0
  86. package/dist/assets/flux-BuWiyZlS.js +1 -0
  87. package/dist/assets/flux-CWQghN5Q.js +1 -0
  88. package/dist/assets/flux-CmFzFVTt.js +1 -0
  89. package/dist/assets/flux-CqJvlLWJ.js +1 -0
  90. package/dist/assets/flux-CwIuouAF.js +1 -0
  91. package/dist/assets/flux-D-ug_7-r.js +1 -0
  92. package/dist/assets/flux-D2JLj8-z.js +1 -0
  93. package/dist/assets/flux-D3L-riyO.js +1 -0
  94. package/dist/assets/flux-DMjo5ZNX.js +1 -0
  95. package/dist/assets/flux-DTXPX0We.js +1 -0
  96. package/dist/assets/flux-DvAgS0IZ.js +1 -0
  97. package/dist/assets/flux-XgGZ_3UB.js +1 -0
  98. package/dist/assets/flux-z_t88-4X.js +1 -0
  99. package/dist/assets/hailuo-BM8Zb9tM.js +1 -0
  100. package/dist/assets/hailuo-BQt1d1O3.js +1 -0
  101. package/dist/assets/hailuo-BTz1l03a.js +1 -0
  102. package/dist/assets/hailuo-BetkXkF7.js +1 -0
  103. package/dist/assets/hailuo-CtjbxtZg.js +1 -0
  104. package/dist/assets/hailuo-CuPAsaLK.js +1 -0
  105. package/dist/assets/hailuo-CxU6ifF9.js +1 -0
  106. package/dist/assets/hailuo-D-zG7pKA.js +1 -0
  107. package/dist/assets/hailuo-DHHrp9_h.js +1 -0
  108. package/dist/assets/hailuo-DPLP4ZfQ.js +1 -0
  109. package/dist/assets/hailuo-DjqqC0kS.js +1 -0
  110. package/dist/assets/hailuo-DquHPVRM.js +1 -0
  111. package/dist/assets/hailuo-DuMmmmEQ.js +1 -0
  112. package/dist/assets/hailuo-HvSBabx1.js +1 -0
  113. package/dist/assets/hailuo-Ls1nqE13.js +1 -0
  114. package/dist/assets/hailuo-Y_XixcQP.js +1 -0
  115. package/dist/assets/hailuo-e03mE7Om.js +1 -0
  116. package/dist/assets/hailuo-xgGk4uQk.js +1 -0
  117. package/dist/assets/headshots-BDIUU4B_.js +1 -0
  118. package/dist/assets/headshots-BEC3AR3T.js +1 -0
  119. package/dist/assets/headshots-BJMWFKEW.js +1 -0
  120. package/dist/assets/headshots-BT8PUtIx.js +1 -0
  121. package/dist/assets/headshots-Bj9dy3yN.js +1 -0
  122. package/dist/assets/headshots-CC5UMSQW.js +1 -0
  123. package/dist/assets/headshots-CLpJ7-xv.js +1 -0
  124. package/dist/assets/headshots-Caijoqmj.js +1 -0
  125. package/dist/assets/headshots-Caq0vuu1.js +1 -0
  126. package/dist/assets/headshots-CmC_faEw.js +1 -0
  127. package/dist/assets/headshots-CoxaWc2s.js +1 -0
  128. package/dist/assets/headshots-DA95kWDp.js +1 -0
  129. package/dist/assets/headshots-DHXZizzR.js +1 -0
  130. package/dist/assets/headshots-DcggbLd5.js +1 -0
  131. package/dist/assets/headshots-DcuWCIU4.js +1 -0
  132. package/dist/assets/headshots-DjDKXqDt.js +1 -0
  133. package/dist/assets/headshots-VZ10rnue.js +1 -0
  134. package/dist/assets/headshots-f4kii_2c.js +1 -0
  135. package/dist/assets/{index-J0lRtGSj.js → index-CFwKXwDS.js} +3 -3
  136. package/dist/assets/kling-B07sbbVW.js +1 -0
  137. package/dist/assets/kling-B6rS1JgY.js +1 -0
  138. package/dist/assets/kling-B8jW8y5o.js +1 -0
  139. package/dist/assets/kling-BDHqGJwD.js +1 -0
  140. package/dist/assets/kling-BqxLrLWb.js +1 -0
  141. package/dist/assets/kling-BrSZS3Qu.js +1 -0
  142. package/dist/assets/kling-BtRgWSHy.js +1 -0
  143. package/dist/assets/kling-C3mYdPfU.js +1 -0
  144. package/dist/assets/kling-CCyNvH2U.js +1 -0
  145. package/dist/assets/kling-CUgtvq0o.js +1 -0
  146. package/dist/assets/kling-Cd524tuS.js +1 -0
  147. package/dist/assets/kling-D9tTHa4r.js +1 -0
  148. package/dist/assets/kling-DYHL8EzB.js +1 -0
  149. package/dist/assets/kling-FOjKz7Bi.js +1 -0
  150. package/dist/assets/kling-PaK_AdvE.js +1 -0
  151. package/dist/assets/kling-XH0vGtRO.js +1 -0
  152. package/dist/assets/kling-_j_YwYWB.js +1 -0
  153. package/dist/assets/kling-buSi-PBK.js +1 -0
  154. package/dist/assets/luma-7S-poC8x.js +1 -0
  155. package/dist/assets/luma-BCYItmZw.js +1 -0
  156. package/dist/assets/luma-BOWmL8Ew.js +1 -0
  157. package/dist/assets/luma-BXF5H5k3.js +1 -0
  158. package/dist/assets/luma-BXoNjZdN.js +1 -0
  159. package/dist/assets/luma-CAFeK_mp.js +1 -0
  160. package/dist/assets/luma-CL3CtiHA.js +1 -0
  161. package/dist/assets/luma-CcGJ09eV.js +1 -0
  162. package/dist/assets/luma-CkSQwAaH.js +1 -0
  163. package/dist/assets/luma-Cn7sZBRw.js +1 -0
  164. package/dist/assets/luma-DFiKabU1.js +1 -0
  165. package/dist/assets/luma-DG-VM9C7.js +1 -0
  166. package/dist/assets/luma-DOAVF-wL.js +1 -0
  167. package/dist/assets/luma-DTs2J45r.js +1 -0
  168. package/dist/assets/luma-DUvXmJal.js +1 -0
  169. package/dist/assets/luma-DpDzuMjP.js +1 -0
  170. package/dist/assets/luma-j45zW-XR.js +1 -0
  171. package/dist/assets/luma-o2nUCarw.js +1 -0
  172. package/dist/assets/midjourney-3qTfZ2g0.js +1 -0
  173. package/dist/assets/midjourney-BB8_8Y0b.js +1 -0
  174. package/dist/assets/midjourney-BPH2f-mB.js +1 -0
  175. package/dist/assets/midjourney-BSa-zke8.js +1 -0
  176. package/dist/assets/{midjourney-BWfqLBwH.js → midjourney-BX43t6mP.js} +1 -1
  177. package/dist/assets/midjourney-BforSgJQ.js +1 -0
  178. package/dist/assets/midjourney-BiEcgyn_.js +1 -0
  179. package/dist/assets/midjourney-BlWzdaOt.js +1 -0
  180. package/dist/assets/midjourney-CF6rGKLn.js +1 -0
  181. package/dist/assets/midjourney-CsMxES1u.js +1 -0
  182. package/dist/assets/midjourney-DLjNdgAu.js +1 -0
  183. package/dist/assets/midjourney-DTPFL7H6.js +1 -0
  184. package/dist/assets/midjourney-DrEvLpOW.js +1 -0
  185. package/dist/assets/midjourney-DrLxaHYR.js +1 -0
  186. package/dist/assets/midjourney-DtqGn3W4.js +1 -0
  187. package/dist/assets/midjourney-J2zj1IYa.js +1 -0
  188. package/dist/assets/midjourney-S0C_rEm5.js +1 -0
  189. package/dist/assets/midjourney-pGIr4mFy.js +1 -0
  190. package/dist/assets/{nanobanana-DK2S4WH-.js → nanobanana-88d7dd1u.js} +1 -1
  191. package/dist/assets/nanobanana-BI7UqDqm.js +1 -0
  192. package/dist/assets/nanobanana-BNm2h5BY.js +1 -0
  193. package/dist/assets/nanobanana-Bh6af1hK.js +1 -0
  194. package/dist/assets/{nanobanana-DPn7BHKa.js → nanobanana-BthvRET3.js} +1 -1
  195. package/dist/assets/nanobanana-BuQAMgYh.js +1 -0
  196. package/dist/assets/nanobanana-BwVkihul.js +1 -0
  197. package/dist/assets/nanobanana-C0Bh5UZV.js +1 -0
  198. package/dist/assets/nanobanana-C2nNwIa8.js +1 -0
  199. package/dist/assets/nanobanana-CGOAspQr.js +1 -0
  200. package/dist/assets/{nanobanana-VqTavWjG.js → nanobanana-CkZJMrAB.js} +1 -1
  201. package/dist/assets/nanobanana-DE3GRxD6.js +1 -0
  202. package/dist/assets/nanobanana-DaSbktx_.js +1 -0
  203. package/dist/assets/nanobanana-DrPpAlxx.js +1 -0
  204. package/dist/assets/nanobanana-HJZLDfwk.js +1 -0
  205. package/dist/assets/nanobanana-MvEtt5E3.js +1 -0
  206. package/dist/assets/nanobanana-aCAXveUq.js +1 -0
  207. package/dist/assets/nanobanana-bA9QjEQP.js +1 -0
  208. package/dist/assets/{order-Dm9TlPjG.js → order-nid2xuQ1.js} +1 -1
  209. package/dist/assets/pika--wrKSzZf.js +1 -0
  210. package/dist/assets/pika-B5aYEnv5.js +1 -0
  211. package/dist/assets/pika-BLUWROpd.js +1 -0
  212. package/dist/assets/pika-BRHMprre.js +1 -0
  213. package/dist/assets/pika-BaT-cj1x.js +1 -0
  214. package/dist/assets/pika-Blx2vcMD.js +1 -0
  215. package/dist/assets/pika-BpX6hL42.js +1 -0
  216. package/dist/assets/pika-Clwc6_Jl.js +1 -0
  217. package/dist/assets/pika-Cm1jZ4qa.js +1 -0
  218. package/dist/assets/pika-CwV1MpHU.js +1 -0
  219. package/dist/assets/pika-D3pqMP2b.js +1 -0
  220. package/dist/assets/pika-DQvQAjKt.js +1 -0
  221. package/dist/assets/pika-DZQxvGdk.js +1 -0
  222. package/dist/assets/pika-DuZQPvUz.js +1 -0
  223. package/dist/assets/pika-DxTzqEJS.js +1 -0
  224. package/dist/assets/pika-WMPzktRP.js +1 -0
  225. package/dist/assets/pika-u44e0Ms9.js +1 -0
  226. package/dist/assets/pika-ucNjb0yd.js +1 -0
  227. package/dist/assets/pixverse-AaeCk8T2.js +1 -0
  228. package/dist/assets/pixverse-B72AKczt.js +1 -0
  229. package/dist/assets/pixverse-B9igGo37.js +1 -0
  230. package/dist/assets/pixverse-BJM8K0xX.js +1 -0
  231. package/dist/assets/pixverse-BSlMxvsh.js +1 -0
  232. package/dist/assets/pixverse-BaDQsOsD.js +1 -0
  233. package/dist/assets/pixverse-Bt6GAZs4.js +1 -0
  234. package/dist/assets/pixverse-CK-n8Za6.js +1 -0
  235. package/dist/assets/pixverse-CQ0jBN38.js +1 -0
  236. package/dist/assets/pixverse-D46bH22v.js +1 -0
  237. package/dist/assets/pixverse-D86s3egN.js +1 -0
  238. package/dist/assets/pixverse-DAZihncX.js +1 -0
  239. package/dist/assets/pixverse-DHWQvGwl.js +1 -0
  240. package/dist/assets/pixverse-DuWn6zlY.js +1 -0
  241. package/dist/assets/pixverse-IEpvNcrh.js +1 -0
  242. package/dist/assets/pixverse-JMfQfll9.js +1 -0
  243. package/dist/assets/pixverse-V3-6cB8k.js +1 -0
  244. package/dist/assets/pixverse-Y5a6PNZj.js +1 -0
  245. package/dist/assets/{price-DnZ4efZC.js → price-DkXHaDUs.js} +1 -1
  246. package/dist/assets/seedance-BU_aJNbl.js +1 -0
  247. package/dist/assets/seedance-Bi2x9HSS.js +1 -0
  248. package/dist/assets/seedance-C9gRqXXe.js +1 -0
  249. package/dist/assets/seedance-CEn3XHX3.js +1 -0
  250. package/dist/assets/seedance-ClhqHARJ.js +1 -0
  251. package/dist/assets/{seedance-Byj_hTQM.js → seedance-Cx_dv94A.js} +1 -1
  252. package/dist/assets/seedance-CyDbhzQc.js +1 -0
  253. package/dist/assets/seedance-Cz6MoxYv.js +1 -0
  254. package/dist/assets/seedance-DMlPCh0W.js +1 -0
  255. package/dist/assets/seedance-DNyJQURN.js +1 -0
  256. package/dist/assets/seedance-DV6R0xYp.js +1 -0
  257. package/dist/assets/seedance-QAJCtFMu.js +1 -0
  258. package/dist/assets/seedance-RKVqYt_e.js +1 -0
  259. package/dist/assets/seedance-S33zSwM8.js +1 -0
  260. package/dist/assets/seedance-dsqkOutz.js +1 -0
  261. package/dist/assets/seedance-fVb-ffa9.js +1 -0
  262. package/dist/assets/seedance-wjrAwBhs.js +1 -0
  263. package/dist/assets/seedream-9GJveDBF.js +1 -0
  264. package/dist/assets/seedream-BZd0t4iF.js +1 -0
  265. package/dist/assets/seedream-Bh03LDCs.js +1 -0
  266. package/dist/assets/seedream-C_QjR_Co.js +1 -0
  267. package/dist/assets/seedream-CpUqjMxc.js +1 -0
  268. package/dist/assets/seedream-CzG-vzPJ.js +1 -0
  269. package/dist/assets/{seedream-Vmqg9HQO.js → seedream-D3DsZDgA.js} +1 -1
  270. package/dist/assets/{seedream-D05SQiHI.js → seedream-D3qXo2qk.js} +1 -1
  271. package/dist/assets/seedream-DAJoxm6s.js +1 -0
  272. package/dist/assets/seedream-DBHwN_y4.js +1 -0
  273. package/dist/assets/seedream-DFLx7jJk.js +1 -0
  274. package/dist/assets/seedream-DK6ETL0h.js +1 -0
  275. package/dist/assets/seedream-DryRvtXd.js +1 -0
  276. package/dist/assets/seedream-EyKLMMVh.js +1 -0
  277. package/dist/assets/seedream-KD1k_Pyt.js +1 -0
  278. package/dist/assets/seedream-XZFnBvas.js +1 -0
  279. package/dist/assets/seedream-eyiUCiIe.js +1 -0
  280. package/dist/assets/seedream-spjjhsnw.js +1 -0
  281. package/dist/assets/site-B2rYMzMX.js +1 -0
  282. package/dist/assets/site-BUuyDnD-.js +1 -0
  283. package/dist/assets/site-BZywRvco.js +1 -0
  284. package/dist/assets/site-C2j36gie.js +1 -0
  285. package/dist/assets/site-C66NmQfZ.js +1 -0
  286. package/dist/assets/site-CRzTeFs7.js +1 -0
  287. package/dist/assets/site-C_UgCS_v.js +1 -0
  288. package/dist/assets/site-CiUZiqg9.js +1 -0
  289. package/dist/assets/site-DEHBMeiZ.js +1 -0
  290. package/dist/assets/site-DXgeOlSf.js +1 -0
  291. package/dist/assets/site-DZ6W_Ruv.js +1 -0
  292. package/dist/assets/site-DfQQ2sS6.js +1 -0
  293. package/dist/assets/site-Dh_pyL83.js +1 -0
  294. package/dist/assets/site-DjB1Ef3m.js +1 -0
  295. package/dist/assets/site-T47V4ihF.js +1 -0
  296. package/dist/assets/site-ZbyXTRZe.js +1 -0
  297. package/dist/assets/site-ukSEsxHt.js +1 -0
  298. package/dist/assets/sora-B-CgAunT.js +1 -0
  299. package/dist/assets/sora-B9Tg0oUx.js +1 -0
  300. package/dist/assets/sora-BFRrU731.js +1 -0
  301. package/dist/assets/sora-BlYCQuIC.js +1 -0
  302. package/dist/assets/sora-C2i5R8gJ.js +1 -0
  303. package/dist/assets/sora-CHNNLqlS.js +1 -0
  304. package/dist/assets/sora-CVuNA5UZ.js +1 -0
  305. package/dist/assets/sora-CrtszpGq.js +1 -0
  306. package/dist/assets/sora-CscUZmow.js +1 -0
  307. package/dist/assets/sora-D1pg5q3b.js +1 -0
  308. package/dist/assets/sora-D3fzVSkh.js +1 -0
  309. package/dist/assets/sora-DgXpubqo.js +1 -0
  310. package/dist/assets/sora-DpqPCS5y.js +1 -0
  311. package/dist/assets/sora-DwwWgMc7.js +1 -0
  312. package/dist/assets/sora-Ms8L433H.js +1 -0
  313. package/dist/assets/sora-bBDaTyYm.js +1 -0
  314. package/dist/assets/sora-lKX0lG-M.js +1 -0
  315. package/dist/assets/sora-xqJLrWM7.js +1 -0
  316. package/dist/assets/veo-B3vKcF9g.js +1 -0
  317. package/dist/assets/veo-BWEVo4sN.js +1 -0
  318. package/dist/assets/veo-BZ9ijdJR.js +1 -0
  319. package/dist/assets/veo-BnqKyLxB.js +1 -0
  320. package/dist/assets/veo-BrYGMJEk.js +1 -0
  321. package/dist/assets/veo-CCZVdSlG.js +1 -0
  322. package/dist/assets/veo-Cdxre4kd.js +1 -0
  323. package/dist/assets/veo-CfCsfF2d.js +1 -0
  324. package/dist/assets/veo-CmOQ2a9_.js +1 -0
  325. package/dist/assets/veo-DUZPY3TU.js +1 -0
  326. package/dist/assets/veo-DZkpLzN3.js +1 -0
  327. package/dist/assets/veo-DqS78-xy.js +1 -0
  328. package/dist/assets/veo-DuwlHTCs.js +1 -0
  329. package/dist/assets/veo-Dx6gi8Tw.js +1 -0
  330. package/dist/assets/veo-DxVI4WnA.js +1 -0
  331. package/dist/assets/veo-Lb3ECz4N.js +1 -0
  332. package/dist/assets/veo-PZ_tvW_f.js +1 -0
  333. package/dist/assets/veo-h4Fkhfad.js +1 -0
  334. package/dist/index.html +1 -1
  335. package/package.json +1 -1
  336. package/dist/assets/Index-BQavIKRG.js +0 -1
  337. package/dist/assets/application-4sCLHc8H.js +0 -1
  338. package/dist/assets/application-B3aCFTSw.js +0 -1
  339. package/dist/assets/application-BEYmfFJz.js +0 -1
  340. package/dist/assets/application-BeoSDqMh.js +0 -1
  341. package/dist/assets/application-Bis14xw7.js +0 -1
  342. package/dist/assets/application-CUkYQyol.js +0 -1
  343. package/dist/assets/application-CobHPXFx.js +0 -1
  344. package/dist/assets/application-Cx03xyWX.js +0 -1
  345. package/dist/assets/application-D9f2k0Z7.js +0 -1
  346. package/dist/assets/application-DDCXm6fP.js +0 -1
  347. package/dist/assets/application-F1iqle9v.js +0 -1
  348. package/dist/assets/application-IPq1e_Il.js +0 -1
  349. package/dist/assets/application-KyKnYbJy.js +0 -1
  350. package/dist/assets/application-OKlUcxSS.js +0 -1
  351. package/dist/assets/application-QJ9ZEQYt.js +0 -1
  352. package/dist/assets/application-m4x26hDG.js +0 -1
  353. package/dist/assets/common-BI0LhzSA.js +0 -1
  354. package/dist/assets/common-BZm0QYo9.js +0 -1
  355. package/dist/assets/common-B_PmT7TM.js +0 -1
  356. package/dist/assets/common-Bcx_BuZz.js +0 -1
  357. package/dist/assets/common-BeAEyklZ.js +0 -1
  358. package/dist/assets/common-C4PrbbM4.js +0 -1
  359. package/dist/assets/common-CDLAbQQ3.js +0 -1
  360. package/dist/assets/common-CGNSiMOk.js +0 -1
  361. package/dist/assets/common-CH8h4IdQ.js +0 -1
  362. package/dist/assets/common-CILlPjke.js +0 -1
  363. package/dist/assets/common-CWvsYwT3.js +0 -1
  364. package/dist/assets/common-CogTVkeR.js +0 -1
  365. package/dist/assets/common-DF-bVCeJ.js +0 -1
  366. package/dist/assets/common-DWvZ0iLq.js +0 -1
  367. package/dist/assets/common-Dor4ISLG.js +0 -1
  368. package/dist/assets/common-K7AapjKU.js +0 -1
  369. package/dist/assets/common-opQd1j77.js +0 -1
  370. package/dist/assets/flux-06_Wwe8H.js +0 -1
  371. package/dist/assets/flux-7UIDrrYN.js +0 -1
  372. package/dist/assets/flux-BNsm8WjQ.js +0 -1
  373. package/dist/assets/flux-BWntDApl.js +0 -1
  374. package/dist/assets/flux-CAiVORom.js +0 -1
  375. package/dist/assets/flux-CLwdsH0t.js +0 -1
  376. package/dist/assets/flux-CRW0ioav.js +0 -1
  377. package/dist/assets/flux-CiyDdkZc.js +0 -1
  378. package/dist/assets/flux-CsQgOHJx.js +0 -1
  379. package/dist/assets/flux-Cz0gx-Y8.js +0 -1
  380. package/dist/assets/flux-D1OYnI64.js +0 -1
  381. package/dist/assets/flux-DGykfhTA.js +0 -1
  382. package/dist/assets/flux-DIrY7W-B.js +0 -1
  383. package/dist/assets/flux-DKO6D7vC.js +0 -1
  384. package/dist/assets/flux-DjFrqbcH.js +0 -1
  385. package/dist/assets/flux-b66wgXCA.js +0 -1
  386. package/dist/assets/flux-k1I24-jG.js +0 -1
  387. package/dist/assets/flux-qZUVqRD-.js +0 -1
  388. package/dist/assets/hailuo-AtFQzwHX.js +0 -1
  389. package/dist/assets/hailuo-B9i0o0u5.js +0 -1
  390. package/dist/assets/hailuo-BRB2JRLy.js +0 -1
  391. package/dist/assets/hailuo-B_L5okQR.js +0 -1
  392. package/dist/assets/hailuo-BafXZqM7.js +0 -1
  393. package/dist/assets/hailuo-C0FMR_8Y.js +0 -1
  394. package/dist/assets/hailuo-CmQmLQnS.js +0 -1
  395. package/dist/assets/hailuo-CnKCRyY5.js +0 -1
  396. package/dist/assets/hailuo-DBoV5l2g.js +0 -1
  397. package/dist/assets/hailuo-DT0znqUF.js +0 -1
  398. package/dist/assets/hailuo-DUNSizK_.js +0 -1
  399. package/dist/assets/hailuo-DcruRnbH.js +0 -1
  400. package/dist/assets/hailuo-GkNV0Vle.js +0 -1
  401. package/dist/assets/hailuo-VN171h2f.js +0 -1
  402. package/dist/assets/hailuo-f7iTg4ub.js +0 -1
  403. package/dist/assets/hailuo-hBqUT77x.js +0 -1
  404. package/dist/assets/hailuo-kT6OYCWD.js +0 -1
  405. package/dist/assets/hailuo-rq1RqJHp.js +0 -1
  406. package/dist/assets/headshots-6nTbMRn5.js +0 -1
  407. package/dist/assets/headshots-7GMYhP8d.js +0 -1
  408. package/dist/assets/headshots-B03ftAVd.js +0 -1
  409. package/dist/assets/headshots-B4CZ7V6J.js +0 -1
  410. package/dist/assets/headshots-B_C2TMRc.js +0 -1
  411. package/dist/assets/headshots-BbEnfe02.js +0 -1
  412. package/dist/assets/headshots-Bf5wE-tz.js +0 -1
  413. package/dist/assets/headshots-BjYkJJT5.js +0 -1
  414. package/dist/assets/headshots-CTfY2rjF.js +0 -1
  415. package/dist/assets/headshots-Cuspq3Yg.js +0 -1
  416. package/dist/assets/headshots-Czbm4GD1.js +0 -1
  417. package/dist/assets/headshots-DAr9Q-ia.js +0 -1
  418. package/dist/assets/headshots-DHq6UWqM.js +0 -1
  419. package/dist/assets/headshots-DUWNsw2s.js +0 -1
  420. package/dist/assets/headshots-DYYmg2n3.js +0 -1
  421. package/dist/assets/headshots-DmMC47pl.js +0 -1
  422. package/dist/assets/headshots-EyUhOpot.js +0 -1
  423. package/dist/assets/headshots-oFoZTHTL.js +0 -1
  424. package/dist/assets/kling--r2dB5At.js +0 -1
  425. package/dist/assets/kling-7pNDzfNN.js +0 -1
  426. package/dist/assets/kling-B6EDExkx.js +0 -1
  427. package/dist/assets/kling-BJn0tsCI.js +0 -1
  428. package/dist/assets/kling-BK9591VN.js +0 -1
  429. package/dist/assets/kling-BPDEdXRc.js +0 -1
  430. package/dist/assets/kling-BaTnwPGB.js +0 -1
  431. package/dist/assets/kling-Bg8YtD1z.js +0 -1
  432. package/dist/assets/kling-Bhdtni6m.js +0 -1
  433. package/dist/assets/kling-BtUjw24l.js +0 -1
  434. package/dist/assets/kling-CQog7x0s.js +0 -1
  435. package/dist/assets/kling-CiC0KazN.js +0 -1
  436. package/dist/assets/kling-CqQEK6_2.js +0 -1
  437. package/dist/assets/kling-D4l4XqCM.js +0 -1
  438. package/dist/assets/kling-DGpSo3aW.js +0 -1
  439. package/dist/assets/kling-DOlswLwg.js +0 -1
  440. package/dist/assets/kling-DUpgx4Fi.js +0 -1
  441. package/dist/assets/kling-WY6h8Akm.js +0 -1
  442. package/dist/assets/luma--sOTVCIZ.js +0 -1
  443. package/dist/assets/luma-7mO8zbVG.js +0 -1
  444. package/dist/assets/luma-B12DybLE.js +0 -1
  445. package/dist/assets/luma-B3gaP04D.js +0 -1
  446. package/dist/assets/luma-BJM19XIA.js +0 -1
  447. package/dist/assets/luma-BXVckzsM.js +0 -1
  448. package/dist/assets/luma-Bezc1itV.js +0 -1
  449. package/dist/assets/luma-CKd_xEsQ.js +0 -1
  450. package/dist/assets/luma-CVLQ50Gn.js +0 -1
  451. package/dist/assets/luma-ChvDncMU.js +0 -1
  452. package/dist/assets/luma-CoDesLeK.js +0 -1
  453. package/dist/assets/luma-D-dfZ2sJ.js +0 -1
  454. package/dist/assets/luma-D55jVtbF.js +0 -1
  455. package/dist/assets/luma-DZJFZE4K.js +0 -1
  456. package/dist/assets/luma-Day-kKRL.js +0 -1
  457. package/dist/assets/luma-Df3FXw7o.js +0 -1
  458. package/dist/assets/luma-DwAGGF2F.js +0 -1
  459. package/dist/assets/luma-cdR8MnhC.js +0 -1
  460. package/dist/assets/midjourney-B2bOgE1j.js +0 -1
  461. package/dist/assets/midjourney-BBd3OIBk.js +0 -1
  462. package/dist/assets/midjourney-BF_JrVvE.js +0 -1
  463. package/dist/assets/midjourney-Bhs_dRmV.js +0 -1
  464. package/dist/assets/midjourney-BxgfRLiq.js +0 -1
  465. package/dist/assets/midjourney-By1jqSWd.js +0 -1
  466. package/dist/assets/midjourney-ByOwuNuf.js +0 -1
  467. package/dist/assets/midjourney-CETW2Phw.js +0 -1
  468. package/dist/assets/midjourney-CHObw1mv.js +0 -1
  469. package/dist/assets/midjourney-C_L4ls4U.js +0 -1
  470. package/dist/assets/midjourney-CgRiDam8.js +0 -1
  471. package/dist/assets/midjourney-CllT1fEy.js +0 -1
  472. package/dist/assets/midjourney-Cm5Y2fTK.js +0 -1
  473. package/dist/assets/midjourney-DCrzdY44.js +0 -1
  474. package/dist/assets/midjourney-DELRXPWD.js +0 -1
  475. package/dist/assets/midjourney-DjRfty8I.js +0 -1
  476. package/dist/assets/midjourney-Djl917rg.js +0 -1
  477. package/dist/assets/nanobanana-7QkHWE-2.js +0 -1
  478. package/dist/assets/nanobanana-8KmYxn5s.js +0 -1
  479. package/dist/assets/nanobanana-B0oyeMPG.js +0 -1
  480. package/dist/assets/nanobanana-B_nLZOnF.js +0 -1
  481. package/dist/assets/nanobanana-BhWtZVmv.js +0 -1
  482. package/dist/assets/nanobanana-CAGs0hVF.js +0 -1
  483. package/dist/assets/nanobanana-CJ1Eci4L.js +0 -1
  484. package/dist/assets/nanobanana-CKsVyy4c.js +0 -1
  485. package/dist/assets/nanobanana-CeRZc_v1.js +0 -1
  486. package/dist/assets/nanobanana-Clv2NejS.js +0 -1
  487. package/dist/assets/nanobanana-D2N3_5qm.js +0 -1
  488. package/dist/assets/nanobanana-DWjHDLLY.js +0 -1
  489. package/dist/assets/nanobanana-DztsHK8O.js +0 -1
  490. package/dist/assets/nanobanana-n6bxzUa0.js +0 -1
  491. package/dist/assets/nanobanana-rLeQW20a.js +0 -1
  492. package/dist/assets/pika-9znU-jyR.js +0 -1
  493. package/dist/assets/pika-BC66vtzv.js +0 -1
  494. package/dist/assets/pika-BGeHV_oy.js +0 -1
  495. package/dist/assets/pika-Bx0izLbx.js +0 -1
  496. package/dist/assets/pika-CgFwiPxh.js +0 -1
  497. package/dist/assets/pika-CmtuSCro.js +0 -1
  498. package/dist/assets/pika-Cve2MLQm.js +0 -1
  499. package/dist/assets/pika-D-fnXfuo.js +0 -1
  500. package/dist/assets/pika-D0iJhR5p.js +0 -1
  501. package/dist/assets/pika-D2RjQnBk.js +0 -1
  502. package/dist/assets/pika-DDEfUF8j.js +0 -1
  503. package/dist/assets/pika-DHh6DJnu.js +0 -1
  504. package/dist/assets/pika-DLQBC4e_.js +0 -1
  505. package/dist/assets/pika-DR6GNmTw.js +0 -1
  506. package/dist/assets/pika-DjRokd6o.js +0 -1
  507. package/dist/assets/pika-DrEetI8R.js +0 -1
  508. package/dist/assets/pika-WuccvAtM.js +0 -1
  509. package/dist/assets/pika-wG63XhUC.js +0 -1
  510. package/dist/assets/pixverse-0JW9rbhE.js +0 -1
  511. package/dist/assets/pixverse-3oCZBYOW.js +0 -1
  512. package/dist/assets/pixverse-B9T4TgBh.js +0 -1
  513. package/dist/assets/pixverse-BIXSziSC.js +0 -1
  514. package/dist/assets/pixverse-BX_rklWX.js +0 -1
  515. package/dist/assets/pixverse-BpiDXw4g.js +0 -1
  516. package/dist/assets/pixverse-C3kZkTzp.js +0 -1
  517. package/dist/assets/pixverse-C40R20un.js +0 -1
  518. package/dist/assets/pixverse-C7xHHznK.js +0 -1
  519. package/dist/assets/pixverse-CTtkw3Hw.js +0 -1
  520. package/dist/assets/pixverse-CZhOAV5H.js +0 -1
  521. package/dist/assets/pixverse-Ccl2-oX2.js +0 -1
  522. package/dist/assets/pixverse-CfS17qlc.js +0 -1
  523. package/dist/assets/pixverse-DHHNvUJJ.js +0 -1
  524. package/dist/assets/pixverse-DKrI-3ZN.js +0 -1
  525. package/dist/assets/pixverse-DwRfXj_T.js +0 -1
  526. package/dist/assets/pixverse-gZjsZans.js +0 -1
  527. package/dist/assets/pixverse-lGer4eTt.js +0 -1
  528. package/dist/assets/seedance-AnsihtIj.js +0 -1
  529. package/dist/assets/seedance-B6f4XmIA.js +0 -1
  530. package/dist/assets/seedance-B8F_qZdM.js +0 -1
  531. package/dist/assets/seedance-BDqaGwRr.js +0 -1
  532. package/dist/assets/seedance-BE7oMOQE.js +0 -1
  533. package/dist/assets/seedance-BrPtBqgE.js +0 -1
  534. package/dist/assets/seedance-BretSuo5.js +0 -1
  535. package/dist/assets/seedance-CXmwBwwO.js +0 -1
  536. package/dist/assets/seedance-D-azcSOL.js +0 -1
  537. package/dist/assets/seedance-D6T3LEXH.js +0 -1
  538. package/dist/assets/seedance-DBsvf-IB.js +0 -1
  539. package/dist/assets/seedance-DKyDfWeT.js +0 -1
  540. package/dist/assets/seedance-EU03IQt8.js +0 -1
  541. package/dist/assets/seedance-She0JWii.js +0 -1
  542. package/dist/assets/seedance-b_hRKF1n.js +0 -1
  543. package/dist/assets/seedance-yK0TntAo.js +0 -1
  544. package/dist/assets/seedream-9HGQrnmQ.js +0 -1
  545. package/dist/assets/seedream-BEQqbfFP.js +0 -1
  546. package/dist/assets/seedream-BJvUKBMX.js +0 -1
  547. package/dist/assets/seedream-BzuZ9hds.js +0 -1
  548. package/dist/assets/seedream-C6rINsxU.js +0 -1
  549. package/dist/assets/seedream-C8bJfp7Y.js +0 -1
  550. package/dist/assets/seedream-CffIOH3S.js +0 -1
  551. package/dist/assets/seedream-CgXKrCnZ.js +0 -1
  552. package/dist/assets/seedream-DCfjNk41.js +0 -1
  553. package/dist/assets/seedream-DLhhcuXI.js +0 -1
  554. package/dist/assets/seedream-DNZIPdbv.js +0 -1
  555. package/dist/assets/seedream-DPAubfF6.js +0 -1
  556. package/dist/assets/seedream-DS_yjXKY.js +0 -1
  557. package/dist/assets/seedream-D_xiuCd2.js +0 -1
  558. package/dist/assets/seedream-Dpkzm6Hz.js +0 -1
  559. package/dist/assets/seedream-U4U12u73.js +0 -1
  560. package/dist/assets/site-4iqz8_DA.js +0 -1
  561. package/dist/assets/site-55ppI4T-.js +0 -1
  562. package/dist/assets/site-BOvSZod0.js +0 -1
  563. package/dist/assets/site-BbiBmtgk.js +0 -1
  564. package/dist/assets/site-BjefqfUj.js +0 -1
  565. package/dist/assets/site-BjfA71I2.js +0 -1
  566. package/dist/assets/site-Btp5Ha7f.js +0 -1
  567. package/dist/assets/site-BwCaBH7a.js +0 -1
  568. package/dist/assets/site-BzBwAuD5.js +0 -1
  569. package/dist/assets/site-CMUQEyEt.js +0 -1
  570. package/dist/assets/site-Co5l2JxL.js +0 -1
  571. package/dist/assets/site-D47nORF0.js +0 -1
  572. package/dist/assets/site-DKlIZ3ul.js +0 -1
  573. package/dist/assets/site-Dh1MiTgO.js +0 -1
  574. package/dist/assets/site-cRD3uvaR.js +0 -1
  575. package/dist/assets/site-lF_qw_wu.js +0 -1
  576. package/dist/assets/site-ngPqPggL.js +0 -1
  577. package/dist/assets/sora-BUK9FWzQ.js +0 -1
  578. package/dist/assets/sora-BYPH869l.js +0 -1
  579. package/dist/assets/sora-BizlIhBX.js +0 -1
  580. package/dist/assets/sora-BuJK8yHa.js +0 -1
  581. package/dist/assets/sora-C0mxa8Yl.js +0 -1
  582. package/dist/assets/sora-C0vUW0Q5.js +0 -1
  583. package/dist/assets/sora-C2FEi91g.js +0 -1
  584. package/dist/assets/sora-C7V5I_Pb.js +0 -1
  585. package/dist/assets/sora-C_FveR_7.js +0 -1
  586. package/dist/assets/sora-Cg7-ROqn.js +0 -1
  587. package/dist/assets/sora-Cit485eG.js +0 -1
  588. package/dist/assets/sora-CxWfpWIC.js +0 -1
  589. package/dist/assets/sora-DHmIEYHj.js +0 -1
  590. package/dist/assets/sora-DKDd9iHJ.js +0 -1
  591. package/dist/assets/sora-DZ6FBDO0.js +0 -1
  592. package/dist/assets/sora-DzK7LcnH.js +0 -1
  593. package/dist/assets/sora-O01RKgmW.js +0 -1
  594. package/dist/assets/sora-uQuccjMW.js +0 -1
  595. package/dist/assets/veo--CAsMLom.js +0 -1
  596. package/dist/assets/veo--kO3FA9T.js +0 -1
  597. package/dist/assets/veo-B34SXxzG.js +0 -1
  598. package/dist/assets/veo-BAhFOg8n.js +0 -1
  599. package/dist/assets/veo-BG_BPWA7.js +0 -1
  600. package/dist/assets/veo-BVUH9DMj.js +0 -1
  601. package/dist/assets/veo-BrWLYOWh.js +0 -1
  602. package/dist/assets/veo-CAvHt3bO.js +0 -1
  603. package/dist/assets/veo-CK1RX16r.js +0 -1
  604. package/dist/assets/veo-Ci9-YxdR.js +0 -1
  605. package/dist/assets/veo-CujXHnaB.js +0 -1
  606. package/dist/assets/veo-D9CYjnO7.js +0 -1
  607. package/dist/assets/veo-DMcoRp1x.js +0 -1
  608. package/dist/assets/veo-DleTm3qB.js +0 -1
  609. package/dist/assets/veo-Do9_kzEp.js +0 -1
  610. package/dist/assets/veo-gIi3xPQL.js +0 -1
  611. package/dist/assets/veo-k0yFd2Pf.js +0 -1
  612. package/dist/assets/veo-uN01Q1TN.js +0 -1
@@ -1 +1 @@
1
- import{c as s,d as c}from"./vendor-element-plus-DMm68DKM.js";import{d as i,R as m,S as t,l as e,al as o,o as p}from"./vendor-vue-Bb02XvLT.js";import{_}from"./index-J0lRtGSj.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-Bf_m-mDd.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const l=i({name:"LayoutAuth",components:{ElContainer:c,ElMain:s}});function u(f,d,h,v,x,C){const n=o("router-view"),r=o("el-main"),a=o("el-container");return p(),m(a,null,{default:t(()=>[e(r,{class:"h-[100vh]"},{default:t(()=>[e(n)]),_:1})]),_:1})}const M=_(l,[["render",u]]);export{M as default};
1
+ import{c as s,d as c}from"./vendor-element-plus-DMm68DKM.js";import{d as i,R as m,S as t,l as e,al as o,o as p}from"./vendor-vue-Bb02XvLT.js";import{_}from"./index-CFwKXwDS.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-Bf_m-mDd.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const l=i({name:"LayoutAuth",components:{ElContainer:c,ElMain:s}});function u(f,d,h,v,x,C){const n=o("router-view"),r=o("el-main"),a=o("el-container");return p(),m(a,null,{default:t(()=>[e(r,{class:"h-[100vh]"},{default:t(()=>[e(n)]),_:1})]),_:1})}const M=_(l,[["render",u]]);export{M as default};
@@ -1 +1 @@
1
- import{T as c,G as p}from"./vendor-element-plus-DMm68DKM.js";import{d as r,c as m,ai as i,F as _,al as s,o as d,a as o,l as e,S as n}from"./vendor-vue-Bb02XvLT.js";import{_ as x}from"./index-J0lRtGSj.js";const f=r({name:"BotPlaceholder",components:{ElSkeleton:p,ElSkeletonItem:c}}),k={class:"w-[70px] p-[10px]"},h={class:"flex-1 p-[10px]"};function u(v,w,B,b,$,C){const t=s("el-skeleton-item"),a=s("el-skeleton");return d(),m(_,null,i(3,l=>o("div",{key:l,class:"flex mb-[10px]"},[o("div",k,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"image",class:"w-[50px] h-[50px] rounded-full"})]),_:1})]),o("div",h,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"p",class:"w-[200px] h-[20px] mb-[15px] block"}),e(t,{variant:"p",class:"w-full h-[200px] max-w-[300px] block"})]),_:1})])])),64)}const F=x(f,[["render",u]]);export{F as B};
1
+ import{T as c,G as p}from"./vendor-element-plus-DMm68DKM.js";import{d as r,c as m,ai as i,F as _,al as s,o as d,a as o,l as e,S as n}from"./vendor-vue-Bb02XvLT.js";import{_ as x}from"./index-CFwKXwDS.js";const f=r({name:"BotPlaceholder",components:{ElSkeleton:p,ElSkeletonItem:c}}),k={class:"w-[70px] p-[10px]"},h={class:"flex-1 p-[10px]"};function u(v,w,B,b,$,C){const t=s("el-skeleton-item"),a=s("el-skeleton");return d(),m(_,null,i(3,l=>o("div",{key:l,class:"flex mb-[10px]"},[o("div",k,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"image",class:"w-[50px] h-[50px] rounded-full"})]),_:1})]),o("div",h,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"p",class:"w-[200px] h-[20px] mb-[15px] block"}),e(t,{variant:"p",class:"w-full h-[200px] max-w-[300px] block"})]),_:1})])])),64)}const F=x(f,[["render",u]]);export{F as B};
@@ -1 +1 @@
1
- import{d as t}from"./vendor-vue-Bb02XvLT.js";import{_ as r}from"./index-J0lRtGSj.js";import"./vendor-Bf_m-mDd.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-element-plus-DMm68DKM.js";const e=t({name:"AuthCallback",data(){return{redirect:this.$route.query.redirect?.toString()}},async mounted(){this.redirect?await this.$router.push(this.redirect):await this.$router.push("/")}}),n=r(e,[["__scopeId","data-v-0779b8a8"]]);export{n as default};
1
+ import{d as t}from"./vendor-vue-Bb02XvLT.js";import{_ as r}from"./index-CFwKXwDS.js";import"./vendor-Bf_m-mDd.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-element-plus-DMm68DKM.js";const e=t({name:"AuthCallback",data(){return{redirect:this.$route.query.redirect?.toString()}},async mounted(){this.redirect?await this.$router.push(this.redirect):await this.$router.push("/")}}),n=r(e,[["__scopeId","data-v-0779b8a8"]]);export{n as default};
@@ -1 +1 @@
1
- import{N as h}from"./Navigator-d3jQ7b8m.js";import{R as $,a as v,b as w,c as O,i as g,_ as m}from"./index-J0lRtGSj.js";import{bG as L}from"./vendor-Bf_m-mDd.js";import{d,c as a,a as s,F as N,ai as C,al as i,o as t,V as E,l as r,Z as b,R as k,W as I}from"./vendor-vue-Bb02XvLT.js";import"./vendor-element-plus-DMm68DKM.js";import"./vendor-dayjs-BHF5lY3m.js";import"./EditArray-Dmvzbtd_.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-katex-DHBGsivc.js";const S=d({name:"Navigator",components:{FontAwesomeIcon:L},computed:{isOfficial(){return g()},active(){return this.$route.matched[0].path},user(){return this.$store.getters.user},links(){return[{key:"application-list",text:this.$t("console.menu.applicationList"),name:v,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:w,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:O,icon:"fa-solid fa-rotate-left"}]}},mounted(){},methods:{onHome(){this.$router.push({name:$})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href&&window.open(e.href,"_blank")}}}),x={class:"side"},R={class:"links"},T=["onClick"],y={class:"icon"},U={class:"text"},A={class:"outer"};function B(e,c,_,p,u,f){const n=i("font-awesome-icon");return t(),a("div",x,[s("div",R,[(t(!0),a(N,null,C(e.links,(o,l)=>(t(),a("a",{key:l,class:E({link:!0,active:e.$route.name===o.name}),onClick:z=>e.onNavigate(o)},[s("span",y,[r(n,{icon:o.icon,class:"text-sm"},null,8,["icon"])]),s("span",U,b(o.text),1),s("span",A,[!o.name&&o.href?(t(),k(n,{key:0,icon:"fa-solid fa-up-right-from-square",class:"text-sm ml-2"})):I("",!0)]),c[0]||(c[0]=s("span",{class:"suffix"},null,-1))],10,T))),128))])])}const V=m(S,[["render",B],["__scopeId","data-v-fe27dc30"]]),D=d({name:"LayoutConsole",components:{SidePanel:V,Navigator:h},data(){return{mobile:window.innerWidth<768}},mounted(){window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})}}),F={class:"console"},P={class:"main"};function W(e,c,_,p,u,f){const n=i("side-panel"),o=i("router-view"),l=i("navigator");return t(),a("div",F,[s("div",P,[r(n,{class:"side"}),r(o,{class:"panel"})]),r(l,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"])])}const Y=m(D,[["render",W],["__scopeId","data-v-b192cbb4"]]);export{Y as default};
1
+ import{N as h}from"./Navigator-_n13vxm-.js";import{R as $,a as v,b as w,c as O,i as g,_ as m}from"./index-CFwKXwDS.js";import{bG as L}from"./vendor-Bf_m-mDd.js";import{d,c as a,a as s,F as N,ai as C,al as i,o as t,V as E,l as r,Z as b,R as k,W as I}from"./vendor-vue-Bb02XvLT.js";import"./vendor-element-plus-DMm68DKM.js";import"./vendor-dayjs-BHF5lY3m.js";import"./EditArray-DK5ALfIW.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-katex-DHBGsivc.js";const S=d({name:"Navigator",components:{FontAwesomeIcon:L},computed:{isOfficial(){return g()},active(){return this.$route.matched[0].path},user(){return this.$store.getters.user},links(){return[{key:"application-list",text:this.$t("console.menu.applicationList"),name:v,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:w,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:O,icon:"fa-solid fa-rotate-left"}]}},mounted(){},methods:{onHome(){this.$router.push({name:$})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href&&window.open(e.href,"_blank")}}}),x={class:"side"},R={class:"links"},T=["onClick"],y={class:"icon"},U={class:"text"},A={class:"outer"};function B(e,c,_,p,u,f){const n=i("font-awesome-icon");return t(),a("div",x,[s("div",R,[(t(!0),a(N,null,C(e.links,(o,l)=>(t(),a("a",{key:l,class:E({link:!0,active:e.$route.name===o.name}),onClick:z=>e.onNavigate(o)},[s("span",y,[r(n,{icon:o.icon,class:"text-sm"},null,8,["icon"])]),s("span",U,b(o.text),1),s("span",A,[!o.name&&o.href?(t(),k(n,{key:0,icon:"fa-solid fa-up-right-from-square",class:"text-sm ml-2"})):I("",!0)]),c[0]||(c[0]=s("span",{class:"suffix"},null,-1))],10,T))),128))])])}const V=m(S,[["render",B],["__scopeId","data-v-fe27dc30"]]),D=d({name:"LayoutConsole",components:{SidePanel:V,Navigator:h},data(){return{mobile:window.innerWidth<768}},mounted(){window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})}}),F={class:"console"},P={class:"main"};function W(e,c,_,p,u,f){const n=i("side-panel"),o=i("router-view"),l=i("navigator");return t(),a("div",F,[s("div",P,[r(n,{class:"side"}),r(o,{class:"panel"})]),r(l,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"])])}const Y=m(D,[["render",W],["__scopeId","data-v-b192cbb4"]]);export{Y as default};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-highlight-cUQea6Bb.js","assets/vendor-Bf_m-mDd.js","assets/vendor-vue-Bb02XvLT.js","assets/vendor-dayjs-BHF5lY3m.js","assets/vendor-katex-DHBGsivc.js","assets/vendor-katex-CIur2ABi.css","assets/vendor-Cp-P0JlL.css","assets/vendor-highlight-t6bI8mSi.css"])))=>i.map(i=>d[i]);
2
- import{a as ue}from"./vendor-axios-NIGUFBhG.js";import{d as E,c as u,o,b as me,h as pe,U as V,R as f,al as l,as as te,S as m,l as c,a as h,W as w,Z as v,F as N,ai as L,aj as W,a1 as M,Y as D,V as G,_ as he,at as ge,a2 as fe,P as Q}from"./vendor-vue-Bb02XvLT.js";import{ai as Y,_ as S,ac as _e,aj as A,ak as J,al as se,am as oe,an as P,ao as ve,ap as ye,aq as $e,ar as be,as as we,at as Ce,au as R,av as ne,a5 as ke,aw as H,ax as X,ay as Z,az as x,aA as ee,aB as T,ah as z,aC as Ee,aD as j,aE as Se,aF as Re}from"./index-J0lRtGSj.js";import{a5 as De,bN as ae,bQ as qe,bR as Ie,bG as O}from"./vendor-Bf_m-mDd.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-highlight-cUQea6Bb.js";import{C as Ge}from"./CopyToClipboard-BCqghcSi.js";import{n as K,p as ie,i as Ae,o as B,B as Oe,q as Me,r as k,f as re,g as le,h as de,G as Te,E as Ve,N as Ne}from"./vendor-element-plus-DMm68DKM.js";import{F as ce}from"./FilePreview-B9t2XU5i.js";import{I as Le}from"./ImagePreview-DdvFIJXZ.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BHF5lY3m.js";const Ue=async e=>{const t=(await De(async()=>{const{default:d}=await import("./vendor-highlight-cUQea6Bb.js");return{default:d}},__vite__mapDeps([0,1,2,3,4,5,6,7]))).default;e.querySelectorAll("pre code").forEach(d=>{const r=d.parentElement;if(!r)return;if(r.dataset.hasCopy==="1"){"highlightElement"in t?t.highlightElement(d):t.highlightBlock(d);return}const i=document.createElement("div");i.className="relative",r.parentNode.insertBefore(i,r),i.appendChild(r),r.classList.add("overflow-auto");const n=document.createElement("button");n.type="button",n.dataset.copyBtn="1",n.className="absolute top-1 right-1 z-10 rounded-md px-2 py-1 text-xs bg-zinc-800 text-white hover:bg-zinc-700 active:scale-95",n.textContent=Y.global.t("common.button.copy").toString(),n.addEventListener("click",()=>{ae(d.innerText);const a=n.textContent;n.textContent=Y.global.t("common.button.copied")?.toString(),setTimeout(()=>n.textContent=a,5e3)}),i.appendChild(n),r.dataset.hasCopy="1","highlightElement"in t?t.highlightElement(d):t.highlightBlock(d)})},Fe=E({name:"AnsweringMark",data(){return{}},computed:{conversationId(){return this.$route.params?.id?.toString()}}}),Pe={class:"mark"};function Be(e,t,s,d,r,i){return o(),u("div",Pe)}const He=S(Fe,[["render",Be]]),je=E({name:"VueMarkdown",props:{source:{type:String,required:!0},options:{type:Object,default:()=>({}),required:!1}},setup(e,{attrs:t}){const s=new qe({...e.options,html:!0}).use(Ie,{delimiters:"all",throwOnError:!1,errorColor:"#cc0000",mathFence:!0}),d=me(()=>{const r=e.source;return s?.render(r).replace(/<think>/g,'<div class="think">').replace(/<\/think>/g,"</div>")});return()=>pe("div",{...t,innerHTML:d.value})}}),ze=E({name:"MarkdownRenderer",directives:{highlight:Ue},components:{VueMarkdown:je},props:{content:{type:String,required:!1,default:""}}});function We(e,t,s,d,r,i){const n=l("vue-markdown"),a=te("highlight");return V((o(),f(n,{source:e.content,class:"markdown-body bg-transparent pt-[3px] text-[inherit]"},null,8,["source"])),[[a]])}const Ke=S(ze,[["render",We],["__scopeId","data-v-de1f7a52"]]),Qe=E({name:"CopyToClipboard",components:{FontAwesomeIcon:O,ElTooltip:K},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["restart"],data(){return{copied:!1}},methods:{onRestart(){this.$emit("restart")}}});function Ye(e,t,s,d,r,i){const n=l("font-awesome-icon"),a=l("el-tooltip");return o(),f(a,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:m(()=>[c(n,{icon:"fa-solid fa-sync",class:"icon-sync",onClick:e.onRestart},null,8,["onClick"])]),_:1},8,["content"])}const Je=S(Qe,[["render",Ye],["__scopeId","data-v-90e169cb"]]),Xe=E({name:"EditMessage",components:{FontAwesomeIcon:O,ElTooltip:K},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["click"],data(){return{copied:!1}},methods:{onEdit(){this.$emit("click")}}});function Ze(e,t,s,d,r,i){const n=l("font-awesome-icon"),a=l("el-tooltip");return o(),u("span",null,[c(a,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:m(()=>[c(n,{icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:e.onEdit},null,8,["onClick"])]),_:1},8,["content"])])}const xe=S(Xe,[["render",Ze],["__scopeId","data-v-8e947e8f"]]),et=E({name:"Message",components:{EditMessage:xe,CopyToClipboard:Ge,RestartToGenerate:Je,AnsweringMark:He,MarkdownRenderer:Ke,ElAlert:Oe,FilePreview:ce,ElButton:B,ElImage:Ae,ElInput:ie},props:{messages:{type:Array,required:!1,default:()=>[]},message:{type:Object,required:!0},application:{type:Object,required:!0}},emits:["stop","edit","restart"],data(){return{copied:!1,isEditing:!1,questionValue:this.message.content,messageState:R}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},errorText(){if(console.debug("error",this.message.error),!(!this.message.error||!this.message.error?.code)){if(this.message.error?.message)return this.message.error.message;switch(this.message.error?.code){case J:return this.$t("chat.message.errorUsedUp");case Ce:return this.$t("chat.message.errorApiError");case we:return this.$t("chat.message.errorBadRequest");case be:return this.$t("chat.message.errorTimeout");case $e:return this.$t("chat.message.errorBusy");case ye:return this.$t("chat.message.errorContentTooLarge");case ve:return this.$t("chat.message.errorTooManyRequests");case P:return this.$t("chat.message.errorNotApplied");case oe:return;case se:default:return this.$t("chat.message.errorUnknown")}}},showBuyMore(){return this.message.role===A&&this.message.error?.code===J}},watch:{},methods:{startEditing(){this.isEditing=!0,this.questionValue=this.message.content,console.debug("start to get answer",this.message)},cancelEdit(){this.isEditing=!1},onRestart(){this.$emit("restart",this.message)},onEdit(){this.isEditing=!1,this.onSubmit()},onSubmit(){this.$emit("edit",this.message,this.questionValue)},onCopy(){ae(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){this.$router.push({name:_e,params:{id:this.application?.id}})}}}),tt=["role"],st={class:"author"},ot={key:0,class:"main"},nt={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:"ease-in-out"}},class:"content"},at={key:0,class:"message-content"},it={key:0},rt={key:1,class:"whitespace-pre-wrap break-words w-fit max-w-full py-1"},lt={key:1},dt=["src"],ct={key:2},ut={key:1,class:"whitespace-pre-wrap break-words w-fit max-w-full py-1"},mt={key:1,class:"edits"},pt={class:"flex justify-end"},ht={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:"ease-in-out"}},class:"operations"};function gt(e,t,s,d,r,i){const n=l("el-image"),a=l("markdown-renderer"),$=l("file-preview"),C=l("el-input"),g=l("el-button"),_=l("answering-mark"),p=l("edit-message"),q=l("copy-to-clipboard"),b=l("restart-to-generate"),U=l("el-alert"),I=te("motion");return o(),u("div",{class:G({message:!0,[e.message.role]:!0}),role:e.message.role},[h("div",st,[e.message.role==="assistant"?(o(),f(n,{key:0,src:e.modelGroup?.icon,fit:"cover",class:"avatar"},null,8,["src"])):w("",!0)]),e.errorText?(o(),f(U,{key:1,class:"error",title:e.errorText,type:"error",closable:!1},null,8,["title"])):(o(),u("div",ot,[V((o(),u("div",nt,[e.isEditing?(o(),u("div",mt,[c(C,{modelValue:e.questionValue,"onUpdate:modelValue":t[0]||(t[0]=y=>e.questionValue=y),type:"textarea",class:"mb-2",onKeydown:W(M(e.onEdit,["exact","prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),h("div",pt,[c(g,{round:"",onClick:e.cancelEdit},{default:m(()=>[D(v(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),c(g,{type:"primary",class:"btn-confirm",round:"",onClick:e.onEdit},{default:m(()=>[D(v(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])])):(o(),u("div",at,[Array.isArray(e.message.content)?(o(),u("div",lt,[(o(!0),u(N,null,L(e.message.content,(y,F)=>(o(),u("div",{key:F},[y.type==="image_url"?(o(),u("img",{key:0,src:typeof y?.image_url=="string"?y.image_url:y.image_url?.url,fit:"cover",class:"image"},null,8,dt)):w("",!0),y.file_url?(o(),f($,{key:1,name:typeof y?.file_url=="string"?y.file_url:y.file_url?.url,percentage:0,closable:!1,class:"mt-2"},null,8,["name"])):w("",!0),y.type==="text"?(o(),u("div",ct,[e.message.role==="assistant"?(o(),f(a,{key:0,content:y.text},null,8,["content"])):(o(),u("pre",ut,v(y.text?.trim()),1))])):w("",!0)]))),128))])):(o(),u("div",it,[e.message.role==="assistant"?(o(),f(a,{key:0,content:e.message?.content},null,8,["content"])):(o(),u("pre",rt,v(e.message.content),1))]))])),e.message.state===e.messageState.PENDING?(o(),f(_,{key:2})):w("",!0)])),[[I]]),V((o(),u("div",ht,[e.message.role==="user"&&!e.isEditing&&!Array.isArray(e.message.content)?(o(),f(p,{key:0,class:"btn-edit",onClick:e.startEditing},null,8,["onClick"])):w("",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)?(o(),f(q,{key:1,content:e.message.content,class:"btn-copy"},null,8,["content"])):w("",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)&&e.message.role==="assistant"&&e.message===e.messages[e.messages.length-1]?(o(),f(b,{key:2,class:"btn-restart",messages:e.messages,onRestart:e.onRestart},null,8,["messages","onRestart"])):w("",!0)])),[[I]])])),e.showBuyMore?(o(),f(g,{key:2,round:"",type:"primary",class:"btn btn-buy",size:"small",onClick:e.onBuyMore},{default:m(()=>[D(v(e.$t("common.button.buyMore")),1)]),_:1},8,["onClick"])):w("",!0)],10,tt)}const ft=S(et,[["render",gt],["__scopeId","data-v-a2be8b8f"]]),_t=E({name:"Composer",components:{FilePreview:ce,ImagePreview:Le,ElTooltip:K,FontAwesomeIcon:O,ElUpload:Me,ElButton:B},props:{answering:{type:Boolean,required:!1,default:!1},references:{type:Array,required:!1,default:()=>[]},question:{type:String,required:!0}},emits:["update:question","update:references","submit","stop"],data(){return{inputHeight:"35px",questionValue:this.question||"",fileList:[],uploadUrl:ke()+"/api/v1/files/"}},computed:{model(){return this.$store.state.chat.model},modelGroup(){return this.$store.state.chat.modelGroup},isFileSupported(){return this.model?.isFileSupported},isImageSupported(){return this.model?.isImageSupported},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},uploading(){return!!this.fileList.find(e=>e.percentage!==void 0&&e.percentage>=0&&e.percentage<100)},extensions(){if(this.isFileSupported===!1&&this.isImageSupported===!0)return".png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic"}},watch:{urls(e){console.debug("File URLs:",e),e.length>0&&this.$emit("update:references",e)},questionValue(e){this.$emit("update:question",e.trim())},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){console.debug("References updated:",e),e.length===0&&(this.fileList=[])},isFileSupported(e,t){t&&!e&&(this.fileList=[])}},methods:{isImageUrl:ne,adjustTextareaHeight(){this.$nextTick(()=>{const e=this.$refs.textarea;e&&(e.style.height="35px",e.style.height=e.scrollHeight+"px")})},onSubmit(){!this.question||this.uploading||this.$emit("submit")},onStop(){this.$emit("stop")},onProgress(e,t){console.debug("File upload progress:",t.name,e.loaded,e.total,t.percentage)},onExceed(){k.warning(this.$t("chat.message.uploadReferencesExceed"))},onError(){k.error(this.$t("chat.message.uploadReferencesError"))}}}),vt={class:"composer"},yt={class:"tools"},$t=["disabled","placeholder"];function bt(e,t,s,d,r,i){const n=l("image-preview"),a=l("file-preview"),$=l("font-awesome-icon"),C=l("el-tooltip"),g=l("el-upload"),_=l("el-button");return o(),u("div",vt,[h("div",yt,[c(g,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=p=>e.fileList=p),class:G({upload:!0,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering}),accept:e.extensions,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering,name:"file",limit:10,multiple:!0,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-progress":e.onProgress,headers:e.headers},{file:m(({file:p})=>[e.isImageUrl(p.name)?(o(),f(n,{key:0,url:p.url||p.response?.file_url,name:p.name,percentage:p.percentage,onRemove:q=>e.fileList.splice(e.fileList.indexOf(p),1)},null,8,["url","name","percentage","onRemove"])):(o(),f(a,{key:1,name:p.name,percentage:p.percentage,onRemove:q=>e.fileList.splice(e.fileList.indexOf(p),1)},null,8,["name","percentage","onRemove"]))]),default:m(()=>[c(C,{class:"box-item",effect:"dark",content:e.$t("chat.message.uploadFile"),placement:"bottom"},{default:m(()=>[h("span",{class:G({btn:!0,"btn-upload":!0,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering})},[c($,{icon:"fa-solid fa-plus",class:"icon icon-attachment"})],2)]),_:1},8,["content"])]),_:1},8,["file-list","class","accept","disabled","action","on-exceed","on-error","on-progress","headers"])]),c(_,{disabled:e.answering||!e.questionValue||e.uploading,type:"primary",class:G({btn:!0,"btn-send":!0}),onClick:e.onSubmit},{default:m(()=>[c($,{icon:"fa-solid fa-arrow-up",class:"icon icon-send"})]),_:1},8,["disabled","onClick"]),V(c(_,{disabled:!e.answering,type:"primary",class:G({btn:!0,"btn-stop":!0}),onClick:e.onStop},{default:m(()=>[c($,{icon:"fa-solid fa-stop",class:"icon icon-stop"})]),_:1},8,["disabled","onClick"]),[[he,e.answering]]),V(h("textarea",{ref:"textarea","onUpdate:modelValue":t[1]||(t[1]=p=>e.questionValue=p),disabled:e.answering,class:"input",placeholder:e.$t("chat.message.newMessagePlaceholder"),style:fe({height:e.inputHeight}),onKeydown:t[2]||(t[2]=W(M((...p)=>e.onSubmit&&e.onSubmit(...p),["exact","prevent"]),["enter"])),onInput:t[3]||(t[3]=(...p)=>e.adjustTextareaHeight&&e.adjustTextareaHeight(...p))},null,44,$t),[[ge,e.questionValue]])])}const wt=S(_t,[["render",bt],["__scopeId","data-v-02d367c1"]]),Ct=E({name:"ModelSelector",components:{ElDropdown:de,ElDropdownMenu:le,ElDropdownItem:re,FontAwesomeIcon:O},emits:["update:modelValue","select","model-group-changed","model-changed"],data(){return{options:[H,X,Z,x,ee]}},computed:{model(){return console.log("model",this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){return this.$route.meta?.modelGroup||H}},watch:{modelGroup(e){console.debug("modelGroup from route changed",e),this.$store.dispatch("chat/setModelGroup",e),this.$store.dispatch("chat/setModel",e.models[0])}},mounted(){console.debug("ModelSelector mounted, checking model group");const t=[H,X,Z,x,ee].find(s=>s.name===this.modelGroup.name);console.debug("Found model group:",t),t&&(this.$store.dispatch("chat/setModelGroup",t),this.$store.dispatch("chat/setModel",t.models[0]))},methods:{onModelGroupChange(e){this.$store.dispatch("chat/setModelGroup",e),this.$emit("model-group-changed",e)},onModelChange(e){this.$store.dispatch("chat/setModel",e),this.$emit("model-changed",e)}}}),kt={class:"selector"},Et={class:"flex justify-center"},St={class:"name"},Rt={class:"angle"},Dt={class:"item"},qt={class:"info"},It={key:0,class:"name"},Gt={key:1,class:"description"};function At(e,t,s,d,r,i){const n=l("font-awesome-icon"),a=l("el-dropdown-item"),$=l("el-dropdown-menu"),C=l("el-dropdown");return o(),u("div",kt,[c(C,{trigger:"click","popper-class":"popper"},{dropdown:m(()=>[e.modelGroup&&e.modelGroup?.models?(o(),f($,{key:0},{default:m(()=>[(o(!0),u(N,null,L(e.modelGroup?.models?.filter(g=>g.enabled),(g,_)=>(o(),f(a,{key:_,onClick:p=>e.onModelChange(g)},{default:m(()=>[h("div",Dt,[h("div",qt,[g?.getDisplayName?(o(),u("p",It,v(g?.getDisplayName()),1)):w("",!0),g?.getDescription?(o(),u("p",Gt,v(g?.getDescription()),1)):w("",!0)])])]),_:2},1032,["onClick"]))),128))]),_:1})):w("",!0)]),default:m(()=>[h("div",Et,[h("span",St,v(e.model?.getDisplayName()),1),h("span",Rt,[c(n,{icon:"fa-solid fa-angle-down"})])])]),_:1})])}const Ot=S(Ct,[["render",At],["__scopeId","data-v-6b1200e4"]]),Mt={},Tt={class:"disclaimer"};function Vt(e,t){return o(),u("p",Tt,v(e.$t("chat.message.howToUse")),1)}const Nt=S(Mt,[["render",Vt],["__scopeId","data-v-d2d980ab"]]),Lt=E({name:"SidePanel",components:{ElInput:ie,ElButton:B,ElDialog:Ve,ElDropdown:de,ElDropdownItem:re,ElDropdownMenu:le,FontAwesomeIcon:O,ElSkeleton:Te},props:{},emits:["change-conversation"],data(){return{renameDialogVisible:!1,deleteDialogVisible:!1,actingConversation:void 0,renameDraft:"",renameSubmitting:!1,deleteSubmitting:!1}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},conversationId(){return console.debug("conversationId in side",this.$route.params?.id),this.$route.params?.id?.toString()},conversations(){let e=this.$store.state.chat.conversations;return console.debug("conversations",e),console.debug("modelGroup",this.modelGroup),e=e?.filter(t=>t?.model&&this.modelGroup?.models?.map(s=>s.name)?.includes(t?.model)),console.debug("filtered conversations",e),e},conversationGroups(){const e=new Date;e.setHours(0,0,0,0);const t=new Date(e);t.setDate(t.getDate()-1);const s=new Date(e);s.setDate(s.getDate()-e.getDay());const d=new Date(s);d.setDate(d.getDate()-7);const r=this.conversations?.reduce((i,n)=>{const a=new Date(n.updated_at*1e3);return a>=e?i.today.push(n):a>=t?i.yesterday.push(n):a>=s?i.thisWeek.push(n):i.earlier.push(n),i},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...r?.today?.length>0?{today:r?.today?.sort((i,n)=>n.updated_at-i.updated_at)}:{},...r?.yesterday?.length>0?{yesterday:r?.yesterday?.sort((i,n)=>n.updated_at-i.updated_at)}:{},...r?.thisWeek?.length>0?{thisWeek:r?.thisWeek?.sort((i,n)=>n.updated_at-i.updated_at)}:{},...r?.earlier?.length>0?{earlier:r?.earlier?.sort((i,n)=>n.updated_at-i.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===z.Request},token(){return this.$store.state.chat?.credential?.token}},watch:{modelGroup(){console.debug("modelGroup changed, refreshing conversations");const e=this.conversations?.[0];this.$emit("change-conversation",e?.id)}},methods:{async onNewConversation(){console.debug("onNewConversation from side panel"),this.$emit("change-conversation",void 0)},onClickConversation(e){console.debug("onClickConversation in side panel",e),this.$emit("change-conversation",e)},getConversationTitle(e){return e?.title||e?.messages?.[e?.messages.length-1]?.content||e?.messages?.[0]?.content||""},onConversationCommand(e,t){e==="rename"?this.openRenameDialog(t):e==="delete"&&this.openDeleteDialog(t)},openRenameDialog(e){this.actingConversation=e,this.renameDraft=(e?.title||"").trim(),this.renameDialogVisible=!0},openDeleteDialog(e){this.actingConversation=e,this.deleteDialogVisible=!0},async onConfirmRename(){const e=this.token,t=this.actingConversation?.id,s=(this.renameDraft||"").trim();if(!e){k.error("Token 不存在,请重新登录");return}if(!t){k.error("会话不存在");return}if(!s){k.warning("请输入名称");return}this.renameSubmitting=!0;try{await T.updateConversation({id:t,title:s},{token:e}),await this.$store.dispatch("chat/getConversations"),this.renameDialogVisible=!1,k.success("已重命名")}catch(d){console.error(d),k.error("重命名失败,请稍后重试")}finally{this.renameSubmitting=!1}},async onConfirmDelete(){const e=this.token,t=this.actingConversation?.id;if(!e){k.error("Token 不存在,请重新登录");return}if(!t){k.error("会话不存在");return}this.deleteSubmitting=!0;try{await T.deleteConversation(t,{token:e}),await this.$store.dispatch("chat/getConversations"),t===this.conversationId&&this.$emit("change-conversation",void 0),this.deleteDialogVisible=!1,k.success("已删除")}catch(s){console.error(s),k.error("删除失败,请稍后重试")}finally{this.deleteSubmitting=!1}}}}),Ut={class:"panel"},Ft={key:1,class:"conversations"},Pt={class:"icons"},Bt={class:"title"},Ht={class:"key"},jt=["onClick"],zt={class:"title"},Wt={class:"operations"};function Kt(e,t,s,d,r,i){const n=l("el-skeleton"),a=l("font-awesome-icon"),$=l("el-dropdown-item"),C=l("el-dropdown-menu"),g=l("el-dropdown"),_=l("el-input"),p=l("el-button"),q=l("el-dialog");return o(),u("div",Ut,[e.loading&&e.conversationGroups===void 0?(o(),f(n,{key:0})):(o(),u("div",Ft,[h("div",{class:"conversation",onClick:t[0]||(t[0]=(...b)=>e.onNewConversation&&e.onNewConversation(...b))},[h("div",Pt,[c(a,{icon:"fa-solid fa-plus",class:"icon"})]),h("div",Bt,v(e.$t("chat.message.startNewChat")),1)]),(o(!0),u(N,null,L(e.conversationGroups,(b,U)=>(o(),u("div",{key:U,class:"group"},[h("div",Ht,v(e.$t(`chat.group.${U}`)),1),(o(!0),u(N,null,L(b,(I,y)=>(o(),u("div",{key:y,class:G({conversation:!0,active:I.id===e.conversationId}),onClick:F=>e.onClickConversation(I.id)},[h("div",zt,v(e.getConversationTitle(I)),1),h("div",Wt,[c(g,{trigger:"click",placement:"bottom-end",teleported:!0,onCommand:F=>e.onConversationCommand(F,I)},{dropdown:m(()=>[c(C,null,{default:m(()=>[c($,{command:"rename",onClick:t[2]||(t[2]=M(()=>{},["stop"]))},{default:m(()=>[c(a,{icon:"fa-solid fa-pen-to-square",class:"mr-2"}),t[9]||(t[9]=D(" 重命名 ",-1))]),_:1,__:[9]}),c($,{command:"delete",onClick:t[3]||(t[3]=M(()=>{},["stop"]))},{default:m(()=>[c(a,{icon:"fa-solid fa-trash",class:"mr-2"}),D(" "+v(e.$t("common.button.delete")),1)]),_:1})]),_:1})]),default:m(()=>[h("span",{class:"more",onClick:t[1]||(t[1]=M(()=>{},["stop"]))},[c(a,{icon:"fa-solid fa-ellipsis"})])]),_:2},1032,["onCommand"])])],10,jt))),128))]))),128))])),c(q,{modelValue:e.renameDialogVisible,"onUpdate:modelValue":t[6]||(t[6]=b=>e.renameDialogVisible=b),width:"420px",title:"重命名","close-on-click-modal":!1},{footer:m(()=>[c(p,{onClick:t[5]||(t[5]=b=>e.renameDialogVisible=!1)},{default:m(()=>[D(v(e.$t("common.button.cancel")),1)]),_:1}),c(p,{type:"primary",loading:e.renameSubmitting,onClick:e.onConfirmRename},{default:m(()=>[D(v(e.$t("common.button.confirm")),1)]),_:1},8,["loading","onClick"])]),default:m(()=>[c(_,{modelValue:e.renameDraft,"onUpdate:modelValue":t[4]||(t[4]=b=>e.renameDraft=b),autofocus:"",onKeydown:W(e.onConfirmRename,["enter"])},null,8,["modelValue","onKeydown"])]),_:1},8,["modelValue"]),c(q,{modelValue:e.deleteDialogVisible,"onUpdate:modelValue":t[8]||(t[8]=b=>e.deleteDialogVisible=b),width:"420px",title:e.$t("chat.message.confirmDelete"),"close-on-click-modal":!1},{footer:m(()=>[c(p,{onClick:t[7]||(t[7]=b=>e.deleteDialogVisible=!1)},{default:m(()=>[D(v(e.$t("common.button.cancel")),1)]),_:1}),c(p,{type:"danger",loading:e.deleteSubmitting,onClick:e.onConfirmDelete},{default:m(()=>[D(v(e.$t("common.button.delete")),1)]),_:1},8,["loading","onClick"])]),default:m(()=>[t[10]||(t[10]=h("div",{class:"delete-tip"},"确认删除该会话?删除后不可恢复。",-1))]),_:1,__:[10]},8,["modelValue","title"])])}const Qt=S(Lt,[["render",Kt],["__scopeId","data-v-9439b6cb"]]),Yt=E({name:"LayoutChat",components:{SidePanel:Qt,ElDrawer:Ne,ElButton:B,FontAwesomeIcon:O},emits:["change-conversation"],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug("onChangeConversation in layout",e),this.$emit("change-conversation",e)}}}),Jt={class:"main flex flex-row flex-1"},Xt={class:"side w-[250px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},Zt={class:"chat h-full w-[calc(100%-250px)] pt-[45px] flex-1 flex flex-col relative"};function xt(e,t,s,d,r,i){const n=l("side-panel"),a=l("font-awesome-icon"),$=l("el-button"),C=l("el-drawer");return o(),u("div",Jt,[h("div",Xt,[Q(e.$slots,"side",{},()=>[c(n,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])],!0)]),h("div",Zt,[Q(e.$slots,"chat",{},void 0,!0)]),c($,{round:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:m(()=>[c(a,{icon:"fa-solid fa-bars"})]),_:1}),c(C,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"290px"},{default:m(()=>[c(n,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])]),_:1},8,["modelValue"])])}const es=S(Yt,[["render",xt],["__scopeId","data-v-38ff8add"]]),ts=E({name:"ChatConversation",components:{Composer:wt,Disclaimer:Nt,ModelSelector:Ot,Message:ft,Layout:es},data(){return{drawer:!1,question:"",references:[],upload:!1,answering:!1,canceler:void 0,messages:this.$store.state.chat.conversations?.find(e=>e.id===this.$route.params.id?.toString())?.messages||[]}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},model(){return this.$store.state.chat.model},conversationId(){return this.$route.params.id?.toString()},conversation(){return this.$store.state.chat.conversations?.find(e=>e.id===this.conversationId)},service(){return this.$store.state.chat.service},application(){return this.$store.state.chat.application},applications(){return this.$store.state.chat.applications},credential(){return this.$store.state.chat?.credential},needApply(){return this.$store.state.chat.status.getApplications===z.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===z.Request}},watch:{async references(e){console.log("references changed",e)},async modelGroup(e){console.debug("modelGroup changed",e)},async conversationId(e){console.debug("conversationId changed",e)}},async mounted(){await this.onGetService(),await this.onGetApplication(),await this.onGetConversations()},methods:{async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("chat/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("chat/getApplications"),console.debug("end onGetApplication")},async onGetConversations(){console.debug("start onGetConversations"),await this.$store.dispatch("chat/getConversations"),console.debug("end onGetConversations")},async onDraft(e){this.question=e,this.onSubmit()},async onStop(){this.canceler&&(this.canceler.abort(),this.answering=!1)},async onRestart(e){const t=this.messages.findIndex(a=>a===e),s=this.messages[t-1];let d=[];if(t!==-1){if(d=this.messages.slice(0,t-1),this.messages=this.messages.slice(0,t),this.references=[],typeof s.content=="string")this.question=s.content;else if(Array.isArray(s.content))for(let a=0;a<s?.content.length;a++)s.content[a].type==="image_url"&&(typeof s?.content?.[a]?.image_url=="string"?this.references.push(s?.content?.[a]?.image_url):this.references.push(s?.content?.[a]?.image_url?.url)),s.content[a].type==="file_url"&&(typeof s?.content?.[a]?.file_url=="string"?this.references.push(s?.content?.[a]?.file_url):this.references.push(s?.content?.[a]?.file_url?.url)),s.content[a].type==="text"&&(this.question=s.content[a].text)}console.debug("onRestart!",this.question,JSON.stringify(this.references));const r=this.credential?.token,i=this.question.trim();if(!r||!i){console.error("no token or endpoint or question"),this.messages.push({error:{code:P},role:A,state:R.FAILED});return}let n=this.conversationId;T.updateConversation({id:this.conversationId,messages:d},{token:r}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:n,messages:this.messages}),console.debug("finished update conversation",this.messages),console.debug("onRestart",this.question),await this.onRequest()}).catch(a=>{this.handleRequestError(a)})},async onEdit(e,t){const s=this.messages.findIndex(i=>i===e);s!==-1&&(this.messages=this.messages.slice(0,s)),this.question=t;const d=this.credential?.token;if(!d){console.error("no token or endpoint or question"),this.messages.push({error:{code:P},role:A,state:R.FAILED});return}let r=this.conversationId;T.updateConversation({id:this.conversationId,messages:this.messages},{token:d}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:r,messages:this.messages}),console.debug("finished update conversation",this.messages),this.messages.push({content:this.question,role:j}),console.debug("onEdit",this.question),await this.onRequest()}).catch(i=>{this.handleRequestError(i)})},async onNewConversation(){this.$router.push({params:{id:""}}),this.messages=[],this.question="",this.references=[]},async onRestoreConversation(e){console.debug("onRestoreConversation id",e);const t=this.conversations?.find(i=>i.id===e),s=t?.model;console.debug("conversation model",s);const d=Se.find(i=>i.name===s);console.debug("target model",d);const r=Re.find(i=>i.name===d?.modelGroup);console.debug("target model group",r),this.$store.dispatch("chat/setModelGroup",r),this.$store.dispatch("chat/setModel",d),console.debug("conversation",t),console.debug("conversation messages",this.messages),this.messages=t?.messages||[],this.onScrollDown()},async onChangeConversation(e){console.log("onChangeConversation in conversation",e),await this.onStop(),e?this.onRestoreConversation(e):this.onNewConversation()},async onSubmit(){if(this.references.length>0){let e=[];e.push({type:"text",text:this.question.trim()});for(let t=0;t<this.references.length;t++)ne(this.references[t])?e.push({type:"image_url",image_url:this.references[t]}):e.push({type:"file_url",file_url:this.references[t]});this.messages.push({content:e,role:j})}else this.messages.push({content:this.question.trim(),role:j});console.debug("onSubmit",this.question,this.references),await this.onRequest()},async onRequest(){console.debug("start to get answer",this.messages);const e=this.credential?.token,t=this.question.trim(),s=this.references;if(console.debug("validated",t,s),this.question="",this.references=[],!e||!t){console.error("no token or endpoint or question"),this.messages.push({error:{code:P},role:A,state:R.FAILED});return}let d=this.conversationId;this.messages.push({content:"",role:A,state:R.PENDING}),console.debug("start to get answer",this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,T.chatConversation({question:t,model:this.model.name,references:s,id:this.conversationId,stateful:!0},{token:e,stream:r=>{console.debug("stream response",r);const i=this.messages[this.messages.length-1];this.messages[this.messages.length-1]={role:A,content:r.answer,state:i?.state!==R.FINISHED?R.ANSWERING:i?.state},d=r?.id},signal:this.canceler.signal}).then(async()=>{console.debug("finished fetch answer",this.messages),this.messages[this.messages.length-1].state=R.FINISHED,console.debug("finished fetch answer",JSON.stringify(this.messages)),await this.$store.dispatch("chat/setConversation",{id:d,messages:this.messages}),this.answering=!1,d&&await this.$router.push({params:{id:d}}),this.onScrollDown(),await this.$store.dispatch("chat/getConversations"),await this.$store.dispatch("chat/getApplications")}).catch(r=>{this.handleRequestError(r)})},async handleRequestError(e){if(console.error("error happened",e),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=R.FAILED),e.name==="AbortError"){console.error("aborted");return}else e instanceof Ee?(console.debug("BaseError",e),this.messages[this.messages.length-1].error={code:e.code,message:e.detail}):ue.isCancel(e)?this.messages[this.messages.length-1].error={code:oe}:this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:se});this.answering=!1},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".messages");!e||!this.messages||this.messages.length===0||(e.scrollTop=e?.scrollHeight)},0)}}}),ss={key:0,class:"messages"},os={class:"starter"};function ns(e,t,s,d,r,i){const n=l("model-selector"),a=l("message"),$=l("composer"),C=l("disclaimer"),g=l("layout");return o(),f(g,{onChangeConversation:t[4]||(t[4]=_=>e.onChangeConversation(_))},{chat:m(()=>[c(n,{class:"selector",onModelGroupChanged:t[0]||(t[0]=_=>e.onChangeConversation(void 0))}),h("div",{class:G({dialogue:!0,empty:e.messages.length===0})},[e.messages.length>0?(o(),u("div",ss,[(o(!0),u(N,null,L(e.messages,(_,p)=>(o(),f(a,{key:p,message:_,messages:e.messages,question:e.question,application:e.application,class:"message","onUpdate:question":t[1]||(t[1]=q=>e.question=q),onEdit:e.onEdit,onRestart:e.onRestart},null,8,["message","messages","question","application","onEdit","onRestart"]))),128))])):w("",!0),h("div",os,[c($,{question:e.question,"onUpdate:question":t[2]||(t[2]=_=>e.question=_),answering:e.answering,references:e.references,"onUpdate:references":t[3]||(t[3]=_=>e.references=_),onSubmit:e.onSubmit,onStop:e.onStop},null,8,["question","answering","references","onSubmit","onStop"]),c(C,{class:"disclaimer"})])],2)]),_:1})}const _s=S(ts,[["render",ns],["__scopeId","data-v-8f6d22cf"]]);export{_s as default};
2
+ import{a as ue}from"./vendor-axios-NIGUFBhG.js";import{d as E,c as u,o,b as me,h as pe,U as V,R as f,al as l,as as te,S as m,l as c,a as h,W as w,Z as v,F as N,ai as L,aj as W,a1 as M,Y as D,V as G,_ as he,at as ge,a2 as fe,P as Q}from"./vendor-vue-Bb02XvLT.js";import{ai as Y,_ as S,ac as _e,aj as A,ak as J,al as se,am as oe,an as P,ao as ve,ap as ye,aq as $e,ar as be,as as we,at as Ce,au as R,av as ne,a5 as ke,aw as H,ax as X,ay as Z,az as x,aA as ee,aB as T,ah as z,aC as Ee,aD as j,aE as Se,aF as Re}from"./index-CFwKXwDS.js";import{a5 as De,bN as ae,bQ as qe,bR as Ie,bG as O}from"./vendor-Bf_m-mDd.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-highlight-cUQea6Bb.js";import{C as Ge}from"./CopyToClipboard-DUBbK93t.js";import{n as K,p as ie,i as Ae,o as B,B as Oe,q as Me,r as k,f as re,g as le,h as de,G as Te,E as Ve,N as Ne}from"./vendor-element-plus-DMm68DKM.js";import{F as ce}from"./FilePreview-ButdEzn1.js";import{I as Le}from"./ImagePreview-16UTA4Ig.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BHF5lY3m.js";const Ue=async e=>{const t=(await De(async()=>{const{default:d}=await import("./vendor-highlight-cUQea6Bb.js");return{default:d}},__vite__mapDeps([0,1,2,3,4,5,6,7]))).default;e.querySelectorAll("pre code").forEach(d=>{const r=d.parentElement;if(!r)return;if(r.dataset.hasCopy==="1"){"highlightElement"in t?t.highlightElement(d):t.highlightBlock(d);return}const i=document.createElement("div");i.className="relative",r.parentNode.insertBefore(i,r),i.appendChild(r),r.classList.add("overflow-auto");const n=document.createElement("button");n.type="button",n.dataset.copyBtn="1",n.className="absolute top-1 right-1 z-10 rounded-md px-2 py-1 text-xs bg-zinc-800 text-white hover:bg-zinc-700 active:scale-95",n.textContent=Y.global.t("common.button.copy").toString(),n.addEventListener("click",()=>{ae(d.innerText);const a=n.textContent;n.textContent=Y.global.t("common.button.copied")?.toString(),setTimeout(()=>n.textContent=a,5e3)}),i.appendChild(n),r.dataset.hasCopy="1","highlightElement"in t?t.highlightElement(d):t.highlightBlock(d)})},Fe=E({name:"AnsweringMark",data(){return{}},computed:{conversationId(){return this.$route.params?.id?.toString()}}}),Pe={class:"mark"};function Be(e,t,s,d,r,i){return o(),u("div",Pe)}const He=S(Fe,[["render",Be]]),je=E({name:"VueMarkdown",props:{source:{type:String,required:!0},options:{type:Object,default:()=>({}),required:!1}},setup(e,{attrs:t}){const s=new qe({...e.options,html:!0}).use(Ie,{delimiters:"all",throwOnError:!1,errorColor:"#cc0000",mathFence:!0}),d=me(()=>{const r=e.source;return s?.render(r).replace(/<think>/g,'<div class="think">').replace(/<\/think>/g,"</div>")});return()=>pe("div",{...t,innerHTML:d.value})}}),ze=E({name:"MarkdownRenderer",directives:{highlight:Ue},components:{VueMarkdown:je},props:{content:{type:String,required:!1,default:""}}});function We(e,t,s,d,r,i){const n=l("vue-markdown"),a=te("highlight");return V((o(),f(n,{source:e.content,class:"markdown-body bg-transparent pt-[3px] text-[inherit]"},null,8,["source"])),[[a]])}const Ke=S(ze,[["render",We],["__scopeId","data-v-de1f7a52"]]),Qe=E({name:"CopyToClipboard",components:{FontAwesomeIcon:O,ElTooltip:K},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["restart"],data(){return{copied:!1}},methods:{onRestart(){this.$emit("restart")}}});function Ye(e,t,s,d,r,i){const n=l("font-awesome-icon"),a=l("el-tooltip");return o(),f(a,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:m(()=>[c(n,{icon:"fa-solid fa-sync",class:"icon-sync",onClick:e.onRestart},null,8,["onClick"])]),_:1},8,["content"])}const Je=S(Qe,[["render",Ye],["__scopeId","data-v-90e169cb"]]),Xe=E({name:"EditMessage",components:{FontAwesomeIcon:O,ElTooltip:K},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["click"],data(){return{copied:!1}},methods:{onEdit(){this.$emit("click")}}});function Ze(e,t,s,d,r,i){const n=l("font-awesome-icon"),a=l("el-tooltip");return o(),u("span",null,[c(a,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:m(()=>[c(n,{icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:e.onEdit},null,8,["onClick"])]),_:1},8,["content"])])}const xe=S(Xe,[["render",Ze],["__scopeId","data-v-8e947e8f"]]),et=E({name:"Message",components:{EditMessage:xe,CopyToClipboard:Ge,RestartToGenerate:Je,AnsweringMark:He,MarkdownRenderer:Ke,ElAlert:Oe,FilePreview:ce,ElButton:B,ElImage:Ae,ElInput:ie},props:{messages:{type:Array,required:!1,default:()=>[]},message:{type:Object,required:!0},application:{type:Object,required:!0}},emits:["stop","edit","restart"],data(){return{copied:!1,isEditing:!1,questionValue:this.message.content,messageState:R}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},errorText(){if(console.debug("error",this.message.error),!(!this.message.error||!this.message.error?.code)){if(this.message.error?.message)return this.message.error.message;switch(this.message.error?.code){case J:return this.$t("chat.message.errorUsedUp");case Ce:return this.$t("chat.message.errorApiError");case we:return this.$t("chat.message.errorBadRequest");case be:return this.$t("chat.message.errorTimeout");case $e:return this.$t("chat.message.errorBusy");case ye:return this.$t("chat.message.errorContentTooLarge");case ve:return this.$t("chat.message.errorTooManyRequests");case P:return this.$t("chat.message.errorNotApplied");case oe:return;case se:default:return this.$t("chat.message.errorUnknown")}}},showBuyMore(){return this.message.role===A&&this.message.error?.code===J}},watch:{},methods:{startEditing(){this.isEditing=!0,this.questionValue=this.message.content,console.debug("start to get answer",this.message)},cancelEdit(){this.isEditing=!1},onRestart(){this.$emit("restart",this.message)},onEdit(){this.isEditing=!1,this.onSubmit()},onSubmit(){this.$emit("edit",this.message,this.questionValue)},onCopy(){ae(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){this.$router.push({name:_e,params:{id:this.application?.id}})}}}),tt=["role"],st={class:"author"},ot={key:0,class:"main"},nt={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:"ease-in-out"}},class:"content"},at={key:0,class:"message-content"},it={key:0},rt={key:1,class:"whitespace-pre-wrap break-words w-fit max-w-full py-1"},lt={key:1},dt=["src"],ct={key:2},ut={key:1,class:"whitespace-pre-wrap break-words w-fit max-w-full py-1"},mt={key:1,class:"edits"},pt={class:"flex justify-end"},ht={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:"ease-in-out"}},class:"operations"};function gt(e,t,s,d,r,i){const n=l("el-image"),a=l("markdown-renderer"),$=l("file-preview"),C=l("el-input"),g=l("el-button"),_=l("answering-mark"),p=l("edit-message"),q=l("copy-to-clipboard"),b=l("restart-to-generate"),U=l("el-alert"),I=te("motion");return o(),u("div",{class:G({message:!0,[e.message.role]:!0}),role:e.message.role},[h("div",st,[e.message.role==="assistant"?(o(),f(n,{key:0,src:e.modelGroup?.icon,fit:"cover",class:"avatar"},null,8,["src"])):w("",!0)]),e.errorText?(o(),f(U,{key:1,class:"error",title:e.errorText,type:"error",closable:!1},null,8,["title"])):(o(),u("div",ot,[V((o(),u("div",nt,[e.isEditing?(o(),u("div",mt,[c(C,{modelValue:e.questionValue,"onUpdate:modelValue":t[0]||(t[0]=y=>e.questionValue=y),type:"textarea",class:"mb-2",onKeydown:W(M(e.onEdit,["exact","prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),h("div",pt,[c(g,{round:"",onClick:e.cancelEdit},{default:m(()=>[D(v(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),c(g,{type:"primary",class:"btn-confirm",round:"",onClick:e.onEdit},{default:m(()=>[D(v(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])])):(o(),u("div",at,[Array.isArray(e.message.content)?(o(),u("div",lt,[(o(!0),u(N,null,L(e.message.content,(y,F)=>(o(),u("div",{key:F},[y.type==="image_url"?(o(),u("img",{key:0,src:typeof y?.image_url=="string"?y.image_url:y.image_url?.url,fit:"cover",class:"image"},null,8,dt)):w("",!0),y.file_url?(o(),f($,{key:1,name:typeof y?.file_url=="string"?y.file_url:y.file_url?.url,percentage:0,closable:!1,class:"mt-2"},null,8,["name"])):w("",!0),y.type==="text"?(o(),u("div",ct,[e.message.role==="assistant"?(o(),f(a,{key:0,content:y.text},null,8,["content"])):(o(),u("pre",ut,v(y.text?.trim()),1))])):w("",!0)]))),128))])):(o(),u("div",it,[e.message.role==="assistant"?(o(),f(a,{key:0,content:e.message?.content},null,8,["content"])):(o(),u("pre",rt,v(e.message.content),1))]))])),e.message.state===e.messageState.PENDING?(o(),f(_,{key:2})):w("",!0)])),[[I]]),V((o(),u("div",ht,[e.message.role==="user"&&!e.isEditing&&!Array.isArray(e.message.content)?(o(),f(p,{key:0,class:"btn-edit",onClick:e.startEditing},null,8,["onClick"])):w("",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)?(o(),f(q,{key:1,content:e.message.content,class:"btn-copy"},null,8,["content"])):w("",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)&&e.message.role==="assistant"&&e.message===e.messages[e.messages.length-1]?(o(),f(b,{key:2,class:"btn-restart",messages:e.messages,onRestart:e.onRestart},null,8,["messages","onRestart"])):w("",!0)])),[[I]])])),e.showBuyMore?(o(),f(g,{key:2,round:"",type:"primary",class:"btn btn-buy",size:"small",onClick:e.onBuyMore},{default:m(()=>[D(v(e.$t("common.button.buyMore")),1)]),_:1},8,["onClick"])):w("",!0)],10,tt)}const ft=S(et,[["render",gt],["__scopeId","data-v-a2be8b8f"]]),_t=E({name:"Composer",components:{FilePreview:ce,ImagePreview:Le,ElTooltip:K,FontAwesomeIcon:O,ElUpload:Me,ElButton:B},props:{answering:{type:Boolean,required:!1,default:!1},references:{type:Array,required:!1,default:()=>[]},question:{type:String,required:!0}},emits:["update:question","update:references","submit","stop"],data(){return{inputHeight:"35px",questionValue:this.question||"",fileList:[],uploadUrl:ke()+"/api/v1/files/"}},computed:{model(){return this.$store.state.chat.model},modelGroup(){return this.$store.state.chat.modelGroup},isFileSupported(){return this.model?.isFileSupported},isImageSupported(){return this.model?.isImageSupported},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},uploading(){return!!this.fileList.find(e=>e.percentage!==void 0&&e.percentage>=0&&e.percentage<100)},extensions(){if(this.isFileSupported===!1&&this.isImageSupported===!0)return".png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic"}},watch:{urls(e){console.debug("File URLs:",e),e.length>0&&this.$emit("update:references",e)},questionValue(e){this.$emit("update:question",e.trim())},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){console.debug("References updated:",e),e.length===0&&(this.fileList=[])},isFileSupported(e,t){t&&!e&&(this.fileList=[])}},methods:{isImageUrl:ne,adjustTextareaHeight(){this.$nextTick(()=>{const e=this.$refs.textarea;e&&(e.style.height="35px",e.style.height=e.scrollHeight+"px")})},onSubmit(){!this.question||this.uploading||this.$emit("submit")},onStop(){this.$emit("stop")},onProgress(e,t){console.debug("File upload progress:",t.name,e.loaded,e.total,t.percentage)},onExceed(){k.warning(this.$t("chat.message.uploadReferencesExceed"))},onError(){k.error(this.$t("chat.message.uploadReferencesError"))}}}),vt={class:"composer"},yt={class:"tools"},$t=["disabled","placeholder"];function bt(e,t,s,d,r,i){const n=l("image-preview"),a=l("file-preview"),$=l("font-awesome-icon"),C=l("el-tooltip"),g=l("el-upload"),_=l("el-button");return o(),u("div",vt,[h("div",yt,[c(g,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=p=>e.fileList=p),class:G({upload:!0,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering}),accept:e.extensions,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering,name:"file",limit:10,multiple:!0,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-progress":e.onProgress,headers:e.headers},{file:m(({file:p})=>[e.isImageUrl(p.name)?(o(),f(n,{key:0,url:p.url||p.response?.file_url,name:p.name,percentage:p.percentage,onRemove:q=>e.fileList.splice(e.fileList.indexOf(p),1)},null,8,["url","name","percentage","onRemove"])):(o(),f(a,{key:1,name:p.name,percentage:p.percentage,onRemove:q=>e.fileList.splice(e.fileList.indexOf(p),1)},null,8,["name","percentage","onRemove"]))]),default:m(()=>[c(C,{class:"box-item",effect:"dark",content:e.$t("chat.message.uploadFile"),placement:"bottom"},{default:m(()=>[h("span",{class:G({btn:!0,"btn-upload":!0,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering})},[c($,{icon:"fa-solid fa-plus",class:"icon icon-attachment"})],2)]),_:1},8,["content"])]),_:1},8,["file-list","class","accept","disabled","action","on-exceed","on-error","on-progress","headers"])]),c(_,{disabled:e.answering||!e.questionValue||e.uploading,type:"primary",class:G({btn:!0,"btn-send":!0}),onClick:e.onSubmit},{default:m(()=>[c($,{icon:"fa-solid fa-arrow-up",class:"icon icon-send"})]),_:1},8,["disabled","onClick"]),V(c(_,{disabled:!e.answering,type:"primary",class:G({btn:!0,"btn-stop":!0}),onClick:e.onStop},{default:m(()=>[c($,{icon:"fa-solid fa-stop",class:"icon icon-stop"})]),_:1},8,["disabled","onClick"]),[[he,e.answering]]),V(h("textarea",{ref:"textarea","onUpdate:modelValue":t[1]||(t[1]=p=>e.questionValue=p),disabled:e.answering,class:"input",placeholder:e.$t("chat.message.newMessagePlaceholder"),style:fe({height:e.inputHeight}),onKeydown:t[2]||(t[2]=W(M((...p)=>e.onSubmit&&e.onSubmit(...p),["exact","prevent"]),["enter"])),onInput:t[3]||(t[3]=(...p)=>e.adjustTextareaHeight&&e.adjustTextareaHeight(...p))},null,44,$t),[[ge,e.questionValue]])])}const wt=S(_t,[["render",bt],["__scopeId","data-v-02d367c1"]]),Ct=E({name:"ModelSelector",components:{ElDropdown:de,ElDropdownMenu:le,ElDropdownItem:re,FontAwesomeIcon:O},emits:["update:modelValue","select","model-group-changed","model-changed"],data(){return{options:[H,X,Z,x,ee]}},computed:{model(){return console.log("model",this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){return this.$route.meta?.modelGroup||H}},watch:{modelGroup(e){console.debug("modelGroup from route changed",e),this.$store.dispatch("chat/setModelGroup",e),this.$store.dispatch("chat/setModel",e.models[0])}},mounted(){console.debug("ModelSelector mounted, checking model group");const t=[H,X,Z,x,ee].find(s=>s.name===this.modelGroup.name);console.debug("Found model group:",t),t&&(this.$store.dispatch("chat/setModelGroup",t),this.$store.dispatch("chat/setModel",t.models[0]))},methods:{onModelGroupChange(e){this.$store.dispatch("chat/setModelGroup",e),this.$emit("model-group-changed",e)},onModelChange(e){this.$store.dispatch("chat/setModel",e),this.$emit("model-changed",e)}}}),kt={class:"selector"},Et={class:"flex justify-center"},St={class:"name"},Rt={class:"angle"},Dt={class:"item"},qt={class:"info"},It={key:0,class:"name"},Gt={key:1,class:"description"};function At(e,t,s,d,r,i){const n=l("font-awesome-icon"),a=l("el-dropdown-item"),$=l("el-dropdown-menu"),C=l("el-dropdown");return o(),u("div",kt,[c(C,{trigger:"click","popper-class":"popper"},{dropdown:m(()=>[e.modelGroup&&e.modelGroup?.models?(o(),f($,{key:0},{default:m(()=>[(o(!0),u(N,null,L(e.modelGroup?.models?.filter(g=>g.enabled),(g,_)=>(o(),f(a,{key:_,onClick:p=>e.onModelChange(g)},{default:m(()=>[h("div",Dt,[h("div",qt,[g?.getDisplayName?(o(),u("p",It,v(g?.getDisplayName()),1)):w("",!0),g?.getDescription?(o(),u("p",Gt,v(g?.getDescription()),1)):w("",!0)])])]),_:2},1032,["onClick"]))),128))]),_:1})):w("",!0)]),default:m(()=>[h("div",Et,[h("span",St,v(e.model?.getDisplayName()),1),h("span",Rt,[c(n,{icon:"fa-solid fa-angle-down"})])])]),_:1})])}const Ot=S(Ct,[["render",At],["__scopeId","data-v-6b1200e4"]]),Mt={},Tt={class:"disclaimer"};function Vt(e,t){return o(),u("p",Tt,v(e.$t("chat.message.howToUse")),1)}const Nt=S(Mt,[["render",Vt],["__scopeId","data-v-d2d980ab"]]),Lt=E({name:"SidePanel",components:{ElInput:ie,ElButton:B,ElDialog:Ve,ElDropdown:de,ElDropdownItem:re,ElDropdownMenu:le,FontAwesomeIcon:O,ElSkeleton:Te},props:{},emits:["change-conversation"],data(){return{renameDialogVisible:!1,deleteDialogVisible:!1,actingConversation:void 0,renameDraft:"",renameSubmitting:!1,deleteSubmitting:!1}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},conversationId(){return console.debug("conversationId in side",this.$route.params?.id),this.$route.params?.id?.toString()},conversations(){let e=this.$store.state.chat.conversations;return console.debug("conversations",e),console.debug("modelGroup",this.modelGroup),e=e?.filter(t=>t?.model&&this.modelGroup?.models?.map(s=>s.name)?.includes(t?.model)),console.debug("filtered conversations",e),e},conversationGroups(){const e=new Date;e.setHours(0,0,0,0);const t=new Date(e);t.setDate(t.getDate()-1);const s=new Date(e);s.setDate(s.getDate()-e.getDay());const d=new Date(s);d.setDate(d.getDate()-7);const r=this.conversations?.reduce((i,n)=>{const a=new Date(n.updated_at*1e3);return a>=e?i.today.push(n):a>=t?i.yesterday.push(n):a>=s?i.thisWeek.push(n):i.earlier.push(n),i},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...r?.today?.length>0?{today:r?.today?.sort((i,n)=>n.updated_at-i.updated_at)}:{},...r?.yesterday?.length>0?{yesterday:r?.yesterday?.sort((i,n)=>n.updated_at-i.updated_at)}:{},...r?.thisWeek?.length>0?{thisWeek:r?.thisWeek?.sort((i,n)=>n.updated_at-i.updated_at)}:{},...r?.earlier?.length>0?{earlier:r?.earlier?.sort((i,n)=>n.updated_at-i.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===z.Request},token(){return this.$store.state.chat?.credential?.token}},watch:{modelGroup(){console.debug("modelGroup changed, refreshing conversations");const e=this.conversations?.[0];this.$emit("change-conversation",e?.id)}},methods:{async onNewConversation(){console.debug("onNewConversation from side panel"),this.$emit("change-conversation",void 0)},onClickConversation(e){console.debug("onClickConversation in side panel",e),this.$emit("change-conversation",e)},getConversationTitle(e){return e?.title||e?.messages?.[e?.messages.length-1]?.content||e?.messages?.[0]?.content||""},onConversationCommand(e,t){e==="rename"?this.openRenameDialog(t):e==="delete"&&this.openDeleteDialog(t)},openRenameDialog(e){this.actingConversation=e,this.renameDraft=(e?.title||"").trim(),this.renameDialogVisible=!0},openDeleteDialog(e){this.actingConversation=e,this.deleteDialogVisible=!0},async onConfirmRename(){const e=this.token,t=this.actingConversation?.id,s=(this.renameDraft||"").trim();if(!e){k.error("Token 不存在,请重新登录");return}if(!t){k.error("会话不存在");return}if(!s){k.warning("请输入名称");return}this.renameSubmitting=!0;try{await T.updateConversation({id:t,title:s},{token:e}),await this.$store.dispatch("chat/getConversations"),this.renameDialogVisible=!1,k.success("已重命名")}catch(d){console.error(d),k.error("重命名失败,请稍后重试")}finally{this.renameSubmitting=!1}},async onConfirmDelete(){const e=this.token,t=this.actingConversation?.id;if(!e){k.error("Token 不存在,请重新登录");return}if(!t){k.error("会话不存在");return}this.deleteSubmitting=!0;try{await T.deleteConversation(t,{token:e}),await this.$store.dispatch("chat/getConversations"),t===this.conversationId&&this.$emit("change-conversation",void 0),this.deleteDialogVisible=!1,k.success("已删除")}catch(s){console.error(s),k.error("删除失败,请稍后重试")}finally{this.deleteSubmitting=!1}}}}),Ut={class:"panel"},Ft={key:1,class:"conversations"},Pt={class:"icons"},Bt={class:"title"},Ht={class:"key"},jt=["onClick"],zt={class:"title"},Wt={class:"operations"};function Kt(e,t,s,d,r,i){const n=l("el-skeleton"),a=l("font-awesome-icon"),$=l("el-dropdown-item"),C=l("el-dropdown-menu"),g=l("el-dropdown"),_=l("el-input"),p=l("el-button"),q=l("el-dialog");return o(),u("div",Ut,[e.loading&&e.conversationGroups===void 0?(o(),f(n,{key:0})):(o(),u("div",Ft,[h("div",{class:"conversation",onClick:t[0]||(t[0]=(...b)=>e.onNewConversation&&e.onNewConversation(...b))},[h("div",Pt,[c(a,{icon:"fa-solid fa-plus",class:"icon"})]),h("div",Bt,v(e.$t("chat.message.startNewChat")),1)]),(o(!0),u(N,null,L(e.conversationGroups,(b,U)=>(o(),u("div",{key:U,class:"group"},[h("div",Ht,v(e.$t(`chat.group.${U}`)),1),(o(!0),u(N,null,L(b,(I,y)=>(o(),u("div",{key:y,class:G({conversation:!0,active:I.id===e.conversationId}),onClick:F=>e.onClickConversation(I.id)},[h("div",zt,v(e.getConversationTitle(I)),1),h("div",Wt,[c(g,{trigger:"click",placement:"bottom-end",teleported:!0,onCommand:F=>e.onConversationCommand(F,I)},{dropdown:m(()=>[c(C,null,{default:m(()=>[c($,{command:"rename",onClick:t[2]||(t[2]=M(()=>{},["stop"]))},{default:m(()=>[c(a,{icon:"fa-solid fa-pen-to-square",class:"mr-2"}),t[9]||(t[9]=D(" 重命名 ",-1))]),_:1,__:[9]}),c($,{command:"delete",onClick:t[3]||(t[3]=M(()=>{},["stop"]))},{default:m(()=>[c(a,{icon:"fa-solid fa-trash",class:"mr-2"}),D(" "+v(e.$t("common.button.delete")),1)]),_:1})]),_:1})]),default:m(()=>[h("span",{class:"more",onClick:t[1]||(t[1]=M(()=>{},["stop"]))},[c(a,{icon:"fa-solid fa-ellipsis"})])]),_:2},1032,["onCommand"])])],10,jt))),128))]))),128))])),c(q,{modelValue:e.renameDialogVisible,"onUpdate:modelValue":t[6]||(t[6]=b=>e.renameDialogVisible=b),width:"420px",title:"重命名","close-on-click-modal":!1},{footer:m(()=>[c(p,{onClick:t[5]||(t[5]=b=>e.renameDialogVisible=!1)},{default:m(()=>[D(v(e.$t("common.button.cancel")),1)]),_:1}),c(p,{type:"primary",loading:e.renameSubmitting,onClick:e.onConfirmRename},{default:m(()=>[D(v(e.$t("common.button.confirm")),1)]),_:1},8,["loading","onClick"])]),default:m(()=>[c(_,{modelValue:e.renameDraft,"onUpdate:modelValue":t[4]||(t[4]=b=>e.renameDraft=b),autofocus:"",onKeydown:W(e.onConfirmRename,["enter"])},null,8,["modelValue","onKeydown"])]),_:1},8,["modelValue"]),c(q,{modelValue:e.deleteDialogVisible,"onUpdate:modelValue":t[8]||(t[8]=b=>e.deleteDialogVisible=b),width:"420px",title:e.$t("chat.message.confirmDelete"),"close-on-click-modal":!1},{footer:m(()=>[c(p,{onClick:t[7]||(t[7]=b=>e.deleteDialogVisible=!1)},{default:m(()=>[D(v(e.$t("common.button.cancel")),1)]),_:1}),c(p,{type:"danger",loading:e.deleteSubmitting,onClick:e.onConfirmDelete},{default:m(()=>[D(v(e.$t("common.button.delete")),1)]),_:1},8,["loading","onClick"])]),default:m(()=>[t[10]||(t[10]=h("div",{class:"delete-tip"},"确认删除该会话?删除后不可恢复。",-1))]),_:1,__:[10]},8,["modelValue","title"])])}const Qt=S(Lt,[["render",Kt],["__scopeId","data-v-9439b6cb"]]),Yt=E({name:"LayoutChat",components:{SidePanel:Qt,ElDrawer:Ne,ElButton:B,FontAwesomeIcon:O},emits:["change-conversation"],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug("onChangeConversation in layout",e),this.$emit("change-conversation",e)}}}),Jt={class:"main flex flex-row flex-1"},Xt={class:"side w-[250px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},Zt={class:"chat h-full w-[calc(100%-250px)] pt-[45px] flex-1 flex flex-col relative"};function xt(e,t,s,d,r,i){const n=l("side-panel"),a=l("font-awesome-icon"),$=l("el-button"),C=l("el-drawer");return o(),u("div",Jt,[h("div",Xt,[Q(e.$slots,"side",{},()=>[c(n,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])],!0)]),h("div",Zt,[Q(e.$slots,"chat",{},void 0,!0)]),c($,{round:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:m(()=>[c(a,{icon:"fa-solid fa-bars"})]),_:1}),c(C,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"290px"},{default:m(()=>[c(n,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])]),_:1},8,["modelValue"])])}const es=S(Yt,[["render",xt],["__scopeId","data-v-38ff8add"]]),ts=E({name:"ChatConversation",components:{Composer:wt,Disclaimer:Nt,ModelSelector:Ot,Message:ft,Layout:es},data(){return{drawer:!1,question:"",references:[],upload:!1,answering:!1,canceler:void 0,messages:this.$store.state.chat.conversations?.find(e=>e.id===this.$route.params.id?.toString())?.messages||[]}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},model(){return this.$store.state.chat.model},conversationId(){return this.$route.params.id?.toString()},conversation(){return this.$store.state.chat.conversations?.find(e=>e.id===this.conversationId)},service(){return this.$store.state.chat.service},application(){return this.$store.state.chat.application},applications(){return this.$store.state.chat.applications},credential(){return this.$store.state.chat?.credential},needApply(){return this.$store.state.chat.status.getApplications===z.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===z.Request}},watch:{async references(e){console.log("references changed",e)},async modelGroup(e){console.debug("modelGroup changed",e)},async conversationId(e){console.debug("conversationId changed",e)}},async mounted(){await this.onGetService(),await this.onGetApplication(),await this.onGetConversations()},methods:{async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("chat/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("chat/getApplications"),console.debug("end onGetApplication")},async onGetConversations(){console.debug("start onGetConversations"),await this.$store.dispatch("chat/getConversations"),console.debug("end onGetConversations")},async onDraft(e){this.question=e,this.onSubmit()},async onStop(){this.canceler&&(this.canceler.abort(),this.answering=!1)},async onRestart(e){const t=this.messages.findIndex(a=>a===e),s=this.messages[t-1];let d=[];if(t!==-1){if(d=this.messages.slice(0,t-1),this.messages=this.messages.slice(0,t),this.references=[],typeof s.content=="string")this.question=s.content;else if(Array.isArray(s.content))for(let a=0;a<s?.content.length;a++)s.content[a].type==="image_url"&&(typeof s?.content?.[a]?.image_url=="string"?this.references.push(s?.content?.[a]?.image_url):this.references.push(s?.content?.[a]?.image_url?.url)),s.content[a].type==="file_url"&&(typeof s?.content?.[a]?.file_url=="string"?this.references.push(s?.content?.[a]?.file_url):this.references.push(s?.content?.[a]?.file_url?.url)),s.content[a].type==="text"&&(this.question=s.content[a].text)}console.debug("onRestart!",this.question,JSON.stringify(this.references));const r=this.credential?.token,i=this.question.trim();if(!r||!i){console.error("no token or endpoint or question"),this.messages.push({error:{code:P},role:A,state:R.FAILED});return}let n=this.conversationId;T.updateConversation({id:this.conversationId,messages:d},{token:r}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:n,messages:this.messages}),console.debug("finished update conversation",this.messages),console.debug("onRestart",this.question),await this.onRequest()}).catch(a=>{this.handleRequestError(a)})},async onEdit(e,t){const s=this.messages.findIndex(i=>i===e);s!==-1&&(this.messages=this.messages.slice(0,s)),this.question=t;const d=this.credential?.token;if(!d){console.error("no token or endpoint or question"),this.messages.push({error:{code:P},role:A,state:R.FAILED});return}let r=this.conversationId;T.updateConversation({id:this.conversationId,messages:this.messages},{token:d}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:r,messages:this.messages}),console.debug("finished update conversation",this.messages),this.messages.push({content:this.question,role:j}),console.debug("onEdit",this.question),await this.onRequest()}).catch(i=>{this.handleRequestError(i)})},async onNewConversation(){this.$router.push({params:{id:""}}),this.messages=[],this.question="",this.references=[]},async onRestoreConversation(e){console.debug("onRestoreConversation id",e);const t=this.conversations?.find(i=>i.id===e),s=t?.model;console.debug("conversation model",s);const d=Se.find(i=>i.name===s);console.debug("target model",d);const r=Re.find(i=>i.name===d?.modelGroup);console.debug("target model group",r),this.$store.dispatch("chat/setModelGroup",r),this.$store.dispatch("chat/setModel",d),console.debug("conversation",t),console.debug("conversation messages",this.messages),this.messages=t?.messages||[],this.onScrollDown()},async onChangeConversation(e){console.log("onChangeConversation in conversation",e),await this.onStop(),e?this.onRestoreConversation(e):this.onNewConversation()},async onSubmit(){if(this.references.length>0){let e=[];e.push({type:"text",text:this.question.trim()});for(let t=0;t<this.references.length;t++)ne(this.references[t])?e.push({type:"image_url",image_url:this.references[t]}):e.push({type:"file_url",file_url:this.references[t]});this.messages.push({content:e,role:j})}else this.messages.push({content:this.question.trim(),role:j});console.debug("onSubmit",this.question,this.references),await this.onRequest()},async onRequest(){console.debug("start to get answer",this.messages);const e=this.credential?.token,t=this.question.trim(),s=this.references;if(console.debug("validated",t,s),this.question="",this.references=[],!e||!t){console.error("no token or endpoint or question"),this.messages.push({error:{code:P},role:A,state:R.FAILED});return}let d=this.conversationId;this.messages.push({content:"",role:A,state:R.PENDING}),console.debug("start to get answer",this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,T.chatConversation({question:t,model:this.model.name,references:s,id:this.conversationId,stateful:!0},{token:e,stream:r=>{console.debug("stream response",r);const i=this.messages[this.messages.length-1];this.messages[this.messages.length-1]={role:A,content:r.answer,state:i?.state!==R.FINISHED?R.ANSWERING:i?.state},d=r?.id},signal:this.canceler.signal}).then(async()=>{console.debug("finished fetch answer",this.messages),this.messages[this.messages.length-1].state=R.FINISHED,console.debug("finished fetch answer",JSON.stringify(this.messages)),await this.$store.dispatch("chat/setConversation",{id:d,messages:this.messages}),this.answering=!1,d&&await this.$router.push({params:{id:d}}),this.onScrollDown(),await this.$store.dispatch("chat/getConversations"),await this.$store.dispatch("chat/getApplications")}).catch(r=>{this.handleRequestError(r)})},async handleRequestError(e){if(console.error("error happened",e),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=R.FAILED),e.name==="AbortError"){console.error("aborted");return}else e instanceof Ee?(console.debug("BaseError",e),this.messages[this.messages.length-1].error={code:e.code,message:e.detail}):ue.isCancel(e)?this.messages[this.messages.length-1].error={code:oe}:this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:se});this.answering=!1},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".messages");!e||!this.messages||this.messages.length===0||(e.scrollTop=e?.scrollHeight)},0)}}}),ss={key:0,class:"messages"},os={class:"starter"};function ns(e,t,s,d,r,i){const n=l("model-selector"),a=l("message"),$=l("composer"),C=l("disclaimer"),g=l("layout");return o(),f(g,{onChangeConversation:t[4]||(t[4]=_=>e.onChangeConversation(_))},{chat:m(()=>[c(n,{class:"selector",onModelGroupChanged:t[0]||(t[0]=_=>e.onChangeConversation(void 0))}),h("div",{class:G({dialogue:!0,empty:e.messages.length===0})},[e.messages.length>0?(o(),u("div",ss,[(o(!0),u(N,null,L(e.messages,(_,p)=>(o(),f(a,{key:p,message:_,messages:e.messages,question:e.question,application:e.application,class:"message","onUpdate:question":t[1]||(t[1]=q=>e.question=q),onEdit:e.onEdit,onRestart:e.onRestart},null,8,["message","messages","question","application","onEdit","onRestart"]))),128))])):w("",!0),h("div",os,[c($,{question:e.question,"onUpdate:question":t[2]||(t[2]=_=>e.question=_),answering:e.answering,references:e.references,"onUpdate:references":t[3]||(t[3]=_=>e.references=_),onSubmit:e.onSubmit,onStop:e.onStop},null,8,["question","answering","references","onSubmit","onStop"]),c(C,{class:"disclaimer"})])],2)]),_:1})}const _s=S(ts,[["render",ns],["__scopeId","data-v-8f6d22cf"]]);export{_s as default};
@@ -1 +1 @@
1
- import{bG as p,bN as r}from"./vendor-Bf_m-mDd.js";import{n as l}from"./vendor-element-plus-DMm68DKM.js";import{d as m,R as n,S as c,l as s,a1 as d,al as a,o as i}from"./vendor-vue-Bb02XvLT.js";import{_ as f}from"./index-J0lRtGSj.js";const u=m({name:"CopyToClipboard",components:{FontAwesomeIcon:p,ElTooltip:l},props:{content:{type:[String,Number],required:!1,default:""}},data(){return{copied:!1}},methods:{onCopy(){this.content&&(r(this.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3))}}});function _(o,b,C,y,h,k){const e=a("font-awesome-icon"),t=a("el-tooltip");return o.copied?(i(),n(t,{key:1,visible:o.copied,effect:"dark",content:o.$t("common.message.copied"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-solid fa-check",class:"icon-check"})]),_:1},8,["visible","content"])):(i(),n(t,{key:0,effect:"dark",content:o.$t("common.button.copy"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-regular fa-copy",class:"icon-copy",onClick:d(o.onCopy,["stop"])},null,8,["onClick"])]),_:1},8,["content"]))}const T=f(u,[["render",_],["__scopeId","data-v-cc8e806b"]]);export{T as C};
1
+ import{bG as p,bN as r}from"./vendor-Bf_m-mDd.js";import{n as l}from"./vendor-element-plus-DMm68DKM.js";import{d as m,R as n,S as c,l as s,a1 as d,al as a,o as i}from"./vendor-vue-Bb02XvLT.js";import{_ as f}from"./index-CFwKXwDS.js";const u=m({name:"CopyToClipboard",components:{FontAwesomeIcon:p,ElTooltip:l},props:{content:{type:[String,Number],required:!1,default:""}},data(){return{copied:!1}},methods:{onCopy(){this.content&&(r(this.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3))}}});function _(o,b,C,y,h,k){const e=a("font-awesome-icon"),t=a("el-tooltip");return o.copied?(i(),n(t,{key:1,visible:o.copied,effect:"dark",content:o.$t("common.message.copied"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-solid fa-check",class:"icon-check"})]),_:1},8,["visible","content"])):(i(),n(t,{key:0,effect:"dark",content:o.$t("common.button.copy"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-regular fa-copy",class:"icon-copy",onClick:d(o.onCopy,["stop"])},null,8,["onClick"])]),_:1},8,["content"]))}const T=f(u,[["render",_],["__scopeId","data-v-cc8e806b"]]);export{T as C};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-Bf_m-mDd.js","assets/vendor-vue-Bb02XvLT.js","assets/vendor-dayjs-BHF5lY3m.js","assets/vendor-katex-DHBGsivc.js","assets/vendor-katex-CIur2ABi.css","assets/vendor-Cp-P0JlL.css"])))=>i.map(i=>d[i]);
2
- import{o as V}from"./order-Dm9TlPjG.js";import{_ as M,a6 as me}from"./index-J0lRtGSj.js";import{O as N}from"./order-CB3uOPHS.js";import{ae as ye,a5 as Y,bP as fe}from"./vendor-Bf_m-mDd.js";import{w as ee,x as te,E as x,z as ge,A as we,e as ve,a as se,B as ae,o as ie,r as E,C as be,D as ke,F as Pe,m as Se,G as We,s as $e}from"./vendor-element-plus-DMm68DKM.js";import{d as X,R as g,S as n,l as u,al as f,a as o,W as y,Z as l,o as a,p as Ce,c as p,F as R,ai as T,Y as P,V as H}from"./vendor-vue-Bb02XvLT.js";import{g as Ae}from"./price-DnZ4efZC.js";import{C as _e}from"./CopyToClipboard-BCqghcSi.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";function Ee(){const e=navigator.userAgent.toLowerCase();return/iphone|ipad|ipod|android|windows phone/i.test(e)}const Ne=X({name:"PayOrderDialog",components:{ElDialog:x,QrCode:ye,ElRow:te,ElCol:ee},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},2e3)})}}}),Ie={class:"paycode wechat"},Re={class:"help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto"};function Ve(e,t,s,i,c,d){const r=f("qr-code"),h=f("el-col"),W=f("el-row"),$=f("el-dialog");return a(),g($,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[u(W,{class:"paycodes py-[30px] w-[500px] mx-auto"},{default:n(()=>[u(h,{span:12},{default:n(()=>[o("div",Ie,[e.modelValue?.pay_url?(a(),g(r,{key:0,value:e.modelValue?.pay_url,size:200,class:"qrcode m-auto w-[200px] h-[200px]",type:"image/png",color:{dark:"#000000",light:"#ffffff"}},null,8,["value"])):y("",!0),o("p",Re,l(e.$t("order.message.wechatPayHelp")),1)])]),_:1}),u(h,{span:12},{default:n(()=>t[0]||(t[0]=[o("div",{class:"help-img"},[o("img",{src:"https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg"})],-1)])),_:1,__:[0]})]),_:1})]),_:1},8,["model-value","title"])}const De=M(Ne,[["render",Ve]]),Le=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Te={class:"text-center"};function Be(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Te,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const qe=M(Le,[["render",Be],["__scopeId","data-v-fbea8aa1"]]),Oe=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Me={class:"text-center"};function Xe(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Me,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const Fe=M(Oe,[["render",Xe]]);async function Ue(e){const{requirements:t,payerAddress:s,signTransaction:i,signAllTransactions:c,fetchLatestBlockhash:d}=e,{PublicKey:r,Transaction:h,ComputeBudgetProgram:W,TransactionInstruction:$}=await Y(async()=>{const{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}=await import("./vendor-Bf_m-mDd.js").then(he=>he.b$);return{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}},__vite__mapDeps([0,1,2,3,4,5])),{Buffer:b}=await Y(async()=>{const{Buffer:v}=await import("./vendor-Bf_m-mDd.js").then(_=>_.i);return{Buffer:v}},__vite__mapDeps([0,1,2,3,4,5])),k=new r("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),S=new r("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),C=new r(s),m=new r(String(t.payTo||t.pay_to)),A=new r(String(t.asset)),I=t.extra||{},B=String(I.feePayer||I.fee_payer||"");if(!B)throw new Error("Missing feePayer in Solana payment requirements");if(B===s)throw new Error("Invalid Solana payment: payer wallet must not be the fee payer wallet (switch wallet and try again).");const z=new r(B),j=Number(I.decimals??6),q=Number(I.computeUnitLimit??I.compute_unit_limit??0),w=Number(I.computeUnitPriceMicroLamports??I.compute_unit_price_micro_lamports??I.computeUnitPriceLamports??0),F=BigInt(String(t.maxAmountRequired||t.max_amount_required||"0"));if(F<=0n)throw new Error("Invalid amount");const J=(v,_)=>{const[D]=r.findProgramAddressSync([v.toBuffer(),k.toBuffer(),_.toBuffer()],S);return D},ne=J(C,A),oe=J(m,A),U=new Uint8Array(10);U[0]=12,new DataView(U.buffer).setBigUint64(1,F,!0),U[9]=j;const le=new $({programId:k,keys:[{pubkey:ne,isSigner:!1,isWritable:!0},{pubkey:A,isSigner:!1,isWritable:!1},{pubkey:oe,isSigner:!1,isWritable:!0},{pubkey:C,isSigner:!0,isWritable:!1}],data:b.from(U)}),L=new h;L.feePayer=z,Number.isFinite(q)&&q>0&&L.add(W.setComputeUnitLimit({units:Math.floor(q)})),Number.isFinite(w)&&w>0&&L.add(W.setComputeUnitPrice({microLamports:Math.floor(w)})),L.add(le);const de=String(t.network||"solana").toLowerCase();L.recentBlockhash=await d(de);const G=v=>{if(!v)return"Unknown error";const _=typeof v?.message=="string"?v.message:String(v),D=typeof v?.name=="string"?v.name:"";return D&&D!=="Error"&&!_.startsWith(D)?`${D}: ${_}`:_},K=async()=>{if(!c)return;const v=await c([L]);return Array.isArray(v)?v[0]:void 0};let O;try{i?O=await i(L):O=await K()}catch(v){if(i&&c)try{O=await K()}catch(_){throw new Error(`Solana wallet signing failed: ${G(v)} (fallback failed: ${G(_)})`)}else throw new Error(`Solana wallet signing failed: ${G(v)}`)}if(!O)throw new Error("Solana wallet did not return a signed transaction");const ce=O.serialize({requireAllSignatures:!1,verifySignatures:!1}),Q=b.from(ce).toString("base64"),ue={x402Version:1,scheme:t.scheme||"exact",network:t.network||"solana",payload:{serializedTransaction:Q,transaction:Q}};return btoa(JSON.stringify(ue))}const He=X({name:"X402PayOrderDialog",components:{ElDialog:x,ElButton:ie,ElAlert:ae,ElTag:se,ElIcon:ve,ElRadioGroup:we,ElRadioButton:ge,CreditCard:fe},props:{modelValue:{type:Object,required:!0},session:{type:Object,default:void 0},visible:{type:Boolean,default:!1}},emits:["hide","update:modelValue"],data(){return{signing:!1,paying:!1,chainId:void 0,selectedNetwork:void 0,solanaWalletModalVisible:!1,solanaWalletConnecting:!1,evmWalletModalVisible:!1,evmWalletConnecting:!1,evmWallets:[],selectedEvmWalletId:void 0,evmAddress:void 0,requirementsLoading:!1,runtimeRequirementsByNetwork:{},requirementsAttemptedByNetwork:{}}},computed:{dialogWidth(){return Ee()?"100%":"680px"},acceptsList(){const e=this.session?.accepts;if(Array.isArray(e)&&e.length>0)return e.filter(s=>!!(s&&typeof s=="object"));const t=this.paymentRequirements;return Array.isArray(t)&&t.length>0?t.filter(s=>!!(s&&typeof s=="object")):t&&typeof t=="object"?[t]:[]},selectedNetworkResolved(){return String(this.selectedNetwork||this.acceptsList[0]?.network||"base").toLowerCase()},selectedRequirements(){const e=String(this.selectedNetworkResolved||"").toLowerCase();if(!e)return this.acceptsList[0];const t=this.runtimeRequirementsByNetwork[e];if(t)return t;const s=this.acceptsList.find(i=>String(i.network||"").toLowerCase()===e);if(s)return s;if(!this.selectedNetwork)return this.acceptsList[0]},orderMetadata(){const e=this.modelValue?.metadata;return e&&typeof e=="object"?e:void 0},paymentRequirements(){const e=this.session?.payment_requirements||this.session?.paymentRequirements;if(e&&typeof e=="object")return e;const t=this.orderMetadata?.payment_requirements||this.orderMetadata?.paymentRequirements;if(t&&typeof t=="object")return t},expectedNetwork(){return this.selectedNetworkResolved},expectedNetworkLabel(){return this.formatNetworkLabel(this.expectedNetwork)},isSolanaNetwork(){return!!String(this.selectedNetworkResolved||"").toLowerCase().startsWith("solana")},expectedChainIdHex(){const e={base:"0x2105","base-sepolia":"0x14A34",ethereum:"0x1",sepolia:"0xAA36A7",polygon:"0x89",arbitrum:"0xA4B1",optimism:"0xA",bsc:"0x38",avalanche:"0xA86A"},t=(this.expectedNetwork||"").toLowerCase();return e[t]},networkMismatch(){return this.isSolanaNetwork?!1:!!(this.evmAddress&&this.chainId&&this.expectedChainIdHex&&this.chainId.toLowerCase()!==this.expectedChainIdHex.toLowerCase())},hasEvmProvider(){return this.isSolanaNetwork?!1:this.evmWalletsOrdered.length>0},requirementsAvailable(){return!!this.selectedRequirements},networkOptions(){const e=new Set(this.acceptsList.map(s=>String(s.network||"").toLowerCase()).filter(Boolean));if(e.size===0)return[{network:"base",label:"Base"},{network:"solana",label:"Solana"}];const t=s=>s==="base"?0:s.startsWith("solana")?1:2;return Array.from(e).sort((s,i)=>t(s)-t(i)||s.localeCompare(i)).map(s=>({network:s,label:this.formatNetworkLabel(s)}))},paymentSteps(){const e=this.expectedNetworkLabel||this.expectedNetwork||"";return[String(this.$t("order.message.x402Step1")),String(this.$t("order.message.x402Step2",{network:e})),String(this.$t("order.message.x402Step3")),String(this.$t("order.message.x402Step4"))]},evmConnected(){return!!(this.selectedEvmWalletId&&this.evmAddress)},evmProvider(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.provider},selectedEvmWalletName(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.name},selectedEvmWalletIcon(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.icon},evmWalletsOrdered(){return[...this.evmWallets].sort((e,t)=>e.name.localeCompare(t.name))},solanaConnected(){return!!this.$wallet?.connected?.value},solanaAddress(){const e=this.$wallet?.publicKey?.value;if(!(!e||typeof e.toBase58!="function"))return e.toBase58()},solanaWalletsOrdered(){const e=this.$wallet?.wallets?.value??[],t=s=>s==="Installed"?0:s==="Loadable"?1:s==="NotDetected"?2:3;return[...e].sort((s,i)=>t(s.readyState)-t(i.readyState))},selectedSolanaWalletName(){return this.$wallet?.wallet?.value?.adapter?.name},selectedSolanaWalletIcon(){return this.$wallet?.wallet?.value?.adapter?.icon}},watch:{visible(e){if(!e){this.solanaWalletModalVisible=!1,this.evmWalletModalVisible=!1;return}if(!this.selectedNetwork){const i=this.acceptsList[0]?.network;this.selectedNetwork=String(i||"base").toLowerCase()}const t=new Set(this.networkOptions.map(i=>i.network)),s=String(this.selectedNetwork||"").toLowerCase();if(s&&!t.has(s)){const i=this.networkOptions[0]?.network;i&&(this.selectedNetwork=i)}this.maybeLoadRequirements()},selectedNetwork(){this.visible&&this.maybeLoadRequirements()}},mounted(){this.refreshEvmWallets()},methods:{sleep(e){return new Promise(t=>setTimeout(t,e))},getErrorMessage(e){if(!e)return"";if(typeof e=="string")return e;if(typeof e?.message=="string")return e.message;try{return JSON.stringify(e)}catch{return String(e)}},isRetryableSolanaConnectError(e){if(String(e?.name||"")==="WalletNotSelectedError")return!0;const s=this.getErrorMessage(e).toLowerCase();return s.includes("disconnected port object")||s.includes("failed to send message to service worker")||s.includes("message port closed")||s.includes("extension context invalidated")},async connectSolanaWalletWithRetry(e){const t=this.$wallet;if(!t)throw new Error("Wallet API not available");const s=2;let i;for(let c=1;c<=s;c+=1)try{e&&t.select(e),await Ce(),await t.connect();return}catch(d){if(i=d,c<s&&this.isRetryableSolanaConnectError(d)){const h=String(d?.name||"")==="WalletNotSelectedError"?0:300;h&&await this.sleep(h);continue}throw d}throw i},formatNetworkLabel(e){const t=String(e||"").toLowerCase();return t==="base"?"Base":t==="solana"?"Solana":t==="solana-devnet"?"Solana Devnet":t==="ethereum"?"Ethereum":t==="sepolia"?"Sepolia":t==="polygon"?"Polygon":t==="arbitrum"?"Arbitrum":t==="optimism"?"Optimism":t==="bsc"?"BNB Chain":t==="avalanche"?"Avalanche":e||"Unknown"},async confirmPay(e){const t=e||this.expectedNetworkLabel||this.expectedNetwork||"",s=String(this.$t?.("order.message.x402ConfirmTitle")||"Confirm Payment"),i=String(this.$t?.("order.message.x402ConfirmDesc",{network:t})||`Confirm USDC payment on ${t}?`),c=String(this.$t?.("common.button.pay")||"Pay"),d=String(this.$t?.("common.button.cancel")||"Cancel");return be.confirm(i,s,{confirmButtonText:c,cancelButtonText:d,type:"warning"}).then(()=>!0).catch(()=>!1)},async onSelectSolanaWallet(e){if(!this.solanaWalletConnecting&&e?.adapter?.name){this.solanaWalletConnecting=!0;try{await this.connectSolanaWalletWithRetry(e.adapter.name),this.solanaWalletModalVisible=!1}catch(t){console.warn("wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed"))}finally{this.solanaWalletConnecting=!1}}},async disconnectSolanaWallet(){try{await this.$wallet.disconnect()}catch{}},openEvmWalletModal(){this.evmWalletModalVisible=!0,this.refreshEvmWallets()},async refreshEvmWallets(){if(typeof window>"u")return;const e=new Map,t=s=>{const i=s?.detail,c=i?.info,d=i?.provider;if(!c||!d)return;const r=String(c.uuid||c.rdns||c.name||"");r&&(e.has(r)||e.set(r,{id:r,name:String(c.name||"Wallet"),icon:typeof c.icon=="string"?c.icon:void 0,provider:d}))};try{window.addEventListener("eip6963:announceProvider",t),window.dispatchEvent(new Event("eip6963:requestProvider")),await new Promise(s=>window.setTimeout(s,120))}finally{window.removeEventListener("eip6963:announceProvider",t)}if(e.size===0){const s=window.ethereum;(Array.isArray(s?.providers)?s.providers:s?[s]:[]).forEach((c,d)=>{if(!c)return;let r="Injected";c.isMetaMask?r="MetaMask":c.isCoinbaseWallet?r="Coinbase Wallet":c.isBraveWallet?r="Brave Wallet":c.isRabby?r="Rabby":c.isPhantom&&(r="Phantom");const h=`injected:${r}:${d}`;e.set(h,{id:h,name:r,icon:void 0,provider:c})})}this.evmWallets=Array.from(e.values())},async onSelectEvmWallet(e){if(e?.provider){this.evmWalletModalVisible=!1,this.evmWalletConnecting=!0;try{const t=await e.provider.request({method:"eth_requestAccounts"}),s=Array.isArray(t)?t[0]:void 0;if(!s)throw new Error("No account returned from wallet");this.selectedEvmWalletId=e.id,this.evmAddress=s,await this.refreshChainId(),await this.ensureNetwork()}catch(t){console.warn("EVM wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed")),this.disconnectEvmWallet()}finally{this.evmWalletConnecting=!1}}},disconnectEvmWallet(){this.selectedEvmWalletId=void 0,this.evmAddress=void 0,this.chainId=void 0},async getFreshRequirements(){const e=this.selectedRequirements;if(e)return e;try{const s=(await V.pay(this.modelValue.id,{pay_way:"X402"}))?.data,i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}return d&&typeof d=="object"?d:void 0}catch(t){const s=t?.response?.data;if(s){const i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}if(d&&typeof d=="object")return d}return}},async maybeLoadRequirements(e=!1){const t=String(this.selectedNetworkResolved||"").toLowerCase();if(!(!t||this.runtimeRequirementsByNetwork[t]||this.acceptsList.some(i=>String(i.network||"").toLowerCase()===t))&&!(!e&&this.requirementsAttemptedByNetwork[t])){this.requirementsAttemptedByNetwork[t]=!0,this.requirementsLoading=!0;try{const i=await this.getFreshRequirements();i&&(this.runtimeRequirementsByNetwork[t]=i)}finally{this.requirementsLoading=!1}}},async refreshChainId(){if(this.evmProvider)try{const e=await this.evmProvider.request({method:"eth_chainId"});typeof e=="string"&&(this.chainId=e)}catch{}},async ensureNetwork(){if(!(!this.evmProvider||!this.expectedChainIdHex)&&(await this.refreshChainId(),!(this.chainId&&this.chainId.toLowerCase()===this.expectedChainIdHex.toLowerCase()))){try{await this.evmProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:this.expectedChainIdHex}]})}catch{try{await this.evmProvider.request({method:"wallet_addEthereumChain",params:[this.getExpectedChainParams()]})}catch(e){console.error("Failed to add Ethereum chain:",e);try{const t=this.$t&&this.$t("order.message.x402NetworkSwitchFailed")||"Your wallet does not support automatic network switching. Please switch to the required network in the wallet and try again.";E.warning(t)}catch{}}}await this.refreshChainId()}},getExpectedChainParams(){const e={base:{chainId:"0x2105",chainName:"Base",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://mainnet.base.org"],blockExplorerUrls:["https://basescan.org"]},"base-sepolia":{chainId:"0x14A34",chainName:"Base Sepolia",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://sepolia.base.org"],blockExplorerUrls:["https://sepolia.basescan.org"]}},t=(this.expectedNetwork||"").toLowerCase();return e[t]||{chainId:this.expectedChainIdHex}},buildTypedData(e,t){const s=e?.extra||{};return{types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],TransferWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]},primaryType:"TransferWithAuthorization",domain:{name:s?.name||"USD Coin",version:s?.version||"2",chainId:parseInt(this.expectedChainIdHex||"0x0",16),verifyingContract:e.asset},message:t}},randomNonce32(){const e=new Uint8Array(32);return crypto.getRandomValues(e),"0x"+Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")},async onPayWithSolanaWallet(){if(!this.modelValue?.id)return;const e=this.solanaAddress;if(!e){E.error(String(this.$t?.("order.message.x402NeedConnectAccount")||"Please connect a wallet first."));return}if(!this.requirementsAvailable){E.error(String(this.$t?.("order.message.x402SolanaNotEnabled")||"Solana payment is not available."));return}this.signing=!0;try{if(!await this.confirmPay(this.expectedNetworkLabel))return;let s=await this.getFreshRequirements();if(s||(s=this.selectedRequirements),!s){E.error(String(this.$t?.("order.message.x402PaymentFailed")||"X402 payment failed."));return}const i=this.$wallet?.wallet?.value?.adapter;if(!i?.signTransaction&&!i?.signAllTransactions)throw new Error("Wallet does not support signing transactions");const c=await Ue({requirements:s,payerAddress:e,signTransaction:i.signTransaction?i.signTransaction.bind(i):void 0,signAllTransactions:i.signAllTransactions?i.signAllTransactions.bind(i):void 0,fetchLatestBlockhash:r=>this.fetchSolanaLatestBlockhash(r)});this.paying=!0;const{data:d}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},c);this.$emit("update:modelValue",d),this.$emit("hide")}catch(t){const s=t?.response?.data,i=s?.error||s?.detail||"X402 wallet payment failed.";E.error(String(i))}finally{this.signing=!1,this.paying=!1}},async fetchSolanaLatestBlockhash(e){const{data:t}=await me.get("/x402/solana/latest-blockhash/",{params:{network:e||"solana"}}),s=t?.blockhash;if(!s||typeof s!="string")throw new Error("Invalid blockhash response");return s},async onPayWithWallet(){if(!this.modelValue?.id||!this.evmProvider||!this.evmAddress){const e=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment is not available right now. Please try again later.";E.error(e);return}this.signing=!0;try{let e=await this.getFreshRequirements();if(e||(e=this.selectedRequirements),!e){const S=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.";E.error(S);return}if(await this.ensureNetwork(),this.networkMismatch){E.warning(String(this.$t?.("order.message.x402SwitchNetwork",{network:this.expectedNetworkLabel||this.expectedNetwork})||"Please switch your wallet network and try again."));return}if(!await this.confirmPay(this.expectedNetworkLabel))return;const s=Math.floor(Date.now()/1e3),i=Number(e?.maxTimeoutSeconds||e?.max_timeout_seconds||120),c=BigInt(e?.maxAmountRequired||e?.max_amount_required||0).toString(),d={from:this.evmAddress,to:e.payTo||e.pay_to,value:c,validAfter:s,validBefore:s+i,nonce:this.randomNonce32()},r=this.buildTypedData(e,d),h=await this.evmProvider.request({method:"eth_signTypedData_v4",params:[this.evmAddress,JSON.stringify(r)]}),W={from:d.from,to:d.to,value:d.value,validAfter:String(d.validAfter),validBefore:String(d.validBefore),nonce:d.nonce},$={x402Version:1,scheme:e.scheme||"exact",network:e.network||this.expectedNetwork||"base",payload:{authorization:W,signature:h}},b=btoa(JSON.stringify($));this.paying=!0;const{data:k}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},b);this.$emit("update:modelValue",k),this.$emit("hide")}catch(e){let t;const s=e?.response?.data;if(s){const i=s?.error||s?.detail;typeof i=="string"&&(t=i)}t||(t=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.");try{E.error(t)}catch{}}finally{this.signing=!1,this.paying=!1}}}}),xe={class:"x402-content"},ze={class:"x402-intro"},je={class:"x402-intro-text"},Ge={class:"x402-wallet"},Je={class:"x402-wallet-head"},Ke={class:"x402-network"},Qe={class:"x402-network-label"},Ye={key:1,class:"x402-requirements-actions"},Ze={class:"x402-wallet-card"},et={class:"x402-wallet-card-head"},tt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},st=["src","alt"],at={key:1,class:"x402-wallet-card-sub"},it={class:"x402-wallet-card-actions"},rt={class:"x402-actions"},nt={class:"x402-wallet-card"},ot={class:"x402-wallet-card-head"},lt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},dt=["src","alt"],ct={key:1,class:"x402-wallet-card-sub"},ut={class:"x402-wallet-card-actions"},pt={class:"x402-actions"},ht={class:"x402-steps"},mt={class:"x402-steps-title"},yt={class:"x402-steps-list"},ft={class:"x402-step-index"},gt={class:"x402-step-text"},wt={class:"wallet-list"},vt=["disabled","onClick"],bt=["src","alt"],kt={class:"wallet-list-name"},Pt={key:1,class:"wallet-list-status"},St={class:"wallet-list"},Wt=["disabled","onClick"],$t=["src","alt"],Ct={class:"wallet-list-name"},At={key:0,class:"text-center text-[13px] text-[var(--el-text-color-regular)]"};function _t(e,t,s,i,c,d){const r=f("credit-card"),h=f("el-icon"),W=f("el-radio-button"),$=f("el-radio-group"),b=f("el-alert"),k=f("el-button"),S=f("el-tag"),C=f("el-dialog");return a(),p(R,null,[u(C,{"model-value":e.visible,title:e.$t("order.title.x402"),width:e.dialogWidth,top:"8vh",class:"x402-dialog"},{default:n(()=>[o("section",xe,[o("header",ze,[u(h,{size:20,class:"x402-intro-icon"},{default:n(()=>[u(r)]),_:1}),o("p",je,l(e.$t("order.message.x402IntroShort")),1)]),o("section",Ge,[o("div",Je,[o("div",Ke,[o("span",Qe,l(e.$t("order.message.x402IntegrationNetworkLabel")),1),u($,{modelValue:e.selectedNetwork,"onUpdate:modelValue":t[0]||(t[0]=m=>e.selectedNetwork=m),size:"small",class:"x402-network-group"},{default:n(()=>[(a(!0),p(R,null,T(e.networkOptions,m=>(a(),g(W,{key:m.network,label:m.network},{default:n(()=>[P(l(m.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),e.selectedNetworkResolved==="solana"&&!e.selectedRequirements&&!e.requirementsLoading?(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402SolanaNotEnabled")},null,8,["description"])):y("",!0),!e.selectedRequirements&&!e.requirementsLoading?(a(),p("div",Ye,[u(k,{link:"",type:"primary",size:"small",onClick:t[1]||(t[1]=m=>e.maybeLoadRequirements(!0))},{default:n(()=>[P(l(e.$t("common.button.refresh")),1)]),_:1})])):y("",!0),e.isSolanaNetwork?(a(),p(R,{key:2},[o("div",Ze,[o("div",et,[t[5]||(t[5]=o("span",{class:"x402-wallet-card-title"},"Solana Wallet",-1)),e.solanaConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.solanaConnected&&e.selectedSolanaWalletName?(a(),p("div",tt,[e.selectedSolanaWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedSolanaWalletIcon,alt:e.selectedSolanaWalletName},null,8,st)):y("",!0),o("span",null,l(e.selectedSolanaWalletName),1)])):y("",!0),e.solanaConnected&&e.solanaAddress?(a(),p("div",at,l(e.solanaAddress.substring(0,10))+"..."+l(e.solanaAddress.substring(e.solanaAddress.length-10)),1)):y("",!0),o("div",it,[e.solanaConnected?(a(),g(k,{key:1,onClick:e.disconnectSolanaWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:t[2]||(t[2]=m=>e.solanaWalletModalVisible=!0)},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1}))])]),o("div",rt,[u(k,{type:"primary",disabled:!e.solanaConnected||!e.solanaAddress||!e.requirementsAvailable,loading:e.signing||e.paying,onClick:e.onPayWithSolanaWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])])],64)):(a(),p(R,{key:3},[o("div",nt,[o("div",ot,[t[6]||(t[6]=o("span",{class:"x402-wallet-card-title"},"EVM Wallet",-1)),e.evmConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.evmConnected&&e.selectedEvmWalletName?(a(),p("div",lt,[e.selectedEvmWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedEvmWalletIcon,alt:e.selectedEvmWalletName},null,8,dt)):y("",!0),o("span",null,l(e.selectedEvmWalletName),1)])):y("",!0),e.evmConnected&&e.evmAddress?(a(),p("div",ct,l(e.evmAddress.substring(0,10))+"..."+l(e.evmAddress.substring(e.evmAddress.length-10)),1)):y("",!0),o("div",ut,[e.evmConnected?(a(),g(k,{key:1,onClick:e.disconnectEvmWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:e.openEvmWalletModal},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1},8,["onClick"]))])]),e.hasEvmProvider?e.networkMismatch?(a(),g(b,{key:1,type:"warning",closable:!1,"show-icon":"",class:"x402-alert",title:e.$t("order.message.x402SwitchNetwork",{network:e.expectedNetworkLabel||e.expectedNetwork})},null,8,["title"])):y("",!0):(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402NoWalletDesc")},null,8,["description"])),o("div",pt,[e.hasEvmProvider?(a(),g(k,{key:0,type:"primary",disabled:!e.evmConnected||!e.requirementsAvailable||e.networkMismatch,loading:e.signing||e.paying,onClick:e.onPayWithWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])):y("",!0)])],64)),o("div",ht,[o("div",mt,l(e.$t("order.message.x402StepsTitle")),1),o("ol",yt,[(a(!0),p(R,null,T(e.paymentSteps,(m,A)=>(a(),p("li",{key:A,class:"x402-step"},[o("span",ft,l(A+1),1),o("span",gt,l(m),1)]))),128))])])])])]),_:1},8,["model-value","title","width"]),u(C,{modelValue:e.solanaWalletModalVisible,"onUpdate:modelValue":t[3]||(t[3]=m=>e.solanaWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",wt,[(a(!0),p(R,null,T(e.solanaWalletsOrdered,m=>(a(),p("button",{key:m.adapter.name,class:"wallet-list-item",disabled:e.solanaWalletConnecting,onClick:A=>e.onSelectSolanaWallet(m)},[m.adapter.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.adapter.icon,alt:m.adapter.name},null,8,bt)):y("",!0),o("span",kt,l(m.adapter.name),1),m.readyState==="Installed"?(a(),p("span",Pt,"Detected")):y("",!0)],8,vt))),128))])]),_:1},8,["modelValue","title"]),u(C,{modelValue:e.evmWalletModalVisible,"onUpdate:modelValue":t[4]||(t[4]=m=>e.evmWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",St,[(a(!0),p(R,null,T(e.evmWalletsOrdered,m=>(a(),p("button",{key:m.id,class:"wallet-list-item",disabled:e.evmWalletConnecting,onClick:A=>e.onSelectEvmWallet(m)},[m.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.icon,alt:m.name},null,8,$t)):y("",!0),o("span",Ct,l(m.name),1),t[7]||(t[7]=o("span",{class:"wallet-list-status"},"Detected",-1))],8,Wt))),128)),e.evmWalletsOrdered.length===0?(a(),p("div",At,l(e.$t("order.message.x402NoWalletDesc")),1)):y("",!0)])]),_:1},8,["modelValue","title"])],64)}const Et=M(He,[["render",_t],["__scopeId","data-v-13c47121"]]),Nt=7e3,Z=2e3;var re=(e=>(e.WechatPay="WechatPay",e.Stripe="Stripe",e.AliPay="AliPay",e.X402="X402",e))(re||{});const It=X({name:"ConsoleOrderDetail",components:{ElButton:ie,CopyToClipboard:_e,ElRow:te,ElCard:$e,ElCol:ee,ElSkeleton:We,ElDivider:Se,ElAlert:ae,ElDescriptions:Pe,ElDescriptionsItem:ke,ElTag:se,WechatPayOrder:De,StripePayOrder:qe,AlipayPayOrder:Fe,X402PayOrder:Et},data(){return{PayWay:re,payWay:"WechatPay",OrderState:N,order:void 0,x402Session:void 0,showPayWays:!0,loading:!1,paying:!1,prepaying:!1}},computed:{config(){return this.$store.getters.config},id(){return this.$route.params?.id?.toString()},redirect(){return this.$route.query?.redirect},pricingInfo(){const e=this.order?.metadata?.pricing||{},t=S=>typeof S=="number"&&Number.isFinite(S)?S:void 0,s=t(e?.original_price),i=t(e?.discounted_price),c=t(e?.discount_rate),d=t(e?.discount_rate_vip),r=t(e?.discount_rate_x402),h=t(this.order?.price),W=s??h??0,$=i??h??W,b=t(this.order?.discount)??c??0,k=Array.isArray(e?.discounted_methods)?e.discounted_methods.filter(S=>typeof S=="string"&&S.length>0):[];return{original:W,discounted:$,discountRate:b,discountedMethods:k,discountRateVip:d,discountRateX402:r}},appliedDiscountMethods(){return this.pricingInfo.discountedMethods||[]},hasVipApplied(){return this.appliedDiscountMethods.includes("vip")},hasX402Applied(){return this.appliedDiscountMethods.includes("x402")},pendingX402Preview(){return this.payWay==="X402"&&this.order?.pay_way!=="X402"&&this.x402DiscountRate>0},finalOriginalPrice(){return this.pricingInfo.original||0},baseEffectivePrice(){const e=this.order?.price;return typeof e=="number"&&Number.isFinite(e)?e:this.pricingInfo.discounted},previewX402Price(){const e=this.baseEffectivePrice||0,t=this.x402DiscountRate;return!t||t<=0?e:e*(1-t)},finalDiscountedPrice(){return this.pendingX402Preview?this.previewX402Price:this.baseEffectivePrice},showOriginalPrice(){return this.finalOriginalPrice<=0?!1:this.finalOriginalPrice>this.finalDiscountedPrice},totalDiscountRate(){const e=this.pricingInfo.discountRate??0;return this.pendingX402Preview?1-(1-e)*(1-this.x402DiscountRate):e},hasAnyDiscount(){return this.totalDiscountRate>0},discountBadges(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push({key:"vip",text:this.$t("order.message.discountTag",{percent:this.vipDiscountPercent}).toString(),type:"success"}),this.shouldDisplayX402Badge&&this.x402BadgePercent&&e.push({key:"x402",text:this.$t("order.message.x402DiscountTag",{percent:this.x402BadgePercent}).toString(),type:"success"}),e},discountHints(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push(this.$t("order.message.discountHint",{percent:this.vipDiscountPercent}).toString()),this.hasX402Applied&&this.x402AppliedPercent?e.push(this.$t("order.message.x402DiscountApplied",{percent:this.x402AppliedPercent}).toString()):this.pendingX402Preview&&this.x402BadgePercent&&e.push(this.$t("order.message.x402DiscountHint",{percent:this.x402BadgePercent}).toString()),e},x402DiscountRate(){const e=this.config?.features?.DISCOUNT_FOR_X402;return typeof e=="number"&&Number.isFinite(e)&&e>0?e:0},vipDiscountPercent(){const e=(this.pricingInfo.discountRateVip??0)*100;return!Number.isFinite(e)||e<=0?"":Number.isInteger(e)?e.toFixed(0):e.toFixed(1)},x402AppliedPercent(){const t=(this.pricingInfo.discountRateX402??0)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},x402BadgePercent(){const t=(this.hasX402Applied?this.pricingInfo.discountRateX402??this.x402DiscountRate:this.x402DiscountRate)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},shouldDisplayX402Badge(){return this.hasX402Applied||this.pendingX402Preview},shouldShowPriceBlock(){return this.finalOriginalPrice>0||this.finalDiscountedPrice>0||this.hasAnyDiscount||this.pendingX402Preview},orderFailedReason(){if(!this.order||this.order.state!==N.FAILED)return;const t=(this.order.metadata||{})?.x402?.last_error||{};return(typeof t.reason=="string"?t.reason.trim():"")||void 0}},watch:{paying(e){e?this.startOrderPolling():this.stopOrderPolling()},order:{handler(e){if(e?.state===N.PAID){this.x402Session=void 0,setTimeout(()=>{this.redirect&&window.location.replace(this.redirect?.toString())},2e3);return}e?.state&&e.state!==N.PENDING&&e.state!==N.FAILED&&(this.x402Session=void 0)},deep:!0},payWay(e){e!=="X402"&&(this.x402Session=void 0)}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:Ae,startOrderPolling(e=0){this.stopOrderPolling();const t=async()=>{try{const{data:s}=await V.refresh(this.id);if(this.order=s,s?.state===N.PAID||s?.state===N.FAILED||s?.state===N.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,Nt))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){const e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onFetchData(){this.loading=!0,V.refresh(this.id).then(({data:e})=>{this.order=e,e.pay_way&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.loading=!1})},onRepay(){this.payWay==="X402"&&(this.x402Session=void 0),this.paying=!0,this.startOrderPolling()},onPay(){this.prepaying=!0,this.payWay==="X402"&&(this.x402Session=void 0),V.pay(this.id,{pay_way:this.payWay}).then(({data:e})=>{if(this.prepaying=!1,e?.id&&(this.order=e),this.payWay==="X402"&&e){const t=e;t.accepts&&(this.x402Session=t)}(this.order&&this.order.price&&this.order.price>0||this.payWay==="X402")&&(this.paying=!0,this.startOrderPolling(Z))}).catch(e=>{this.prepaying=!1;const t=e?.response?.data;if(this.payWay==="X402"&&t){this.x402Session=t,this.paying=!0,this.startOrderPolling(Z);return}})}}}),Rt={class:"title"},Vt={key:0,class:"pt-5"},Dt={key:1,class:"order"},Lt={key:0},Tt={key:1},Bt={key:2},qt={key:3},Ot={key:0,class:"price-block"},Mt={class:"price-line"},Xt={key:0,class:"price original"},Ft={class:"price current unfree"},Ut={key:1,class:"price free"},Ht={key:0,class:"payways mb-6"},xt={class:"payname"},zt={class:"payname"},jt={class:"payname"},Gt={class:"payname"},Jt={key:1},Kt={key:2};function Qt(e,t,s,i,c,d){const r=f("el-col"),h=f("el-row"),W=f("el-skeleton"),$=f("copy-to-clipboard"),b=f("el-descriptions-item"),k=f("el-tag"),S=f("el-descriptions"),C=f("el-divider"),m=f("el-alert"),A=f("el-button"),I=f("el-card"),B=f("wechat-pay-order"),z=f("stripe-pay-order"),j=f("alipay-pay-order"),q=f("x402-pay-order");return a(),g(h,{class:"panel"},{default:n(()=>[u(r,{span:24},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[o("h2",Rt,l(e.$t("order.title.info")),1)]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[u(I,{shadow:"hover"},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[e.loading?(a(),p("div",Vt,[u(W,{animated:""})])):(a(),p("div",Dt,[u(S,{column:1},{default:n(()=>[u(b,{label:e.$t("order.field.id")},{default:n(()=>[o("span",null,l(e.order?.id),1),e.order?.id?(a(),g($,{key:0,content:e.order?.id,class:"inline-block"},null,8,["content"])):y("",!0)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.description")},{default:n(()=>[P(l(e.order?.description),1)]),_:1},8,["label"]),e.order?.application?.service?(a(),g(b,{key:0,label:e.$t("order.field.api")},{default:n(()=>[P(l(e.order?.application?.service?.title),1)]),_:1},8,["label"])):y("",!0),e.order?.pay_way?(a(),g(b,{key:1,label:e.$t("order.field.payWay")},{default:n(()=>[e.order?.pay_way===e.PayWay.WechatPay?(a(),p("span",Lt,l(e.$t("order.title.wechatPay")),1)):e.order?.pay_way===e.PayWay.Stripe?(a(),p("span",Tt,l(e.$t("order.title.stripe")),1)):e.order?.pay_way===e.PayWay.AliPay?(a(),p("span",Bt,l(e.$t("order.title.aliPay")),1)):e.order?.pay_way===e.PayWay.X402?(a(),p("span",qt,l(e.$t("order.title.x402")),1)):y("",!0)]),_:1},8,["label"])):y("",!0),u(b,{label:e.$t("order.field.createdAt")},{default:n(()=>[P(l(e.$dayjs.format(e.order?.created_at)),1)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.price")},{default:n(()=>[e.shouldShowPriceBlock?(a(),p("div",Ot,[o("div",Mt,[e.showOriginalPrice?(a(),p("span",Xt,l(e.getPriceString({value:e.finalOriginalPrice})),1)):y("",!0),o("span",Ft,l(e.getPriceString({value:e.finalDiscountedPrice})),1),(a(!0),p(R,null,T(e.discountBadges,w=>(a(),g(k,{key:w.key,class:"discount-tag",effect:"light",size:"small",type:w.type},{default:n(()=>[P(l(w.text),1)]),_:2},1032,["type"]))),128))]),(a(!0),p(R,null,T(e.discountHints,(w,F)=>(a(),p("p",{key:F,class:"discount-hint"},l(w),1))),128))])):(a(),p("span",Ut,l(e.$t("order.message.free")),1))]),_:1},8,["label"])]),_:1})]))]),_:1})]),_:1}),e.order?.state===e.OrderState.PAID||e.order?.state===e.OrderState.FINISHED?(a(),g(h,{key:0,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.paidSuccessfully"),type:"success","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.EXPIRED?(a(),g(h,{key:1,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.orderExpired"),type:"error","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.FAILED?(a(),g(h,{key:2,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.state.failed"),description:e.orderFailedReason,type:"error","show-icon":"",closable:!1},null,8,["title","description"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.PENDING?(a(),g(h,{key:3},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),e.showPayWays&&e.order.price&&e.order.price>0&&!e.order.pay_way?(a(),p("div",Ht,[o("div",{class:H({payway:!0,wechatpay:!0,active:e.payWay===e.PayWay.WechatPay}),onClick:t[0]||(t[0]=w=>e.payWay=e.PayWay.WechatPay)},[t[12]||(t[12]=o("span",{class:"payicon wechatpay"},null,-1)),o("span",xt,l(e.$t("order.title.wechatPay")),1)],2),o("div",{class:H({payway:!0,alipay:!0,active:e.payWay===e.PayWay.AliPay}),onClick:t[1]||(t[1]=w=>e.payWay=e.PayWay.AliPay)},[t[13]||(t[13]=o("span",{class:"payicon alipay"},null,-1)),o("span",zt,l(e.$t("order.title.aliPay")),1)],2),o("div",{class:H({payway:!0,stripe:!0,active:e.payWay===e.PayWay.Stripe}),onClick:t[2]||(t[2]=w=>e.payWay=e.PayWay.Stripe)},[t[14]||(t[14]=o("span",{class:"payicon stripe"},null,-1)),o("span",jt,l(e.$t("order.title.stripe")),1)],2),o("div",{class:H({payway:!0,x402:!0,relative:!0,active:e.payWay===e.PayWay.X402}),onClick:t[3]||(t[3]=w=>e.payWay=e.PayWay.X402)},[t[15]||(t[15]=o("span",{class:"payicon x402"},null,-1)),o("span",Gt,l(e.$t("order.title.x402")),1),e.x402DiscountRate>0?(a(),g(k,{key:0,class:"absolute -top-2 right-0",effect:"light",size:"small",type:"success"},{default:n(()=>[P(l(e.$t("order.message.x402DiscountTag",{percent:e.x402BadgePercent})),1)]),_:1})):y("",!0)],2)])):y("",!0),e.order?.pay_way?(a(),p("div",Kt,[u(A,{type:"primary",round:"",size:"large",class:"btn-repay",onClick:e.onRepay},{default:n(()=>[P(l(e.$t("common.button.repay")),1)]),_:1},8,["onClick"])])):(a(),p("div",Jt,[u(A,{loading:e.prepaying,round:"",type:"primary",size:"large",class:"btn-pay",onClick:e.onPay},{default:n(()=>[P(l(e.$t("common.button.pay")),1)]),_:1},8,["loading","onClick"])]))]),_:1})]),_:1})):y("",!0)]),_:1})]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[e.order&&e.payWay===e.PayWay.WechatPay?(a(),g(B,{key:0,modelValue:e.order,"onUpdate:modelValue":t[4]||(t[4]=w=>e.order=w),visible:e.paying,onHide:t[5]||(t[5]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.Stripe?(a(),g(z,{key:1,modelValue:e.order,"onUpdate:modelValue":t[6]||(t[6]=w=>e.order=w),visible:e.paying,onHide:t[7]||(t[7]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.AliPay?(a(),g(j,{key:2,modelValue:e.order,"onUpdate:modelValue":t[8]||(t[8]=w=>e.order=w),visible:e.paying,onHide:t[9]||(t[9]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.X402?(a(),g(q,{key:3,modelValue:e.order,"onUpdate:modelValue":t[10]||(t[10]=w=>e.order=w),session:e.x402Session,visible:e.paying,onHide:t[11]||(t[11]=w=>e.paying=!1)},null,8,["modelValue","session","visible"])):y("",!0)]),_:1})]),_:1})]),_:1})]),_:1})}const cs=M(It,[["render",Qt],["__scopeId","data-v-0cc9f57e"]]);export{cs as default};
2
+ import{o as V}from"./order-nid2xuQ1.js";import{_ as M,a6 as me}from"./index-CFwKXwDS.js";import{O as N}from"./order-CB3uOPHS.js";import{ae as ye,a5 as Y,bP as fe}from"./vendor-Bf_m-mDd.js";import{w as ee,x as te,E as x,z as ge,A as we,e as ve,a as se,B as ae,o as ie,r as E,C as be,D as ke,F as Pe,m as Se,G as We,s as $e}from"./vendor-element-plus-DMm68DKM.js";import{d as X,R as g,S as n,l as u,al as f,a as o,W as y,Z as l,o as a,p as Ce,c as p,F as R,ai as T,Y as P,V as H}from"./vendor-vue-Bb02XvLT.js";import{g as Ae}from"./price-DkXHaDUs.js";import{C as _e}from"./CopyToClipboard-DUBbK93t.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";function Ee(){const e=navigator.userAgent.toLowerCase();return/iphone|ipad|ipod|android|windows phone/i.test(e)}const Ne=X({name:"PayOrderDialog",components:{ElDialog:x,QrCode:ye,ElRow:te,ElCol:ee},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},2e3)})}}}),Ie={class:"paycode wechat"},Re={class:"help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto"};function Ve(e,t,s,i,c,d){const r=f("qr-code"),h=f("el-col"),W=f("el-row"),$=f("el-dialog");return a(),g($,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[u(W,{class:"paycodes py-[30px] w-[500px] mx-auto"},{default:n(()=>[u(h,{span:12},{default:n(()=>[o("div",Ie,[e.modelValue?.pay_url?(a(),g(r,{key:0,value:e.modelValue?.pay_url,size:200,class:"qrcode m-auto w-[200px] h-[200px]",type:"image/png",color:{dark:"#000000",light:"#ffffff"}},null,8,["value"])):y("",!0),o("p",Re,l(e.$t("order.message.wechatPayHelp")),1)])]),_:1}),u(h,{span:12},{default:n(()=>t[0]||(t[0]=[o("div",{class:"help-img"},[o("img",{src:"https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg"})],-1)])),_:1,__:[0]})]),_:1})]),_:1},8,["model-value","title"])}const De=M(Ne,[["render",Ve]]),Le=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Te={class:"text-center"};function Be(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Te,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const qe=M(Le,[["render",Be],["__scopeId","data-v-fbea8aa1"]]),Oe=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Me={class:"text-center"};function Xe(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Me,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const Fe=M(Oe,[["render",Xe]]);async function Ue(e){const{requirements:t,payerAddress:s,signTransaction:i,signAllTransactions:c,fetchLatestBlockhash:d}=e,{PublicKey:r,Transaction:h,ComputeBudgetProgram:W,TransactionInstruction:$}=await Y(async()=>{const{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}=await import("./vendor-Bf_m-mDd.js").then(he=>he.b$);return{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}},__vite__mapDeps([0,1,2,3,4,5])),{Buffer:b}=await Y(async()=>{const{Buffer:v}=await import("./vendor-Bf_m-mDd.js").then(_=>_.i);return{Buffer:v}},__vite__mapDeps([0,1,2,3,4,5])),k=new r("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),S=new r("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),C=new r(s),m=new r(String(t.payTo||t.pay_to)),A=new r(String(t.asset)),I=t.extra||{},B=String(I.feePayer||I.fee_payer||"");if(!B)throw new Error("Missing feePayer in Solana payment requirements");if(B===s)throw new Error("Invalid Solana payment: payer wallet must not be the fee payer wallet (switch wallet and try again).");const z=new r(B),j=Number(I.decimals??6),q=Number(I.computeUnitLimit??I.compute_unit_limit??0),w=Number(I.computeUnitPriceMicroLamports??I.compute_unit_price_micro_lamports??I.computeUnitPriceLamports??0),F=BigInt(String(t.maxAmountRequired||t.max_amount_required||"0"));if(F<=0n)throw new Error("Invalid amount");const J=(v,_)=>{const[D]=r.findProgramAddressSync([v.toBuffer(),k.toBuffer(),_.toBuffer()],S);return D},ne=J(C,A),oe=J(m,A),U=new Uint8Array(10);U[0]=12,new DataView(U.buffer).setBigUint64(1,F,!0),U[9]=j;const le=new $({programId:k,keys:[{pubkey:ne,isSigner:!1,isWritable:!0},{pubkey:A,isSigner:!1,isWritable:!1},{pubkey:oe,isSigner:!1,isWritable:!0},{pubkey:C,isSigner:!0,isWritable:!1}],data:b.from(U)}),L=new h;L.feePayer=z,Number.isFinite(q)&&q>0&&L.add(W.setComputeUnitLimit({units:Math.floor(q)})),Number.isFinite(w)&&w>0&&L.add(W.setComputeUnitPrice({microLamports:Math.floor(w)})),L.add(le);const de=String(t.network||"solana").toLowerCase();L.recentBlockhash=await d(de);const G=v=>{if(!v)return"Unknown error";const _=typeof v?.message=="string"?v.message:String(v),D=typeof v?.name=="string"?v.name:"";return D&&D!=="Error"&&!_.startsWith(D)?`${D}: ${_}`:_},K=async()=>{if(!c)return;const v=await c([L]);return Array.isArray(v)?v[0]:void 0};let O;try{i?O=await i(L):O=await K()}catch(v){if(i&&c)try{O=await K()}catch(_){throw new Error(`Solana wallet signing failed: ${G(v)} (fallback failed: ${G(_)})`)}else throw new Error(`Solana wallet signing failed: ${G(v)}`)}if(!O)throw new Error("Solana wallet did not return a signed transaction");const ce=O.serialize({requireAllSignatures:!1,verifySignatures:!1}),Q=b.from(ce).toString("base64"),ue={x402Version:1,scheme:t.scheme||"exact",network:t.network||"solana",payload:{serializedTransaction:Q,transaction:Q}};return btoa(JSON.stringify(ue))}const He=X({name:"X402PayOrderDialog",components:{ElDialog:x,ElButton:ie,ElAlert:ae,ElTag:se,ElIcon:ve,ElRadioGroup:we,ElRadioButton:ge,CreditCard:fe},props:{modelValue:{type:Object,required:!0},session:{type:Object,default:void 0},visible:{type:Boolean,default:!1}},emits:["hide","update:modelValue"],data(){return{signing:!1,paying:!1,chainId:void 0,selectedNetwork:void 0,solanaWalletModalVisible:!1,solanaWalletConnecting:!1,evmWalletModalVisible:!1,evmWalletConnecting:!1,evmWallets:[],selectedEvmWalletId:void 0,evmAddress:void 0,requirementsLoading:!1,runtimeRequirementsByNetwork:{},requirementsAttemptedByNetwork:{}}},computed:{dialogWidth(){return Ee()?"100%":"680px"},acceptsList(){const e=this.session?.accepts;if(Array.isArray(e)&&e.length>0)return e.filter(s=>!!(s&&typeof s=="object"));const t=this.paymentRequirements;return Array.isArray(t)&&t.length>0?t.filter(s=>!!(s&&typeof s=="object")):t&&typeof t=="object"?[t]:[]},selectedNetworkResolved(){return String(this.selectedNetwork||this.acceptsList[0]?.network||"base").toLowerCase()},selectedRequirements(){const e=String(this.selectedNetworkResolved||"").toLowerCase();if(!e)return this.acceptsList[0];const t=this.runtimeRequirementsByNetwork[e];if(t)return t;const s=this.acceptsList.find(i=>String(i.network||"").toLowerCase()===e);if(s)return s;if(!this.selectedNetwork)return this.acceptsList[0]},orderMetadata(){const e=this.modelValue?.metadata;return e&&typeof e=="object"?e:void 0},paymentRequirements(){const e=this.session?.payment_requirements||this.session?.paymentRequirements;if(e&&typeof e=="object")return e;const t=this.orderMetadata?.payment_requirements||this.orderMetadata?.paymentRequirements;if(t&&typeof t=="object")return t},expectedNetwork(){return this.selectedNetworkResolved},expectedNetworkLabel(){return this.formatNetworkLabel(this.expectedNetwork)},isSolanaNetwork(){return!!String(this.selectedNetworkResolved||"").toLowerCase().startsWith("solana")},expectedChainIdHex(){const e={base:"0x2105","base-sepolia":"0x14A34",ethereum:"0x1",sepolia:"0xAA36A7",polygon:"0x89",arbitrum:"0xA4B1",optimism:"0xA",bsc:"0x38",avalanche:"0xA86A"},t=(this.expectedNetwork||"").toLowerCase();return e[t]},networkMismatch(){return this.isSolanaNetwork?!1:!!(this.evmAddress&&this.chainId&&this.expectedChainIdHex&&this.chainId.toLowerCase()!==this.expectedChainIdHex.toLowerCase())},hasEvmProvider(){return this.isSolanaNetwork?!1:this.evmWalletsOrdered.length>0},requirementsAvailable(){return!!this.selectedRequirements},networkOptions(){const e=new Set(this.acceptsList.map(s=>String(s.network||"").toLowerCase()).filter(Boolean));if(e.size===0)return[{network:"base",label:"Base"},{network:"solana",label:"Solana"}];const t=s=>s==="base"?0:s.startsWith("solana")?1:2;return Array.from(e).sort((s,i)=>t(s)-t(i)||s.localeCompare(i)).map(s=>({network:s,label:this.formatNetworkLabel(s)}))},paymentSteps(){const e=this.expectedNetworkLabel||this.expectedNetwork||"";return[String(this.$t("order.message.x402Step1")),String(this.$t("order.message.x402Step2",{network:e})),String(this.$t("order.message.x402Step3")),String(this.$t("order.message.x402Step4"))]},evmConnected(){return!!(this.selectedEvmWalletId&&this.evmAddress)},evmProvider(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.provider},selectedEvmWalletName(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.name},selectedEvmWalletIcon(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.icon},evmWalletsOrdered(){return[...this.evmWallets].sort((e,t)=>e.name.localeCompare(t.name))},solanaConnected(){return!!this.$wallet?.connected?.value},solanaAddress(){const e=this.$wallet?.publicKey?.value;if(!(!e||typeof e.toBase58!="function"))return e.toBase58()},solanaWalletsOrdered(){const e=this.$wallet?.wallets?.value??[],t=s=>s==="Installed"?0:s==="Loadable"?1:s==="NotDetected"?2:3;return[...e].sort((s,i)=>t(s.readyState)-t(i.readyState))},selectedSolanaWalletName(){return this.$wallet?.wallet?.value?.adapter?.name},selectedSolanaWalletIcon(){return this.$wallet?.wallet?.value?.adapter?.icon}},watch:{visible(e){if(!e){this.solanaWalletModalVisible=!1,this.evmWalletModalVisible=!1;return}if(!this.selectedNetwork){const i=this.acceptsList[0]?.network;this.selectedNetwork=String(i||"base").toLowerCase()}const t=new Set(this.networkOptions.map(i=>i.network)),s=String(this.selectedNetwork||"").toLowerCase();if(s&&!t.has(s)){const i=this.networkOptions[0]?.network;i&&(this.selectedNetwork=i)}this.maybeLoadRequirements()},selectedNetwork(){this.visible&&this.maybeLoadRequirements()}},mounted(){this.refreshEvmWallets()},methods:{sleep(e){return new Promise(t=>setTimeout(t,e))},getErrorMessage(e){if(!e)return"";if(typeof e=="string")return e;if(typeof e?.message=="string")return e.message;try{return JSON.stringify(e)}catch{return String(e)}},isRetryableSolanaConnectError(e){if(String(e?.name||"")==="WalletNotSelectedError")return!0;const s=this.getErrorMessage(e).toLowerCase();return s.includes("disconnected port object")||s.includes("failed to send message to service worker")||s.includes("message port closed")||s.includes("extension context invalidated")},async connectSolanaWalletWithRetry(e){const t=this.$wallet;if(!t)throw new Error("Wallet API not available");const s=2;let i;for(let c=1;c<=s;c+=1)try{e&&t.select(e),await Ce(),await t.connect();return}catch(d){if(i=d,c<s&&this.isRetryableSolanaConnectError(d)){const h=String(d?.name||"")==="WalletNotSelectedError"?0:300;h&&await this.sleep(h);continue}throw d}throw i},formatNetworkLabel(e){const t=String(e||"").toLowerCase();return t==="base"?"Base":t==="solana"?"Solana":t==="solana-devnet"?"Solana Devnet":t==="ethereum"?"Ethereum":t==="sepolia"?"Sepolia":t==="polygon"?"Polygon":t==="arbitrum"?"Arbitrum":t==="optimism"?"Optimism":t==="bsc"?"BNB Chain":t==="avalanche"?"Avalanche":e||"Unknown"},async confirmPay(e){const t=e||this.expectedNetworkLabel||this.expectedNetwork||"",s=String(this.$t?.("order.message.x402ConfirmTitle")||"Confirm Payment"),i=String(this.$t?.("order.message.x402ConfirmDesc",{network:t})||`Confirm USDC payment on ${t}?`),c=String(this.$t?.("common.button.pay")||"Pay"),d=String(this.$t?.("common.button.cancel")||"Cancel");return be.confirm(i,s,{confirmButtonText:c,cancelButtonText:d,type:"warning"}).then(()=>!0).catch(()=>!1)},async onSelectSolanaWallet(e){if(!this.solanaWalletConnecting&&e?.adapter?.name){this.solanaWalletConnecting=!0;try{await this.connectSolanaWalletWithRetry(e.adapter.name),this.solanaWalletModalVisible=!1}catch(t){console.warn("wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed"))}finally{this.solanaWalletConnecting=!1}}},async disconnectSolanaWallet(){try{await this.$wallet.disconnect()}catch{}},openEvmWalletModal(){this.evmWalletModalVisible=!0,this.refreshEvmWallets()},async refreshEvmWallets(){if(typeof window>"u")return;const e=new Map,t=s=>{const i=s?.detail,c=i?.info,d=i?.provider;if(!c||!d)return;const r=String(c.uuid||c.rdns||c.name||"");r&&(e.has(r)||e.set(r,{id:r,name:String(c.name||"Wallet"),icon:typeof c.icon=="string"?c.icon:void 0,provider:d}))};try{window.addEventListener("eip6963:announceProvider",t),window.dispatchEvent(new Event("eip6963:requestProvider")),await new Promise(s=>window.setTimeout(s,120))}finally{window.removeEventListener("eip6963:announceProvider",t)}if(e.size===0){const s=window.ethereum;(Array.isArray(s?.providers)?s.providers:s?[s]:[]).forEach((c,d)=>{if(!c)return;let r="Injected";c.isMetaMask?r="MetaMask":c.isCoinbaseWallet?r="Coinbase Wallet":c.isBraveWallet?r="Brave Wallet":c.isRabby?r="Rabby":c.isPhantom&&(r="Phantom");const h=`injected:${r}:${d}`;e.set(h,{id:h,name:r,icon:void 0,provider:c})})}this.evmWallets=Array.from(e.values())},async onSelectEvmWallet(e){if(e?.provider){this.evmWalletModalVisible=!1,this.evmWalletConnecting=!0;try{const t=await e.provider.request({method:"eth_requestAccounts"}),s=Array.isArray(t)?t[0]:void 0;if(!s)throw new Error("No account returned from wallet");this.selectedEvmWalletId=e.id,this.evmAddress=s,await this.refreshChainId(),await this.ensureNetwork()}catch(t){console.warn("EVM wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed")),this.disconnectEvmWallet()}finally{this.evmWalletConnecting=!1}}},disconnectEvmWallet(){this.selectedEvmWalletId=void 0,this.evmAddress=void 0,this.chainId=void 0},async getFreshRequirements(){const e=this.selectedRequirements;if(e)return e;try{const s=(await V.pay(this.modelValue.id,{pay_way:"X402"}))?.data,i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}return d&&typeof d=="object"?d:void 0}catch(t){const s=t?.response?.data;if(s){const i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}if(d&&typeof d=="object")return d}return}},async maybeLoadRequirements(e=!1){const t=String(this.selectedNetworkResolved||"").toLowerCase();if(!(!t||this.runtimeRequirementsByNetwork[t]||this.acceptsList.some(i=>String(i.network||"").toLowerCase()===t))&&!(!e&&this.requirementsAttemptedByNetwork[t])){this.requirementsAttemptedByNetwork[t]=!0,this.requirementsLoading=!0;try{const i=await this.getFreshRequirements();i&&(this.runtimeRequirementsByNetwork[t]=i)}finally{this.requirementsLoading=!1}}},async refreshChainId(){if(this.evmProvider)try{const e=await this.evmProvider.request({method:"eth_chainId"});typeof e=="string"&&(this.chainId=e)}catch{}},async ensureNetwork(){if(!(!this.evmProvider||!this.expectedChainIdHex)&&(await this.refreshChainId(),!(this.chainId&&this.chainId.toLowerCase()===this.expectedChainIdHex.toLowerCase()))){try{await this.evmProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:this.expectedChainIdHex}]})}catch{try{await this.evmProvider.request({method:"wallet_addEthereumChain",params:[this.getExpectedChainParams()]})}catch(e){console.error("Failed to add Ethereum chain:",e);try{const t=this.$t&&this.$t("order.message.x402NetworkSwitchFailed")||"Your wallet does not support automatic network switching. Please switch to the required network in the wallet and try again.";E.warning(t)}catch{}}}await this.refreshChainId()}},getExpectedChainParams(){const e={base:{chainId:"0x2105",chainName:"Base",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://mainnet.base.org"],blockExplorerUrls:["https://basescan.org"]},"base-sepolia":{chainId:"0x14A34",chainName:"Base Sepolia",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://sepolia.base.org"],blockExplorerUrls:["https://sepolia.basescan.org"]}},t=(this.expectedNetwork||"").toLowerCase();return e[t]||{chainId:this.expectedChainIdHex}},buildTypedData(e,t){const s=e?.extra||{};return{types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],TransferWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]},primaryType:"TransferWithAuthorization",domain:{name:s?.name||"USD Coin",version:s?.version||"2",chainId:parseInt(this.expectedChainIdHex||"0x0",16),verifyingContract:e.asset},message:t}},randomNonce32(){const e=new Uint8Array(32);return crypto.getRandomValues(e),"0x"+Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")},async onPayWithSolanaWallet(){if(!this.modelValue?.id)return;const e=this.solanaAddress;if(!e){E.error(String(this.$t?.("order.message.x402NeedConnectAccount")||"Please connect a wallet first."));return}if(!this.requirementsAvailable){E.error(String(this.$t?.("order.message.x402SolanaNotEnabled")||"Solana payment is not available."));return}this.signing=!0;try{if(!await this.confirmPay(this.expectedNetworkLabel))return;let s=await this.getFreshRequirements();if(s||(s=this.selectedRequirements),!s){E.error(String(this.$t?.("order.message.x402PaymentFailed")||"X402 payment failed."));return}const i=this.$wallet?.wallet?.value?.adapter;if(!i?.signTransaction&&!i?.signAllTransactions)throw new Error("Wallet does not support signing transactions");const c=await Ue({requirements:s,payerAddress:e,signTransaction:i.signTransaction?i.signTransaction.bind(i):void 0,signAllTransactions:i.signAllTransactions?i.signAllTransactions.bind(i):void 0,fetchLatestBlockhash:r=>this.fetchSolanaLatestBlockhash(r)});this.paying=!0;const{data:d}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},c);this.$emit("update:modelValue",d),this.$emit("hide")}catch(t){const s=t?.response?.data,i=s?.error||s?.detail||"X402 wallet payment failed.";E.error(String(i))}finally{this.signing=!1,this.paying=!1}},async fetchSolanaLatestBlockhash(e){const{data:t}=await me.get("/x402/solana/latest-blockhash/",{params:{network:e||"solana"}}),s=t?.blockhash;if(!s||typeof s!="string")throw new Error("Invalid blockhash response");return s},async onPayWithWallet(){if(!this.modelValue?.id||!this.evmProvider||!this.evmAddress){const e=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment is not available right now. Please try again later.";E.error(e);return}this.signing=!0;try{let e=await this.getFreshRequirements();if(e||(e=this.selectedRequirements),!e){const S=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.";E.error(S);return}if(await this.ensureNetwork(),this.networkMismatch){E.warning(String(this.$t?.("order.message.x402SwitchNetwork",{network:this.expectedNetworkLabel||this.expectedNetwork})||"Please switch your wallet network and try again."));return}if(!await this.confirmPay(this.expectedNetworkLabel))return;const s=Math.floor(Date.now()/1e3),i=Number(e?.maxTimeoutSeconds||e?.max_timeout_seconds||120),c=BigInt(e?.maxAmountRequired||e?.max_amount_required||0).toString(),d={from:this.evmAddress,to:e.payTo||e.pay_to,value:c,validAfter:s,validBefore:s+i,nonce:this.randomNonce32()},r=this.buildTypedData(e,d),h=await this.evmProvider.request({method:"eth_signTypedData_v4",params:[this.evmAddress,JSON.stringify(r)]}),W={from:d.from,to:d.to,value:d.value,validAfter:String(d.validAfter),validBefore:String(d.validBefore),nonce:d.nonce},$={x402Version:1,scheme:e.scheme||"exact",network:e.network||this.expectedNetwork||"base",payload:{authorization:W,signature:h}},b=btoa(JSON.stringify($));this.paying=!0;const{data:k}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},b);this.$emit("update:modelValue",k),this.$emit("hide")}catch(e){let t;const s=e?.response?.data;if(s){const i=s?.error||s?.detail;typeof i=="string"&&(t=i)}t||(t=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.");try{E.error(t)}catch{}}finally{this.signing=!1,this.paying=!1}}}}),xe={class:"x402-content"},ze={class:"x402-intro"},je={class:"x402-intro-text"},Ge={class:"x402-wallet"},Je={class:"x402-wallet-head"},Ke={class:"x402-network"},Qe={class:"x402-network-label"},Ye={key:1,class:"x402-requirements-actions"},Ze={class:"x402-wallet-card"},et={class:"x402-wallet-card-head"},tt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},st=["src","alt"],at={key:1,class:"x402-wallet-card-sub"},it={class:"x402-wallet-card-actions"},rt={class:"x402-actions"},nt={class:"x402-wallet-card"},ot={class:"x402-wallet-card-head"},lt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},dt=["src","alt"],ct={key:1,class:"x402-wallet-card-sub"},ut={class:"x402-wallet-card-actions"},pt={class:"x402-actions"},ht={class:"x402-steps"},mt={class:"x402-steps-title"},yt={class:"x402-steps-list"},ft={class:"x402-step-index"},gt={class:"x402-step-text"},wt={class:"wallet-list"},vt=["disabled","onClick"],bt=["src","alt"],kt={class:"wallet-list-name"},Pt={key:1,class:"wallet-list-status"},St={class:"wallet-list"},Wt=["disabled","onClick"],$t=["src","alt"],Ct={class:"wallet-list-name"},At={key:0,class:"text-center text-[13px] text-[var(--el-text-color-regular)]"};function _t(e,t,s,i,c,d){const r=f("credit-card"),h=f("el-icon"),W=f("el-radio-button"),$=f("el-radio-group"),b=f("el-alert"),k=f("el-button"),S=f("el-tag"),C=f("el-dialog");return a(),p(R,null,[u(C,{"model-value":e.visible,title:e.$t("order.title.x402"),width:e.dialogWidth,top:"8vh",class:"x402-dialog"},{default:n(()=>[o("section",xe,[o("header",ze,[u(h,{size:20,class:"x402-intro-icon"},{default:n(()=>[u(r)]),_:1}),o("p",je,l(e.$t("order.message.x402IntroShort")),1)]),o("section",Ge,[o("div",Je,[o("div",Ke,[o("span",Qe,l(e.$t("order.message.x402IntegrationNetworkLabel")),1),u($,{modelValue:e.selectedNetwork,"onUpdate:modelValue":t[0]||(t[0]=m=>e.selectedNetwork=m),size:"small",class:"x402-network-group"},{default:n(()=>[(a(!0),p(R,null,T(e.networkOptions,m=>(a(),g(W,{key:m.network,label:m.network},{default:n(()=>[P(l(m.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),e.selectedNetworkResolved==="solana"&&!e.selectedRequirements&&!e.requirementsLoading?(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402SolanaNotEnabled")},null,8,["description"])):y("",!0),!e.selectedRequirements&&!e.requirementsLoading?(a(),p("div",Ye,[u(k,{link:"",type:"primary",size:"small",onClick:t[1]||(t[1]=m=>e.maybeLoadRequirements(!0))},{default:n(()=>[P(l(e.$t("common.button.refresh")),1)]),_:1})])):y("",!0),e.isSolanaNetwork?(a(),p(R,{key:2},[o("div",Ze,[o("div",et,[t[5]||(t[5]=o("span",{class:"x402-wallet-card-title"},"Solana Wallet",-1)),e.solanaConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.solanaConnected&&e.selectedSolanaWalletName?(a(),p("div",tt,[e.selectedSolanaWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedSolanaWalletIcon,alt:e.selectedSolanaWalletName},null,8,st)):y("",!0),o("span",null,l(e.selectedSolanaWalletName),1)])):y("",!0),e.solanaConnected&&e.solanaAddress?(a(),p("div",at,l(e.solanaAddress.substring(0,10))+"..."+l(e.solanaAddress.substring(e.solanaAddress.length-10)),1)):y("",!0),o("div",it,[e.solanaConnected?(a(),g(k,{key:1,onClick:e.disconnectSolanaWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:t[2]||(t[2]=m=>e.solanaWalletModalVisible=!0)},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1}))])]),o("div",rt,[u(k,{type:"primary",disabled:!e.solanaConnected||!e.solanaAddress||!e.requirementsAvailable,loading:e.signing||e.paying,onClick:e.onPayWithSolanaWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])])],64)):(a(),p(R,{key:3},[o("div",nt,[o("div",ot,[t[6]||(t[6]=o("span",{class:"x402-wallet-card-title"},"EVM Wallet",-1)),e.evmConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.evmConnected&&e.selectedEvmWalletName?(a(),p("div",lt,[e.selectedEvmWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedEvmWalletIcon,alt:e.selectedEvmWalletName},null,8,dt)):y("",!0),o("span",null,l(e.selectedEvmWalletName),1)])):y("",!0),e.evmConnected&&e.evmAddress?(a(),p("div",ct,l(e.evmAddress.substring(0,10))+"..."+l(e.evmAddress.substring(e.evmAddress.length-10)),1)):y("",!0),o("div",ut,[e.evmConnected?(a(),g(k,{key:1,onClick:e.disconnectEvmWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:e.openEvmWalletModal},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1},8,["onClick"]))])]),e.hasEvmProvider?e.networkMismatch?(a(),g(b,{key:1,type:"warning",closable:!1,"show-icon":"",class:"x402-alert",title:e.$t("order.message.x402SwitchNetwork",{network:e.expectedNetworkLabel||e.expectedNetwork})},null,8,["title"])):y("",!0):(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402NoWalletDesc")},null,8,["description"])),o("div",pt,[e.hasEvmProvider?(a(),g(k,{key:0,type:"primary",disabled:!e.evmConnected||!e.requirementsAvailable||e.networkMismatch,loading:e.signing||e.paying,onClick:e.onPayWithWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])):y("",!0)])],64)),o("div",ht,[o("div",mt,l(e.$t("order.message.x402StepsTitle")),1),o("ol",yt,[(a(!0),p(R,null,T(e.paymentSteps,(m,A)=>(a(),p("li",{key:A,class:"x402-step"},[o("span",ft,l(A+1),1),o("span",gt,l(m),1)]))),128))])])])])]),_:1},8,["model-value","title","width"]),u(C,{modelValue:e.solanaWalletModalVisible,"onUpdate:modelValue":t[3]||(t[3]=m=>e.solanaWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",wt,[(a(!0),p(R,null,T(e.solanaWalletsOrdered,m=>(a(),p("button",{key:m.adapter.name,class:"wallet-list-item",disabled:e.solanaWalletConnecting,onClick:A=>e.onSelectSolanaWallet(m)},[m.adapter.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.adapter.icon,alt:m.adapter.name},null,8,bt)):y("",!0),o("span",kt,l(m.adapter.name),1),m.readyState==="Installed"?(a(),p("span",Pt,"Detected")):y("",!0)],8,vt))),128))])]),_:1},8,["modelValue","title"]),u(C,{modelValue:e.evmWalletModalVisible,"onUpdate:modelValue":t[4]||(t[4]=m=>e.evmWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",St,[(a(!0),p(R,null,T(e.evmWalletsOrdered,m=>(a(),p("button",{key:m.id,class:"wallet-list-item",disabled:e.evmWalletConnecting,onClick:A=>e.onSelectEvmWallet(m)},[m.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.icon,alt:m.name},null,8,$t)):y("",!0),o("span",Ct,l(m.name),1),t[7]||(t[7]=o("span",{class:"wallet-list-status"},"Detected",-1))],8,Wt))),128)),e.evmWalletsOrdered.length===0?(a(),p("div",At,l(e.$t("order.message.x402NoWalletDesc")),1)):y("",!0)])]),_:1},8,["modelValue","title"])],64)}const Et=M(He,[["render",_t],["__scopeId","data-v-13c47121"]]),Nt=7e3,Z=2e3;var re=(e=>(e.WechatPay="WechatPay",e.Stripe="Stripe",e.AliPay="AliPay",e.X402="X402",e))(re||{});const It=X({name:"ConsoleOrderDetail",components:{ElButton:ie,CopyToClipboard:_e,ElRow:te,ElCard:$e,ElCol:ee,ElSkeleton:We,ElDivider:Se,ElAlert:ae,ElDescriptions:Pe,ElDescriptionsItem:ke,ElTag:se,WechatPayOrder:De,StripePayOrder:qe,AlipayPayOrder:Fe,X402PayOrder:Et},data(){return{PayWay:re,payWay:"WechatPay",OrderState:N,order:void 0,x402Session:void 0,showPayWays:!0,loading:!1,paying:!1,prepaying:!1}},computed:{config(){return this.$store.getters.config},id(){return this.$route.params?.id?.toString()},redirect(){return this.$route.query?.redirect},pricingInfo(){const e=this.order?.metadata?.pricing||{},t=S=>typeof S=="number"&&Number.isFinite(S)?S:void 0,s=t(e?.original_price),i=t(e?.discounted_price),c=t(e?.discount_rate),d=t(e?.discount_rate_vip),r=t(e?.discount_rate_x402),h=t(this.order?.price),W=s??h??0,$=i??h??W,b=t(this.order?.discount)??c??0,k=Array.isArray(e?.discounted_methods)?e.discounted_methods.filter(S=>typeof S=="string"&&S.length>0):[];return{original:W,discounted:$,discountRate:b,discountedMethods:k,discountRateVip:d,discountRateX402:r}},appliedDiscountMethods(){return this.pricingInfo.discountedMethods||[]},hasVipApplied(){return this.appliedDiscountMethods.includes("vip")},hasX402Applied(){return this.appliedDiscountMethods.includes("x402")},pendingX402Preview(){return this.payWay==="X402"&&this.order?.pay_way!=="X402"&&this.x402DiscountRate>0},finalOriginalPrice(){return this.pricingInfo.original||0},baseEffectivePrice(){const e=this.order?.price;return typeof e=="number"&&Number.isFinite(e)?e:this.pricingInfo.discounted},previewX402Price(){const e=this.baseEffectivePrice||0,t=this.x402DiscountRate;return!t||t<=0?e:e*(1-t)},finalDiscountedPrice(){return this.pendingX402Preview?this.previewX402Price:this.baseEffectivePrice},showOriginalPrice(){return this.finalOriginalPrice<=0?!1:this.finalOriginalPrice>this.finalDiscountedPrice},totalDiscountRate(){const e=this.pricingInfo.discountRate??0;return this.pendingX402Preview?1-(1-e)*(1-this.x402DiscountRate):e},hasAnyDiscount(){return this.totalDiscountRate>0},discountBadges(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push({key:"vip",text:this.$t("order.message.discountTag",{percent:this.vipDiscountPercent}).toString(),type:"success"}),this.shouldDisplayX402Badge&&this.x402BadgePercent&&e.push({key:"x402",text:this.$t("order.message.x402DiscountTag",{percent:this.x402BadgePercent}).toString(),type:"success"}),e},discountHints(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push(this.$t("order.message.discountHint",{percent:this.vipDiscountPercent}).toString()),this.hasX402Applied&&this.x402AppliedPercent?e.push(this.$t("order.message.x402DiscountApplied",{percent:this.x402AppliedPercent}).toString()):this.pendingX402Preview&&this.x402BadgePercent&&e.push(this.$t("order.message.x402DiscountHint",{percent:this.x402BadgePercent}).toString()),e},x402DiscountRate(){const e=this.config?.features?.DISCOUNT_FOR_X402;return typeof e=="number"&&Number.isFinite(e)&&e>0?e:0},vipDiscountPercent(){const e=(this.pricingInfo.discountRateVip??0)*100;return!Number.isFinite(e)||e<=0?"":Number.isInteger(e)?e.toFixed(0):e.toFixed(1)},x402AppliedPercent(){const t=(this.pricingInfo.discountRateX402??0)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},x402BadgePercent(){const t=(this.hasX402Applied?this.pricingInfo.discountRateX402??this.x402DiscountRate:this.x402DiscountRate)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},shouldDisplayX402Badge(){return this.hasX402Applied||this.pendingX402Preview},shouldShowPriceBlock(){return this.finalOriginalPrice>0||this.finalDiscountedPrice>0||this.hasAnyDiscount||this.pendingX402Preview},orderFailedReason(){if(!this.order||this.order.state!==N.FAILED)return;const t=(this.order.metadata||{})?.x402?.last_error||{};return(typeof t.reason=="string"?t.reason.trim():"")||void 0}},watch:{paying(e){e?this.startOrderPolling():this.stopOrderPolling()},order:{handler(e){if(e?.state===N.PAID){this.x402Session=void 0,setTimeout(()=>{this.redirect&&window.location.replace(this.redirect?.toString())},2e3);return}e?.state&&e.state!==N.PENDING&&e.state!==N.FAILED&&(this.x402Session=void 0)},deep:!0},payWay(e){e!=="X402"&&(this.x402Session=void 0)}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:Ae,startOrderPolling(e=0){this.stopOrderPolling();const t=async()=>{try{const{data:s}=await V.refresh(this.id);if(this.order=s,s?.state===N.PAID||s?.state===N.FAILED||s?.state===N.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,Nt))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){const e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onFetchData(){this.loading=!0,V.refresh(this.id).then(({data:e})=>{this.order=e,e.pay_way&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.loading=!1})},onRepay(){this.payWay==="X402"&&(this.x402Session=void 0),this.paying=!0,this.startOrderPolling()},onPay(){this.prepaying=!0,this.payWay==="X402"&&(this.x402Session=void 0),V.pay(this.id,{pay_way:this.payWay}).then(({data:e})=>{if(this.prepaying=!1,e?.id&&(this.order=e),this.payWay==="X402"&&e){const t=e;t.accepts&&(this.x402Session=t)}(this.order&&this.order.price&&this.order.price>0||this.payWay==="X402")&&(this.paying=!0,this.startOrderPolling(Z))}).catch(e=>{this.prepaying=!1;const t=e?.response?.data;if(this.payWay==="X402"&&t){this.x402Session=t,this.paying=!0,this.startOrderPolling(Z);return}})}}}),Rt={class:"title"},Vt={key:0,class:"pt-5"},Dt={key:1,class:"order"},Lt={key:0},Tt={key:1},Bt={key:2},qt={key:3},Ot={key:0,class:"price-block"},Mt={class:"price-line"},Xt={key:0,class:"price original"},Ft={class:"price current unfree"},Ut={key:1,class:"price free"},Ht={key:0,class:"payways mb-6"},xt={class:"payname"},zt={class:"payname"},jt={class:"payname"},Gt={class:"payname"},Jt={key:1},Kt={key:2};function Qt(e,t,s,i,c,d){const r=f("el-col"),h=f("el-row"),W=f("el-skeleton"),$=f("copy-to-clipboard"),b=f("el-descriptions-item"),k=f("el-tag"),S=f("el-descriptions"),C=f("el-divider"),m=f("el-alert"),A=f("el-button"),I=f("el-card"),B=f("wechat-pay-order"),z=f("stripe-pay-order"),j=f("alipay-pay-order"),q=f("x402-pay-order");return a(),g(h,{class:"panel"},{default:n(()=>[u(r,{span:24},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[o("h2",Rt,l(e.$t("order.title.info")),1)]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[u(I,{shadow:"hover"},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[e.loading?(a(),p("div",Vt,[u(W,{animated:""})])):(a(),p("div",Dt,[u(S,{column:1},{default:n(()=>[u(b,{label:e.$t("order.field.id")},{default:n(()=>[o("span",null,l(e.order?.id),1),e.order?.id?(a(),g($,{key:0,content:e.order?.id,class:"inline-block"},null,8,["content"])):y("",!0)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.description")},{default:n(()=>[P(l(e.order?.description),1)]),_:1},8,["label"]),e.order?.application?.service?(a(),g(b,{key:0,label:e.$t("order.field.api")},{default:n(()=>[P(l(e.order?.application?.service?.title),1)]),_:1},8,["label"])):y("",!0),e.order?.pay_way?(a(),g(b,{key:1,label:e.$t("order.field.payWay")},{default:n(()=>[e.order?.pay_way===e.PayWay.WechatPay?(a(),p("span",Lt,l(e.$t("order.title.wechatPay")),1)):e.order?.pay_way===e.PayWay.Stripe?(a(),p("span",Tt,l(e.$t("order.title.stripe")),1)):e.order?.pay_way===e.PayWay.AliPay?(a(),p("span",Bt,l(e.$t("order.title.aliPay")),1)):e.order?.pay_way===e.PayWay.X402?(a(),p("span",qt,l(e.$t("order.title.x402")),1)):y("",!0)]),_:1},8,["label"])):y("",!0),u(b,{label:e.$t("order.field.createdAt")},{default:n(()=>[P(l(e.$dayjs.format(e.order?.created_at)),1)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.price")},{default:n(()=>[e.shouldShowPriceBlock?(a(),p("div",Ot,[o("div",Mt,[e.showOriginalPrice?(a(),p("span",Xt,l(e.getPriceString({value:e.finalOriginalPrice})),1)):y("",!0),o("span",Ft,l(e.getPriceString({value:e.finalDiscountedPrice})),1),(a(!0),p(R,null,T(e.discountBadges,w=>(a(),g(k,{key:w.key,class:"discount-tag",effect:"light",size:"small",type:w.type},{default:n(()=>[P(l(w.text),1)]),_:2},1032,["type"]))),128))]),(a(!0),p(R,null,T(e.discountHints,(w,F)=>(a(),p("p",{key:F,class:"discount-hint"},l(w),1))),128))])):(a(),p("span",Ut,l(e.$t("order.message.free")),1))]),_:1},8,["label"])]),_:1})]))]),_:1})]),_:1}),e.order?.state===e.OrderState.PAID||e.order?.state===e.OrderState.FINISHED?(a(),g(h,{key:0,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.paidSuccessfully"),type:"success","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.EXPIRED?(a(),g(h,{key:1,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.orderExpired"),type:"error","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.FAILED?(a(),g(h,{key:2,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.state.failed"),description:e.orderFailedReason,type:"error","show-icon":"",closable:!1},null,8,["title","description"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.PENDING?(a(),g(h,{key:3},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),e.showPayWays&&e.order.price&&e.order.price>0&&!e.order.pay_way?(a(),p("div",Ht,[o("div",{class:H({payway:!0,wechatpay:!0,active:e.payWay===e.PayWay.WechatPay}),onClick:t[0]||(t[0]=w=>e.payWay=e.PayWay.WechatPay)},[t[12]||(t[12]=o("span",{class:"payicon wechatpay"},null,-1)),o("span",xt,l(e.$t("order.title.wechatPay")),1)],2),o("div",{class:H({payway:!0,alipay:!0,active:e.payWay===e.PayWay.AliPay}),onClick:t[1]||(t[1]=w=>e.payWay=e.PayWay.AliPay)},[t[13]||(t[13]=o("span",{class:"payicon alipay"},null,-1)),o("span",zt,l(e.$t("order.title.aliPay")),1)],2),o("div",{class:H({payway:!0,stripe:!0,active:e.payWay===e.PayWay.Stripe}),onClick:t[2]||(t[2]=w=>e.payWay=e.PayWay.Stripe)},[t[14]||(t[14]=o("span",{class:"payicon stripe"},null,-1)),o("span",jt,l(e.$t("order.title.stripe")),1)],2),o("div",{class:H({payway:!0,x402:!0,relative:!0,active:e.payWay===e.PayWay.X402}),onClick:t[3]||(t[3]=w=>e.payWay=e.PayWay.X402)},[t[15]||(t[15]=o("span",{class:"payicon x402"},null,-1)),o("span",Gt,l(e.$t("order.title.x402")),1),e.x402DiscountRate>0?(a(),g(k,{key:0,class:"absolute -top-2 right-0",effect:"light",size:"small",type:"success"},{default:n(()=>[P(l(e.$t("order.message.x402DiscountTag",{percent:e.x402BadgePercent})),1)]),_:1})):y("",!0)],2)])):y("",!0),e.order?.pay_way?(a(),p("div",Kt,[u(A,{type:"primary",round:"",size:"large",class:"btn-repay",onClick:e.onRepay},{default:n(()=>[P(l(e.$t("common.button.repay")),1)]),_:1},8,["onClick"])])):(a(),p("div",Jt,[u(A,{loading:e.prepaying,round:"",type:"primary",size:"large",class:"btn-pay",onClick:e.onPay},{default:n(()=>[P(l(e.$t("common.button.pay")),1)]),_:1},8,["loading","onClick"])]))]),_:1})]),_:1})):y("",!0)]),_:1})]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[e.order&&e.payWay===e.PayWay.WechatPay?(a(),g(B,{key:0,modelValue:e.order,"onUpdate:modelValue":t[4]||(t[4]=w=>e.order=w),visible:e.paying,onHide:t[5]||(t[5]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.Stripe?(a(),g(z,{key:1,modelValue:e.order,"onUpdate:modelValue":t[6]||(t[6]=w=>e.order=w),visible:e.paying,onHide:t[7]||(t[7]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.AliPay?(a(),g(j,{key:2,modelValue:e.order,"onUpdate:modelValue":t[8]||(t[8]=w=>e.order=w),visible:e.paying,onHide:t[9]||(t[9]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.X402?(a(),g(q,{key:3,modelValue:e.order,"onUpdate:modelValue":t[10]||(t[10]=w=>e.order=w),session:e.x402Session,visible:e.paying,onHide:t[11]||(t[11]=w=>e.paying=!1)},null,8,["modelValue","session","visible"])):y("",!0)]),_:1})]),_:1})]),_:1})]),_:1})}const cs=M(It,[["render",Qt],["__scopeId","data-v-0cc9f57e"]]);export{cs as default};
@@ -1 +1 @@
1
- import{bM as y,bG as N}from"./vendor-Bf_m-mDd.js";import{e as V,o as b,p as U,E as k,q as L,r as C,a as T}from"./vendor-element-plus-DMm68DKM.js";import{d as v,c as _,l as n,a as s,S as o,al as i,Y as r,Z as a,F as h,o as m,R as $,ai as A,aj as M}from"./vendor-vue-Bb02XvLT.js";import{_ as E,a5 as z}from"./index-J0lRtGSj.js";const F=v({name:"EditText",components:{ElDialog:k,ElInput:U,ElButton:b,ElIcon:V,Edit:y},props:{modelValue:{type:String,required:!0},title:{type:String,required:!0},placeholder:{type:String,required:!0}},emits:["confirm","cancel"],data(){return{editing:!1,value:this.modelValue}},methods:{onCancel(){this.editing=!1},onConfirm(){this.$emit("confirm",this.value),this.editing=!1}}}),K={class:"edit-body"},O={class:"dialog-footer"};function D(e,t,S,I,w,q){const c=i("el-input"),d=i("el-button"),p=i("el-dialog"),f=i("edit"),g=i("el-icon");return m(),_(h,null,[n(p,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=u=>e.editing=u),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",O,[n(d,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(d,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",K,[n(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),placeholder:e.placeholder},null,8,["modelValue","placeholder"])])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=u=>e.editing=!0)},[n(g,{class:"icon"},{default:o(()=>[n(f)]),_:1})])],64)}const ie=E(F,[["render",D]]),J=v({name:"EditImage",components:{ElDialog:k,ElButton:b,FontAwesomeIcon:N,ElIcon:V,Edit:y,ElUpload:L},props:{modelValue:{type:String,required:!0},title:{type:String,required:!0},tip:{type:String,required:!0}},emits:["confirm","cancel"],data(){return{editing:!1,value:this.modelValue,fileList:[],uploadUrl:z()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onCancel(){this.editing=!1},onConfirm(){this.$emit("confirm",this.urls?.[0]),this.editing=!1},onExceed(){C.warning(this.$t("site.message.uploadImageExceed"))},onError(){C.error(this.$t("site.message.uploadImageError"))}}}),j={class:"edit-body"},G={class:"el-upload__tip"},P={class:"dialog-footer"};function R(e,t,S,I,w,q){const c=i("font-awesome-icon"),d=i("el-button"),p=i("el-upload"),f=i("el-dialog"),g=i("edit"),u=i("el-icon");return m(),_(h,null,[n(f,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=l=>e.editing=l),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",P,[n(d,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(d,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",j,[n(p,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",limit:5,multiple:!0,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{tip:o(()=>[s("div",G,a(e.tip),1)]),default:o(()=>[n(d,{round:"",type:"primary",class:"btn btn-upload"},{default:o(()=>[n(c,{icon:"fa-solid fa-upload",class:"icon mr-2"}),r(" "+a(e.$t("site.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=l=>e.editing=!0)},[n(u,{class:"icon"},{default:o(()=>[n(g)]),_:1})])],64)}const le=E(J,[["render",R]]),Y=v({name:"EditText",components:{ElDialog:k,ElInput:U,ElButton:b,ElIcon:V,ElTag:T,Edit:y},props:{modelValue:{type:Array,required:!0},title:{type:String,required:!0},placeholder:{type:String,required:!0},tip:{type:String,default:void 0},min:{type:Number,default:void 0},minErrorMessage:{type:String,default:void 0}},emits:["confirm","cancel"],data(){return{inputVisible:!1,inputValue:"",editing:!1,value:JSON.parse(JSON.stringify(this.modelValue))}},methods:{onCancel(){this.editing=!1},onConfirm(){if(this.min!==void 0&&this.value.length<this.min){C.error(this.minErrorMessage);return}this.$emit("confirm",this.value),this.editing=!1},onClose(e){this.value.splice(this.value.indexOf(e),1)},onInputConfirm(){const e=this.inputValue;e&&this.value.push(e),this.inputVisible=!1,this.inputValue=""},onNewItem(){this.inputVisible=!0,this.$nextTick(()=>{this.$refs.input.focus()})}}}),Z={class:"edit-body"},H={class:"tags"},Q={class:"block tip"},W={class:"dialog-footer"};function X(e,t,S,I,w,q){const c=i("el-tag"),d=i("el-input"),p=i("el-button"),f=i("el-dialog"),g=i("edit"),u=i("el-icon");return m(),_(h,null,[n(f,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=l=>e.editing=l),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",W,[n(p,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(p,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",Z,[s("div",H,[(m(!0),_(h,null,A(e.value,(l,B)=>(m(),$(c,{key:B,closable:"",round:"",class:"mr-2 mb-2","disable-transitions":!1,onClose:x=>e.onClose(l)},{default:o(()=>[r(a(l),1)]),_:2},1032,["onClose"]))),128))]),e.inputVisible?(m(),$(d,{key:0,ref:"input",modelValue:e.inputValue,"onUpdate:modelValue":t[0]||(t[0]=l=>e.inputValue=l),class:"block",size:"small",onKeyup:M(e.onInputConfirm,["enter"]),onBlur:e.onInputConfirm},null,8,["modelValue","onKeyup","onBlur"])):(m(),$(p,{key:1,round:"",class:"block",size:"small",onClick:e.onNewItem},{default:o(()=>t[3]||(t[3]=[r(" + ",-1)])),_:1,__:[3]},8,["onClick"])),s("span",Q,a(e.tip),1)])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=l=>e.editing=!0)},[n(u,{class:"icon"},{default:o(()=>[n(g)]),_:1})])],64)}const se=E(Y,[["render",X]]);export{se as E,le as a,ie as b};
1
+ import{bM as y,bG as N}from"./vendor-Bf_m-mDd.js";import{e as V,o as b,p as U,E as k,q as L,r as C,a as T}from"./vendor-element-plus-DMm68DKM.js";import{d as v,c as _,l as n,a as s,S as o,al as i,Y as r,Z as a,F as h,o as m,R as $,ai as A,aj as M}from"./vendor-vue-Bb02XvLT.js";import{_ as E,a5 as z}from"./index-CFwKXwDS.js";const F=v({name:"EditText",components:{ElDialog:k,ElInput:U,ElButton:b,ElIcon:V,Edit:y},props:{modelValue:{type:String,required:!0},title:{type:String,required:!0},placeholder:{type:String,required:!0}},emits:["confirm","cancel"],data(){return{editing:!1,value:this.modelValue}},methods:{onCancel(){this.editing=!1},onConfirm(){this.$emit("confirm",this.value),this.editing=!1}}}),K={class:"edit-body"},O={class:"dialog-footer"};function D(e,t,S,I,w,q){const c=i("el-input"),d=i("el-button"),p=i("el-dialog"),f=i("edit"),g=i("el-icon");return m(),_(h,null,[n(p,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=u=>e.editing=u),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",O,[n(d,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(d,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",K,[n(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),placeholder:e.placeholder},null,8,["modelValue","placeholder"])])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=u=>e.editing=!0)},[n(g,{class:"icon"},{default:o(()=>[n(f)]),_:1})])],64)}const ie=E(F,[["render",D]]),J=v({name:"EditImage",components:{ElDialog:k,ElButton:b,FontAwesomeIcon:N,ElIcon:V,Edit:y,ElUpload:L},props:{modelValue:{type:String,required:!0},title:{type:String,required:!0},tip:{type:String,required:!0}},emits:["confirm","cancel"],data(){return{editing:!1,value:this.modelValue,fileList:[],uploadUrl:z()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onCancel(){this.editing=!1},onConfirm(){this.$emit("confirm",this.urls?.[0]),this.editing=!1},onExceed(){C.warning(this.$t("site.message.uploadImageExceed"))},onError(){C.error(this.$t("site.message.uploadImageError"))}}}),j={class:"edit-body"},G={class:"el-upload__tip"},P={class:"dialog-footer"};function R(e,t,S,I,w,q){const c=i("font-awesome-icon"),d=i("el-button"),p=i("el-upload"),f=i("el-dialog"),g=i("edit"),u=i("el-icon");return m(),_(h,null,[n(f,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=l=>e.editing=l),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",P,[n(d,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(d,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",j,[n(p,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=l=>e.fileList=l),name:"file",limit:5,multiple:!0,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{tip:o(()=>[s("div",G,a(e.tip),1)]),default:o(()=>[n(d,{round:"",type:"primary",class:"btn btn-upload"},{default:o(()=>[n(c,{icon:"fa-solid fa-upload",class:"icon mr-2"}),r(" "+a(e.$t("site.button.upload")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=l=>e.editing=!0)},[n(u,{class:"icon"},{default:o(()=>[n(g)]),_:1})])],64)}const le=E(J,[["render",R]]),Y=v({name:"EditText",components:{ElDialog:k,ElInput:U,ElButton:b,ElIcon:V,ElTag:T,Edit:y},props:{modelValue:{type:Array,required:!0},title:{type:String,required:!0},placeholder:{type:String,required:!0},tip:{type:String,default:void 0},min:{type:Number,default:void 0},minErrorMessage:{type:String,default:void 0}},emits:["confirm","cancel"],data(){return{inputVisible:!1,inputValue:"",editing:!1,value:JSON.parse(JSON.stringify(this.modelValue))}},methods:{onCancel(){this.editing=!1},onConfirm(){if(this.min!==void 0&&this.value.length<this.min){C.error(this.minErrorMessage);return}this.$emit("confirm",this.value),this.editing=!1},onClose(e){this.value.splice(this.value.indexOf(e),1)},onInputConfirm(){const e=this.inputValue;e&&this.value.push(e),this.inputVisible=!1,this.inputValue=""},onNewItem(){this.inputVisible=!0,this.$nextTick(()=>{this.$refs.input.focus()})}}}),Z={class:"edit-body"},H={class:"tags"},Q={class:"block tip"},W={class:"dialog-footer"};function X(e,t,S,I,w,q){const c=i("el-tag"),d=i("el-input"),p=i("el-button"),f=i("el-dialog"),g=i("edit"),u=i("el-icon");return m(),_(h,null,[n(f,{modelValue:e.editing,"onUpdate:modelValue":t[1]||(t[1]=l=>e.editing=l),title:e.title,width:"400px",class:"edit-dialog"},{footer:o(()=>[s("span",W,[n(p,{round:"",onClick:e.onCancel},{default:o(()=>[r(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(p,{round:"",type:"primary",onClick:e.onConfirm},{default:o(()=>[r(a(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])]),default:o(()=>[s("div",Z,[s("div",H,[(m(!0),_(h,null,A(e.value,(l,B)=>(m(),$(c,{key:B,closable:"",round:"",class:"mr-2 mb-2","disable-transitions":!1,onClose:x=>e.onClose(l)},{default:o(()=>[r(a(l),1)]),_:2},1032,["onClose"]))),128))]),e.inputVisible?(m(),$(d,{key:0,ref:"input",modelValue:e.inputValue,"onUpdate:modelValue":t[0]||(t[0]=l=>e.inputValue=l),class:"block",size:"small",onKeyup:M(e.onInputConfirm,["enter"]),onBlur:e.onInputConfirm},null,8,["modelValue","onKeyup","onBlur"])):(m(),$(p,{key:1,round:"",class:"block",size:"small",onClick:e.onNewItem},{default:o(()=>t[3]||(t[3]=[r(" + ",-1)])),_:1,__:[3]},8,["onClick"])),s("span",Q,a(e.tip),1)])]),_:1},8,["modelValue","title"]),s("span",{class:"edit",onClick:t[2]||(t[2]=l=>e.editing=!0)},[n(u,{class:"icon"},{default:o(()=>[n(g)]),_:1})])],64)}const se=E(Y,[["render",X]]);export{se as E,le as a,ie as b};
@@ -1 +1 @@
1
- import{I as A}from"./api-Ch0ZHArw.js";import{_ as y,ad as q,ae as F,aa as z}from"./index-J0lRtGSj.js";import"./vendor-Bf_m-mDd.js";import{g as E}from"./price-DnZ4efZC.js";import{d as S,c as s,Z as t,o as a,F as _,ai as v,W as l,Y as g,R as d,S as i,l as o,al as n,a as $,U as w,V as N,_ as D}from"./vendor-vue-Bb02XvLT.js";import{o as L}from"./order-Dm9TlPjG.js";import{z as G,A as W,m as j,o as H,H as Y,I as Z,s as J,w as K,x as Q,G as X,r as x}from"./vendor-element-plus-DMm68DKM.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";const ee=S({name:"ApiPrice",props:{price:{type:Number,required:!1,default:0},unit:{type:String,required:!1,default:void 0},start:{type:Boolean,required:!1,default:!1}},methods:{getPriceString:E}}),ae={class:"price-text"},te={key:0,class:"unfree"},ie={key:1,class:"free"};function se(e,p,k,C,I,O){return a(),s("div",ae,[e.price>0?(a(),s("span",te,t(e.getPriceString({value:e.price}))+" "+t(e.unit?` / ${e.unit}`:"")+t(e.start?e.$t("common.message.startPrice"):""),1)):(a(),s("span",ie,t(e.$t("common.message.free")),1))])}const oe=y(ee,[["render",se],["__scopeId","data-v-bb068181"]]),re=S({name:"ServiceEstimation",components:{},props:{service:{type:Object,required:!0},package:{type:Object,required:!0}},methods:{getPriceString:E}}),ne={class:"estimation"},le={key:0,class:"item"},pe={key:0},ce={key:1},ue={key:2},de={key:0},me={key:1};function he(e,p,k,C,I,O){return a(),s("div",ne,[(a(!0),s(_,null,v(e.service?.apis,(m,h)=>(a(),s("div",{key:h},[(a(!0),s(_,null,v(m?.estimation,(c,f)=>(a(),s("div",{key:f,class:"items"},[e.package?.amount&&c?.cost?(a(),s("p",le,[g(" ≈ "+t(c.name)+" "+t(Math.round(e.package.amount/c.cost))+" "+t(e.$t("api.unit.count"))+" ",1),e.package.price>0?(a(),s("span",pe," - "+t(e.getPriceString({value:e.package.price/(e.package.amount/c.cost),fractionDigits:3})+" / "+e.$t("api.unit.count")),1)):l("",!0),c.remark?(a(),s("span",ce," ("+t(c.remark)+") ",1)):l("",!0),c?.comparisons?.length>0?(a(),s("span",ue," - ")):l("",!0),(a(!0),s(_,null,v(c?.comparisons,(r,b)=>(a(),s("span",{key:b,class:"comparison"},[r?.value<0?(a(),s("i",de,t(e.$t("api.message.cheaperThan").replace("$[[value]]",r?.target?.toString()))+" "+t(Math.abs(r?.value)*100)+"% ",1)):l("",!0),r?.value>0?(a(),s("i",me,t(e.$t("api.message.moreExpensiveThan").replace("$[[value]]",r?.target?.toString()))+" "+t(Math.abs(r?.value)*100)+"% ",1)):l("",!0)]))),128))])):l("",!0)]))),128))]))),128))])}const ge=y(re,[["render",he],["__scopeId","data-v-370bc975"]]),fe=S({name:"ConsoleApplicationBuy",components:{ElSkeleton:X,ElRow:Q,ElCol:K,ElCard:J,ElForm:Z,ElFormItem:Y,ElButton:H,ElDivider:j,ElRadioGroup:W,ElRadioButton:G,Price:oe,ServiceEstimation:ge},data(){return{lang:this.$i18n.locale,application:void 0,loading:!1,type:A.USAGE,form:{packageId:void 0,amount:void 0},creating:!1}},computed:{applicationId(){return this.$route.params?.id?.toString()},id(){return this.$route.params?.id?.toString()},price(){return this.application?.service?.price&&this.form.amount?this.form.amount*this.application.service?.price:0},packages(){return this.application?.packages?.filter(e=>e.type===A.USAGE).sort((e,p)=>e.amount-p.amount)||[]},package(){if(this.packages&&this.form.packageId){const e=this.packages.filter(p=>p.id===this.form.packageId);if(e.length>0)return e[0]}}},mounted(){this.onFetchApplication()},methods:{getDiscount(e){return this.packages&&this.packages.length>0?this.lang?.startsWith("zh")?(10*e?.price/e?.amount/(this.packages[0].price/this.packages[0]?.amount)).toFixed(1)+"折":Math.round(100-100*e?.price/e?.amount/(this.packages[0].price/this.packages[0]?.amount))+"% OFF":""},onSubscribe(){this.$router.push({name:F,params:this.$route.params})},getPriceString:E,onFetchApplication(){this.loading=!0,z.get(this.id).then(({data:e})=>{this.application=e,this.loading=!1,this.form.packageId=this.packages?.[0]?.id}).catch(()=>{this.loading=!1})},onChangeType(){this.$router.push({name:F,params:this.$route.params})},onCreateOrder(){if(!this.application?.id)return;this.creating=!0;const e=this.$t(`service.unit.${this.application?.service?.unit}s`);L.create({application_id:this.application?.id,amount:this.package?.amount,...this.form.packageId!=="custom"&&this.package?{package_id:this.package.id}:{},description:this.application?.service?`${this.application?.service?.title} x ${this.package?.amount} ${e}`:this.$t("application.title.globalBuy")+" - "+this.package?.amount+" "+this.$t("service.unit.credits")}).then(({data:p})=>{this.creating=!1;const k=p;this.$router.push({name:q,params:{id:k.id}})}).catch(()=>{x.error(this.$t("order.message.createFailed")),this.creating=!1})}}}),ke={class:"title"},$e={key:0},_e={class:"text-[var(--el-text-color-secondary)] text-[12px] mb-3"},ve={key:0,class:"ml-2"},be={key:1,class:N({price:!0,free:!0})};function ye(e,p,k,C,I,O){const m=n("el-col"),h=n("el-row"),c=n("el-skeleton"),f=n("el-divider"),r=n("el-form-item"),b=n("el-radio-button"),R=n("el-radio-group"),T=n("service-estimation"),V=n("price"),B=n("el-button"),U=n("el-form"),M=n("el-card");return a(),d(h,{class:"panel"},{default:i(()=>[o(m,{span:24},{default:i(()=>[o(h,null,{default:i(()=>[o(m,{span:24},{default:i(()=>[$("h2",ke,t(e.$t("common.title.buyMore")),1)]),_:1})]),_:1}),o(h,null,{default:i(()=>[o(m,{span:24},{default:i(()=>[o(M,{shadow:"hover",class:"min-h-[500px]"},{default:i(()=>[o(h,null,{default:i(()=>[o(m,{span:16,offset:4},{default:i(()=>[e.loading?(a(),d(c,{key:0})):e.application?(a(),d(U,{key:1,"label-width":"100px"},{default:i(()=>[e.application?.service?l("",!0):(a(),s("div",$e,[$("p",_e,t(e.$t("application.message.globalBalanceBuyDescription")),1),o(f,{"border-style":"dashed"})])),e.application?.service?(a(),d(r,{key:1,label:e.$t("application.field.service")},{default:i(()=>[g(t(e.application?.service?.title),1)]),_:1},8,["label"])):(a(),d(r,{key:2,label:e.$t("application.field.scope")},{default:i(()=>[g(t(e.$t("application.title.globalBuy")),1)]),_:1},8,["label"])),o(r,{label:e.$t("application.field.package"),class:"mb-0"},{default:i(()=>[e.packages?(a(),d(R,{key:0,modelValue:e.form.packageId,"onUpdate:modelValue":p[0]||(p[0]=u=>e.form.packageId=u)},{default:i(()=>[(a(!0),s(_,null,v(e.packages,(u,P)=>(a(),d(b,{key:P,label:u.id,class:"mb-2"},{default:i(()=>[w($("span",{class:"corner"},t(e.getDiscount(u)),513),[[D,P!==0]]),g(" "+t(u.amount)+" "+t(e.$t(`service.unit.${e.application?.service?.unit||"credit"}s`)),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):l("",!0)]),_:1},8,["label"]),e.application?.service?.apis&&e.application?.service?.apis?.map(u=>u?.estimation).filter(u=>!!u)?.length>0?(a(),d(r,{key:3},{default:i(()=>[e.application?.service?(a(),d(T,{key:0,service:e.application.service,package:e.package},null,8,["service","package"])):l("",!0)]),_:1})):l("",!0),o(r,{label:e.$t("service.field.price")},{default:i(()=>[o(V,{price:e.package?.price},null,8,["price"]),e.package?(a(),s("span",ve,"("+t(e.getPriceString({value:e.package?.price/e.package?.amount})+" / "+e.$t(`service.unit.${e.application?.service?.unit||"credits"}`))+") ",1)):l("",!0)]),_:1},8,["label"]),o(f,{"border-style":"dashed"}),o(r,{label:e.$t("application.field.shouldPayPrice")},{default:i(()=>[e.package?(a(),s("span",{key:0,class:N({price:!0,unfree:e.package?.price>0,free:e.package?.price===0})},t(e.getPriceString({value:e.package?.price})),3)):(a(),s("span",be," $ 0 "))]),_:1},8,["label"]),o(r,null,{default:i(()=>[o(B,{type:"primary",size:"large",class:"btn-create",loading:e.creating,round:"",onClick:e.onCreateOrder},{default:i(()=>[g(t(e.$t("application.button.createOrder")),1)]),_:1},8,["loading","onClick"])]),_:1}),o(f,{"border-style":"dashed"}),w(o(r,{label:""},{default:i(()=>[$("span",null,t(e.$t("console.message.doNotWantExtra")),1),o(B,{type:"primary",class:"btn btn-subscribe",round:"",size:"small",onClick:e.onSubscribe},{default:i(()=>[g(t(e.$t("console.message.subscribe")),1)]),_:1},8,["onClick"])]),_:1},512),[[D,!1]])]),_:1})):l("",!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Ne=y(fe,[["render",ye],["__scopeId","data-v-b665d4b5"]]);export{Ne as default};
1
+ import{I as A}from"./api-Ch0ZHArw.js";import{_ as y,ad as q,ae as F,aa as z}from"./index-CFwKXwDS.js";import"./vendor-Bf_m-mDd.js";import{g as E}from"./price-DkXHaDUs.js";import{d as S,c as s,Z as t,o as a,F as _,ai as v,W as l,Y as g,R as d,S as i,l as o,al as n,a as $,U as w,V as N,_ as D}from"./vendor-vue-Bb02XvLT.js";import{o as L}from"./order-nid2xuQ1.js";import{z as G,A as W,m as j,o as H,H as Y,I as Z,s as J,w as K,x as Q,G as X,r as x}from"./vendor-element-plus-DMm68DKM.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";const ee=S({name:"ApiPrice",props:{price:{type:Number,required:!1,default:0},unit:{type:String,required:!1,default:void 0},start:{type:Boolean,required:!1,default:!1}},methods:{getPriceString:E}}),ae={class:"price-text"},te={key:0,class:"unfree"},ie={key:1,class:"free"};function se(e,p,k,C,I,O){return a(),s("div",ae,[e.price>0?(a(),s("span",te,t(e.getPriceString({value:e.price}))+" "+t(e.unit?` / ${e.unit}`:"")+t(e.start?e.$t("common.message.startPrice"):""),1)):(a(),s("span",ie,t(e.$t("common.message.free")),1))])}const oe=y(ee,[["render",se],["__scopeId","data-v-bb068181"]]),re=S({name:"ServiceEstimation",components:{},props:{service:{type:Object,required:!0},package:{type:Object,required:!0}},methods:{getPriceString:E}}),ne={class:"estimation"},le={key:0,class:"item"},pe={key:0},ce={key:1},ue={key:2},de={key:0},me={key:1};function he(e,p,k,C,I,O){return a(),s("div",ne,[(a(!0),s(_,null,v(e.service?.apis,(m,h)=>(a(),s("div",{key:h},[(a(!0),s(_,null,v(m?.estimation,(c,f)=>(a(),s("div",{key:f,class:"items"},[e.package?.amount&&c?.cost?(a(),s("p",le,[g(" ≈ "+t(c.name)+" "+t(Math.round(e.package.amount/c.cost))+" "+t(e.$t("api.unit.count"))+" ",1),e.package.price>0?(a(),s("span",pe," - "+t(e.getPriceString({value:e.package.price/(e.package.amount/c.cost),fractionDigits:3})+" / "+e.$t("api.unit.count")),1)):l("",!0),c.remark?(a(),s("span",ce," ("+t(c.remark)+") ",1)):l("",!0),c?.comparisons?.length>0?(a(),s("span",ue," - ")):l("",!0),(a(!0),s(_,null,v(c?.comparisons,(r,b)=>(a(),s("span",{key:b,class:"comparison"},[r?.value<0?(a(),s("i",de,t(e.$t("api.message.cheaperThan").replace("$[[value]]",r?.target?.toString()))+" "+t(Math.abs(r?.value)*100)+"% ",1)):l("",!0),r?.value>0?(a(),s("i",me,t(e.$t("api.message.moreExpensiveThan").replace("$[[value]]",r?.target?.toString()))+" "+t(Math.abs(r?.value)*100)+"% ",1)):l("",!0)]))),128))])):l("",!0)]))),128))]))),128))])}const ge=y(re,[["render",he],["__scopeId","data-v-370bc975"]]),fe=S({name:"ConsoleApplicationBuy",components:{ElSkeleton:X,ElRow:Q,ElCol:K,ElCard:J,ElForm:Z,ElFormItem:Y,ElButton:H,ElDivider:j,ElRadioGroup:W,ElRadioButton:G,Price:oe,ServiceEstimation:ge},data(){return{lang:this.$i18n.locale,application:void 0,loading:!1,type:A.USAGE,form:{packageId:void 0,amount:void 0},creating:!1}},computed:{applicationId(){return this.$route.params?.id?.toString()},id(){return this.$route.params?.id?.toString()},price(){return this.application?.service?.price&&this.form.amount?this.form.amount*this.application.service?.price:0},packages(){return this.application?.packages?.filter(e=>e.type===A.USAGE).sort((e,p)=>e.amount-p.amount)||[]},package(){if(this.packages&&this.form.packageId){const e=this.packages.filter(p=>p.id===this.form.packageId);if(e.length>0)return e[0]}}},mounted(){this.onFetchApplication()},methods:{getDiscount(e){return this.packages&&this.packages.length>0?this.lang?.startsWith("zh")?(10*e?.price/e?.amount/(this.packages[0].price/this.packages[0]?.amount)).toFixed(1)+"折":Math.round(100-100*e?.price/e?.amount/(this.packages[0].price/this.packages[0]?.amount))+"% OFF":""},onSubscribe(){this.$router.push({name:F,params:this.$route.params})},getPriceString:E,onFetchApplication(){this.loading=!0,z.get(this.id).then(({data:e})=>{this.application=e,this.loading=!1,this.form.packageId=this.packages?.[0]?.id}).catch(()=>{this.loading=!1})},onChangeType(){this.$router.push({name:F,params:this.$route.params})},onCreateOrder(){if(!this.application?.id)return;this.creating=!0;const e=this.$t(`service.unit.${this.application?.service?.unit}s`);L.create({application_id:this.application?.id,amount:this.package?.amount,...this.form.packageId!=="custom"&&this.package?{package_id:this.package.id}:{},description:this.application?.service?`${this.application?.service?.title} x ${this.package?.amount} ${e}`:this.$t("application.title.globalBuy")+" - "+this.package?.amount+" "+this.$t("service.unit.credits")}).then(({data:p})=>{this.creating=!1;const k=p;this.$router.push({name:q,params:{id:k.id}})}).catch(()=>{x.error(this.$t("order.message.createFailed")),this.creating=!1})}}}),ke={class:"title"},$e={key:0},_e={class:"text-[var(--el-text-color-secondary)] text-[12px] mb-3"},ve={key:0,class:"ml-2"},be={key:1,class:N({price:!0,free:!0})};function ye(e,p,k,C,I,O){const m=n("el-col"),h=n("el-row"),c=n("el-skeleton"),f=n("el-divider"),r=n("el-form-item"),b=n("el-radio-button"),R=n("el-radio-group"),T=n("service-estimation"),V=n("price"),B=n("el-button"),U=n("el-form"),M=n("el-card");return a(),d(h,{class:"panel"},{default:i(()=>[o(m,{span:24},{default:i(()=>[o(h,null,{default:i(()=>[o(m,{span:24},{default:i(()=>[$("h2",ke,t(e.$t("common.title.buyMore")),1)]),_:1})]),_:1}),o(h,null,{default:i(()=>[o(m,{span:24},{default:i(()=>[o(M,{shadow:"hover",class:"min-h-[500px]"},{default:i(()=>[o(h,null,{default:i(()=>[o(m,{span:16,offset:4},{default:i(()=>[e.loading?(a(),d(c,{key:0})):e.application?(a(),d(U,{key:1,"label-width":"100px"},{default:i(()=>[e.application?.service?l("",!0):(a(),s("div",$e,[$("p",_e,t(e.$t("application.message.globalBalanceBuyDescription")),1),o(f,{"border-style":"dashed"})])),e.application?.service?(a(),d(r,{key:1,label:e.$t("application.field.service")},{default:i(()=>[g(t(e.application?.service?.title),1)]),_:1},8,["label"])):(a(),d(r,{key:2,label:e.$t("application.field.scope")},{default:i(()=>[g(t(e.$t("application.title.globalBuy")),1)]),_:1},8,["label"])),o(r,{label:e.$t("application.field.package"),class:"mb-0"},{default:i(()=>[e.packages?(a(),d(R,{key:0,modelValue:e.form.packageId,"onUpdate:modelValue":p[0]||(p[0]=u=>e.form.packageId=u)},{default:i(()=>[(a(!0),s(_,null,v(e.packages,(u,P)=>(a(),d(b,{key:P,label:u.id,class:"mb-2"},{default:i(()=>[w($("span",{class:"corner"},t(e.getDiscount(u)),513),[[D,P!==0]]),g(" "+t(u.amount)+" "+t(e.$t(`service.unit.${e.application?.service?.unit||"credit"}s`)),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):l("",!0)]),_:1},8,["label"]),e.application?.service?.apis&&e.application?.service?.apis?.map(u=>u?.estimation).filter(u=>!!u)?.length>0?(a(),d(r,{key:3},{default:i(()=>[e.application?.service?(a(),d(T,{key:0,service:e.application.service,package:e.package},null,8,["service","package"])):l("",!0)]),_:1})):l("",!0),o(r,{label:e.$t("service.field.price")},{default:i(()=>[o(V,{price:e.package?.price},null,8,["price"]),e.package?(a(),s("span",ve,"("+t(e.getPriceString({value:e.package?.price/e.package?.amount})+" / "+e.$t(`service.unit.${e.application?.service?.unit||"credits"}`))+") ",1)):l("",!0)]),_:1},8,["label"]),o(f,{"border-style":"dashed"}),o(r,{label:e.$t("application.field.shouldPayPrice")},{default:i(()=>[e.package?(a(),s("span",{key:0,class:N({price:!0,unfree:e.package?.price>0,free:e.package?.price===0})},t(e.getPriceString({value:e.package?.price})),3)):(a(),s("span",be," $ 0 "))]),_:1},8,["label"]),o(r,null,{default:i(()=>[o(B,{type:"primary",size:"large",class:"btn-create",loading:e.creating,round:"",onClick:e.onCreateOrder},{default:i(()=>[g(t(e.$t("application.button.createOrder")),1)]),_:1},8,["loading","onClick"])]),_:1}),o(f,{"border-style":"dashed"}),w(o(r,{label:""},{default:i(()=>[$("span",null,t(e.$t("console.message.doNotWantExtra")),1),o(B,{type:"primary",class:"btn btn-subscribe",round:"",size:"small",onClick:e.onSubscribe},{default:i(()=>[g(t(e.$t("console.message.subscribe")),1)]),_:1},8,["onClick"])]),_:1},512),[[D,!1]])]),_:1})):l("",!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Ne=y(fe,[["render",ye],["__scopeId","data-v-b665d4b5"]]);export{Ne as default};
@@ -1 +1 @@
1
- import{bG as c}from"./vendor-Bf_m-mDd.js";import{av as p,_ as m}from"./index-J0lRtGSj.js";import{O as f}from"./vendor-element-plus-DMm68DKM.js";import{d,c as a,a as t,W as x,l as o,U as u,al as n,_,Z as g,o as i}from"./vendor-vue-Bb02XvLT.js";const h=d({name:"FilePreview",components:{FontAwesomeIcon:c,ElProgress:f},props:{name:{type:String,required:!0},percentage:{type:Number,required:!1,default:void 0},closable:{type:Boolean,required:!1,default:!0}},emits:["remove"],methods:{isImageUrl:p}}),v={class:"file cursor-pointer relative rounded-[10px] h-[50px] w-[250px] flex flex-row items-center justify-start bg-[var(--el-bg-color)]"},w={class:"left h-[50px] w-[50px] flex items-center justify-center"},y={class:"wrapper relative w-[35px] h-[35px] flex items-center justify-center rounded-[10px] text-white bg-[#10a37f] m-auto"},b={class:"right flex-1 h-[50px] flex items-center justify-start pl-[2px] text-[14px] text-[var(--el-text-color-primary)] truncate"},k={class:"text-xs font-bold truncate"},$={key:0,class:"close absolute cursor-pointer top-[5px] right-[5px] bg-[rgba(0,0,0,0.7)] text-white w-[15px] rounded-full h-[15px] flex text-[10px] text-center items-center justify-center"};function j(e,s,B,C,F,N){const r=n("font-awesome-icon"),l=n("el-progress");return i(),a("div",v,[t("div",w,[t("div",y,[o(r,{icon:"fa-regular fa-file-alt"}),u(o(l,{type:"circle","stroke-width":3,percentage:e.percentage,width:25,class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[25px] h-[25px] z-[10] m-auto"},null,8,["percentage"]),[[_,e.percentage&&e.percentage<100]])])]),t("div",b,[t("span",k,g(e.name),1)]),e.closable?(i(),a("div",$,[o(r,{icon:"fa-solid fa-xmark",class:"icon icon-close",onClick:s[0]||(s[0]=q=>e.$emit("remove"))})])):x("",!0)])}const E=m(h,[["render",j]]);export{E as F};
1
+ import{bG as c}from"./vendor-Bf_m-mDd.js";import{av as p,_ as m}from"./index-CFwKXwDS.js";import{O as f}from"./vendor-element-plus-DMm68DKM.js";import{d,c as a,a as t,W as x,l as o,U as u,al as n,_,Z as g,o as i}from"./vendor-vue-Bb02XvLT.js";const h=d({name:"FilePreview",components:{FontAwesomeIcon:c,ElProgress:f},props:{name:{type:String,required:!0},percentage:{type:Number,required:!1,default:void 0},closable:{type:Boolean,required:!1,default:!0}},emits:["remove"],methods:{isImageUrl:p}}),v={class:"file cursor-pointer relative rounded-[10px] h-[50px] w-[250px] flex flex-row items-center justify-start bg-[var(--el-bg-color)]"},w={class:"left h-[50px] w-[50px] flex items-center justify-center"},y={class:"wrapper relative w-[35px] h-[35px] flex items-center justify-center rounded-[10px] text-white bg-[#10a37f] m-auto"},b={class:"right flex-1 h-[50px] flex items-center justify-start pl-[2px] text-[14px] text-[var(--el-text-color-primary)] truncate"},k={class:"text-xs font-bold truncate"},$={key:0,class:"close absolute cursor-pointer top-[5px] right-[5px] bg-[rgba(0,0,0,0.7)] text-white w-[15px] rounded-full h-[15px] flex text-[10px] text-center items-center justify-center"};function j(e,s,B,C,F,N){const r=n("font-awesome-icon"),l=n("el-progress");return i(),a("div",v,[t("div",w,[t("div",y,[o(r,{icon:"fa-regular fa-file-alt"}),u(o(l,{type:"circle","stroke-width":3,percentage:e.percentage,width:25,class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[25px] h-[25px] z-[10] m-auto"},null,8,["percentage"]),[[_,e.percentage&&e.percentage<100]])])]),t("div",b,[t("span",k,g(e.name),1)]),e.closable?(i(),a("div",$,[o(r,{icon:"fa-solid fa-xmark",class:"icon icon-close",onClick:s[0]||(s[0]=q=>e.$emit("remove"))})])):x("",!0)])}const E=m(h,[["render",j]]);export{E as F};