diff --git a/src/api/cert.ts b/src/api/cert.ts new file mode 100644 index 0000000..8a10d1b --- /dev/null +++ b/src/api/cert.ts @@ -0,0 +1,24 @@ +import axios from 'axios'; + +export interface ModelData { + modelName: string; + modelPrice: number; + remark: string; +} + +export interface IndexData { + serverUrl: string; + userKey: string; + serverUrl2: string; + userBalance: number; + userBalanceMonth: number; + modelList: ModelData[]; + pushUrl: string; +} + + +// 获取首页信息 +export function getCertIndex() { + return axios.get('/cert/index'); +} + \ No newline at end of file diff --git a/src/locale/zh-CN.ts b/src/locale/zh-CN.ts index 6700847..e17c5ac 100644 --- a/src/locale/zh-CN.ts +++ b/src/locale/zh-CN.ts @@ -45,6 +45,7 @@ export default { 'navbar.docs': '文档中心', 'navbar.action.locale': '切换为中文', 'menu.pay': '帐户充值 ', + 'menu.model': '模型定价', ...localeSettings, ...localeMessageBox, diff --git a/src/router/routes/modules/dashboard.ts b/src/router/routes/modules/dashboard.ts index ea9a739..d2edfd0 100644 --- a/src/router/routes/modules/dashboard.ts +++ b/src/router/routes/modules/dashboard.ts @@ -42,6 +42,15 @@ const DASHBOARD: AppRouteRecordRaw = { requiresAuth: true, } }, + { + path: 'model', + name: 'Model', + component: () => import('@/views/api2gpt/model/index.vue'), + meta: { + locale: 'menu.model', + requiresAuth: true, + } + }, { path: 'pay', name: 'Pay', diff --git a/src/store/modules/user/index.ts b/src/store/modules/user/index.ts index 2c9316e..b2c5f1e 100644 --- a/src/store/modules/user/index.ts +++ b/src/store/modules/user/index.ts @@ -12,6 +12,7 @@ import useAppStore from '../app'; const useUserStore = defineStore('user', { state: (): UserState => ({ + userName: undefined, name: undefined, avatar: undefined, job: undefined, @@ -45,6 +46,7 @@ const useUserStore = defineStore('user', { }, // Set user's information setInfo(partial: Partial) { + console.log('setInfo', partial); this.$patch(partial); }, @@ -56,7 +58,6 @@ const useUserStore = defineStore('user', { // Get user's information async info() { const res = await getUserInfo(); - this.setInfo(res.data); }, diff --git a/src/views/api2gpt/main/components/banner.vue b/src/views/api2gpt/main/components/banner.vue new file mode 100644 index 0000000..1b605d1 --- /dev/null +++ b/src/views/api2gpt/main/components/banner.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/views/api2gpt/main/components/data-panel.vue b/src/views/api2gpt/main/components/data-panel.vue new file mode 100644 index 0000000..b2b2b37 --- /dev/null +++ b/src/views/api2gpt/main/components/data-panel.vue @@ -0,0 +1,139 @@ + + + + + + + diff --git a/src/views/api2gpt/main/index.vue b/src/views/api2gpt/main/index.vue index eb25c56..d5890ed 100644 --- a/src/views/api2gpt/main/index.vue +++ b/src/views/api2gpt/main/index.vue @@ -1,61 +1,130 @@ - - + - - - - \ No newline at end of file + + :deep(.icon) { + display: inline-block; + width: 32px; + height: 32px; + margin-bottom: 4px; + color: rgb(var(--dark-gray-1)); + line-height: 32px; + font-size: 16px; + text-align: center; + background-color: rgb(var(--gray-1)); + border-radius: 4px; + } + } + + + diff --git a/src/views/api2gpt/model/index.vue b/src/views/api2gpt/model/index.vue new file mode 100644 index 0000000..dd4f1a5 --- /dev/null +++ b/src/views/api2gpt/model/index.vue @@ -0,0 +1,86 @@ + + + + + + diff --git a/src/views/dashboard/workplace/components/banner.vue b/src/views/dashboard/workplace/components/banner.vue index 1b605d1..54dc106 100644 --- a/src/views/dashboard/workplace/components/banner.vue +++ b/src/views/dashboard/workplace/components/banner.vue @@ -15,6 +15,7 @@ const userStore = useUserStore(); const userInfo = computed(() => { + console.log(userStore); return { name: userStore.userName, };