@@ -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(); | ||||