This commit is contained in:
王一嘉
2025-07-14 16:58:46 +08:00
parent af94cd0a97
commit d68450709b
24 changed files with 397 additions and 79 deletions

View File

@@ -1,12 +1,16 @@
<script setup>
import {onMounted} from "vue";
import {onMounted, reactive} from "vue";
import XModal from "./XModal.vue";
import XQrCode from "./XQrCode.vue";
import Api from "../api/index.js";
const show = defineModel('show');
const detail = reactive({});
onMounted(() => {
Api.system.getQrcode(1).then(({data}) => {
Object.assign(detail, data);
console.log('我坎坎坷坷', detail)
});
});
</script>
@@ -14,11 +18,12 @@ onMounted(() => {
<x-modal
v-model:show="show">
<view class="px-[30rpx] py-[40rpx] relative">
<image @click="show=false" class="!w-[52rpx] !h-[52rpx] absolute top-[-110rpx] right-[calc(-100%-10rpx)]" src="/static/icons/close.png"></image>
<image @click="show=false" class="!w-[52rpx] !h-[52rpx] absolute top-[-110rpx] right-[calc(-100%-10rpx)]"
src="/static/icons/close.png"></image>
<view class="title">关注微信公众号</view>
<view class="!mt-[24rpx] w-[320rpx] !mx-auto aspect-square">
<x-qr-code size="320rpx" :qrSize="180" content="公众号"></x-qr-code>
<image class="!size-[320rpx]" :src="detail.qrcode" mode="aspectFill"></image>
</view>
<view class="desc">截图后扫码变现快人一步</view>
</view>

View File

@@ -0,0 +1,65 @@
<script setup>
import XModal from "./XModal.vue";
import {reactive, ref} from "vue";
import XSelect from "./XSelect.vue";
import Api from "../api";
import {debounce} from "lodash";
import {showToast} from "../utils/uils.js";
const emits = defineEmits(['success']);
const props = defineProps({
id: {
type: String,
default: null,
}
});
const show = ref(false);
const form = reactive({
payType: null,
});
const getApi = async () => {
const {data} = await Api.system.getWithdrawal();
return {
data: data.map(v => ({
...v,
id: v.id,
name: `(${v.type_text}) ${v.realname} ${v.account}`,
})),
}
}
const success = debounce(async () => {
const {msg} = await Api.system.editWithdrawLog({
id: props.id,
wid: form.payType,
});
showToast(msg);
show.value = false;
emits('success')
}, 500);
</script>
<template>
<Text @click="show=true">
<slot></slot>
</Text>
<x-modal v-model:show="show">
<view class="px-[16px] py-[20px] text-[#000]">
<view class="text-[#000] text-center">提现失败</view>
<view class="!my-2 text-black">请修改您的提现信息确保所有信息都归属于用一个自然人修改后在下方选择正确的提现信息
</view>
<x-select v-model:model-value="form.payType" :api="getApi"
placeholder="请选择提现方式"></x-select>
<view class="!flex gap-3 !mt-3">
<tui-button height="80rpx" type="gray" @click="show=false">取消</tui-button>
<tui-button height="80rpx" @click="success">重新提现</tui-button>
</view>
</view>
</x-modal>
</template>
<style scoped lang="scss">
</style>

View File

@@ -8,9 +8,9 @@ const show = ref(false);
<template>
<image v-if="!$slots.button" class="!size-[24rpx]" :src="ICON" mode="aspectFill" @click="show=true"></image>
<div v-else @click="show=true">
<Text v-else @click="show=true">
<slot name="button"></slot>
</div>
</Text>
<x-confirm-modal
width="500rpx"

View File

@@ -1,5 +1,5 @@
<script setup>
import {ref} from 'vue'
import {ref, watch} from 'vue'
import XModal from "./XModal.vue";
import fmt from '../static/images/fmt.png';
import play from '../static/icons/play.png';
@@ -22,6 +22,16 @@ defineExpose({
open
});
watch(
() => show.value,
(val) => {
if (!val) {
playVideo.value = false;
}
},
{deep: true}
)
const changeSwiper = ({detail}) => {
current.value = detail.current;
}
@@ -62,7 +72,7 @@ const changeSwiper = ({detail}) => {
</image>
<view class="!w-full relative rounded-[16rpx] overflow-hidden">
<image v-if="!playVideo" class="!w-full" mode="widthFix" :src="fmt"></image>
<image v-if="!playVideo" class="!w-full" mode="widthFix" :src="options.file"></image>
<view @click="playVideo=!playVideo" v-if="!playVideo"
class="absolute left-0 top-0 w-full h-full bg-[rgba(0,0,0,.4)] z-10 !flex justify-center items-center">
<image class="!w-[94rpx] !h-[94rpx]" :src="play"></image>
@@ -73,7 +83,7 @@ const changeSwiper = ({detail}) => {
@pause="playVideo=!playVideo"
class="!w-full"
v-else
src="https://shopyunlng.oss-cn-beijing.aliyuncs.com/upload/2025/03-18/15-31-150289-429952696.m4v">
:src="options.pop_video[0]">
</video>
</view>
</view>