refactor: optimize the code
This commit is contained in:
parent
934796b15e
commit
325057d197
@ -15,7 +15,7 @@
|
|||||||
<dy-back mode="dark" img="close" direction="right" style="opacity: 0" />
|
<dy-back mode="dark" img="close" direction="right" style="opacity: 0" />
|
||||||
<div class="num">{{ _formatNumber(comments.length) }}条评论</div>
|
<div class="num">{{ _formatNumber(comments.length) }}条评论</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<Icon icon="prime:arrow-up-right-and-arrow-down-left-from-center" @click.stop="$no" />
|
<Icon icon="prime:arrow-up-right-and-arrow-down-left-from-center" @click.stop="_no" />
|
||||||
<Icon icon="ic:round-close" @click.stop="cancel" />
|
<Icon icon="ic:round-close" @click.stop="cancel" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -157,7 +157,7 @@
|
|||||||
<AutoInput v-model="comment" placeholder="善语结善缘,恶言伤人心"></AutoInput>
|
<AutoInput v-model="comment" placeholder="善语结善缘,恶言伤人心"></AutoInput>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<img src="../assets/img/icon/message/call.png" @click="isCall = !isCall" />
|
<img src="../assets/img/icon/message/call.png" @click="isCall = !isCall" />
|
||||||
<img src="../assets/img/icon/message/emoji-black.png" @click="$no" />
|
<img src="../assets/img/icon/message/emoji-black.png" @click="_no" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<img v-if="comment" src="../assets/img/icon/message/up.png" @click="send" />
|
<img v-if="comment" src="../assets/img/icon/message/up.png" @click="send" />
|
||||||
@ -178,9 +178,9 @@ import FromBottomDialog from './dialog/FromBottomDialog.vue'
|
|||||||
import Loading from './Loading.vue'
|
import Loading from './Loading.vue'
|
||||||
import Search from './Search.vue'
|
import Search from './Search.vue'
|
||||||
import {
|
import {
|
||||||
$no,
|
|
||||||
_checkImgUrl,
|
_checkImgUrl,
|
||||||
_formatNumber,
|
_formatNumber,
|
||||||
|
_no,
|
||||||
_showSelectDialog,
|
_showSelectDialog,
|
||||||
_sleep,
|
_sleep,
|
||||||
_time,
|
_time,
|
||||||
@ -251,10 +251,10 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted() {},
|
mounted() {},
|
||||||
methods: {
|
methods: {
|
||||||
|
_no,
|
||||||
_time,
|
_time,
|
||||||
_formatNumber,
|
_formatNumber,
|
||||||
_checkImgUrl,
|
_checkImgUrl,
|
||||||
$no,
|
|
||||||
async handShowChildren(item) {
|
async handShowChildren(item) {
|
||||||
this.loadChildrenItemCId = item.comment_id
|
this.loadChildrenItemCId = item.comment_id
|
||||||
this.loadChildren = true
|
this.loadChildren = true
|
||||||
@ -370,7 +370,7 @@ export default {
|
|||||||
|
|
||||||
.comment {
|
.comment {
|
||||||
color: #000;
|
color: #000;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
height: v-bind(height);
|
height: v-bind(height);
|
||||||
background: #fff;
|
background: #fff;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
@ -529,7 +529,7 @@ export default {
|
|||||||
border-radius: 10rem 10rem 0 0;
|
border-radius: 10rem 10rem 0 0;
|
||||||
background: white;
|
background: white;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
|
|
||||||
@ -601,7 +601,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.auto-input {
|
.auto-input {
|
||||||
width: calc(100vw - 180rem);
|
width: calc(100% - 180rem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -16,23 +16,23 @@
|
|||||||
<div class="toolbar">
|
<div class="toolbar">
|
||||||
<div class="title">分享到</div>
|
<div class="title">分享到</div>
|
||||||
<div class="shares">
|
<div class="shares">
|
||||||
<div class="share-to" @click="$no">
|
<div class="share-to" @click="_no">
|
||||||
<img src="../assets/img/icon/components/video/toqq.webp" alt="" />
|
<img src="../assets/img/icon/components/video/toqq.webp" alt="" />
|
||||||
<span>QQ好友</span>
|
<span>QQ好友</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="share-to" @click="$no">
|
<div class="share-to" @click="_no">
|
||||||
<img src="../assets/img/icon/components/video/tozone.webp" alt="" />
|
<img src="../assets/img/icon/components/video/tozone.webp" alt="" />
|
||||||
<span>QQ空间</span>
|
<span>QQ空间</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="share-to" @click="$no">
|
<div class="share-to" @click="_no">
|
||||||
<img src="../assets/img/icon/components/video/towechatchat.webp" alt="" />
|
<img src="../assets/img/icon/components/video/towechatchat.webp" alt="" />
|
||||||
<span>微信好友</span>
|
<span>微信好友</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="share-to" @click="$no">
|
<div class="share-to" @click="_no">
|
||||||
<img src="../assets/img/icon/components/video/towechat.webp" alt="" />
|
<img src="../assets/img/icon/components/video/towechat.webp" alt="" />
|
||||||
<span>朋友圈</span>
|
<span>朋友圈</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="share-to" @click="$no">
|
<div class="share-to" @click="_no">
|
||||||
<img src="../assets/img/icon/components/video/todownload.webp" alt="" />
|
<img src="../assets/img/icon/components/video/todownload.webp" alt="" />
|
||||||
<span>保存到相册</span>
|
<span>保存到相册</span>
|
||||||
</div>
|
</div>
|
||||||
@ -43,7 +43,7 @@
|
|||||||
</transition>
|
</transition>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { _checkImgUrl } from '@/utils'
|
import { _checkImgUrl, _no } from '@/utils'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DouyinCode',
|
name: 'DouyinCode',
|
||||||
@ -62,6 +62,7 @@ export default {
|
|||||||
computed: {},
|
computed: {},
|
||||||
created() {},
|
created() {},
|
||||||
methods: {
|
methods: {
|
||||||
|
_no,
|
||||||
_checkImgUrl,
|
_checkImgUrl,
|
||||||
cancel() {
|
cancel() {
|
||||||
this.$emit('update:modelValue', false)
|
this.$emit('update:modelValue', false)
|
||||||
|
|||||||
@ -54,11 +54,11 @@
|
|||||||
<Icon icon="humbleicons:link" />
|
<Icon icon="humbleicons:link" />
|
||||||
<span>复制链接</span>
|
<span>复制链接</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="option" @click.stop="$no">
|
<div class="option" @click.stop="_no">
|
||||||
<img class="small" src="../assets/img/icon/components/video/comeonplay.png" alt="" />
|
<img class="small" src="../assets/img/icon/components/video/comeonplay.png" alt="" />
|
||||||
<span>合拍</span>
|
<span>合拍</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="option" @click.stop="$no">
|
<div class="option" @click.stop="_no">
|
||||||
<img class="small" src="../assets/img/icon/components/video/dou.webp" alt="" />
|
<img class="small" src="../assets/img/icon/components/video/dou.webp" alt="" />
|
||||||
<span>帮上热门</span>
|
<span>帮上热门</span>
|
||||||
</div>
|
</div>
|
||||||
@ -74,12 +74,12 @@
|
|||||||
<Icon icon="mingcute:download-fill" />
|
<Icon icon="mingcute:download-fill" />
|
||||||
<span>保存本地</span>
|
<span>保存本地</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="option" @click.stop="$no">
|
<div class="option" @click.stop="_no">
|
||||||
<!--TODO icon不对 -->
|
<!--TODO icon不对 -->
|
||||||
<img class="small" src="../assets/img/icon/components/video/feedback.webp" alt="" />
|
<img class="small" src="../assets/img/icon/components/video/feedback.webp" alt="" />
|
||||||
<span>建群分享</span>
|
<span>建群分享</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="option" @click.stop="$no">
|
<div class="option" @click.stop="_no">
|
||||||
<img class="small" src="../assets/img/icon/components/video/comeonlook.webp" alt="" />
|
<img class="small" src="../assets/img/icon/components/video/comeonlook.webp" alt="" />
|
||||||
<span>一起看视频</span>
|
<span>一起看视频</span>
|
||||||
</div>
|
</div>
|
||||||
@ -91,7 +91,7 @@
|
|||||||
<Icon icon="tabler:photo" />
|
<Icon icon="tabler:photo" />
|
||||||
<span>生成图片</span>
|
<span>生成图片</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="option" @click.stop="$no">
|
<div class="option" @click.stop="_no">
|
||||||
<img class="small" src="../assets/img/icon/components/video/bizhi.webp" alt="" />
|
<img class="small" src="../assets/img/icon/components/video/bizhi.webp" alt="" />
|
||||||
<span>动态壁纸</span>
|
<span>动态壁纸</span>
|
||||||
</div>
|
</div>
|
||||||
@ -111,7 +111,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="mode === 'my-music'">
|
<template v-if="mode === 'my-music'">
|
||||||
<div class="option" @click.stop="$no">
|
<div class="option" @click.stop="_no">
|
||||||
<img class="small" src="../assets/img/icon/components/video/torichang.png" alt="" />
|
<img class="small" src="../assets/img/icon/components/video/torichang.png" alt="" />
|
||||||
<span>转发到日常</span>
|
<span>转发到日常</span>
|
||||||
</div>
|
</div>
|
||||||
@ -128,10 +128,10 @@
|
|||||||
<img class="poster" src="../assets/img/poster/1.jpg" alt="" />
|
<img class="poster" src="../assets/img/poster/1.jpg" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="btns">
|
<div class="btns">
|
||||||
<dy-button type="dark2" radius="7" v-if="selectFriends.length > 1" @click.stop="$no"
|
<dy-button type="dark2" radius="7" v-if="selectFriends.length > 1" @click.stop="_no"
|
||||||
>建群并发送
|
>建群并发送
|
||||||
</dy-button>
|
</dy-button>
|
||||||
<dy-button type="primary" radius="7" @click.stop="$no"
|
<dy-button type="primary" radius="7" @click.stop="_no"
|
||||||
>{{ selectFriends.length > 1 ? '分别发送' : '发送' }}
|
>{{ selectFriends.length > 1 ? '分别发送' : '发送' }}
|
||||||
</dy-button>
|
</dy-button>
|
||||||
</div>
|
</div>
|
||||||
@ -144,7 +144,7 @@
|
|||||||
import { mapState } from 'pinia'
|
import { mapState } from 'pinia'
|
||||||
import FromBottomDialog from './dialog/FromBottomDialog'
|
import FromBottomDialog from './dialog/FromBottomDialog'
|
||||||
import { useBaseStore } from '@/store/pinia'
|
import { useBaseStore } from '@/store/pinia'
|
||||||
import { $no, _copy } from '@/utils'
|
import { _copy, _no, _notice } from '@/utils'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Share',
|
name: 'Share',
|
||||||
@ -196,7 +196,7 @@ export default {
|
|||||||
return {}
|
return {}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
$no,
|
_no,
|
||||||
async copyLink() {
|
async copyLink() {
|
||||||
this.closeShare()
|
this.closeShare()
|
||||||
this.$showLoading()
|
this.$showLoading()
|
||||||
@ -204,7 +204,7 @@ export default {
|
|||||||
this.$hideLoading()
|
this.$hideLoading()
|
||||||
_copy(this.item.share_info.share_link_desc + this.item.share_info.share_url)
|
_copy(this.item.share_info.share_link_desc + this.item.share_info.share_url)
|
||||||
//TODO 抖音样式改了
|
//TODO 抖音样式改了
|
||||||
this.$notice('复制成功')
|
_notice('复制成功')
|
||||||
},
|
},
|
||||||
|
|
||||||
toggleCall(item) {
|
toggleCall(item) {
|
||||||
@ -325,7 +325,7 @@ export default {
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
padding: 20rem;
|
padding: 20rem;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
height: 180rem;
|
height: 180rem;
|
||||||
background: black;
|
background: black;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
<span>求更新</span>
|
<span>求更新</span>
|
||||||
</div>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
<Icon class="icon" icon="ion:search" @click.stop="$no()" />
|
<Icon class="icon" icon="ion:search" @click.stop="_no" />
|
||||||
<Icon class="icon" icon="ri:more-line" @click.stop="emit('showFollowSetting')" />
|
<Icon class="icon" icon="ri:more-line" @click.stop="emit('showFollowSetting')" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -234,7 +234,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { reactive, ref, watch } from 'vue'
|
import { reactive, ref, watch } from 'vue'
|
||||||
import Utils, { $no, _checkImgUrl, _getUserDouyinId } from '@/utils'
|
import Utils, { _checkImgUrl, _getUserDouyinId, _no } from '@/utils'
|
||||||
import { useNav } from '@/utils/hooks/useNav'
|
import { useNav } from '@/utils/hooks/useNav'
|
||||||
import Posters from '@/components/Posters.vue'
|
import Posters from '@/components/Posters.vue'
|
||||||
import { DefaultUser } from '@/utils/const_var'
|
import { DefaultUser } from '@/utils/const_var'
|
||||||
@ -424,8 +424,8 @@ function touchEnd() {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
.resource {
|
.resource {
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
max-height: 100vw;
|
max-height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.download {
|
.download {
|
||||||
@ -443,7 +443,7 @@ function touchEnd() {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
height: calc(var(--vh, 1vh) * 100);
|
height: calc(var(--vh, 1vh) * 100);
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
}
|
}
|
||||||
@ -573,7 +573,7 @@ function touchEnd() {
|
|||||||
.poster {
|
.poster {
|
||||||
border-radius: 4rem;
|
border-radius: 4rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: calc((100vw - 34rem) / 3);
|
height: calc((100% - 34rem) / 3);
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -593,7 +593,7 @@ function touchEnd() {
|
|||||||
.cover {
|
.cover {
|
||||||
height: 220rem;
|
height: 220rem;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
//transition: height .3s;
|
//transition: height .3s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -978,7 +978,7 @@ function touchEnd() {
|
|||||||
.float {
|
.float {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|||||||
@ -387,7 +387,7 @@ export default {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
video {
|
video {
|
||||||
max-width: 100vw;
|
max-width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
transition:
|
transition:
|
||||||
height,
|
height,
|
||||||
|
|||||||
@ -70,7 +70,7 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<Icon icon="heroicons-outline:menu-alt-1" @click="Utils.$no" />
|
<Icon icon="heroicons-outline:menu-alt-1" @click="Utils._no" />
|
||||||
<Icon
|
<Icon
|
||||||
icon="fluent:play-28-filled"
|
icon="fluent:play-28-filled"
|
||||||
v-if="state.status === SlideItemPlayStatus.Pause"
|
v-if="state.status === SlideItemPlayStatus.Pause"
|
||||||
@ -78,7 +78,7 @@
|
|||||||
@click="startPlay"
|
@click="startPlay"
|
||||||
/>
|
/>
|
||||||
<Icon icon="bi:pause-fill" v-else class="pause" @click="stopPlay" />
|
<Icon icon="bi:pause-fill" v-else class="pause" @click="stopPlay" />
|
||||||
<Icon icon="system-uicons:push-down" @click="$notice('已保存到系统相册')" />
|
<Icon icon="system-uicons:push-down" @click="_notice('已保存到系统相册')" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Teleport>
|
</Teleport>
|
||||||
@ -88,7 +88,7 @@
|
|||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
import enums from '../../utils/enums'
|
import enums from '../../utils/enums'
|
||||||
import Utils from '../../utils'
|
import Utils from '../../utils'
|
||||||
import GM, { $notice } from '../../utils'
|
import GM, { _notice } from '../../utils'
|
||||||
import { mat4 } from 'gl-matrix'
|
import { mat4 } from 'gl-matrix'
|
||||||
import { Icon } from '@iconify/vue'
|
import { Icon } from '@iconify/vue'
|
||||||
import {
|
import {
|
||||||
|
|||||||
@ -20,12 +20,12 @@
|
|||||||
class="poster-item"
|
class="poster-item"
|
||||||
:key="index"
|
:key="index"
|
||||||
v-for="(i, index) in modelValue.videos.slice(0, 3)"
|
v-for="(i, index) in modelValue.videos.slice(0, 3)"
|
||||||
@click="globalMethods.$no"
|
@click="_no"
|
||||||
>
|
>
|
||||||
<img class="poster" :src="globalMethods.$imgPreview(i.cover)" />
|
<img class="poster" :src="_checkImgUrl(i.cover)" />
|
||||||
<div class="num">
|
<div class="num">
|
||||||
<img class="love" src="../../assets/img/icon/love.svg" alt="" />
|
<img class="love" src="../../assets/img/icon/love.svg" alt="" />
|
||||||
<span>{{ globalMethods.formatNumber(i.digg_count) }}</span>
|
<span>{{ _formatNumber(i.digg_count) }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -37,7 +37,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import globalMethods from '../../utils'
|
import { _checkImgUrl, _formatNumber, _no } from '../../utils'
|
||||||
import BaseButton from '../BaseButton'
|
import BaseButton from '../BaseButton'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -240,17 +240,12 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
globalMethods
|
|
||||||
}
|
|
||||||
},
|
|
||||||
computed: {},
|
computed: {},
|
||||||
watch: {},
|
watch: {},
|
||||||
created() {
|
created() {
|
||||||
console.log('modelValue', this.modelValue)
|
console.log('modelValue', this.modelValue)
|
||||||
},
|
},
|
||||||
methods: {}
|
methods: { _formatNumber, _checkImgUrl, _no }
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -376,7 +376,7 @@ export default {
|
|||||||
.barrage {
|
.barrage {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
transform: translateX(100vw);
|
transform: translateX(100%);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-size: 12rem;
|
font-size: 12rem;
|
||||||
@ -384,7 +384,7 @@ export default {
|
|||||||
|
|
||||||
@keyframes anim {
|
@keyframes anim {
|
||||||
from {
|
from {
|
||||||
transform: translateX(100vw);
|
transform: translateX(100%);
|
||||||
}
|
}
|
||||||
to {
|
to {
|
||||||
transform: translateX(-100%);
|
transform: translateX(-100%);
|
||||||
@ -467,14 +467,14 @@ export default {
|
|||||||
@import '../../assets/less/index';
|
@import '../../assets/less/index';
|
||||||
|
|
||||||
.LivePage {
|
.LivePage {
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
height: calc(var(--vh, 1vh) * 100);
|
height: calc(var(--vh, 1vh) * 100);
|
||||||
color: white;
|
color: white;
|
||||||
font-size: 14rem;
|
font-size: 14rem;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.live-wrapper {
|
.live-wrapper {
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
height: calc(var(--vh, 1vh) * 100);
|
height: calc(var(--vh, 1vh) * 100);
|
||||||
background: black;
|
background: black;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -487,7 +487,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
height: calc(var(--vh, 1vh) * 100);
|
height: calc(var(--vh, 1vh) * 100);
|
||||||
color: rgb(229, 229, 229);
|
color: rgb(229, 229, 229);
|
||||||
}
|
}
|
||||||
@ -496,7 +496,7 @@ export default {
|
|||||||
.float {
|
.float {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
height: calc(var(--vh, 1vh) * 100);
|
height: calc(var(--vh, 1vh) * 100);
|
||||||
|
|
||||||
@tag-bg: rgba(58, 58, 70, 0.3);
|
@tag-bg: rgba(58, 58, 70, 0.3);
|
||||||
@ -634,7 +634,7 @@ export default {
|
|||||||
.bottom {
|
.bottom {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: var(--page-padding);
|
padding: var(--page-padding);
|
||||||
padding-bottom: 10rem;
|
padding-bottom: 10rem;
|
||||||
|
|||||||
@ -75,11 +75,11 @@
|
|||||||
</Scroll>
|
</Scroll>
|
||||||
</div>
|
</div>
|
||||||
<div class="options">
|
<div class="options">
|
||||||
<div class="l-button white" @click="$no">
|
<div class="l-button white" @click="_no">
|
||||||
<img src="../../assets/img/icon/home/music3.png" alt="" />
|
<img src="../../assets/img/icon/home/music3.png" alt="" />
|
||||||
<span>分享到日常</span>
|
<span>分享到日常</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="l-button primary" @click="$no">
|
<div class="l-button primary" @click="_no">
|
||||||
<img src="../../assets/img/icon/home/record.png" alt="" />
|
<img src="../../assets/img/icon/home/record.png" alt="" />
|
||||||
<span>拍同款</span>
|
<span>拍同款</span>
|
||||||
</div>
|
</div>
|
||||||
@ -130,7 +130,7 @@ import { myVideo } from '@/api/videos'
|
|||||||
import { onDeactivated, onMounted, onUnmounted, reactive, watch } from 'vue'
|
import { onDeactivated, onMounted, onUnmounted, reactive, watch } from 'vue'
|
||||||
import { useRoute, useRouter } from 'vue-router'
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
import { useNav } from '@/utils/hooks/useNav'
|
import { useNav } from '@/utils/hooks/useNav'
|
||||||
import { $no, $notice, _checkImgUrl, _formatNumber } from '@/utils'
|
import { _checkImgUrl, _formatNumber, _no, _notice } from '@/utils'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
@ -203,7 +203,7 @@ async function loadData(init = false) {
|
|||||||
if (data.loading) return
|
if (data.loading) return
|
||||||
if (!init) {
|
if (!init) {
|
||||||
if (data.total <= data.videos.length) {
|
if (data.total <= data.videos.length) {
|
||||||
return $notice('暂时没有更多了')
|
_notice('暂时没有更多了')
|
||||||
}
|
}
|
||||||
data.pageNo++
|
data.pageNo++
|
||||||
}
|
}
|
||||||
@ -376,7 +376,7 @@ function stopPlay() {
|
|||||||
|
|
||||||
.options {
|
.options {
|
||||||
font-size: 14rem;
|
font-size: 14rem;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 20rem;
|
bottom: 20rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@ -305,7 +305,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { computed, onDeactivated, onMounted, onUnmounted, reactive } from 'vue'
|
import { computed, onDeactivated, onMounted, onUnmounted, reactive } from 'vue'
|
||||||
import { $notice, _checkImgUrl, _dateFormat, _duration, _formatNumber } from '@/utils/index.jsx'
|
import { _checkImgUrl, _dateFormat, _duration, _formatNumber, _notice } from '@/utils/index.jsx'
|
||||||
import { useNav } from '@/utils/hooks/useNav'
|
import { useNav } from '@/utils/hooks/useNav'
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
@ -523,9 +523,9 @@ function scroll(e) {
|
|||||||
function toggleCollect(item) {
|
function toggleCollect(item) {
|
||||||
item.is_collect = !item.is_collect
|
item.is_collect = !item.is_collect
|
||||||
if (item.is_collect) {
|
if (item.is_collect) {
|
||||||
$notice('收藏成功')
|
_notice('收藏成功')
|
||||||
} else {
|
} else {
|
||||||
$notice('取消收藏')
|
_notice('取消收藏')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -776,7 +776,7 @@ function toggle() {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
border-bottom: 1px solid var(--line-color);
|
border-bottom: 1px solid var(--line-color);
|
||||||
position: fixed;
|
position: fixed;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
|
||||||
@ -912,7 +912,7 @@ function toggle() {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.center {
|
.center {
|
||||||
width: calc(100vw - 140rem);
|
width: calc(100% - 140rem);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
//padding: 0 1rem;
|
//padding: 0 1rem;
|
||||||
//flex: 1;
|
//flex: 1;
|
||||||
@ -980,7 +980,7 @@ function toggle() {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.center {
|
.center {
|
||||||
width: calc(100vw - 160rem);
|
width: calc(100% - 160rem);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
//padding: 0 1rem;
|
//padding: 0 1rem;
|
||||||
//flex: 1;
|
//flex: 1;
|
||||||
@ -1092,7 +1092,7 @@ function toggle() {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.center {
|
.center {
|
||||||
width: calc(100vw - 150rem);
|
width: calc(100% - 150rem);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
//padding: 0 1rem;
|
//padding: 0 1rem;
|
||||||
//flex: 1;
|
//flex: 1;
|
||||||
@ -1197,7 +1197,7 @@ function toggle() {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.center {
|
.center {
|
||||||
width: calc(100vw - 150rem);
|
width: calc(100% - 150rem);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
//padding: 0 1rem;
|
//padding: 0 1rem;
|
||||||
//flex: 1;
|
//flex: 1;
|
||||||
|
|||||||
@ -161,6 +161,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import Check from '../../../components/Check'
|
import Check from '../../../components/Check'
|
||||||
|
import { _notice } from '@/utils'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Test',
|
name: 'Test',
|
||||||
@ -225,7 +226,7 @@ export default {
|
|||||||
this.$showLoading()
|
this.$showLoading()
|
||||||
await this.$sleep(1000)
|
await this.$sleep(1000)
|
||||||
this.$hideLoading()
|
this.$hideLoading()
|
||||||
this.$notice('感谢你的反馈,我们会尽快答复!')
|
_notice('感谢你的反馈,我们会尽快答复!')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,67 +15,67 @@
|
|||||||
</dy-button>
|
</dy-button>
|
||||||
|
|
||||||
<template v-if="canDownload">
|
<template v-if="canDownload">
|
||||||
<dy-button type="green" v-if="showShare2WeChatZone" @click="$no">
|
<dy-button type="green" v-if="showShare2WeChatZone" @click="_no">
|
||||||
<template v-slot:prefix>
|
<template v-slot:prefix>
|
||||||
<img src="../../../assets/img/icon/components/video/wechatzone-white.webp" alt="" />
|
<img src="../../../assets/img/icon/components/video/wechatzone-white.webp" alt="" />
|
||||||
</template>
|
</template>
|
||||||
发送视频到朋友圈
|
发送视频到朋友圈
|
||||||
</dy-button>
|
</dy-button>
|
||||||
<dy-button type="green" v-if="showShare2WeChat" @click="$no">
|
<dy-button type="green" v-if="showShare2WeChat" @click="_no">
|
||||||
<template v-slot:prefix>
|
<template v-slot:prefix>
|
||||||
<img src="../../../assets/img/icon/components/video/wechat-white.webp" alt="" />
|
<img src="../../../assets/img/icon/components/video/wechat-white.webp" alt="" />
|
||||||
</template>
|
</template>
|
||||||
发送视频到微信
|
发送视频到微信
|
||||||
</dy-button>
|
</dy-button>
|
||||||
<dy-button type="qqzone" v-if="showShare2QQZone" @click="$no">
|
<dy-button type="qqzone" v-if="showShare2QQZone" @click="_no">
|
||||||
<template v-slot:prefix>
|
<template v-slot:prefix>
|
||||||
<img src="../../../assets/img/icon/components/video/qqzone-white.png" alt="" />
|
<img src="../../../assets/img/icon/components/video/qqzone-white.png" alt="" />
|
||||||
</template>
|
</template>
|
||||||
发送视频到QQ空间
|
发送视频到QQ空间
|
||||||
</dy-button>
|
</dy-button>
|
||||||
<dy-button type="qq" v-if="showShare2QQ" @click="$no">
|
<dy-button type="qq" v-if="showShare2QQ" @click="_no">
|
||||||
<template v-slot:prefix>
|
<template v-slot:prefix>
|
||||||
<img src="../../../assets/img/icon/components/video/qq-white.webp" alt="" />
|
<img src="../../../assets/img/icon/components/video/qq-white.webp" alt="" />
|
||||||
</template>
|
</template>
|
||||||
发送视频到QQ
|
发送视频到QQ
|
||||||
</dy-button>
|
</dy-button>
|
||||||
<dy-button type="webo" v-if="showShare2Webo" @click="$no">
|
<dy-button type="webo" v-if="showShare2Webo" @click="_no">
|
||||||
<template v-slot:prefix>
|
<template v-slot:prefix>
|
||||||
<img src="../../../assets/img/icon/components/video/webo-white.webp" alt="" />
|
<img src="../../../assets/img/icon/components/video/webo-white.webp" alt="" />
|
||||||
</template>
|
</template>
|
||||||
发送视频到微博
|
发送视频到微博
|
||||||
</dy-button>
|
</dy-button>
|
||||||
<dy-button v-if="!showDownload" class="mt1r" type="white" @click="$no"
|
<dy-button v-if="!showDownload" class="mt1r" type="white" @click="_no"
|
||||||
>复制口令发给好友
|
>复制口令发给好友
|
||||||
</dy-button>
|
</dy-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<dy-button type="green" v-if="showShare2WeChatZone" @click="$no">
|
<dy-button type="green" v-if="showShare2WeChatZone" @click="_no">
|
||||||
<template v-slot:prefix>
|
<template v-slot:prefix>
|
||||||
<img src="../../../assets/img/icon/components/video/wechatzone-white.webp" alt="" />
|
<img src="../../../assets/img/icon/components/video/wechatzone-white.webp" alt="" />
|
||||||
</template>
|
</template>
|
||||||
复制口令发给好友
|
复制口令发给好友
|
||||||
</dy-button>
|
</dy-button>
|
||||||
<dy-button type="green" v-if="showShare2WeChat" @click="$no">
|
<dy-button type="green" v-if="showShare2WeChat" @click="_no">
|
||||||
<template v-slot:prefix>
|
<template v-slot:prefix>
|
||||||
<img src="../../../assets/img/icon/components/video/wechat-white.webp" alt="" />
|
<img src="../../../assets/img/icon/components/video/wechat-white.webp" alt="" />
|
||||||
</template>
|
</template>
|
||||||
复制口令发给好友
|
复制口令发给好友
|
||||||
</dy-button>
|
</dy-button>
|
||||||
<dy-button type="qqzone" v-if="showShare2QQZone" @click="$no">
|
<dy-button type="qqzone" v-if="showShare2QQZone" @click="_no">
|
||||||
<template v-slot:prefix>
|
<template v-slot:prefix>
|
||||||
<img src="../../../assets/img/icon/components/video/qqzone-white.png" alt="" />
|
<img src="../../../assets/img/icon/components/video/qqzone-white.png" alt="" />
|
||||||
</template>
|
</template>
|
||||||
复制口令发给好友
|
复制口令发给好友
|
||||||
</dy-button>
|
</dy-button>
|
||||||
<dy-button type="qq" v-if="showShare2QQ" @click="$no">
|
<dy-button type="qq" v-if="showShare2QQ" @click="_no">
|
||||||
<template v-slot:prefix>
|
<template v-slot:prefix>
|
||||||
<img src="../../../assets/img/icon/components/video/qq-white.webp" alt="" />
|
<img src="../../../assets/img/icon/components/video/qq-white.webp" alt="" />
|
||||||
</template>
|
</template>
|
||||||
复制口令发给好友
|
复制口令发给好友
|
||||||
</dy-button>
|
</dy-button>
|
||||||
<dy-button type="webo" v-if="showShare2Webo" @click="$no">
|
<dy-button type="webo" v-if="showShare2Webo" @click="_no">
|
||||||
<template v-slot:prefix>
|
<template v-slot:prefix>
|
||||||
<img src="../../../assets/img/icon/components/video/webo-white.webp" alt="" />
|
<img src="../../../assets/img/icon/components/video/webo-white.webp" alt="" />
|
||||||
</template>
|
</template>
|
||||||
@ -84,12 +84,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-if="showDownload">
|
<template v-if="showDownload">
|
||||||
<dy-button type="primary" @click="$no">
|
<dy-button type="primary" @click="_no">
|
||||||
已保存,请去相册查看
|
已保存,请去相册查看
|
||||||
<dy-back scale="0.7" mode="light" direction="right"></dy-back>
|
<dy-back scale="0.7" mode="light" direction="right"></dy-back>
|
||||||
</dy-button>
|
</dy-button>
|
||||||
|
|
||||||
<dy-button class="mt1r" type="white" @click="$no">
|
<dy-button class="mt1r" type="white" @click="_no">
|
||||||
<img src="../../../assets/img/icon/components/video/wechat.webp" alt="" />
|
<img src="../../../assets/img/icon/components/video/wechat.webp" alt="" />
|
||||||
发送视频到微信
|
发送视频到微信
|
||||||
</dy-button>
|
</dy-button>
|
||||||
@ -123,6 +123,7 @@
|
|||||||
import FromBottomDialog from '../../../components/dialog/FromBottomDialog'
|
import FromBottomDialog from '../../../components/dialog/FromBottomDialog'
|
||||||
import { mapState } from 'pinia'
|
import { mapState } from 'pinia'
|
||||||
import { useBaseStore } from '@/store/pinia'
|
import { useBaseStore } from '@/store/pinia'
|
||||||
|
import { _no, _notice } from '@/utils'
|
||||||
/*
|
/*
|
||||||
* 分享到各种工具
|
* 分享到各种工具
|
||||||
* */
|
* */
|
||||||
@ -173,6 +174,7 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
methods: {
|
methods: {
|
||||||
|
_no,
|
||||||
async change(newVal) {
|
async change(newVal) {
|
||||||
if (newVal === -1) return
|
if (newVal === -1) return
|
||||||
this.showShareDialog = true
|
this.showShareDialog = true
|
||||||
@ -227,7 +229,7 @@ export default {
|
|||||||
},
|
},
|
||||||
share(item) {
|
share(item) {
|
||||||
if (item.select) {
|
if (item.select) {
|
||||||
this.$notice('已分享给朋友')
|
_notice('已分享给朋友')
|
||||||
}
|
}
|
||||||
item.select = true
|
item.select = true
|
||||||
}
|
}
|
||||||
|
|||||||
@ -41,8 +41,8 @@
|
|||||||
<to-share item-type="report" @click="$nav('/home/report', { mode: this.mode })" />
|
<to-share item-type="report" @click="$nav('/home/report', { mode: this.mode })" />
|
||||||
<to-share item-type="copyPassword" @click="copyLink" />
|
<to-share item-type="copyPassword" @click="copyLink" />
|
||||||
<to-share :item-type="isCollect ? 'collectYellow' : 'collect'" @click="toggleCollect" />
|
<to-share :item-type="isCollect ? 'collectYellow' : 'collect'" @click="toggleCollect" />
|
||||||
<to-share item-type="comeon" @click="$no" />
|
<to-share item-type="comeon" @click="_no" />
|
||||||
<to-share item-type="dou" @click="$no" />
|
<to-share item-type="dou" @click="_no" />
|
||||||
<to-share item-type="copyLink" @click="copyLink" />
|
<to-share item-type="copyLink" @click="copyLink" />
|
||||||
<template v-if="isShowMore">
|
<template v-if="isShowMore">
|
||||||
<to-share item-type="duoshan" @click="isShowMore = true" />
|
<to-share item-type="duoshan" @click="isShowMore = true" />
|
||||||
@ -50,8 +50,8 @@
|
|||||||
</template>
|
</template>
|
||||||
<to-share v-else item-type="share" @click="isShowMore = true" />
|
<to-share v-else item-type="share" @click="isShowMore = true" />
|
||||||
<to-share item-type="dislike" @click="isShowMore = true" />
|
<to-share item-type="dislike" @click="isShowMore = true" />
|
||||||
<to-share item-type="bizhi" @click="$no" />
|
<to-share item-type="bizhi" @click="_no" />
|
||||||
<to-share item-type="code" @click="$no" />
|
<to-share item-type="code" @click="_no" />
|
||||||
</div>
|
</div>
|
||||||
<div class="friends">
|
<div class="friends">
|
||||||
<div class="item" :key="i" v-for="(item, i) in friends.all">
|
<div class="item" :key="i" v-for="(item, i) in friends.all">
|
||||||
@ -81,6 +81,7 @@ import { mapState } from 'pinia'
|
|||||||
import FromBottomDialog from '../../../components/dialog/FromBottomDialog'
|
import FromBottomDialog from '../../../components/dialog/FromBottomDialog'
|
||||||
import LoadingCircle from './LoadingCircle'
|
import LoadingCircle from './LoadingCircle'
|
||||||
import { useBaseStore } from '@/store/pinia'
|
import { useBaseStore } from '@/store/pinia'
|
||||||
|
import { _no, _notice } from '@/utils'
|
||||||
// import DouyinCode from "./DouyinCode";
|
// import DouyinCode from "./DouyinCode";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -151,7 +152,7 @@ export default {
|
|||||||
if (this.itemType === 'download') {
|
if (this.itemType === 'download') {
|
||||||
this.$stopPropagation(e)
|
this.$stopPropagation(e)
|
||||||
} else {
|
} else {
|
||||||
this.$notice('作者已关闭下载功能')
|
_notice('作者已关闭下载功能')
|
||||||
this.$emit('copy')
|
this.$emit('copy')
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
@ -159,7 +160,7 @@ export default {
|
|||||||
if (this.needDown) this.$stopPropagation(e)
|
if (this.needDown) this.$stopPropagation(e)
|
||||||
else return
|
else return
|
||||||
if (this.progress === 100) {
|
if (this.progress === 100) {
|
||||||
this.$notice('未实现分享跳转到其他App')
|
_notice('未实现分享跳转到其他App')
|
||||||
} else {
|
} else {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
let interval = setInterval(() => {
|
let interval = setInterval(() => {
|
||||||
@ -170,7 +171,7 @@ export default {
|
|||||||
this.loading = false
|
this.loading = false
|
||||||
this.$emit('click')
|
this.$emit('click')
|
||||||
this.$emit('click')
|
this.$emit('click')
|
||||||
this.$notice('未实现分享跳转到其他App')
|
_notice('未实现分享跳转到其他App')
|
||||||
}
|
}
|
||||||
}, 10)
|
}, 10)
|
||||||
}
|
}
|
||||||
@ -249,6 +250,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
_no,
|
||||||
displayText(type) {
|
displayText(type) {
|
||||||
if (this.loading[type]) {
|
if (this.loading[type]) {
|
||||||
return this.progress !== 100 ? '下载中' : this.text[type]
|
return this.progress !== 100 ? '下载中' : this.text[type]
|
||||||
@ -260,14 +262,14 @@ export default {
|
|||||||
this.$showLoading()
|
this.$showLoading()
|
||||||
await this.$sleep(500)
|
await this.$sleep(500)
|
||||||
this.$hideLoading()
|
this.$hideLoading()
|
||||||
this.$notice('复制成功')
|
_notice('复制成功')
|
||||||
},
|
},
|
||||||
toggleCollect() {
|
toggleCollect() {
|
||||||
this.closeShare()
|
this.closeShare()
|
||||||
if (this.isCollect) {
|
if (this.isCollect) {
|
||||||
this.$notice('取消收藏成功')
|
_notice('取消收藏成功')
|
||||||
} else {
|
} else {
|
||||||
this.$notice('收藏成功')
|
_notice('收藏成功')
|
||||||
}
|
}
|
||||||
this.isCollect = !this.isCollect
|
this.isCollect = !this.isCollect
|
||||||
},
|
},
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<img
|
<img
|
||||||
class="xcx"
|
class="xcx"
|
||||||
src="https://lf3-static.bytednsdoc.com/obj/eden-cn/pipieh7nupabozups/toutiao_web_pc/tt-icon.png"
|
src="https://lf3-static.bytednsdoc.com/obj/eden-cn/pipieh7nupabozups/toutiao_web_pc/tt-icon.png"
|
||||||
@ -26,7 +26,7 @@
|
|||||||
/>
|
/>
|
||||||
<span>今日头条</span>
|
<span>今日头条</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<img
|
<img
|
||||||
class="xcx"
|
class="xcx"
|
||||||
src="https://gd-hbimg.huaban.com/65130a3e6a139530bb03bd118e21a2603af7df4e1303b-OOzcBu_fw658webp"
|
src="https://gd-hbimg.huaban.com/65130a3e6a139530bb03bd118e21a2603af7df4e1303b-OOzcBu_fw658webp"
|
||||||
@ -46,7 +46,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="item avatar" @click="$no" :key="i" v-for="i in 6">
|
<div class="item avatar" @click="_no" :key="i" v-for="i in 6">
|
||||||
<img
|
<img
|
||||||
src="https://img.tol.vip/avatar/WEIXIN/3aSuTGYTzjHvcHy0y0tH1eiShKRk9Sgd.jpg?_upt=de4a5c251709635127"
|
src="https://img.tol.vip/avatar/WEIXIN/3aSuTGYTzjHvcHy0y0tH1eiShKRk9Sgd.jpg?_upt=de4a5c251709635127"
|
||||||
/>
|
/>
|
||||||
@ -61,35 +61,35 @@
|
|||||||
<div class="right"></div>
|
<div class="right"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="ion:wallet-outline" />
|
<Icon icon="ion:wallet-outline" />
|
||||||
<span>我的钱包</span>
|
<span>我的钱包</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="mingcute:coupon-line" />
|
<Icon icon="mingcute:coupon-line" />
|
||||||
<span>券包</span>
|
<span>券包</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="icon-park-outline:bytedance-applets" />
|
<Icon icon="icon-park-outline:bytedance-applets" />
|
||||||
<span>小程序</span>
|
<span>小程序</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="solar:history-linear" />
|
<Icon icon="solar:history-linear" />
|
||||||
<span>观看历史</span>
|
<span>观看历史</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="fluent:content-settings-24-regular" />
|
<Icon icon="fluent:content-settings-24-regular" />
|
||||||
<span>内容偏好</span>
|
<span>内容偏好</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="iconoir:cloud-download" />
|
<Icon icon="iconoir:cloud-download" />
|
||||||
<span>离线模式</span>
|
<span>离线模式</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="ep:setting" />
|
<Icon icon="ep:setting" />
|
||||||
<span>设置</span>
|
<span>设置</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="icon-park-outline:baggage-delay" />
|
<Icon icon="icon-park-outline:baggage-delay" />
|
||||||
<span>稍后再看</span>
|
<span>稍后再看</span>
|
||||||
</div>
|
</div>
|
||||||
@ -223,7 +223,7 @@ import Slide0 from '@/pages/home/slide/Slide0.vue'
|
|||||||
import Slide2 from '@/pages/home/slide/Slide2.vue'
|
import Slide2 from '@/pages/home/slide/Slide2.vue'
|
||||||
import Slide4 from '@/pages/home/slide/Slide4.vue'
|
import Slide4 from '@/pages/home/slide/Slide4.vue'
|
||||||
import { DefaultUser } from '@/utils/const_var'
|
import { DefaultUser } from '@/utils/const_var'
|
||||||
import { $no } from '@/utils'
|
import { _no } from '@/utils'
|
||||||
import LongVideo from '@/pages/home/slide/LongVideo.vue'
|
import LongVideo from '@/pages/home/slide/LongVideo.vue'
|
||||||
import { useBaseStore } from '@/store/pinia'
|
import { useBaseStore } from '@/store/pinia'
|
||||||
|
|
||||||
@ -333,7 +333,7 @@ function closeComments() {
|
|||||||
function dislike() {
|
function dislike() {
|
||||||
// listRef.value.dislike(state.list[1])
|
// listRef.value.dislike(state.list[1])
|
||||||
// state.list[state.index] = state.list[1]
|
// state.list[state.index] = state.list[1]
|
||||||
// Utils.$notice('操作成功,将减少此类视频的推荐')
|
// _notice('操作成功,将减少此类视频的推荐')
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -347,7 +347,7 @@ function dislike() {
|
|||||||
|
|
||||||
.sidebar {
|
.sidebar {
|
||||||
touch-action: pan-y;
|
touch-action: pan-y;
|
||||||
width: 80vw;
|
width: 80%;
|
||||||
height: calc(var(--vh, 1vh) * 100);
|
height: calc(var(--vh, 1vh) * 100);
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
background: rgb(22, 22, 22);
|
background: rgb(22, 22, 22);
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
<template v-slot="{ list }">
|
<template v-slot="{ list }">
|
||||||
<div class="search" @click="nav('/home/search')">
|
<div class="search" @click="nav('/home/search')">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<Icon class="icon" icon="ion:search" @click.stop="$no()" />
|
<Icon class="icon" icon="ion:search" @click.stop="_no" />
|
||||||
<span>壁纸</span>
|
<span>壁纸</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">搜索</div>
|
<div class="right">搜索</div>
|
||||||
@ -47,7 +47,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { reactive, ref, watch } from 'vue'
|
import { reactive, ref, watch } from 'vue'
|
||||||
import Utils, { $no, _checkImgUrl, cloneDeep } from '@/utils'
|
import Utils, { _checkImgUrl, _no, cloneDeep } from '@/utils'
|
||||||
import { recommendedPost } from '@/api/user'
|
import { recommendedPost } from '@/api/user'
|
||||||
import { useNav } from '@/utils/hooks/useNav'
|
import { useNav } from '@/utils/hooks/useNav'
|
||||||
import { Icon } from '@iconify/vue'
|
import { Icon } from '@iconify/vue'
|
||||||
@ -210,8 +210,8 @@ function showDetail(e, item) {
|
|||||||
@p: 1rem;
|
@p: 1rem;
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
margin-left: 2vw;
|
margin-left: 2%;
|
||||||
width: 96vw;
|
width: 96%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 10rem;
|
padding: 10rem;
|
||||||
border: 1px solid #646464;
|
border: 1px solid #646464;
|
||||||
@ -235,8 +235,8 @@ function showDetail(e, item) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.list {
|
.list {
|
||||||
margin-left: 2vw;
|
margin-left: 2%;
|
||||||
width: 96vw;
|
width: 96%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -299,7 +299,7 @@ function showDetail(e, item) {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: -200vh;
|
top: -200vh;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
transition: all 0.3s;
|
transition: all 0.3s;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
z-index: -100;
|
z-index: -100;
|
||||||
|
|||||||
@ -58,19 +58,19 @@
|
|||||||
mode="white"
|
mode="white"
|
||||||
>
|
>
|
||||||
<div class="block-dialog">
|
<div class="block-dialog">
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<img src="../../assets/img/icon/login/toutiao-round.png" alt="" />
|
<img src="../../assets/img/icon/login/toutiao-round.png" alt="" />
|
||||||
<span>今日头条登录</span>
|
<span>今日头条登录</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<img src="../../assets/img/icon/login/qq.webp" alt="" />
|
<img src="../../assets/img/icon/login/qq.webp" alt="" />
|
||||||
<span>QQ登录</span>
|
<span>QQ登录</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<img src="../../assets/img/icon/login/wechat.webp" alt="" />
|
<img src="../../assets/img/icon/login/wechat.webp" alt="" />
|
||||||
<span>微信登录</span>
|
<span>微信登录</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<img src="../../assets/img/icon/login/weibo.webp" alt="" />
|
<img src="../../assets/img/icon/login/weibo.webp" alt="" />
|
||||||
<span>微博登录</span>
|
<span>微博登录</span>
|
||||||
</div>
|
</div>
|
||||||
@ -87,6 +87,7 @@ import Tooltip from './components/Tooltip'
|
|||||||
import LoginInput from './components/LoginInput'
|
import LoginInput from './components/LoginInput'
|
||||||
import Base from './Base.js'
|
import Base from './Base.js'
|
||||||
import FromBottomDialog from '../../components/dialog/FromBottomDialog'
|
import FromBottomDialog from '../../components/dialog/FromBottomDialog'
|
||||||
|
import { _no } from '@/utils'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'OtherLogin',
|
name: 'OtherLogin',
|
||||||
@ -106,6 +107,7 @@ export default {
|
|||||||
computed: {},
|
computed: {},
|
||||||
created() {},
|
created() {},
|
||||||
methods: {
|
methods: {
|
||||||
|
_no,
|
||||||
async getCode() {
|
async getCode() {
|
||||||
let res = await this.check()
|
let res = await this.check()
|
||||||
if (res) {
|
if (res) {
|
||||||
|
|||||||
@ -29,8 +29,8 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
.resource {
|
.resource {
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
max-height: 100vw;
|
max-height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.download {
|
.download {
|
||||||
@ -48,7 +48,7 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
height: calc(var(--vh, 1vh) * 100);
|
height: calc(var(--vh, 1vh) * 100);
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
}
|
}
|
||||||
@ -190,7 +190,7 @@
|
|||||||
.poster {
|
.poster {
|
||||||
border-radius: 4rem;
|
border-radius: 4rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: calc((100vw - 34rem) / 3);
|
height: calc((100% - 34rem) / 3);
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,7 +207,7 @@
|
|||||||
.float {
|
.float {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="eva:people-outline" />
|
<Icon icon="eva:people-outline" />
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="ic:round-search" />
|
<Icon icon="ic:round-search" />
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click.stop="baseActiveIndex = 1">
|
<div class="item" @click.stop="baseActiveIndex = 1">
|
||||||
@ -123,7 +123,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="other">
|
<div class="other">
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="iconamoon:shopping-card-light" />
|
<Icon icon="iconamoon:shopping-card-light" />
|
||||||
<span>抖音商城</span>
|
<span>抖音商城</span>
|
||||||
</div>
|
</div>
|
||||||
@ -131,11 +131,11 @@
|
|||||||
<Icon icon="iconamoon:music-2-light" />
|
<Icon icon="iconamoon:music-2-light" />
|
||||||
<span>我的音乐</span>
|
<span>我的音乐</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="streamline:chat-two-bubbles-oval" />
|
<Icon icon="streamline:chat-two-bubbles-oval" />
|
||||||
<span>我的群聊</span>
|
<span>我的群聊</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="$no">
|
<div class="item" @click="_no">
|
||||||
<Icon icon="iconamoon:shopping-card-light" />
|
<Icon icon="iconamoon:shopping-card-light" />
|
||||||
<span>查看更多</span>
|
<span>查看更多</span>
|
||||||
</div>
|
</div>
|
||||||
@ -242,11 +242,11 @@
|
|||||||
<SlideItem style="width: 70vw; overflow: auto">
|
<SlideItem style="width: 70vw; overflow: auto">
|
||||||
<transition name="fade1">
|
<transition name="fade1">
|
||||||
<div class="ul" v-if="!isMoreFunction">
|
<div class="ul" v-if="!isMoreFunction">
|
||||||
<div class="li" @click="$no">
|
<div class="li" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/shopping.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/shopping.png" alt="" />
|
||||||
<span>我的订单</span>
|
<span>我的订单</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="li" @click="$no">
|
<div class="li" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/wallet.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/wallet.png" alt="" />
|
||||||
<span>钱包</span>
|
<span>钱包</span>
|
||||||
</div>
|
</div>
|
||||||
@ -260,22 +260,22 @@
|
|||||||
<img src="../../assets/img/icon/newicon/left_menu/time.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/time.png" alt="" />
|
||||||
<span>观看历史</span>
|
<span>观看历史</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="li" @click="$no">
|
<div class="li" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/clock.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/clock.png" alt="" />
|
||||||
<span>时间管理</span>
|
<span>时间管理</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="li" @click="$no">
|
<div class="li" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/workbench.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/workbench.png" alt="" />
|
||||||
<span>创作者服务中心</span>
|
<span>创作者服务中心</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
|
|
||||||
<div class="li" @click="$no">
|
<div class="li" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/bytedance-mini-app.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/bytedance-mini-app.png" alt="" />
|
||||||
<span>小程序</span>
|
<span>小程序</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="li" @click="$no">
|
<div class="li" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/gongyi.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/gongyi.png" alt="" />
|
||||||
<span>抖音公益</span>
|
<span>抖音公益</span>
|
||||||
</div>
|
</div>
|
||||||
@ -283,7 +283,7 @@
|
|||||||
<img src="../../assets/img/icon/newicon/left_menu/umbrella.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/umbrella.png" alt="" />
|
||||||
<span>未成年保护工具</span>
|
<span>未成年保护工具</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="li" @click="$no">
|
<div class="li" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/headset.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/headset.png" alt="" />
|
||||||
<span>我的客服</span>
|
<span>我的客服</span>
|
||||||
</div>
|
</div>
|
||||||
@ -295,38 +295,38 @@
|
|||||||
<div v-else class="more-function">
|
<div v-else class="more-function">
|
||||||
<div class="title">生活服务</div>
|
<div class="title">生活服务</div>
|
||||||
<div class="functions">
|
<div class="functions">
|
||||||
<div class="function" @click="$no">
|
<div class="function" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/quan.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/quan.png" alt="" />
|
||||||
<span>卡券</span>
|
<span>卡券</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="function" @click="$no">
|
<div class="function" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/sd-card.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/sd-card.png" alt="" />
|
||||||
<span>免流量</span>
|
<span>免流量</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="function" @click="$no">
|
<div class="function" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/alarmmmmmmmmmmmm.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/alarmmmmmmmmmmmm.png" alt="" />
|
||||||
<span>视频彩铃</span>
|
<span>视频彩铃</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="title">拓展功能</div>
|
<div class="title">拓展功能</div>
|
||||||
<div class="functions">
|
<div class="functions">
|
||||||
<div class="function" @click="$no">
|
<div class="function" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/sun-one.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/sun-one.png" alt="" />
|
||||||
<span>我的动态</span>
|
<span>我的动态</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="function" @click="$no">
|
<div class="function" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/download.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/download.png" alt="" />
|
||||||
<span>我的缓存</span>
|
<span>我的缓存</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="function" @click="$no">
|
<div class="function" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/hot.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/hot.png" alt="" />
|
||||||
<span>上热门</span>
|
<span>上热门</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="function" @click="$no">
|
<div class="function" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/shop.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/shop.png" alt="" />
|
||||||
<span>小店随心推</span>
|
<span>小店随心推</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="function" @click="$no">
|
<div class="function" @click="_no">
|
||||||
<img src="../../assets/img/icon/newicon/left_menu/yuandi.png" alt="" />
|
<img src="../../assets/img/icon/newicon/left_menu/yuandi.png" alt="" />
|
||||||
<span>投教园地</span>
|
<span>投教园地</span>
|
||||||
</div>
|
</div>
|
||||||
@ -351,7 +351,7 @@
|
|||||||
class="download"
|
class="download"
|
||||||
src="@/assets/img/icon/components/video/download.png"
|
src="@/assets/img/icon/components/video/download.png"
|
||||||
alt=""
|
alt=""
|
||||||
@click.stop="$no"
|
@click.stop="_no"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
@ -378,7 +378,7 @@ import { mapState } from 'pinia'
|
|||||||
|
|
||||||
import bus from '../../utils/bus'
|
import bus from '../../utils/bus'
|
||||||
import ConfirmDialog from '../../components/dialog/ConfirmDialog'
|
import ConfirmDialog from '../../components/dialog/ConfirmDialog'
|
||||||
import { $no, _checkImgUrl, _formatNumber, _getUserDouyinId } from '@/utils'
|
import { _checkImgUrl, _formatNumber, _getUserDouyinId, _no } from '@/utils'
|
||||||
import { likeVideo, myVideo, privateVideo } from '@/api/videos'
|
import { likeVideo, myVideo, privateVideo } from '@/api/videos'
|
||||||
import { useBaseStore } from '@/store/pinia'
|
import { useBaseStore } from '@/store/pinia'
|
||||||
import { userCollect } from '@/api/user'
|
import { userCollect } from '@/api/user'
|
||||||
@ -488,10 +488,10 @@ export default {
|
|||||||
bus.on('baseSlide-end', () => (this.canScroll = true))
|
bus.on('baseSlide-end', () => (this.canScroll = true))
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
_no,
|
||||||
_getUserDouyinId,
|
_getUserDouyinId,
|
||||||
_checkImgUrl,
|
_checkImgUrl,
|
||||||
_formatNumber,
|
_formatNumber,
|
||||||
$no,
|
|
||||||
setLoadingFalse() {
|
setLoadingFalse() {
|
||||||
this.loadings.loading0 = false
|
this.loadings.loading0 = false
|
||||||
this.loadings.loading1 = false
|
this.loadings.loading1 = false
|
||||||
|
|||||||
@ -20,13 +20,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<!-- <div class="btn" @click="$nav('/scan')">-->
|
<!-- <div class="btn" @click="$nav('/scan')">-->
|
||||||
<div class="btn" @click="$no">
|
<div class="btn" @click="_no">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<img src="../../assets/img/icon/scan.png" alt="" />
|
<img src="../../assets/img/icon/scan.png" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<span>扫一扫</span>
|
<span>扫一扫</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn" @click="$no">
|
<div class="btn" @click="_no">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<img src="../../assets/img/icon/download.png" alt="" />
|
<img src="../../assets/img/icon/download.png" alt="" />
|
||||||
</div>
|
</div>
|
||||||
@ -41,7 +41,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import Share from '../../components/Share.vue'
|
import Share from '../../components/Share.vue'
|
||||||
import { useBaseStore } from '@/store/pinia'
|
import { useBaseStore } from '@/store/pinia'
|
||||||
import { $no, _checkImgUrl } from '@/utils'
|
import { _checkImgUrl, _no } from '@/utils'
|
||||||
import { reactive, watch } from 'vue'
|
import { reactive, watch } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
|
||||||
|
|||||||
@ -258,7 +258,7 @@ async function getCollectMusic() {
|
|||||||
.header {
|
.header {
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
top: 0;
|
top: 0;
|
||||||
height: 50rem;
|
height: 50rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -277,6 +277,7 @@ async function getCollectMusic() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.my-collect {
|
.my-collect {
|
||||||
|
touch-action: pan-y;
|
||||||
margin-top: 50rem;
|
margin-top: 50rem;
|
||||||
color: rgba(88, 88, 96);
|
color: rgba(88, 88, 96);
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -422,7 +423,7 @@ async function getCollectMusic() {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
color: white;
|
color: white;
|
||||||
background: rgba(56, 59, 68);
|
background: rgba(56, 59, 68);
|
||||||
|
|
||||||
@ -470,7 +471,7 @@ async function getCollectMusic() {
|
|||||||
.my-collect-dialog {
|
.my-collect-dialog {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 11;
|
z-index: 11;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
height: calc(var(--vh, 1vh) * 100);
|
height: calc(var(--vh, 1vh) * 100);
|
||||||
top: 0;
|
top: 0;
|
||||||
background: rgb(136, 132, 133);
|
background: rgb(136, 132, 133);
|
||||||
@ -480,7 +481,7 @@ async function getCollectMusic() {
|
|||||||
font-size: 16rem;
|
font-size: 16rem;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
padding: var(--page-padding);
|
padding: var(--page-padding);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
height: 50rem;
|
height: 50rem;
|
||||||
|
|||||||
@ -251,7 +251,7 @@ function stopPlay() {
|
|||||||
.float-play-music {
|
.float-play-music {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
background: var(--main-bg);
|
background: var(--main-bg);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -267,7 +267,7 @@ function stopPlay() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.music-wrapper {
|
.music-wrapper {
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
border-top: 1px solid #414141;
|
border-top: 1px solid #414141;
|
||||||
padding: 10rem 15rem;
|
padding: 10rem 15rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@ -168,7 +168,7 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
#CollectMusic {
|
#CollectMusic {
|
||||||
//width: 100vw;
|
//width: 100%;
|
||||||
//height: calc(var(--vh, 1vh) * 100);
|
//height: calc(var(--vh, 1vh) * 100);
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
@ -187,7 +187,7 @@ export default {
|
|||||||
|
|
||||||
.music-list-header {
|
.music-list-header {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
background: @bg-color;
|
background: @bg-color;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
border-bottom: 1px solid #2a2828;
|
border-bottom: 1px solid #2a2828;
|
||||||
|
|||||||
@ -151,7 +151,7 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
#GuessMusic {
|
#GuessMusic {
|
||||||
//width: 100vw;
|
//width: 100%;
|
||||||
//height: calc(var(--vh, 1vh) * 100);
|
//height: calc(var(--vh, 1vh) * 100);
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
@ -170,7 +170,7 @@ export default {
|
|||||||
|
|
||||||
.music-list-header {
|
.music-list-header {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
background: @bg-color;
|
background: @bg-color;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
border-bottom: 1px solid #2a2828;
|
border-bottom: 1px solid #2a2828;
|
||||||
|
|||||||
@ -223,8 +223,8 @@ function showBirthdayDialog() {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
.resource {
|
.resource {
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
max-height: 100vw;
|
max-height: %;
|
||||||
}
|
}
|
||||||
|
|
||||||
.download {
|
.download {
|
||||||
|
|||||||
@ -222,7 +222,7 @@ function closeComments() {
|
|||||||
function dislike() {
|
function dislike() {
|
||||||
// listRef.value.dislike(state.list[1])
|
// listRef.value.dislike(state.list[1])
|
||||||
// state.list[state.index] = state.list[1]
|
// state.list[state.index] = state.list[1]
|
||||||
// Utils.$notice('操作成功,将减少此类视频的推荐')
|
// _notice('操作成功,将减少此类视频的推荐')
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -475,7 +475,7 @@ function handleClick() {
|
|||||||
left: 50%;
|
left: 50%;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
transform: translate3d(-50%, -50%, 0);
|
transform: translate3d(-50%, -50%, 0);
|
||||||
width: 80vw;
|
width: 80%;
|
||||||
color: black;
|
color: black;
|
||||||
background: white;
|
background: white;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|||||||
@ -53,7 +53,7 @@ defineOptions({
|
|||||||
bottom: 60rem;
|
bottom: 60rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
width: 80vw;
|
width: 80%;
|
||||||
left: 10vw;
|
left: 10vw;
|
||||||
|
|
||||||
.option {
|
.option {
|
||||||
|
|||||||
@ -33,6 +33,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import People from './People'
|
import People from './People'
|
||||||
import FromBottomDialog from '../../../components/dialog/FromBottomDialog'
|
import FromBottomDialog from '../../../components/dialog/FromBottomDialog'
|
||||||
|
import { _notice } from '@/utils'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Peoples',
|
name: 'Peoples',
|
||||||
@ -75,7 +76,7 @@ export default {
|
|||||||
created() {},
|
created() {},
|
||||||
methods: {
|
methods: {
|
||||||
remove(index) {
|
remove(index) {
|
||||||
this.$notice('将不会再为你推荐该用户')
|
_notice('将不会再为你推荐该用户')
|
||||||
this.localList.splice(index, 1)
|
this.localList.splice(index, 1)
|
||||||
},
|
},
|
||||||
follow(index) {
|
follow(index) {
|
||||||
@ -125,7 +126,7 @@ export default {
|
|||||||
'确认后,将不再为你推荐对方的作品,你可以在对方主页随时恢复。',
|
'确认后,将不再为你推荐对方的作品,你可以在对方主页随时恢复。',
|
||||||
'gray',
|
'gray',
|
||||||
() => {
|
() => {
|
||||||
this.$notice('设置成功')
|
_notice('设置成功')
|
||||||
},
|
},
|
||||||
() => {},
|
() => {},
|
||||||
'不看 TA'
|
'不看 TA'
|
||||||
|
|||||||
@ -18,27 +18,27 @@
|
|||||||
<div class="top-card">
|
<div class="top-card">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="options">
|
<div class="options">
|
||||||
<div class="option" @click="$no">
|
<div class="option" @click="_no">
|
||||||
<Icon icon="lets-icons:order-light" />
|
<Icon icon="lets-icons:order-light" />
|
||||||
<div>我的订单</div>
|
<div>我的订单</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="option" @click="$no">
|
<div class="option" @click="_no">
|
||||||
<Icon icon="material-symbols-light:charging-station-outline" />
|
<Icon icon="material-symbols-light:charging-station-outline" />
|
||||||
<div>手机充值</div>
|
<div>手机充值</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="option" @click="$no">
|
<div class="option" @click="_no">
|
||||||
<Icon icon="system-uicons:message" />
|
<Icon icon="system-uicons:message" />
|
||||||
<div>购物消息</div>
|
<div>购物消息</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="option" @click="$no">
|
<div class="option" @click="_no">
|
||||||
<Icon icon="fluent:location-16-regular" />
|
<Icon icon="fluent:location-16-regular" />
|
||||||
<div>小时达</div>
|
<div>小时达</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="option" @click="$no">
|
<div class="option" @click="_no">
|
||||||
<Icon icon="dashicons:money-alt" />
|
<Icon icon="dashicons:money-alt" />
|
||||||
<div>退款/售后</div>
|
<div>退款/售后</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="option" @click="$no">
|
<div class="option" @click="_no">
|
||||||
<Icon icon="icon-park-outline:clothes-turtleneck" />
|
<Icon icon="icon-park-outline:clothes-turtleneck" />
|
||||||
<div>潮流服饰</div>
|
<div>潮流服饰</div>
|
||||||
</div>
|
</div>
|
||||||
@ -114,7 +114,7 @@
|
|||||||
|
|
||||||
<script setup lang="tsx">
|
<script setup lang="tsx">
|
||||||
import { useNav } from '@/utils/hooks/useNav'
|
import { useNav } from '@/utils/hooks/useNav'
|
||||||
import { $no, _checkImgUrl } from '@/utils'
|
import { _checkImgUrl, _no } from '@/utils'
|
||||||
import ScrollList from '@/components/ScrollList.vue'
|
import ScrollList from '@/components/ScrollList.vue'
|
||||||
import { recommendedShop } from '@/api/user'
|
import { recommendedShop } from '@/api/user'
|
||||||
import WaterfallList from '@/components/WaterfallList.vue'
|
import WaterfallList from '@/components/WaterfallList.vue'
|
||||||
|
|||||||
@ -24,66 +24,6 @@ const Utils = {
|
|||||||
const parent = document.querySelector('.dialog-ctn')
|
const parent = document.querySelector('.dialog-ctn')
|
||||||
parent.remove()
|
parent.remove()
|
||||||
},
|
},
|
||||||
$showSelectDialog(sexList, cb) {
|
|
||||||
const remove = () => {
|
|
||||||
const parent = document.querySelector('.dialog-ctn')
|
|
||||||
parent.classList.replace('fade-in', 'fade-out')
|
|
||||||
setTimeout(() => {
|
|
||||||
parent.remove()
|
|
||||||
}, 300)
|
|
||||||
}
|
|
||||||
const tempCb = (e) => {
|
|
||||||
remove()
|
|
||||||
cb(e)
|
|
||||||
}
|
|
||||||
const app = Vue.createApp({
|
|
||||||
render() {
|
|
||||||
return <SelectDialog onCancel={remove} list={sexList} onOk={tempCb} />
|
|
||||||
}
|
|
||||||
})
|
|
||||||
const parent = document.createElement('div')
|
|
||||||
parent.classList.add(...['dialog-ctn', 'fade-in'])
|
|
||||||
document.body.append(parent)
|
|
||||||
app.mount(parent)
|
|
||||||
},
|
|
||||||
$showSimpleConfirmDialog(title, okCb, cancelCb, okText, cancelText) {
|
|
||||||
if (!cancelCb) {
|
|
||||||
cancelCb = () => {}
|
|
||||||
}
|
|
||||||
const remove = () => {
|
|
||||||
const parent = document.querySelector('.dialog-ctn')
|
|
||||||
parent.classList.replace('fade-in', 'fade-out')
|
|
||||||
setTimeout(() => {
|
|
||||||
parent.remove()
|
|
||||||
}, 300)
|
|
||||||
}
|
|
||||||
const tempOkCb = (e) => {
|
|
||||||
remove()
|
|
||||||
okCb(e)
|
|
||||||
}
|
|
||||||
const tempCancelCb = (e) => {
|
|
||||||
remove()
|
|
||||||
cancelCb(e)
|
|
||||||
}
|
|
||||||
const app = Vue.createApp({
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
<SimpleConfirmDialog
|
|
||||||
onCancel={tempCancelCb}
|
|
||||||
onDismiss={remove}
|
|
||||||
title={title}
|
|
||||||
okText={okText}
|
|
||||||
cancelText={cancelText}
|
|
||||||
onOk={tempOkCb}
|
|
||||||
/>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
const parent = document.createElement('div')
|
|
||||||
parent.classList.add(...['dialog-ctn', 'fade-in'])
|
|
||||||
document.body.append(parent)
|
|
||||||
app.mount(parent)
|
|
||||||
},
|
|
||||||
$showConfirmDialog(
|
$showConfirmDialog(
|
||||||
title,
|
title,
|
||||||
subtitle,
|
subtitle,
|
||||||
@ -171,9 +111,6 @@ const Utils = {
|
|||||||
document.body.removeChild(div)
|
document.body.removeChild(div)
|
||||||
}, 1000)
|
}, 1000)
|
||||||
},
|
},
|
||||||
$no() {
|
|
||||||
this.$notice('未实现')
|
|
||||||
},
|
|
||||||
$back() {
|
$back() {
|
||||||
this.$router.back()
|
this.$router.back()
|
||||||
// window.history.back()
|
// window.history.back()
|
||||||
@ -370,14 +307,6 @@ export function _dateFormat(val, type): string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function $no() {
|
|
||||||
Utils.$no()
|
|
||||||
}
|
|
||||||
|
|
||||||
export function $notice(val) {
|
|
||||||
Utils.$notice(val)
|
|
||||||
}
|
|
||||||
|
|
||||||
export function _time(time) {
|
export function _time(time) {
|
||||||
if (String(time).length === 10) {
|
if (String(time).length === 10) {
|
||||||
time = time * 1000
|
time = time * 1000
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import axios, { type AxiosError, type AxiosRequestConfig, type AxiosResponse } from 'axios'
|
import axios, { type AxiosError, type AxiosRequestConfig, type AxiosResponse } from 'axios'
|
||||||
import config from '@/config'
|
import config from '@/config'
|
||||||
import globalMethods from './index'
|
import { _notice } from './index'
|
||||||
|
|
||||||
export const axiosInstance = axios.create({
|
export const axiosInstance = axios.create({
|
||||||
baseURL: config.baseUrl,
|
baseURL: config.baseUrl,
|
||||||
@ -34,7 +34,7 @@ axiosInstance.interceptors.response.use(
|
|||||||
const { data } = response
|
const { data } = response
|
||||||
// console.log(response)
|
// console.log(response)
|
||||||
if (data === undefined || data === null || data === '') {
|
if (data === undefined || data === null || data === '') {
|
||||||
globalMethods.$notice('请求失败,请稍后重试!')
|
_notice('请求失败,请稍后重试!')
|
||||||
return { success: false, code: 500, data: [] }
|
return { success: false, code: 500, data: [] }
|
||||||
} else if (typeof data === 'string') {
|
} else if (typeof data === 'string') {
|
||||||
return { success: true, code: 200, data }
|
return { success: true, code: 200, data }
|
||||||
@ -55,7 +55,7 @@ axiosInstance.interceptors.response.use(
|
|||||||
data.success = true
|
data.success = true
|
||||||
}
|
}
|
||||||
if (resCode !== 200) {
|
if (resCode !== 200) {
|
||||||
globalMethods.$notice(response.data.message || '请求失败,请稍后重试!')
|
_notice(response.data.message || '请求失败,请稍后重试!')
|
||||||
} else {
|
} else {
|
||||||
data.success = true
|
data.success = true
|
||||||
}
|
}
|
||||||
@ -71,19 +71,19 @@ axiosInstance.interceptors.response.use(
|
|||||||
// console.log(error.response)
|
// console.log(error.response)
|
||||||
// console.log(error.response.status)
|
// console.log(error.response.status)
|
||||||
if (error.response === undefined) {
|
if (error.response === undefined) {
|
||||||
globalMethods.$notice('服务器响应超时')
|
_notice('服务器响应超时')
|
||||||
return { success: false, code: 500, msg: '服务器响应超时', data: [] }
|
return { success: false, code: 500, msg: '服务器响应超时', data: [] }
|
||||||
}
|
}
|
||||||
if (error.response.status >= 500) {
|
if (error.response.status >= 500) {
|
||||||
globalMethods.$notice('服务器出现错误')
|
_notice('服务器出现错误')
|
||||||
return { success: false, code: 500, msg: '服务器出现错误', data: [] }
|
return { success: false, code: 500, msg: '服务器出现错误', data: [] }
|
||||||
}
|
}
|
||||||
if (error.response.status === 404) {
|
if (error.response.status === 404) {
|
||||||
globalMethods.$notice('接口不存在')
|
_notice('接口不存在')
|
||||||
return { success: false, code: 404, msg: '接口不存在', data: [] }
|
return { success: false, code: 404, msg: '接口不存在', data: [] }
|
||||||
}
|
}
|
||||||
if (error.response.status === 400) {
|
if (error.response.status === 400) {
|
||||||
globalMethods.$notice('接口报错')
|
_notice('接口报错')
|
||||||
return { success: false, code: 400, msg: '接口报错', data: [] }
|
return { success: false, code: 400, msg: '接口报错', data: [] }
|
||||||
}
|
}
|
||||||
if (error.response.status === 401) {
|
if (error.response.status === 401) {
|
||||||
@ -91,7 +91,7 @@ axiosInstance.interceptors.response.use(
|
|||||||
} else {
|
} else {
|
||||||
const data: any = error.response.data
|
const data: any = error.response.data
|
||||||
if (data === null || data === undefined) {
|
if (data === null || data === undefined) {
|
||||||
globalMethods.$notice('请求失败,请稍后重试!')
|
_notice('请求失败,请稍后重试!')
|
||||||
return { success: true, code: 200, data: [] }
|
return { success: true, code: 200, data: [] }
|
||||||
} else {
|
} else {
|
||||||
const resCode = data.code
|
const resCode = data.code
|
||||||
@ -99,7 +99,7 @@ axiosInstance.interceptors.response.use(
|
|||||||
data.data = { ...data }
|
data.data = { ...data }
|
||||||
}
|
}
|
||||||
if (resCode && typeof resCode == 'number' && resCode !== 200) {
|
if (resCode && typeof resCode == 'number' && resCode !== 200) {
|
||||||
globalMethods.$notice('请求失败,请稍后重试!')
|
_notice('请求失败,请稍后重试!')
|
||||||
} else {
|
} else {
|
||||||
data.code = 200
|
data.code = 200
|
||||||
data.success = true
|
data.success = true
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user