更新羽声语音h5

This commit is contained in:
yziiy
2025-10-23 16:04:28 +08:00
parent f77801f9a1
commit 4fc72fbffe
228 changed files with 5384 additions and 4065 deletions

View File

@@ -41,13 +41,13 @@
<view class="flex-line w-fill flex-spaceB">
<view class="">
<view class="color-3 font-32 font-w500">
羽声语音
{{ConfigData.BASE_NAME}}
</view>
<view class="color-3 font-32 font-w500">
<view class="color-3 font-32 mt-24 font-w500">
邀请码
</view>
<view class="color-6 font-24 mt-24">
一级充值的4%为邀请收益
一级充值的{{detailData.invited_draw || 0}}%为邀请收益
</view>
</view>
<view class="QRCodeImage">
@@ -56,7 +56,7 @@
</view>
<view class="flex-line w-fill mt-24 flex-spaceB">
<view class="Code-view color-3 font-w500" style="letter-spacing: 44rpx;text-align: center;">
{{detailData.init_code}}
{{detailData.init_code}}
</view>
<view class="copy-button color-3 font-w500 font-24" @click="copyText(detailData.init_code)">
复制
@@ -75,28 +75,30 @@
</view>
</view>
</view>
<uni-popup ref="bindPopup" type="center" background-color="#fff" border-radius="32rpx">
<middle-popup ref="bindPopup" v-show="PopupStatus">
<view class="bindPopup-view">
<view class="bind-title font-32 font-w500 color-3">
<view class="">
手动绑定
<view class="bindPopup-Content">
<view class="bind-title font-32 font-w500 color-3">
<view class="">
手动绑定
</view>
<img @click="closeBind" class="closeIcon" src="@/static/image/income/close.png" alt="" />
</view>
<img @click="closeBind" class="closeIcon" src="@/static/image/income/close.png" alt="" />
</view>
<view class="bind-input">
<input class="uni-input" v-model="bindValue" placeholder="输入好友邀请码" />
</view>
<view class="color-3 font-w400 font-24" style="text-align: left;">
{{detailData.explain}}
</view>
<view class="bind-footer" @click="decorate">
<view class="confirm-button flex-line">
确定
<view class="bind-input">
<input class="uni-input" v-model="bindValue" placeholder="输入好友邀请码" />
</view>
<view class="color-3 font-w400 font-24" style="text-align: left;">
{{detailData.explain}}
</view>
<view class="bind-footer" @click="decorate">
<view class="confirm-button flex-line">
确定
</view>
</view>
</view>
</view>
</uni-popup>
</middle-popup>
</view>
</template>
<script>
@@ -112,14 +114,19 @@
import PYQ from '@/static/image/income/pyq.png';
import Qcode from '@/static/image/income/Qcode.png';
import QQ from '@/static/image/income/QQ.png';
import Config from '@/until/config.js';
import MiddlePopup from '@/component/MiddlePopup.vue'
export default {
components: {
NavigationTabs,
headerHeight,
Table
Table,
MiddlePopup
},
data() {
return {
ConfigData: Config,
PopupStatus: false,
errorPage: false,
detailData: null,
currentIndex: 0,
@@ -131,13 +138,13 @@
title: '钻石余额'
},
{
icon: Coin,
icon: ZS,
value: 200,
prop: 'today_earnings',
title: '今日收益'
},
{
icon: Coin,
icon: ZS,
value: 200,
prop: 'total_earnings',
title: '累计收益'
@@ -146,11 +153,26 @@
statusBarHeight: 0,
bindValue: '',
dataList: [],
columns: [
{ title: '昵称', key: 'nickname', width: '20%' },
{ title: '时间', key: 'createtime', width: '35%' },
{ title: '充值金额', key: 'coin', width: '30%' },
{ title: '获得收益', key: 'earnings', width: '30%' }
columns: [{
title: '昵称',
key: 'nickname',
width: '20%'
},
{
title: '时间',
key: 'createtime',
width: '35%'
},
{
title: '充值金币',
key: 'coin',
width: '30%'
},
{
title: '获得收益',
key: 'earnings',
width: '30%'
}
]
}
},
@@ -163,10 +185,11 @@
if (uni.getStorageSync('token')) this.gettabs()
this.statusBarHeight = this.getStatusBarHeight()
this.statusBarHeight = h
console.log(Config.BASE_NAME)
},
methods: {
copyText(text) {
if(text) {
if (text) {
if (uni.getSystemInfoSync().platform === 'h5') {
const textarea = document.createElement('textarea');
textarea.value = text;
@@ -174,7 +197,7 @@
textarea.select();
document.execCommand('copy');
document.body.removeChild(textarea);
uni.showToast({
title: '复制成功',
icon: 'none',
@@ -224,7 +247,7 @@
},
async gettabs() {
http.get('/api/Invited/get_init_code', {
token: uni.getStorageSync('token') ?? '',
token: uni.getStorageSync('token') || '',
}).then(response => {
const {
data,
@@ -254,7 +277,7 @@
},
getInvitedList() {
http.get('/api/Invited/invited_list', {
token: uni.getStorageSync('token') ?? '',
token: uni.getStorageSync('token') || '',
}).then(response => {
const {
data,
@@ -267,7 +290,7 @@
},
getBillList() {
http.get('/api/Invited/bill_list', {
token: uni.getStorageSync('token') ?? '',
token: uni.getStorageSync('token') || '',
}).then(response => {
const {
data,
@@ -324,10 +347,13 @@
},
// 绑定
bind() {
this.$refs.bindPopup.open('center')
this.PopupStatus = true
this.$refs.bindPopup.openPopup()
},
closeBind() {
this.$refs.bindPopup.close()
this.$refs.bindPopup.closePopup()
this.PopupStatus = false
},
decorate() {
if (this.bindValue) {
@@ -335,7 +361,7 @@
mask: true
})
http.post('/api/Invited/invited_bind', {
token: uni.getStorageSync('token') ?? '',
token: uni.getStorageSync('token') || '',
init_code: this.bindValue
}).then(response => {
const {
@@ -376,6 +402,13 @@
}
}
</script>
<style>
/* 覆盖uni-popup的动画 */
::v-deep .uni-popup .uni-popup__wrapper {
transition: none !important;
transform: translateZ(0) !important;
}
</style>
<style scoped lang="scss">
.view-page {
width: 100vw;
@@ -519,7 +552,8 @@
.copy-button {
// width: 112rpx;
border-radius: 4rpx;
background-color: #0DFFB9;
background: var(--primary-color);
color: var(--font-button-color);
text-align: center;
padding: 12rpx 24rpx;
}
@@ -554,89 +588,55 @@
}
}
.popup-view {
padding: 32rpx;
min-height: 300rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
// background: #FFFFFF;
.share-view {
display: flex;
/* 启用 Flex 布局 */
flex-wrap: wrap;
/* 允许换行 */
justify-content: center;
margin-top: 32rpx;
}
.share-item {
flex: 0 0 calc(25% - 10px);
/* 基础宽度25% 减去间隔 */
margin: 5px;
/* 元素间距 */
box-sizing: border-box;
/* 包含内边距和边框 */
border-radius: 14rpx;
/* 样式美化(可选) */
// background-color: #fff;
// padding: 20rpx;
// text-align: center;
display: inline-flex;
align-items: center;
flex-wrap: wrap;
justify-content: space-evenly;
.share-icon {
width: 90rpx;
height: 90rpx;
}
.title {
text-align: center;
margin-top: 24rpx;
}
}
}
.bindPopup-view {
font-family: Source Han Sans CN, Source Han Sans CN;
padding: 24rpx;
width: 70vw;
text-align: center;
position: relative;
width: 100%;
display: inline-flex;
justify-content: center;
.closeIcon {
width: 22rpx;
height: 26rpx;
position: absolute;
top: 34rpx;
right: 34rpx;
}
.bindPopup-Content {
padding: 24rpx;
width: 80%;
background-color: #fff;
border-radius: 32rpx;
text-align: center;
position: relative;
.bind-title {
display: inline-flex;
}
.closeIcon {
width: 22rpx;
height: 26rpx;
position: absolute;
top: 34rpx;
right: 34rpx;
}
.bind-input {
background: #EFF2F8;
border-radius: 22rpx;
padding: 18rpx 32rpx;
margin: 70rpx 0;
}
.bind-title {
display: inline-flex;
}
.bind-footer {
display: inline-flex;
justify-content: center;
margin-top: 78rpx;
.bind-input {
background: #EFF2F8;
border-radius: 22rpx;
padding: 18rpx 32rpx;
margin: 70rpx 0;
}
.confirm-button {
width: 356rpx;
height: 84rpx;
background: #0DFFB9;
border-radius: 106rpx;
.bind-footer {
display: inline-flex;
justify-content: center;
margin-top: 78rpx;
.confirm-button {
width: 356rpx;
height: 84rpx;
background: var(--primary-color);
color: var(--font-button-color);
border-radius: 106rpx;
justify-content: center;
}
}
}
}
.footer {