Merge branch 'Branch_1' of https://git.u8t.cn/tangxinyue/alipay-emulator into Branch_1
|
|
@ -73,7 +73,7 @@
|
||||||
auto-blur :placeholder="showInfo.placeholder" v-model="content" @input="onInput"
|
auto-blur :placeholder="showInfo.placeholder" v-model="content" @input="onInput"
|
||||||
@focus="onFocus" @blur="onBlur"></textarea> -->
|
@focus="onFocus" @blur="onBlur"></textarea> -->
|
||||||
<editor id="chat-layout-editor" class="input flex-1" :placeholder="showInfo.placeholder"
|
<editor id="chat-layout-editor" class="input flex-1" :placeholder="showInfo.placeholder"
|
||||||
@input="onInput"></editor>
|
@input="onInput" style="word-break: break-all; word-wrap: break-word;"></editor>
|
||||||
<image v-if="phone == 'iphone' && !isSend" class="right-icon"
|
<image v-if="phone == 'iphone' && !isSend" class="right-icon"
|
||||||
src="/static/image/phone-message/iphone/mic.png"></image>
|
src="/static/image/phone-message/iphone/mic.png"></image>
|
||||||
<image v-if="phone == 'iphone' && isSend" class="right-send-icon"
|
<image v-if="phone == 'iphone' && isSend" class="right-send-icon"
|
||||||
|
|
|
||||||
2
main.js
|
|
@ -29,7 +29,7 @@ export function createApp() {
|
||||||
app.config.globalProperties.$system = plus.os.name;
|
app.config.globalProperties.$system = plus.os.name;
|
||||||
// #endif
|
// #endif
|
||||||
app.config.globalProperties.$systemInfo = systemInfo
|
app.config.globalProperties.$systemInfo = systemInfo
|
||||||
uni.setStorageSync('version', '1.0.6.sp13')
|
uni.setStorageSync('version', '1.0.6.sp15')
|
||||||
app.config.globalProperties.$version = uni.getStorageSync('version')
|
app.config.globalProperties.$version = uni.getStorageSync('version')
|
||||||
app.use(globalMethods);
|
app.use(globalMethods);
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
<!-- 转账状态信息 -->
|
<!-- 转账状态信息 -->
|
||||||
<view class="success-info">
|
<view class="success-info">
|
||||||
<view class="amount-box">
|
<view class="amount-box" @click="openEditPopup()">
|
||||||
<text class="symbol">¥</text>
|
<text class="symbol">¥</text>
|
||||||
<text class="amount alipay-font">{{ Number(transferData.amount).toFixed(2) }}</text>
|
<text class="amount alipay-font">{{ Number(transferData.amount).toFixed(2) }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -55,16 +55,16 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="card-item-bg">
|
<view class="card-item-bg">
|
||||||
<view class="user-info">
|
<view class="user-info">
|
||||||
<view class="avatar-box">
|
<view class="avatar-box" @click="openEditPopup()">
|
||||||
<image v-if="transferData.avatar" class="avatar" :src="transferData.avatar"
|
<image v-if="transferData.avatar" class="avatar" :src="transferData.avatar"
|
||||||
mode="aspectFill">
|
mode="aspectFill">
|
||||||
</image>
|
</image>
|
||||||
<image v-else class="avatar" src="/static/image/balance/transfer/add-img.png"
|
<image v-else class="avatar" src="/static/image/balance/transfer/add-img.png"
|
||||||
mode="aspectFill" @click="openEditPopup">
|
mode="aspectFill">
|
||||||
</image>
|
</image>
|
||||||
</view>
|
</view>
|
||||||
<view class="user-details">
|
<view class="user-details">
|
||||||
<view class="name-box">
|
<view class="name-box" @click="openEditPopup()">
|
||||||
<text class="name">{{ transferData.recipient }}</text>
|
<text class="name">{{ transferData.recipient }}</text>
|
||||||
<text class="remark-link">备注</text>
|
<text class="remark-link">备注</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -83,7 +83,7 @@
|
||||||
mode="aspectFill"></image>
|
mode="aspectFill"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="promo-right">
|
<view class="promo-right">
|
||||||
<view class="promo-content">
|
<view class="promo-content" >
|
||||||
<text class="promo-title">{{ transferData.promoTitle }}</text>
|
<text class="promo-title">{{ transferData.promoTitle }}</text>
|
||||||
<view class="promo-tags">
|
<view class="promo-tags">
|
||||||
<text class="tag">{{ transferData.promoTag }}</text>
|
<text class="tag">{{ transferData.promoTag }}</text>
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,7 @@
|
||||||
<image class="title-img" src="/static/image/index/qita.png"></image>
|
<image class="title-img" src="/static/image/index/qita.png"></image>
|
||||||
<view class="video-help-box">
|
<view class="video-help-box">
|
||||||
<template v-for="item in otherList" :key="item.id">
|
<template v-for="item in otherList" :key="item.id">
|
||||||
<view class="video-help-item" :style="{ width: (windowWidth - 32) / 4 + 'px' }"
|
<view class="video-help-item" :style="{ width: (windowWidth - 36) / 4 + 'px' }"
|
||||||
@click="clickMenu(item)" v-if="isShowBankIdCard(item)">
|
@click="clickMenu(item)" v-if="isShowBankIdCard(item)">
|
||||||
<image class="video-help-img" :src="item.icon"></image>
|
<image class="video-help-img" :src="item.icon"></image>
|
||||||
<text class="video-help-title">{{ item.name }}</text>
|
<text class="video-help-title">{{ item.name }}</text>
|
||||||
|
|
@ -277,7 +277,7 @@ const otherList = [{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: "/static/image/index/qita/danliao.png",
|
icon: "/static/image/index/qita/danliao.png",
|
||||||
name: "视频单聊",
|
name: "视频聊天",
|
||||||
path: "/pages/other/video-chat/video-chat"
|
path: "/pages/other/video-chat/video-chat"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -416,19 +416,19 @@ onShow(() => {
|
||||||
// #endif
|
// #endif
|
||||||
})
|
})
|
||||||
function isShowBankIdCard(item) {
|
function isShowBankIdCard(item) {
|
||||||
if (item.name != '银行卡' && item.name != '身份证' && item.name != '工资条' && item.name != '高考') {
|
if (item.name != '银行卡' && item.name != '身份证' && item.name != '工资条' && item.name != '高考') {
|
||||||
return true
|
return true
|
||||||
} else if (item.name == '银行卡' && data.bank) {
|
} else if (item.name == '银行卡' && data.bank) {
|
||||||
return true
|
return true
|
||||||
} else if (item.name == '身份证' && data.idcard) {
|
} else if (item.name == '身份证' && data.idcard) {
|
||||||
return true
|
return true
|
||||||
} else if (item.name == '工资条' && data.payslip) {
|
} else if (item.name == '工资条' && data.payslip) {
|
||||||
return true
|
return true
|
||||||
} else if (item.name == '高考' && data.score) {
|
} else if (item.name == '高考' && data.score) {
|
||||||
return true
|
return true
|
||||||
} else {
|
} else {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取用户数据(从服务器)
|
* 获取用户数据(从服务器)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
|
<view class="shadow-up"></view>
|
||||||
|
<view class="shadow-down"></view>
|
||||||
<!-- 水印 -->
|
<!-- 水印 -->
|
||||||
<view v-if="$isVip()">
|
<view v-if="$isVip()">
|
||||||
<watermark dark="light" source="uni_alipay_other_videoChat" />
|
<watermark dark="light" source="uni_alipay_other_videoChat" />
|
||||||
|
|
@ -22,8 +24,8 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="top-view">
|
<view class="top-view">
|
||||||
|
|
||||||
<image style="height: 136rpx;width:136rpx;object-fit: cover;" :src="videoData.chat.other.avatar"
|
<image style="height: 136rpx;width:136rpx;object-fit: cover;border-radius: 12rpx;"
|
||||||
mode="aspectFill">
|
:src="videoData.chat.other.avatar" mode="aspectFill">
|
||||||
</image>
|
</image>
|
||||||
<text class="nickname">{{ videoData.chat.other.name }}</text>
|
<text class="nickname">{{ videoData.chat.other.name }}</text>
|
||||||
<view class="dot-view">
|
<view class="dot-view">
|
||||||
|
|
@ -72,35 +74,27 @@
|
||||||
<!-- 麦克风 -->
|
<!-- 麦克风 -->
|
||||||
<view class="control-item">
|
<view class="control-item">
|
||||||
<image class="control-btn" :class="{ active: videoData.micOn }" @click="changeInfo('micOn')"
|
<image class="control-btn" :class="{ active: videoData.micOn }" @click="changeInfo('micOn')"
|
||||||
:src="videoData.micOn ? '/static/image/other/video-call/mic-on.png' : '/static/image/other/video-call/mic-off.png'">
|
:src="videoData.micOn ? '/static/image/other/video-call/mic-on.png' : '/static/image/other/video-call/unMic.png'">
|
||||||
</image>
|
</image>
|
||||||
<!-- <view class="" :class="{ active: videoData.micOn }" >
|
|
||||||
|
|
||||||
</view> -->
|
|
||||||
<text class="control-label">{{ videoData.micOn ? '麦克风已开' : '麦克风已关' }}</text>
|
<text class="control-label">{{ videoData.micOn ? '麦克风已开' : '麦克风已关' }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 摄像头 -->
|
<!-- 摄像头 -->
|
||||||
<view class="control-item">
|
<view class="control-item">
|
||||||
<image class="control-btn" :class="{ active: videoData.cameraOn }" @click="changeInfo('cameraOn')"
|
<image class="control-btn" :class="{ active: videoData.cameraOn }" @click="changeInfo('cameraOn')"
|
||||||
:src="videoData.cameraOn ? '/static/image/other/video-call/camera-on.png' : '/static/image/other/video-call/camera-off.png'">
|
:src="videoData.cameraOn ? '/static/image/other/video-call/camera-on.png' : '/static/image/other/video-call/unCamera.png'">
|
||||||
</image>
|
</image>
|
||||||
<!-- <view class="control-btn" :class="{ active: videoData.cameraOn }" @click="changeInfo('cameraOn')">
|
|
||||||
|
|
||||||
</view> -->
|
|
||||||
<text class="control-label">{{ videoData.cameraOn ? '摄像头已开' : '摄像头已关' }}</text>
|
<text class="control-label">{{ videoData.cameraOn ? '摄像头已开' : '摄像头已关' }}</text>
|
||||||
</view>
|
</view>
|
||||||
<!-- 背景模糊 -->
|
<!-- 背景模糊 -->
|
||||||
<view class="control-item">
|
<view class="control-item">
|
||||||
<image class="control-btn" style="background: #00000080;"
|
<image class="control-btn" src="/static/image/other/video-call/xvnibeijing.png">
|
||||||
src="/static/image/other/video-call/xvnibeijing.png">
|
|
||||||
</image>
|
</image>
|
||||||
<text class="control-label">背景模糊</text>
|
<text class="control-label">背景模糊</text>
|
||||||
</view>
|
</view>
|
||||||
<!-- 旋转摄像头 -->
|
<!-- 旋转摄像头 -->
|
||||||
<view class="control-item">
|
<view class="control-item">
|
||||||
<image class="control-btn" style="background: #00000080;"
|
<image class="control-btn" src="/static/image/other/video-call/xuanzhuan.png">
|
||||||
src="/static/image/other/video-call/xuanzhuan.png">
|
|
||||||
</image>
|
</image>
|
||||||
<text class="control-label">翻转</text>
|
<text class="control-label">翻转</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -112,8 +106,8 @@
|
||||||
src="/static/image/other/video-call/hangup.png">
|
src="/static/image/other/video-call/hangup.png">
|
||||||
</image>
|
</image>
|
||||||
|
|
||||||
<image class="hangup-btn" style="margin: 0; background: #00000080;"
|
<image class="hangup-btn" style="margin: 0;" src="/static/image/other/video-call/jieting.png"
|
||||||
src="/static/image/other/video-call/jieting.png" @click="answerCall">
|
@click="answerCall">
|
||||||
</image>
|
</image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -224,7 +218,7 @@
|
||||||
<!-- 麦克风 -->
|
<!-- 麦克风 -->
|
||||||
<view class="control-item">
|
<view class="control-item">
|
||||||
<image class="control-btn" :class="{ active: videoData.micOn }" @click="changeInfo('micOn')"
|
<image class="control-btn" :class="{ active: videoData.micOn }" @click="changeInfo('micOn')"
|
||||||
:src="videoData.micOn ? '/static/image/other/video-call/mic-on.png' : '/static/image/other/video-call/mic-off.png'">
|
:src="videoData.micOn ? '/static/image/other/video-call/mic-on.png' : '/static/image/other/video-call/unMic.png'">
|
||||||
</image>
|
</image>
|
||||||
<!-- <view class="" :class="{ active: videoData.micOn }" >
|
<!-- <view class="" :class="{ active: videoData.micOn }" >
|
||||||
|
|
||||||
|
|
@ -235,35 +229,27 @@
|
||||||
<!-- 扬声器 -->
|
<!-- 扬声器 -->
|
||||||
<view class="control-item">
|
<view class="control-item">
|
||||||
<image class="control-btn" :class="{ active: videoData.speakerOn }" @click="changeInfo('speakerOn')"
|
<image class="control-btn" :class="{ active: videoData.speakerOn }" @click="changeInfo('speakerOn')"
|
||||||
:src="videoData.speakerOn ? '/static/image/other/video-call/speaker-on.png' : '/static/image/other/video-call/speaker-off.png'">
|
:src="videoData.speakerOn ? '/static/image/other/video-call/speaker-on.png' : '/static/image/other/video-call/unSpeaker.png'">
|
||||||
</image>
|
</image>
|
||||||
<!-- <view class="" :class="{ active: videoData.speakerOn }" @click="changeInfo('speakerOn')">
|
|
||||||
|
|
||||||
</view> -->
|
|
||||||
<text class="control-label">{{ videoData.speakerOn ? '扬声器已开' : '扬声器已关' }}</text>
|
<text class="control-label">{{ videoData.speakerOn ? '扬声器已开' : '扬声器已关' }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 摄像头 -->
|
<!-- 摄像头 -->
|
||||||
<view class="control-item">
|
<view class="control-item">
|
||||||
<image class="control-btn" :class="{ active: videoData.cameraOn }" @click="changeInfo('cameraOn')"
|
<image class="control-btn" :class="{ active: videoData.cameraOn }" @click="changeInfo('cameraOn')"
|
||||||
:src="videoData.cameraOn ? '/static/image/other/video-call/camera-on.png' : '/static/image/other/video-call/camera-off.png'">
|
:src="videoData.cameraOn ? '/static/image/other/video-call/camera-on.png' : '/static/image/other/video-call/unCamera.png'">
|
||||||
</image>
|
</image>
|
||||||
<!-- <view class="control-btn" :class="{ active: videoData.cameraOn }" @click="changeInfo('cameraOn')">
|
|
||||||
|
|
||||||
</view> -->
|
|
||||||
<text class="control-label">{{ videoData.cameraOn ? '摄像头已开' : '摄像头已关' }}</text>
|
<text class="control-label">{{ videoData.cameraOn ? '摄像头已开' : '摄像头已关' }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="control-buttons" style="margin-bottom: 0;">
|
<view class="control-buttons" style="margin-bottom: 0;">
|
||||||
<image class="hangup-btn" style="background: #00000080;"
|
<image class="hangup-btn" src="/static/image/other/video-call/xvnibeijing.png">
|
||||||
src="/static/image/other/video-call/xvnibeijing.png">
|
|
||||||
</image>
|
</image>
|
||||||
|
|
||||||
<!-- 挂断按钮 -->
|
<!-- 挂断按钮 -->
|
||||||
<image class="hangup-btn" @click="hangup" src="/static/image/other/video-call/hangup.png"></image>
|
<image class="hangup-btn" @click="hangup" src="/static/image/other/video-call/hangup.png"></image>
|
||||||
|
|
||||||
<image class="hangup-btn" style="background: #00000080;"
|
<image class="hangup-btn" src="/static/image/other/video-call/xuanzhuan.png">
|
||||||
src="/static/image/other/video-call/xuanzhuan.png">
|
|
||||||
</image>
|
</image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -333,7 +319,7 @@
|
||||||
<view style="display: flex; align-items: center; justify-content: space-between;">
|
<view style="display: flex; align-items: center; justify-content: space-between;">
|
||||||
<text
|
<text
|
||||||
style="font-size: 24rpx; color: #999; flex: 1; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; margin-right: 20rpx;">{{
|
style="font-size: 24rpx; color: #999; flex: 1; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; margin-right: 20rpx;">{{
|
||||||
videoData.chat.me.videoUrl }}</text>
|
getFileName(videoData.chat.me.videoUrl) }}</text>
|
||||||
<button size="mini" style="margin: 0; background: #187AFF; color: #fff;"
|
<button size="mini" style="margin: 0; background: #187AFF; color: #fff;"
|
||||||
@click="uploadMedia('me', 'video')">上传</button>
|
@click="uploadMedia('me', 'video')">上传</button>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -344,7 +330,7 @@
|
||||||
<view style="display: flex; align-items: center; justify-content: space-between;">
|
<view style="display: flex; align-items: center; justify-content: space-between;">
|
||||||
<text
|
<text
|
||||||
style="font-size: 24rpx; color: #999; flex: 1; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; margin-right: 20rpx;">{{
|
style="font-size: 24rpx; color: #999; flex: 1; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; margin-right: 20rpx;">{{
|
||||||
videoData.chat.other.videoUrl }}</text>
|
getFileName(videoData.chat.other.videoUrl) }}</text>
|
||||||
<button size="mini" style="margin: 0; background: #187AFF; color: #fff;"
|
<button size="mini" style="margin: 0; background: #187AFF; color: #fff;"
|
||||||
@click="uploadMedia('other', 'video')">上传</button>
|
@click="uploadMedia('other', 'video')">上传</button>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -404,6 +390,13 @@ const getVideoUrl = (url) => {
|
||||||
return url
|
return url
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 提取完整路径中的文件名
|
||||||
|
const getFileName = (path) => {
|
||||||
|
if (!path) return ''
|
||||||
|
// 兼容处理正反斜杠
|
||||||
|
return path.split('/').pop().split('\\').pop()
|
||||||
|
}
|
||||||
|
|
||||||
const buttonGroup = computed(() => [
|
const buttonGroup = computed(() => [
|
||||||
{
|
{
|
||||||
name: "编辑时间",
|
name: "编辑时间",
|
||||||
|
|
@ -629,6 +622,12 @@ onShow(() => {
|
||||||
|
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
util.setAndroidSystemBarColor('#FFFFFF')
|
util.setAndroidSystemBarColor('#FFFFFF')
|
||||||
|
|
||||||
|
// 强制隐藏安卓底部的系统虚拟导航栏(实现全面屏沉浸)
|
||||||
|
// if (plus.navigator.hideSystemNavigation) {
|
||||||
|
// plus.navigator.hideSystemNavigation()
|
||||||
|
// }
|
||||||
|
|
||||||
// 保存定时器引用,以便在页面卸载时清理
|
// 保存定时器引用,以便在页面卸载时清理
|
||||||
statusBarTimer = setTimeout(() => {
|
statusBarTimer = setTimeout(() => {
|
||||||
plus.navigator.setStatusBarStyle("light");
|
plus.navigator.setStatusBarStyle("light");
|
||||||
|
|
@ -636,6 +635,31 @@ onShow(() => {
|
||||||
// #endif
|
// #endif
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
// const restoreSystemNavigation = () => {
|
||||||
|
// if (plus.os.name === 'Android') {
|
||||||
|
// try {
|
||||||
|
// const main = plus.android.runtimeMainActivity();
|
||||||
|
// if (main) {
|
||||||
|
// const window = main.getWindow();
|
||||||
|
// const decorView = window.getDecorView();
|
||||||
|
// const View = plus.android.importClass("android.view.View");
|
||||||
|
// const uiOptions = decorView.getSystemUiVisibility();
|
||||||
|
// // 移除隐藏导航栏的 flag,保留其他的(如状态栏文字颜色设定)
|
||||||
|
// const newUiOptions = uiOptions & ~View.SYSTEM_UI_FLAG_HIDE_NAVIGATION & ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
|
||||||
|
// decorView.setSystemUiVisibility(newUiOptions);
|
||||||
|
|
||||||
|
// // 重新恢复底部导航栏的透明背景(与 pages.json 全局设定保持一致)
|
||||||
|
// const Color = plus.android.importClass("android.graphics.Color");
|
||||||
|
// window.setNavigationBarColor(Color.TRANSPARENT);
|
||||||
|
// }
|
||||||
|
// } catch (e) {
|
||||||
|
// console.log('恢复系统导航栏失败:', e);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// #endif
|
||||||
|
|
||||||
// 页面隐藏时清理定时器,防止返回时出错
|
// 页面隐藏时清理定时器,防止返回时出错
|
||||||
onHide(() => {
|
onHide(() => {
|
||||||
// 清理状态栏定时器
|
// 清理状态栏定时器
|
||||||
|
|
@ -656,6 +680,11 @@ onHide(() => {
|
||||||
|
|
||||||
|
|
||||||
stopTimer() // 停止计时
|
stopTimer() // 停止计时
|
||||||
|
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
// restoreSystemNavigation()
|
||||||
|
// #endif
|
||||||
|
|
||||||
console.log('🚪 页面隐藏,已清理定时器和状态')
|
console.log('🚪 页面隐藏,已清理定时器和状态')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -674,6 +703,10 @@ onUnmounted(() => {
|
||||||
data.dragState.longPressTimer = null
|
data.dragState.longPressTimer = null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
// restoreSystemNavigation()
|
||||||
|
// #endif
|
||||||
|
|
||||||
console.log('🧹 页面卸载,已清理所有定时器')
|
console.log('🧹 页面卸载,已清理所有定时器')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -1390,7 +1423,6 @@ const stopTimer = () => {
|
||||||
width: 120rpx;
|
width: 120rpx;
|
||||||
height: 120rpx;
|
height: 120rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background-color: #4a4a4a;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
@ -1604,6 +1636,7 @@ const stopTimer = () => {
|
||||||
width: 92rpx;
|
width: 92rpx;
|
||||||
height: 92rpx;
|
height: 92rpx;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
border-radius: 12rpx;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
|
|
@ -1673,4 +1706,26 @@ const stopTimer = () => {
|
||||||
height: 410rpx;
|
height: 410rpx;
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.shadow-up {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 750rpx;
|
||||||
|
height: 240rpx;
|
||||||
|
background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
|
||||||
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shadow-down {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 750rpx;
|
||||||
|
height: 240rpx;
|
||||||
|
background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
|
||||||
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1027,7 +1027,6 @@ const stopTimer = () => {
|
||||||
width: 120rpx;
|
width: 120rpx;
|
||||||
height: 120rpx;
|
height: 120rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background-color: #4a4a4a;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
</template>
|
</template>
|
||||||
</nav-bar>
|
</nav-bar>
|
||||||
<view class="content-box flex-column flex-cneter" @click="editPaymentInfo">
|
<view class="content-box flex-column flex-cneter" @click="editPaymentInfo">
|
||||||
<image v-if="paymetInfo.userImg" class="user-img" :src="paymetInfo.userImg"></image>
|
<image v-if="paymetInfo.userImg" class="user-img" :src="paymetInfo.userImg" mode="aspectFill"></image>
|
||||||
<text class="product-name">{{ paymetInfo.productName }}</text>
|
<text class="product-name">{{ paymetInfo.productName }}</text>
|
||||||
<view class="money flex wx-font-medium" :style="{ 'margin-top': paymetInfo.userImg ? '78rpx' : '46rpx' }">
|
<view class="money flex wx-font-medium" :style="{ 'margin-top': paymetInfo.userImg ? '78rpx' : '46rpx' }">
|
||||||
<image class="symbol" src="/static/image/other/payment-success/symbol-yuan.png"></image>{{
|
<image class="symbol" src="/static/image/other/payment-success/symbol-yuan.png"></image>{{
|
||||||
|
|
@ -140,13 +140,6 @@ const paymetInfo = ref({
|
||||||
});
|
});
|
||||||
|
|
||||||
onShow(() => {
|
onShow(() => {
|
||||||
const cachedInfo = storage.get('wx_payment_success_info');
|
|
||||||
if (cachedInfo) {
|
|
||||||
paymetInfo.value = cachedInfo;
|
|
||||||
} else {
|
|
||||||
paymetInfo.value = { productName: '王者荣耀', money: 168 };
|
|
||||||
}
|
|
||||||
|
|
||||||
// #ifdef APP-PLUS&&!APP-HARMONY
|
// #ifdef APP-PLUS&&!APP-HARMONY
|
||||||
util.setAndroidSystemBarColor('#FFFFFF')
|
util.setAndroidSystemBarColor('#FFFFFF')
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
@ -156,6 +149,12 @@ onShow(() => {
|
||||||
})
|
})
|
||||||
|
|
||||||
onLoad(async () => {
|
onLoad(async () => {
|
||||||
|
const cachedInfo = storage.get('wx_payment_success_info');
|
||||||
|
if (cachedInfo) {
|
||||||
|
paymetInfo.value = cachedInfo;
|
||||||
|
} else {
|
||||||
|
paymetInfo.value = { productName: '王者荣耀', money: 168 };
|
||||||
|
}
|
||||||
|
|
||||||
// 微信支付成功页面埋点
|
// 微信支付成功页面埋点
|
||||||
proxy.$apiUserEvent('all', {
|
proxy.$apiUserEvent('all', {
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 871 B |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.4 KiB |