From ee6b4827fa67c46401100e3188382fb5a0c4d3b5 Mon Sep 17 00:00:00 2001 From: Gsh <15170702455@163.com> Date: Thu, 14 Aug 2025 00:26:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E5=AE=9D=E5=9C=A8=E7=BA=BF=E6=94=AF=E4=BB=98=E3=80=81=E5=A5=97?= =?UTF-8?q?=E9=A4=90=E8=AE=A2=E8=B4=AD=E5=BC=B9=E7=AA=97=E3=80=81=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E6=9D=83=E7=9B=8A=E3=80=81=E6=94=AF=E6=8C=81=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E5=B1=95=E7=A4=BA=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Yi.Ai.Vue3/src/api/index.ts | 1 + Yi.Ai.Vue3/src/api/pay/index.ts | 11 + .../src/components/ModelSelect/index.vue | 1 + .../src/components/ProductPackage/index.vue | 947 ++++++++++++++++++ .../components/SupportModelList.vue | 202 ++++ .../components/Header/components/Avatar.vue | 53 +- Yi.Ai.Vue3/src/pages/payResult/index.vue | 201 ++++ Yi.Ai.Vue3/src/pages/products/index.vue | 151 ++- .../src/routers/modules/staticRouter.ts | 13 + Yi.Ai.Vue3/src/utils/product-package.ts | 20 + Yi.Ai.Vue3/types/components.d.ts | 2 + 11 files changed, 1564 insertions(+), 38 deletions(-) create mode 100644 Yi.Ai.Vue3/src/api/pay/index.ts create mode 100644 Yi.Ai.Vue3/src/components/ProductPackage/index.vue create mode 100644 Yi.Ai.Vue3/src/components/userPersonalCenter/components/SupportModelList.vue create mode 100644 Yi.Ai.Vue3/src/pages/payResult/index.vue create mode 100644 Yi.Ai.Vue3/src/utils/product-package.ts diff --git a/Yi.Ai.Vue3/src/api/index.ts b/Yi.Ai.Vue3/src/api/index.ts index 4e4bb009..e2242928 100644 --- a/Yi.Ai.Vue3/src/api/index.ts +++ b/Yi.Ai.Vue3/src/api/index.ts @@ -1,5 +1,6 @@ export * from './auth'; export * from './chat'; export * from './model'; +export * from './pay'; export * from './session'; export * from './user'; diff --git a/Yi.Ai.Vue3/src/api/pay/index.ts b/Yi.Ai.Vue3/src/api/pay/index.ts new file mode 100644 index 00000000..0df74551 --- /dev/null +++ b/Yi.Ai.Vue3/src/api/pay/index.ts @@ -0,0 +1,11 @@ +import { get, post } from '@/utils/request.ts'; + +// 创建订单并发起支付 +export function createOrder(params: any) { + return post(`/pay/Order`, params).json(); +} + +// 查询订单状态 +export function getOrderStatus(OutTradeNo: any) { + return get(`/pay/OrderStatus?OutTradeNo=${OutTradeNo}`).json(); +} diff --git a/Yi.Ai.Vue3/src/components/ModelSelect/index.vue b/Yi.Ai.Vue3/src/components/ModelSelect/index.vue index 4d78347a..cde2a4b1 100644 --- a/Yi.Ai.Vue3/src/components/ModelSelect/index.vue +++ b/Yi.Ai.Vue3/src/components/ModelSelect/index.vue @@ -56,6 +56,7 @@ async function showPopover() { // 点击 // 处理模型点击 function handleModelClick(item: GetSessionListVO) { + console.log('modelStore.modelList', modelStore.modelList); if (!isModelAvailable(item)) { ElMessageBox.confirm( ` diff --git a/Yi.Ai.Vue3/src/components/ProductPackage/index.vue b/Yi.Ai.Vue3/src/components/ProductPackage/index.vue new file mode 100644 index 00000000..0dd0ace4 --- /dev/null +++ b/Yi.Ai.Vue3/src/components/ProductPackage/index.vue @@ -0,0 +1,947 @@ + + + + + diff --git a/Yi.Ai.Vue3/src/components/userPersonalCenter/components/SupportModelList.vue b/Yi.Ai.Vue3/src/components/userPersonalCenter/components/SupportModelList.vue new file mode 100644 index 00000000..b113a09c --- /dev/null +++ b/Yi.Ai.Vue3/src/components/userPersonalCenter/components/SupportModelList.vue @@ -0,0 +1,202 @@ + + + + + diff --git a/Yi.Ai.Vue3/src/layouts/components/Header/components/Avatar.vue b/Yi.Ai.Vue3/src/layouts/components/Header/components/Avatar.vue index 8609508d..82abc1ce 100644 --- a/Yi.Ai.Vue3/src/layouts/components/Header/components/Avatar.vue +++ b/Yi.Ai.Vue3/src/layouts/components/Header/components/Avatar.vue @@ -5,6 +5,7 @@ import Popover from '@/components/Popover/index.vue'; import SvgIcon from '@/components/SvgIcon/index.vue'; import { useUserStore } from '@/stores'; import { useSessionStore } from '@/stores/modules/session'; +import { showProductPackage } from '@/utils/product-package'; import { getUserProfilePicture, isUserVip } from '@/utils/user'; const router = useRouter(); @@ -63,6 +64,7 @@ const navItems = [ { name: 'apiKey', label: 'API密钥', icon: 'Key' }, { name: 'rechargeLog', label: '充值记录', icon: 'Document' }, { name: 'usageStatistics', label: '用量统计', icon: 'Histogram' }, + // { name: 'usageStatistics2', label: '用量统计2', icon: 'Histogram' }, ]; function openDialog() { dialogVisible.value = true; @@ -163,12 +165,30 @@ function openVipGuide() { } /* 弹出面板 结束 */ +function onProductPackage() { + showProductPackage(); +} +// 直接调用