diff --git a/Yi.Ai.Vue3/src/components/userPersonalCenter/NavDialog.vue b/Yi.Ai.Vue3/src/components/userPersonalCenter/NavDialog.vue index f65a58e9..e32be9f8 100644 --- a/Yi.Ai.Vue3/src/components/userPersonalCenter/NavDialog.vue +++ b/Yi.Ai.Vue3/src/components/userPersonalCenter/NavDialog.vue @@ -95,8 +95,8 @@ function handleConfirm() { diff --git a/Yi.Ai.Vue3/src/components/userPersonalCenter/components/APIKeyManagement.vue b/Yi.Ai.Vue3/src/components/userPersonalCenter/components/APIKeyManagement.vue index 4c231ef9..21a7df0d 100644 --- a/Yi.Ai.Vue3/src/components/userPersonalCenter/components/APIKeyManagement.vue +++ b/Yi.Ai.Vue3/src/components/userPersonalCenter/components/APIKeyManagement.vue @@ -3,7 +3,7 @@ import { CircleCheck } from '@element-plus/icons-vue'; import { ElMessage, ElMessageBox } from 'element-plus'; import { onMounted, ref } from 'vue'; import { useRouter } from 'vue-router'; -import { applyApiKey, getApiKey } from '@/api/model/index.ts'; +import { applyApiKey, getApiKey, getRechargeLog } from '@/api/model/index.ts'; import { isUserVip } from '@/utils/user'; const apiKey = ref(''); @@ -20,6 +20,8 @@ const router = useRouter(); async function fetchApiKey() { try { const res = await getApiKey(); + const res2 = await getRechargeLog(); + console.log('re2', res2); if (res.data?.apiKey) { apiKey.value = res.data.apiKey; displayedKey.value = res.data.apiKey; diff --git a/Yi.Ai.Vue3/src/components/userPersonalCenter/components/RechargeLog.vue b/Yi.Ai.Vue3/src/components/userPersonalCenter/components/RechargeLog.vue new file mode 100644 index 00000000..61d1f123 --- /dev/null +++ b/Yi.Ai.Vue3/src/components/userPersonalCenter/components/RechargeLog.vue @@ -0,0 +1,317 @@ + + + + + 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 90cff3d6..f28a923c 100644 --- a/Yi.Ai.Vue3/src/layouts/components/Header/components/Avatar.vue +++ b/Yi.Ai.Vue3/src/layouts/components/Header/components/Avatar.vue @@ -65,6 +65,7 @@ const navItems = [ // { name: 'role', label: '角色管理', icon: 'Avatar' }, // { name: 'permission', label: '权限管理', icon: 'Key' }, { name: 'apiKey', label: 'API密钥', icon: 'Key' }, + { name: 'rechargeLog', label: '充值记录', icon: 'Document' }, ]; function openDialog() { dialogVisible.value = true; @@ -266,7 +267,7 @@ function openVipGuide() { @@ -277,6 +278,9 @@ function openVipGuide() { + diff --git a/Yi.Ai.Vue3/types/components.d.ts b/Yi.Ai.Vue3/types/components.d.ts index ece2a161..b0f53b00 100644 --- a/Yi.Ai.Vue3/types/components.d.ts +++ b/Yi.Ai.Vue3/types/components.d.ts @@ -19,6 +19,8 @@ declare module 'vue' { ElCollapse: typeof import('element-plus/es')['ElCollapse'] ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem'] ElContainer: typeof import('element-plus/es')['ElContainer'] + ElDescriptions: typeof import('element-plus/es')['ElDescriptions'] + ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem'] ElDialog: typeof import('element-plus/es')['ElDialog'] ElDivider: typeof import('element-plus/es')['ElDivider'] ElEmpty: typeof import('element-plus/es')['ElEmpty'] @@ -31,6 +33,7 @@ declare module 'vue' { ElMain: typeof import('element-plus/es')['ElMain'] ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] + ElPagination: typeof import('element-plus/es')['ElPagination'] ElTable: typeof import('element-plus/es')['ElTable'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] @@ -43,6 +46,7 @@ declare module 'vue' { NavDialog: typeof import('./../src/components/userPersonalCenter/NavDialog.vue')['default'] Popover: typeof import('./../src/components/Popover/index.vue')['default'] QrCodeLogin: typeof import('./../src/components/LoginDialog/components/QrCodeLogin/index.vue')['default'] + RechargeLog: typeof import('./../src/components/userPersonalCenter/components/RechargeLog.vue')['default'] RegistrationForm: typeof import('./../src/components/LoginDialog/components/FormLogin/RegistrationForm.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView']