商务合作修改
This commit is contained in:
@@ -5,17 +5,21 @@
|
||||
<span class="siteName">黄果导航站</span>
|
||||
</div>
|
||||
<div class="optGroup">
|
||||
<SvgIcon name="business" class="business" @click="jumpPage('/mobileBusiness')" />
|
||||
<div class="official" @click="jumpPage('/mobileConnectInfo')">联系官方</div>
|
||||
<SvgIcon name="business" class="business" @click="openTg" />
|
||||
<div class="official" @click="openTg">联系官方</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { useRouter } from 'vue-router';
|
||||
import { OFFICIAL_TG_URL } from '@/utils/index';
|
||||
const router = useRouter();
|
||||
const jumpPage = (path: string) => {
|
||||
router.push(path);
|
||||
};
|
||||
const openTg = () => {
|
||||
window.open(OFFICIAL_TG_URL);
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.advTopOpt {
|
||||
|
||||
@@ -23,14 +23,6 @@ const routes: RouteRecordRaw[] = [
|
||||
title: '隐私政策',
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/mobileConnectInfo',
|
||||
name: 'mobileConnectInfo',
|
||||
component: () => import('@/views/mobile/connectInfo/index.vue'),
|
||||
meta: {
|
||||
title: '联系官方',
|
||||
},
|
||||
},
|
||||
// {
|
||||
// path: '/mobileClassification',
|
||||
// name: 'mobileClassification',
|
||||
@@ -39,14 +31,6 @@ const routes: RouteRecordRaw[] = [
|
||||
// title: '分类列表',
|
||||
// },
|
||||
// },
|
||||
{
|
||||
path: '/mobileBusiness',
|
||||
name: 'mobileBusiness',
|
||||
component: () => import('@/views/mobile/mobileBusiness/index.vue'),
|
||||
meta: {
|
||||
title: '商务合作',
|
||||
},
|
||||
},
|
||||
];
|
||||
const router = createRouter({
|
||||
history: createWebHistory(import.meta.env.BASE_URL),
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
import { RouteRecordRaw } from 'vue-router';
|
||||
import Home from '@/views/pc/home/index.vue'
|
||||
import Contact from '@/views/pc/contact/index.vue'
|
||||
import Privacy from '@/views/pc/privacy/index.vue'
|
||||
import Business from '@/views/pc/business/index.vue'
|
||||
|
||||
// pc端路由
|
||||
const pcRouter: RouteRecordRaw[] = [
|
||||
@@ -14,22 +12,6 @@ const pcRouter: RouteRecordRaw[] = [
|
||||
title: "首页"
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/contact',
|
||||
name: 'contact',
|
||||
component: Contact,
|
||||
meta: {
|
||||
title: "联系"
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/business',
|
||||
name: 'business',
|
||||
component: Business,
|
||||
meta: {
|
||||
title: "联系"
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/privacy',
|
||||
name: 'privacy',
|
||||
|
||||
@@ -85,14 +85,6 @@ export default class AppApi {
|
||||
// return request.post('/ads/click', data);
|
||||
return request.post('/recreation/click', data);
|
||||
}
|
||||
/**
|
||||
* @description 官方联系方式
|
||||
* @param data 参数
|
||||
* @returns
|
||||
*/
|
||||
static getBusiness(data: any): Promise<any> {
|
||||
return request.get('/official/list', data);
|
||||
}
|
||||
/**
|
||||
* @description 福利
|
||||
* @param data 参数
|
||||
|
||||
@@ -25,7 +25,6 @@ export const useConfigStore = defineStore({
|
||||
AUDIO: '',
|
||||
Download: '',
|
||||
},
|
||||
contactInfo: <any>[]
|
||||
};
|
||||
},
|
||||
actions: {
|
||||
@@ -33,9 +32,6 @@ export const useConfigStore = defineStore({
|
||||
saveBaseUrl(url: string) {
|
||||
this.baseUrl = url;
|
||||
},
|
||||
setContactInfo(list: any) {
|
||||
this.contactInfo = list
|
||||
},
|
||||
//保存全局配置
|
||||
saveAppConfig(appConfig: Types.App.ConfigInfo) {
|
||||
this.appConfig = appConfig;
|
||||
|
||||
@@ -208,22 +208,6 @@ const pingErrorPop = (hosts: any) => {
|
||||
}
|
||||
}
|
||||
};
|
||||
const queryContactInfo = async () => {
|
||||
try {
|
||||
let req = {
|
||||
type: 2,
|
||||
};
|
||||
const res: any = await AppApi.getBusiness(req);
|
||||
useConfigStore().setContactInfo(res || []);
|
||||
// console.log(res);
|
||||
// contactInfo
|
||||
// configStore.saveAppConfig(configList);
|
||||
// initSourceInfo(configList.sourceList);
|
||||
// return true;
|
||||
} catch (error) {
|
||||
// return false;
|
||||
}
|
||||
};
|
||||
/**
|
||||
* 初始化
|
||||
*/
|
||||
@@ -272,7 +256,6 @@ const init = async () => {
|
||||
}
|
||||
}
|
||||
}
|
||||
queryContactInfo();
|
||||
//获取配置信息
|
||||
const configOk = await getConfig();
|
||||
globalStore.setVideoRoadLine(configStore.sourceInfo.VID[0]); // 默认选择第一个线路
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
<template>
|
||||
<div class="connectInfo overflow-y-auto">
|
||||
<MobileHeader class="header" />
|
||||
<div class="contentBox">
|
||||
<div class="subTitle">官方联系</div>
|
||||
<div class="connectItem" v-for="(item, index) in contactInfo" :key="index" @click="openPage(OFFICIAL_TG_URL)">
|
||||
<lazyImg class="connectImg" :src="item.officialImg" />
|
||||
<div class="infoBox">
|
||||
<div class="conectName">{{ item.officialName }}</div>
|
||||
<div class="conectDesc">{{ item.officialDesc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<MobileBottom />
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts"></script>
|
||||
<script lang="ts" setup>
|
||||
import { computed } from 'vue';
|
||||
import { useConfigStore } from '@/stores/config';
|
||||
import { OFFICIAL_TG_URL } from '@/utils/index';
|
||||
const configStore = useConfigStore();
|
||||
const contactInfo = computed(() => {
|
||||
return configStore.contactInfo;
|
||||
// return route.query.tid ? homeStore.homeData[0];
|
||||
});
|
||||
const openPage = (url: string) => {
|
||||
window.open(url);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.connectInfo {
|
||||
height: 100vh;
|
||||
.header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 11;
|
||||
}
|
||||
.contentBox {
|
||||
padding: 31px 16px 90px;
|
||||
.subTitle {
|
||||
color: #fff;
|
||||
font-family: 'PingFang SC';
|
||||
font-size: 20px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: 41px; /* 205% */
|
||||
padding-bottom: 7px;
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
||||
margin-bottom: 31px;
|
||||
}
|
||||
.connectItem {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 39.5px;
|
||||
.connectImg {
|
||||
width: 47.5px;
|
||||
height: 47.5px;
|
||||
margin-right: 9.4px;
|
||||
}
|
||||
.infoBox {
|
||||
.conectName {
|
||||
color: #fff;
|
||||
font-family: 'PingFang SC';
|
||||
font-size: 9.945px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: 9.945px; /* 100% */
|
||||
margin-bottom: 5.5px;
|
||||
}
|
||||
.conectDesc {
|
||||
color: #fff;
|
||||
font-family: 'PingFang SC';
|
||||
font-size: 7.735px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 9.945px; /* 128.571% */
|
||||
}
|
||||
}
|
||||
}
|
||||
.connectItem:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,104 +0,0 @@
|
||||
<template>
|
||||
<div class="connectInfo overflow-y-auto">
|
||||
<MobileHeader class="header" />
|
||||
<div class="contentBox">
|
||||
<div class="subTitle">商务合作</div>
|
||||
<div
|
||||
class="connectItem"
|
||||
v-for="(item, index) in state.contactInfo"
|
||||
:key="index"
|
||||
@click="openPage(OFFICIAL_TG_URL)"
|
||||
>
|
||||
<lazyImg class="connectImg" :src="item.officialImg" />
|
||||
<div class="conectName">{{ item.officialName }}:</div>
|
||||
<div class="conectDesc">点击这里</div>
|
||||
</div>
|
||||
</div>
|
||||
<MobileBottom />
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts"></script>
|
||||
<script lang="ts" setup>
|
||||
import { reactive } from 'vue';
|
||||
import AppApi from '@/service/app';
|
||||
import { OFFICIAL_TG_URL } from '@/utils/index';
|
||||
const state = reactive({
|
||||
contactInfo: <any>[],
|
||||
});
|
||||
const queryContactInfo = async () => {
|
||||
try {
|
||||
let req = {
|
||||
type: 3,
|
||||
};
|
||||
const res: any = await AppApi.getBusiness(req);
|
||||
state.contactInfo = res || [];
|
||||
} catch (error) {
|
||||
// return false;
|
||||
}
|
||||
};
|
||||
queryContactInfo();
|
||||
const openPage = (url: string) => {
|
||||
window.open(url);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.connectInfo {
|
||||
height: 100vh;
|
||||
.header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 11;
|
||||
}
|
||||
.contentBox {
|
||||
padding: 31px 16px 90px;
|
||||
.subTitle {
|
||||
color: #fff;
|
||||
font-family: 'PingFang SC';
|
||||
font-size: 20px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: 41px; /* 205% */
|
||||
padding-bottom: 7px;
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
||||
margin-bottom: 31px;
|
||||
}
|
||||
.connectItem {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 39.5px;
|
||||
.connectImg {
|
||||
width: 47.5px;
|
||||
height: 47.5px;
|
||||
margin-right: 9.4px;
|
||||
}
|
||||
.conectName {
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-family: 'PingFang SC';
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: 10.047px; /* 71.761% */
|
||||
}
|
||||
.conectDesc {
|
||||
color: var(--Style, #ffcd3f);
|
||||
font-family: 'PingFang SC';
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: 10.047px;
|
||||
text-decoration-line: underline;
|
||||
text-decoration-style: solid;
|
||||
text-decoration-skip-ink: auto;
|
||||
text-decoration-thickness: auto;
|
||||
text-underline-offset: auto;
|
||||
text-underline-position: from-font;
|
||||
}
|
||||
}
|
||||
.connectItem:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,77 +0,0 @@
|
||||
<template>
|
||||
<div class="contact">
|
||||
<div class="title">商务合作</div>
|
||||
<div class="contact-list">
|
||||
<div class="item" v-for="(item, index) in state.contactInfo" :key="index" @click="openPage(OFFICIAL_TG_URL)">
|
||||
<lazyImg class="connectImg" :src="item.officialImg" />
|
||||
<div class="text">
|
||||
<p class="name">{{ item.officialName }}</p>
|
||||
<p class="described">{{ item.officialDesc }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { reactive } from 'vue';
|
||||
import AppApi from '@/service/app';
|
||||
import { OFFICIAL_TG_URL } from '@/utils/index';
|
||||
const state = reactive({
|
||||
contactInfo: <any>[],
|
||||
});
|
||||
const queryContactInfo = async () => {
|
||||
try {
|
||||
let req = {
|
||||
type: 3,
|
||||
};
|
||||
const res: any = await AppApi.getBusiness(req);
|
||||
state.contactInfo = res || [];
|
||||
} catch (error) {
|
||||
}
|
||||
};
|
||||
queryContactInfo();
|
||||
const openPage = (url: string) => {
|
||||
window.open(url);
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@media (min-width: 768px) {
|
||||
.contact {
|
||||
color: #fff;
|
||||
width: 1104px;
|
||||
margin: 112px auto 0;
|
||||
padding-bottom: 70px;
|
||||
.title {
|
||||
color: #FFF;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
line-height: 41px;
|
||||
}
|
||||
.contact-list {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding-top: 61px;
|
||||
.item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.connectImg {
|
||||
width: 86px;
|
||||
height: 86px;
|
||||
border-radius: 50%;
|
||||
margin-right: 17px;
|
||||
}
|
||||
.name {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.described {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,67 +0,0 @@
|
||||
<template>
|
||||
<div class="contact">
|
||||
<div class="title">官方联系</div>
|
||||
<div class="contact-list">
|
||||
<div class="item" v-for="(item, index) in contactInfo" :key="index" @click="openPage(OFFICIAL_TG_URL)">
|
||||
<lazyImg class="connectImg" :src="item.officialImg" />
|
||||
<div class="text">
|
||||
<p class="name">{{ item.officialName }}</p>
|
||||
<p class="described">{{ item.officialDesc }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { computed } from 'vue';
|
||||
import { useConfigStore } from '@/stores/config';
|
||||
import { OFFICIAL_TG_URL } from '@/utils/index';
|
||||
const configStore = useConfigStore();
|
||||
const contactInfo = computed(() => {
|
||||
return configStore.contactInfo;
|
||||
});
|
||||
const openPage = (url: string) => {
|
||||
window.open(url);
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@media (min-width: 768px) {
|
||||
.contact {
|
||||
color: #fff;
|
||||
width: 1104px;
|
||||
margin: 112px auto 0;
|
||||
padding-bottom: 70px;
|
||||
.title {
|
||||
color: #FFF;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
line-height: 41px;
|
||||
}
|
||||
.contact-list {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding-top: 61px;
|
||||
.item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.connectImg {
|
||||
width: 86px;
|
||||
height: 86px;
|
||||
border-radius: 50%;
|
||||
margin-right: 17px;
|
||||
}
|
||||
.name {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.described {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -9,11 +9,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-list">
|
||||
<div class="item" @click="jumpPage('/business')">
|
||||
<div class="item" @click="openTg">
|
||||
<img class="search" src="@/assets/images/pc/business.png" />
|
||||
<p>商务合作</p>
|
||||
</div>
|
||||
<div class="official" @click="jumpPage('/contact')">联系官方</div>
|
||||
<div class="official" @click="openTg">联系官方</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -29,6 +29,7 @@
|
||||
import { computed } from 'vue'
|
||||
import { getAdItem } from '@/utils/getConfig'
|
||||
import { useRouter } from 'vue-router';
|
||||
import { OFFICIAL_TG_URL } from '@/utils/index';
|
||||
import { useGlobalStore } from '@/stores/global';
|
||||
|
||||
const globalStore = useGlobalStore();
|
||||
@@ -46,6 +47,9 @@ const isShowAdvPopup = computed(() => {
|
||||
const closeHomePopupAdv = () => {
|
||||
globalStore.setHomeAdvFirst();
|
||||
};
|
||||
const openTg = () => {
|
||||
window.open(OFFICIAL_TG_URL)
|
||||
}
|
||||
const jumpPage = (path: string) => {
|
||||
router.push(path)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user