| @@ -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", | |||
| comingSoon: "Coming Soon", | |||
| }, | |||
| cooperate: { | |||
| title: 'Partner Access', | |||
| api: { | |||
| title: 'API Access' | |||
| }, | |||
| privatization: { | |||
| title: 'Privatization deployment' | |||
| } | |||
| }, | |||
| my: { | |||
| title: 'my', | |||
| }, | |||
| signSucceed: { | |||
| title: "Confirm your email", | |||
| @@ -207,6 +207,18 @@ export default { | |||
| title: "API 接口", | |||
| comingSoon: "敬请期待", | |||
| }, | |||
| cooperate: { | |||
| title: '合作商接入', | |||
| api: { | |||
| title: 'API 接口' | |||
| }, | |||
| privatization: { | |||
| title: '私有化部署' | |||
| } | |||
| }, | |||
| my: { | |||
| title: '我的', | |||
| }, | |||
| signSucceed: { | |||
| title: "确认邮箱", | |||
| @@ -49,6 +49,28 @@ | |||
| </div> | |||
| {{ $t("API.title") }} | |||
| </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> | |||
| @@ -103,6 +125,12 @@ import { useRoute, useRouter } from "vue-router"; | |||
| import { useI18n } from "vue-i18n"; | |||
| import { userInfoModules } from "@/store/modules/userInfo"; | |||
| import { | |||
| Document, | |||
| Menu as IconMenu, | |||
| Location, | |||
| Setting, | |||
| } from '@element-plus/icons-vue' | |||
| const userInfoPinia = userInfoModules(); | |||
| const route = useRoute(); | |||
| @@ -168,7 +196,7 @@ const showTalkUsDialog = ref(false); | |||
| const updateShowTalkUsDialog = (newValue: any) => { | |||
| showTalkUsDialog.value = newValue; | |||
| }; | |||
| //#endregion ------------------------------------ | |||
| //#endregion ----------------------------------- | |||
| //#region 页面跳转 | |||
| function toUserModel() { | |||
| @@ -205,6 +233,7 @@ function toUserModel() { | |||
| color: #fff; | |||
| user-select: none; | |||
| // color: #868593; | |||
| .bottomBtx { | |||
| position: absolute; | |||
| bottom: 30px; | |||
| @@ -241,7 +270,6 @@ function toUserModel() { | |||
| vertical-align: sub; | |||
| } | |||
| } | |||
| &:hover { | |||
| // background: rgba(255, 255, 255, 0.2); | |||
| 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> | |||
| @@ -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: "/", | |||
| @@ -2,6 +2,9 @@ | |||
| export {} | |||
| declare global { | |||
| 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 autoResetRef: typeof import('@vueuse/core')['autoResetRef'] | |||
| const computed: typeof import('vue')['computed'] | |||
| @@ -268,6 +271,9 @@ import { UnwrapRef } from 'vue' | |||
| declare module 'vue' { | |||
| interface ComponentCustomProperties { | |||
| 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 autoResetRef: UnwrapRef<typeof import('@vueuse/core')['autoResetRef']> | |||
| readonly computed: UnwrapRef<typeof import('vue')['computed']> | |||
| @@ -23,10 +23,16 @@ declare module '@vue/runtime-core' { | |||
| ElIcon: typeof import('element-plus/es')['ElIcon'] | |||
| ElInput: typeof import('element-plus/es')['ElInput'] | |||
| 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'] | |||
| ElPagination: typeof import('element-plus/es')['ElPagination'] | |||
| ElSelect: typeof import('element-plus/es')['ElSelect'] | |||
| ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] | |||
| 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'] | |||
| ElUpload: typeof import('element-plus/es')['ElUpload'] | |||
| GithubCorner: typeof import('./../components/GithubCorner/index.vue')['default'] | |||
| @@ -294,6 +294,7 @@ | |||
| @click="clickModelItem(item)" | |||
| > | |||
| <img class="boxCentreImg" :src="item.coverImg" alt="" /> | |||
| <div class="subscript">定制分身</div> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| @@ -499,6 +500,7 @@ | |||
| :placeholder="$t('createVideo.select')" | |||
| style="width: 100%" | |||
| > | |||
| <el-option :value="0" label="定制声音"></el-option> | |||
| <el-option | |||
| v-for="item in soundOptions" | |||
| :key="item.value" | |||
| @@ -1811,6 +1813,7 @@ onMounted(async () => { | |||
| background-color: #fff; | |||
| border-radius: 30px 0 0 0; | |||
| overflow: hidden; | |||
| font-size: 18px; | |||
| } | |||
| .mask { | |||
| position: absolute; | |||
| @@ -2106,6 +2109,17 @@ onMounted(async () => { | |||
| // max-width: 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 { | |||
| 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 { useRoute, useRouter } from "vue-router"; | |||
| import { createOrderApi, createPayApi, getOrderStatusApi } from "@/apis/pay"; | |||
| import vueQr from "vue-qr/src/packages/vue-qr.vue"; | |||
| const route = useRoute(); | |||
| const router = useRouter(); | |||