| @@ -0,0 +1,16 @@ | |||||
| import request from "@/utils/request.js"; | |||||
| /** | |||||
| * @description 获取我的列表 | |||||
| * @params | |||||
| * @returns | |||||
| */ | |||||
| export function getData() { | |||||
| return request({ | |||||
| url: ``, | |||||
| method: 'get' | |||||
| }) | |||||
| } | |||||
| @@ -207,6 +207,18 @@ export default { | |||||
| title: "API Access", | title: "API Access", | ||||
| comingSoon: "Coming Soon", | comingSoon: "Coming Soon", | ||||
| }, | }, | ||||
| cooperate: { | |||||
| title: 'Partner Access', | |||||
| api: { | |||||
| title: 'API Access' | |||||
| }, | |||||
| privatization: { | |||||
| title: 'Privatization deployment' | |||||
| } | |||||
| }, | |||||
| my: { | |||||
| title: 'my', | |||||
| }, | |||||
| signSucceed: { | signSucceed: { | ||||
| title: "Confirm your email", | title: "Confirm your email", | ||||
| @@ -207,6 +207,18 @@ export default { | |||||
| title: "API 接口", | title: "API 接口", | ||||
| comingSoon: "敬请期待", | comingSoon: "敬请期待", | ||||
| }, | }, | ||||
| cooperate: { | |||||
| title: '合作商接入', | |||||
| api: { | |||||
| title: 'API 接口' | |||||
| }, | |||||
| privatization: { | |||||
| title: '私有化部署' | |||||
| } | |||||
| }, | |||||
| my: { | |||||
| title: '我的', | |||||
| }, | |||||
| signSucceed: { | signSucceed: { | ||||
| title: "确认邮箱", | title: "确认邮箱", | ||||
| @@ -49,6 +49,28 @@ | |||||
| </div> | </div> | ||||
| {{ $t("API.title") }} | {{ $t("API.title") }} | ||||
| </div> | </div> | ||||
| <el-menu | |||||
| default-active="" | |||||
| class="el-menu-vertical-demo" | |||||
| active-text-color="#ffd04b" | |||||
| background-color="#000" | |||||
| text-color="#fff" | |||||
| > | |||||
| <el-sub-menu index="1"> | |||||
| <template #title> | |||||
| <el-icon><location /></el-icon> | |||||
| <span>{{ $t("cooperate.title") }}</span> | |||||
| </template> | |||||
| <el-menu-item-group> | |||||
| <el-menu-item index="1-1">{{ $t("cooperate.api.title") }}</el-menu-item> | |||||
| <el-menu-item index="1-2">{{ $t("cooperate.privatization.title") }} </el-menu-item> | |||||
| </el-menu-item-group> | |||||
| </el-sub-menu> | |||||
| <el-menu-item index="2" @click="router.push('/my')"> | |||||
| <el-icon><icon-menu /></el-icon> | |||||
| <span>我的</span> | |||||
| </el-menu-item> | |||||
| </el-menu> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -103,6 +125,12 @@ import { useRoute, useRouter } from "vue-router"; | |||||
| import { useI18n } from "vue-i18n"; | import { useI18n } from "vue-i18n"; | ||||
| import { userInfoModules } from "@/store/modules/userInfo"; | import { userInfoModules } from "@/store/modules/userInfo"; | ||||
| import { | |||||
| Document, | |||||
| Menu as IconMenu, | |||||
| Location, | |||||
| Setting, | |||||
| } from '@element-plus/icons-vue' | |||||
| const userInfoPinia = userInfoModules(); | const userInfoPinia = userInfoModules(); | ||||
| const route = useRoute(); | const route = useRoute(); | ||||
| @@ -168,7 +196,7 @@ const showTalkUsDialog = ref(false); | |||||
| const updateShowTalkUsDialog = (newValue: any) => { | const updateShowTalkUsDialog = (newValue: any) => { | ||||
| showTalkUsDialog.value = newValue; | showTalkUsDialog.value = newValue; | ||||
| }; | }; | ||||
| //#endregion ------------------------------------ | |||||
| //#endregion ----------------------------------- | |||||
| //#region 页面跳转 | //#region 页面跳转 | ||||
| function toUserModel() { | function toUserModel() { | ||||
| @@ -205,6 +233,7 @@ function toUserModel() { | |||||
| color: #fff; | color: #fff; | ||||
| user-select: none; | user-select: none; | ||||
| // color: #868593; | // color: #868593; | ||||
| .bottomBtx { | .bottomBtx { | ||||
| position: absolute; | position: absolute; | ||||
| bottom: 30px; | bottom: 30px; | ||||
| @@ -241,7 +270,6 @@ function toUserModel() { | |||||
| vertical-align: sub; | vertical-align: sub; | ||||
| } | } | ||||
| } | } | ||||
| &:hover { | &:hover { | ||||
| // background: rgba(255, 255, 255, 0.2); | // background: rgba(255, 255, 255, 0.2); | ||||
| color: #000; | color: #000; | ||||
| @@ -287,4 +315,12 @@ function toUserModel() { | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| .el-menu{ | |||||
| border: none; | |||||
| :deep .el-sub-menu__title, :deep .el-menu-item{ | |||||
| font-size: 20px; | |||||
| font-weight: 500; | |||||
| } | |||||
| } | |||||
| </style> | </style> | ||||
| @@ -125,6 +125,23 @@ export const constantRoutes: RouteRecordRaw[] = [ | |||||
| }, | }, | ||||
| }, | }, | ||||
| ], | ], | ||||
| },{ | |||||
| path: "/", | |||||
| component: Layout, | |||||
| redirect: "/my", | |||||
| children: [ | |||||
| { | |||||
| path: "my", | |||||
| component: () => import("@/views/my/index.vue"), | |||||
| name: "my", | |||||
| meta: { | |||||
| title: "my", | |||||
| icon: "homepage", | |||||
| affix: true, | |||||
| name: "my.title", | |||||
| }, | |||||
| }, | |||||
| ], | |||||
| }, | }, | ||||
| { | { | ||||
| path: "/", | path: "/", | ||||
| @@ -2,6 +2,9 @@ | |||||
| export {} | export {} | ||||
| declare global { | declare global { | ||||
| const EffectScope: typeof import('vue')['EffectScope'] | const EffectScope: typeof import('vue')['EffectScope'] | ||||
| const ElForm: typeof import('element-plus/es')['ElForm'] | |||||
| const ElMessage: typeof import('element-plus/es')['ElMessage'] | |||||
| const ElMessageBox: typeof import('element-plus/es')['ElMessageBox'] | |||||
| const asyncComputed: typeof import('@vueuse/core')['asyncComputed'] | const asyncComputed: typeof import('@vueuse/core')['asyncComputed'] | ||||
| const autoResetRef: typeof import('@vueuse/core')['autoResetRef'] | const autoResetRef: typeof import('@vueuse/core')['autoResetRef'] | ||||
| const computed: typeof import('vue')['computed'] | const computed: typeof import('vue')['computed'] | ||||
| @@ -268,6 +271,9 @@ import { UnwrapRef } from 'vue' | |||||
| declare module 'vue' { | declare module 'vue' { | ||||
| interface ComponentCustomProperties { | interface ComponentCustomProperties { | ||||
| readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']> | readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']> | ||||
| readonly ElForm: UnwrapRef<typeof import('element-plus/es')['ElForm']> | |||||
| readonly ElMessage: UnwrapRef<typeof import('element-plus/es')['ElMessage']> | |||||
| readonly ElMessageBox: UnwrapRef<typeof import('element-plus/es')['ElMessageBox']> | |||||
| readonly asyncComputed: UnwrapRef<typeof import('@vueuse/core')['asyncComputed']> | readonly asyncComputed: UnwrapRef<typeof import('@vueuse/core')['asyncComputed']> | ||||
| readonly autoResetRef: UnwrapRef<typeof import('@vueuse/core')['autoResetRef']> | readonly autoResetRef: UnwrapRef<typeof import('@vueuse/core')['autoResetRef']> | ||||
| readonly computed: UnwrapRef<typeof import('vue')['computed']> | readonly computed: UnwrapRef<typeof import('vue')['computed']> | ||||
| @@ -23,10 +23,16 @@ declare module '@vue/runtime-core' { | |||||
| ElIcon: typeof import('element-plus/es')['ElIcon'] | ElIcon: typeof import('element-plus/es')['ElIcon'] | ||||
| ElInput: typeof import('element-plus/es')['ElInput'] | ElInput: typeof import('element-plus/es')['ElInput'] | ||||
| ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] | ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] | ||||
| ElMenu: typeof import('element-plus/es')['ElMenu'] | |||||
| ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] | |||||
| ElMenuItemGroup: typeof import('element-plus/es')['ElMenuItemGroup'] | |||||
| ElOption: typeof import('element-plus/es')['ElOption'] | ElOption: typeof import('element-plus/es')['ElOption'] | ||||
| ElPagination: typeof import('element-plus/es')['ElPagination'] | ElPagination: typeof import('element-plus/es')['ElPagination'] | ||||
| ElSelect: typeof import('element-plus/es')['ElSelect'] | ElSelect: typeof import('element-plus/es')['ElSelect'] | ||||
| ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] | |||||
| ElSwitch: typeof import('element-plus/es')['ElSwitch'] | ElSwitch: typeof import('element-plus/es')['ElSwitch'] | ||||
| ElTable: typeof import('element-plus/es')['ElTable'] | |||||
| ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] | |||||
| ElTooltip: typeof import('element-plus/es')['ElTooltip'] | ElTooltip: typeof import('element-plus/es')['ElTooltip'] | ||||
| ElUpload: typeof import('element-plus/es')['ElUpload'] | ElUpload: typeof import('element-plus/es')['ElUpload'] | ||||
| GithubCorner: typeof import('./../components/GithubCorner/index.vue')['default'] | GithubCorner: typeof import('./../components/GithubCorner/index.vue')['default'] | ||||
| @@ -294,6 +294,7 @@ | |||||
| @click="clickModelItem(item)" | @click="clickModelItem(item)" | ||||
| > | > | ||||
| <img class="boxCentreImg" :src="item.coverImg" alt="" /> | <img class="boxCentreImg" :src="item.coverImg" alt="" /> | ||||
| <div class="subscript">定制分身</div> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -499,6 +500,7 @@ | |||||
| :placeholder="$t('createVideo.select')" | :placeholder="$t('createVideo.select')" | ||||
| style="width: 100%" | style="width: 100%" | ||||
| > | > | ||||
| <el-option :value="0" label="定制声音"></el-option> | |||||
| <el-option | <el-option | ||||
| v-for="item in soundOptions" | v-for="item in soundOptions" | ||||
| :key="item.value" | :key="item.value" | ||||
| @@ -1811,6 +1813,7 @@ onMounted(async () => { | |||||
| background-color: #fff; | background-color: #fff; | ||||
| border-radius: 30px 0 0 0; | border-radius: 30px 0 0 0; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| font-size: 18px; | |||||
| } | } | ||||
| .mask { | .mask { | ||||
| position: absolute; | position: absolute; | ||||
| @@ -2106,6 +2109,17 @@ onMounted(async () => { | |||||
| // max-width: 200px; | // max-width: 200px; | ||||
| // max-height: 200px; | // max-height: 200px; | ||||
| } | } | ||||
| .subscript{ | |||||
| border-radius: 4px 4px 4px 0px; | |||||
| color: #fff; | |||||
| padding: 2px 6px; | |||||
| font-size: 10px; | |||||
| line-height: 16px; | |||||
| background: #EA3447; | |||||
| position: absolute; | |||||
| left: 0; | |||||
| top: 0; | |||||
| } | |||||
| } | } | ||||
| .modeListBoxItmeActive { | .modeListBoxItmeActive { | ||||
| border: 3px solid #7264f5; | border: 3px solid #7264f5; | ||||
| @@ -0,0 +1,43 @@ | |||||
| <template> | |||||
| <el-table :data="tableData" stripe style="width: 100%"> | |||||
| <el-table-column prop="date" label="我的充值订单" width="180" /> | |||||
| <el-table-column prop="name" label="扣币订单" width="180" /> | |||||
| <el-table-column prop="address" label="当前币值" /> | |||||
| </el-table> | |||||
| </template> | |||||
| <script lang="ts" setup> | |||||
| import { getData } from "@/apis/my"; | |||||
| const tableData = [ | |||||
| { | |||||
| date: '2016-05-03', | |||||
| name: 'Tom', | |||||
| address: 'No. 189, Grove St, Los Angeles', | |||||
| }, | |||||
| { | |||||
| date: '2016-05-02', | |||||
| name: 'Tom', | |||||
| address: 'No. 189, Grove St, Los Angeles', | |||||
| }, | |||||
| { | |||||
| date: '2016-05-04', | |||||
| name: 'Tom', | |||||
| address: 'No. 189, Grove St, Los Angeles', | |||||
| }, | |||||
| { | |||||
| date: '2016-05-01', | |||||
| name: 'Tom', | |||||
| address: 'No. 189, Grove St, Los Angeles', | |||||
| }, | |||||
| ] | |||||
| const packageList = ref([]); | |||||
| async function getPackageList() { | |||||
| const res = await getData(); | |||||
| packageList.value = res.data; | |||||
| } | |||||
| onMounted(async () => { | |||||
| getPackageList(); | |||||
| // createOrderFunc(); | |||||
| }); | |||||
| </script> | |||||
| @@ -358,7 +358,6 @@ import { useI18n } from "vue-i18n"; | |||||
| import talkUs from "@/components/talkUs.vue"; | import talkUs from "@/components/talkUs.vue"; | ||||
| import { useRoute, useRouter } from "vue-router"; | import { useRoute, useRouter } from "vue-router"; | ||||
| import { createOrderApi, createPayApi, getOrderStatusApi } from "@/apis/pay"; | import { createOrderApi, createPayApi, getOrderStatusApi } from "@/apis/pay"; | ||||
| import vueQr from "vue-qr/src/packages/vue-qr.vue"; | |||||
| const route = useRoute(); | const route = useRoute(); | ||||
| const router = useRouter(); | const router = useRouter(); | ||||