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