<template> <view class="pages"> <view class="title"> <image src="https://api.ccttiot.com/smartmeter/img/static/ux6MC6FBl41qHB3f2SZh" mode="" style="width: 54rpx;height: 56rpx;margin-right: 10rpx;vertical-align: bottom;vertical-align: bottom;" @click="btnshouye"></image> <text style="width: 80%;text-align: center;display: inline-block;">{{obj.deviceName}}</text> <view class="wz" @click="call" style="text-align: right;padding-right: 50rpx;" v-if="obj.storeContactMobile == null"> <image style="width: 48rpx;height: 50rpx;vertical-align: middle;" src="https://api.ccttiot.com/smartmeter/img/static/u9bYsfyXGAMwKMFfQAmL" mode="aspectFit"></image> <!-- <text>客服</text> --> </view> <view class="wz" @click="call" style="text-align: right;padding-right: 50rpx;" v-else> <image style="width: 60rpx;height: 64rpx;vertical-align: middle;" src="https://api.ccttiot.com/smartmeter/img/static/u9bYsfyXGAMwKMFfQAmL" mode=""></image> <!-- <text>客服</text> --> </view> </view> <view class=""> <!-- 套餐 @scrolltolower="onScrollToLower"--> <scroll-view class="list" scroll-y="true" @scroll="handleScroll" :scroll-top="scrollTop" scroll-with-animation="true"> <view class="list_item" :class="activeindex == item.suitId ? 'active' : ''" v-for="(item,index) in list" :key="index" @click="btnactive(item)"> <view class="tit"> <text class="tc" :class="activeindex == item.suitId ? 'active' : ''">{{item.name}}</text> <text class="yh" :class="activeindex == item.suitId ? 'actives' : ''">{{item.usePoint}}%用户选择</text> </view> <view class="bot"> <view class="price" :class="activeindex == item.suitId ? 'active' : ''"> ¥{{item.price}} </view> <view class="time" :class="activeindex == item.suitId ? 'active' : ''"> 可使用{{item.value}} {{item.timeUnit == 3 ? '分钟' : '小时'}} </view> </view> </view> <image v-if="picimg" class="picdh" @click="btnscrll" src="https://api.ccttiot.com/smartmeter/img/static/uDdjuHcC2h79pEBoQdTh" mode=""></image> </scroll-view> <!-- 说明 --> <view class="shuom"> <view class="shuomtit"> 功能介绍 </view> <view class="cont" style="height: 208rpx;" v-html="obj.funcInfo"> <!-- {{obj.funcInfo == undefined ? '暂无介绍...'}} --> </view> </view> <view class="shuom" style="max-height: 220rpx;margin-top: 30rpx;"> <view class="shuomtit"> 设备地址 </view> <view class="shuomwz"> <image style="width: 30rpx;height: 30rpx;margin-right: 6rpx;" src="https://api.ccttiot.com/smartmeter/img/static/umUFE9oFeYo2Q7atp3jv" mode=""></image> {{obj.storeName == undefined ? '' : obj.storeName}} {{obj.room == undefined ? '--' : obj.room}}室 </view> <view class="shuomwz"> <image style="width: 30rpx;height: 30rpx;margin-right: 6rpx;" src="https://api.ccttiot.com/smartmeter/img/static/uHHgD7nRON3WTmomzKVE" mode=""></image> {{obj.storeAddress ? (obj.storeAddress.length > 18 ? obj.storeAddress.substring(0, 18) + '...' : obj.storeAddress) : '' }} </view> </view> <!-- 支付 --> <view class="tongyi"> <u-checkbox-group> <u-checkbox v-model="checked" @change="checkboxChange" active-color="#8883F0 ">我已同意 </u-checkbox><text @click="btnxieyi">《用户服务协议》</text> </u-checkbox-group> <view class="zf" v-if="zhifuflag" @click="btnzhifu"> 立即支付 </view> <view class="zf" v-else> 立即支付 </view> </view> </view> <!-- <view class="mask" v-if="zfflag"></view> --> <!-- 背景 --> <view class="" style="position: fixed;top: 0;left: 0;width: 100%;height: 100vh;z-index: -1;"> <image style="width: 100%;height: 100vh;" src="https://api.ccttiot.com/smartmeter/img/static/uOiCQSDjukktdvbx5oPw" mode=""></image> </view> <!-- 客服列表 --> <view class="kflist" v-if="kfflag"> <view class="kftit"> 请选择您要联系的客服 </view> <view class="kfwz"> 我们根据选择为您提供服务 </view> <view class="kfshuzu"> <view class="item_val" v-for="(item,index) in kefulist" :key="index" @click="btncall(item.mobile)"> <view class="lt"> <image v-if="item.type == 2" src="https://api.ccttiot.com/smartmeter/img/static/urCSQTavLmUje5oTIsE6" mode=""></image> <image v-if="item.type == 3" src="https://api.ccttiot.com/smartmeter/img/static/uE5rZZvVutxxUj9I06m5" mode=""></image> <image v-if="item.type == 4" src="https://api.ccttiot.com/smartmeter/img/static/uruHLe3W460sdXr2lcxF" mode=""></image> </view> <view class="rt"> <view class="" v-if="item.type == 2">{{item.name}}</view> <view class="" v-if="item.type == 3">运维人员:{{item.name}}</view> <view class="" v-if="item.type == 4">酒店客服:{{item.name}}</view> <view class="" style="margin-top: 10rpx;">{{item.mobile}}</view> </view> </view> </view> </view> <view class="qx" @click="btnkfflag" v-if="kfflag"> × </view> <view class="mask" v-if="kfflag"></view> <!-- 蓝牙充值动画 --> <view class="czdh" v-if="jzflag"> <view class="bj"> <view class="tittop"> 正在充值中,请稍后 </view> <view class="bfb"> {{progress}} % </view> </view> </view> </view> </template> <script> var xBlufi = require("@/components/blufi/xBlufi.js"); export default { data() { return { picimg: false, jine: '', zfflag: false, jzflag: false, progress: 0, mac: '', deviceId: '', name: '', czflag: false, lanyaflag: false, ver_data: '', devicesList: [], bgc: { // backgroundColor: "#8883f0", }, checked: false, zhifuflag: true, activeindex: -1, id: '', list: [], obj: {}, orderno: '', payNo: '', prices: '', sytime: '', zfobj: {}, suitTimeUnit: '', suitPrice: '', suitGearAmount: '', suitGearTime: '', suitFeeMode: '', suitFeeType: '', title: '', sbobj: {}, onlineStatus: '', kfflag: false, timer: null, titflag: false, kefulist: [], scrollTop:0, billId:'' } }, onLoad(option) { if (option.q) { function getQueryParam(url, paramName) { let regex = new RegExp(`[?&]${paramName}=([^&]*)`) let results = regex.exec(url); return results ? decodeURIComponent(results[1].replace(/\+/g, ' ')) : null } this.sceneValue = option.q let decodedValue = decodeURIComponent(this.sceneValue) this.id = getQueryParam(decodedValue, 's') this.$u.get(`/app/user/userInfo`).then(res => { if (res.code == 200) { this.getlist() } else if (res.code == 401) { uni.navigateTo({ url: '/pages/login/login?id=' + this.id }) } }) } else { this.id = option.id this.$u.get(`/app/user/userInfo`).then(res => { if (res.code == 200) { this.getlist() } else if (res.code == 401) { uni.navigateTo({ url: '/pages/login/login?id=' + this.id }) } }) } }, onUnload: function() { if (this.timer) { clearInterval(this.timer) this.timer = null; } xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent); xBlufi.notifyStartDiscoverBle({ 'isStart': false }) }, // 分享到好友(会话) onShareAppMessage: function() { return { title: '创亿康', path: '/pages/index/index' } }, // 分享到朋友圈 onShareTimeline: function() { return { title: '创亿康', query: '', path: '/pages/index/index' } }, methods: { // 点击协议跳转 btnxieyi() { uni.navigateTo({ url: '/page_fenbao/shiyong?tit=' + '用户服务协议' + '&type=' + 'user' }) }, // 获取设备客服 getkefu() { this.$u.get(`/app/device/${this.obj.deviceId}/service`).then(res => { if (res.code == 200) { this.kefulist = res.data } }) }, // 获取设备套餐列表 getlist() { this.$u.get(`app/device/${this.id}/withSuitList`).then((res) => { if (res.code == 200) { this.list = res.data.suitList if (this.list.length <= 3) { this.picimg = false } else { this.picimg = true } this.obj = res.data this.onlineStatus = res.data.onlineStatus this.mac = 'CCYK:' + res.data.mac this.getkefu() } else if (res.code == 401) { uni.navigateTo({ url: '/pages/login/login' }) } }) }, // 滚动到底部 handleScroll(e) { if (e.detail.deltaY <= 0) { this.picimg = false } else { setTimeout(()=>{ this.scrollTop = 0 if(this.list.length <= 3){ this.picimg = false }else{ this.picimg = true } },100) } }, btnscrll() { this.scrollTop = 99999 }, // 点击支付 btnzhifu() { if (this.onlineStatus == 0) { if (this.ver_data == '') { this.czflag = true uni.showLoading({ title: '蓝牙连接中' }) let that = this xBlufi.initXBlufi(1); xBlufi.listenDeviceMsgEvent(true, that.funListenDeviceMsgEvent); xBlufi.notifyStartDiscoverBle({ 'isStart': true }) setTimeout(() => { xBlufi.notifyStartDiscoverBle({ 'isStart': false }) if (that.devicesList.length > 0) { xBlufi.notifyConnectBle({ isStart: true, deviceId: that.deviceId, name: that.name }) } }, 2000) uni.showModal({ title: '温馨提示', content: `检测到该设备未联网,为您切换为蓝牙模式,支付的时候靠近该设备,并打开蓝牙`, showCancel: false, }) setTimeout(() => { if (that.ver_data == '') { uni.showToast({ title: '未连接成功,如多次失败请点击右上角联系客服咨询', icon: 'none', duration: 5000 }) that.czflag = false setTimeout(() => { uni.hideLoading() }, 5000) } }, 18000) } else { this.zhifuflag = false let that = this let data = { deviceNo: that.id, suitId: that.zfobj.suitId, money: that.zfobj.price, suitTime: that.zfobj.value, suitTimeUnit: that.suitTimeUnit, suitFeeMode: that.suitFeeMode, suitFeeType: that.suitFeeType, suitGearAmount: that.suitGearAmount, suitGearTime: that.suitGearTime, suitPrice: that.suitPrice } that.$u.post('/app/bill/recharge', data).then(res => { if (res.code == 200) { that.orderno = res.data.billNo that.billId = res.data.billId that.$u.get(`/app/pay/wx/${that.orderno}`).then((res) => { if (res.code == 200) { uni.requestPayment({ provider: 'wxpay', timeStamp: res.data.payParams.timeStamp, nonceStr: res.data.payParams.nonceStr, package: res.data.payParams.packageVal, signType: res.data.payParams.signType, paySign: res.data.payParams.paySign, success: (res) => { if (that.timer) { clearInterval(this.timer); that.timer = null; } that.$u.put(`/app/bill/${that.orderno}/refreshPayResult`).then(res => { // if(res.code == 200){ that.$u.get('/app/bill/recharge/device/fail/list').then(res => { if (res.code == 200) { if (res.data.length != 0) { let dingobj = res.data[0].billNo uni.getNetworkType({ success(res) { if (res.networkType !== 'none') { uni.getConnectedBluetoothDevices({ success(res) { that.jzflag =true that.startLoading() setTimeout(() => { xBlufi.notifySendCustomData({ customData: "11time@" + that.jine }) },1500) }, fail(err) { console.error('获取已连接蓝牙设备信息失败:',err) } }) that.$u.get(`/app/bill/recharge/${dingobj}/bluetoothSuccess`).then(res => { if (res.code == 200) { that.zhifuflag = true console.log('蓝牙离线充值成功11') setTimeout (() => { uni.navigateTo({ url: '/page_fenbao/dingdan?billId=' + that.billId }) }, 1000 ) } } ) } } }) } else { uni.getNetworkType({ success(res) { if (res.networkType !== 'none') { uni.getConnectedBluetoothDevices({ success(res) { that.jzflag = true that.startLoading() setTimeout(() => { xBlufi.notifySendCustomData({ customData: "11time@" + that.jine }) },1500) }, fail(err) { console.error('获取已连接蓝牙设备信息失败:',err) } }) that.zhifuflag = true setTimeout(() => { uni.navigateTo({ url: '/page_fenbao/dingdan?billId=' + that.billId }) },1000) } } }) } } }) // } }) // 支付成功逻辑 uni.setStorageSync('time', that.expireTimeStr) }, fail(err) { this.zhifuflag = true setTimeout(() => { this.czflag = false uni.hideLoading() }, 500) // 支付失败逻辑 uni.showToast({ title: '支付失败', icon: 'none', duration: 2000 }); } }) } else { this.zhifuflag = true } }) } }) } } else { if (this.checked == false) { uni.showToast({ title: '请勾选用户服务协议 !', icon: 'none', duration: 1000 }) } else if (this.activeindex == -1) { uni.showToast({ title: '请选择套餐 !', icon: 'none', duration: 1000 }) } else { // 不允许一直点击支付 this.zhifuflag = false let that = this let data = { deviceNo: that.id, suitId: that.zfobj.suitId, money: that.zfobj.price, suitTime: that.zfobj.value, suitTimeUnit: that.suitTimeUnit, suitFeeMode: that.suitFeeMode, suitFeeType: that.suitFeeType, suitGearAmount: that.suitGearAmount, suitGearTime: that.suitGearTime, suitPrice: that.suitPrice } that.$u.post('/app/bill/recharge', data).then(res => { if (res.code == 200) { that.orderno = res.data.billNo that.billId = res.data.billId let data = { billNo: that.orderno, channelId: 1 } that.$u.get(`app/pay/wx/${that.orderno}`).then(res => { if (res.code == 200) { that.payNo = res.data.payBill.payNo uni.requestPayment({ provider: 'wxpay', timeStamp: res.data.payParams.timeStamp, nonceStr: res.data.payParams.nonceStr, package: res.data.payParams.packageVal, signType: res.data.payParams.signType, paySign: res.data.payParams.paySign, success: (res) => { that.zhifuflag = true that.$u.put(`/app/bill/${that.payNo}/refreshPayResult`).then(res => { // 支付成功逻辑 uni.navigateTo({ url: '/page_fenbao/dingdan?billId=' + that.billId }) }) }, fail(err) { that.zhifuflag = true // 支付失败逻辑 uni.showToast({ title: '支付失败', icon: 'none', duration: 2000 }) } }) } else { uni.showToast({ title: res.msg, icon: 'none', duration: 2000 }) setTimeout(() => { this.zhifuflag = true }, 2000) } }) } else { uni.showToast({ title: res.msg, icon: 'none', duration: 2000 }) setTimeout(() => { this.zhifuflag = true }, 2000) } }) } } }, // 蓝牙充值动画 startLoading() { this.isLoading = true; const intervalId = setInterval(() => { this.progress += 100 / 100; // 每次增加 1 if (this.progress >= 99) { clearInterval(intervalId); this.isLoading = false; this.progress = 98; // 确保进度条最终达到98 } }, 15); }, // 获取附近蓝牙设备列表 funListenDeviceMsgEvent: function(options) { switch (options.type) { case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS: if (options.result) { let devicesarr = options.data console.log(devicesarr, this.mac, '111'); devicesarr.forEach(device => { const mac = device.name.substring(4); if (device.name.slice(5, 17) == this.mac.slice(5, 17)) { this.deviceId = device.deviceId this.name = device.name this.devicesList.push(device); let uniqueDevicesList = Array.from(new Set(this.devicesList)); // 将去重后的数组重新赋值给 this.devicesList this.devicesList = uniqueDevicesList; } }) } break; case xBlufi.XBLUFI_TYPE.TYPE_CONNECTED: console.log("连接回调:" + JSON.stringify(options)); uni.showToast({ title: '连接成功', icon: 'none', duration: 2000 }) if (options.result) { // console.log('125451245') { xBlufi.notifyInitBleEsp32({ deviceId: this.deviceId }); xBlufi.listenDeviceMsgEvent(true, this.funListenDeviceMsgEvents); this.deviceIds = options.data.deviceId this.name = this.name } } else { } break; case xBlufi.XBLUFI_TYPE.TYPE_RECIEVE_CUSTON_DATA: this.ver_data = this.parseCustomData(options.data) console.log("1收到设备发来的自定义数据结果:", this.ver_data); setTimeout(() => { this.czflag = false uni.hideLoading() }, 1000) break; case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS_STOP: if (options.result) { let uniqueDevicesList = Array.from(new Set(this.devicesList)); let filteredDevices = uniqueDevicesList.filter(device => device.name.substring(0, 4) === "CCYK"); // 将过滤后的数组重新赋值给 this.devicesList this.devicesList = filteredDevices; } break; case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS_START: if (!options.result) { this.lanyaflag = true uni.showToast({ title: '蓝牙未开启', icon: 'none', duration: 3000 }); return } else { this.lanyaflag = false } break; } }, // 从蓝牙拿到数据进行解析 parseCustomData(data) { // 将字符串按照 "@" 分割成数组 const dataArray = data.split('@'); const voltage = parseFloat(dataArray[0].substring(1)); // 去除前缀 "V",并将字符串转换为浮点数 const switchState = dataArray[1].substring(1); // 去除前缀 "S" const current = parseFloat(dataArray[2].substring(1)); // 去除前缀 "A",并将字符串转换为浮点数 const power = parseFloat(dataArray[4].substring(1)); // 去除前缀 "P",并将字符串转换为浮点数 const remainingPower = parseFloat(dataArray[5].substring(1)); // 去除前缀 "M",并将字符串转换为浮点数 const setMode = dataArray[6].substring(1); // 去除前缀 "T" // 返回解析后的数据对象 return { voltage, switchState, current, power, remainingPower, setMode }; }, btnactive(item) { this.activeindex = item.suitId this.prices = item.price this.sytime = item.value this.zfobj = item this.suitTimeUnit = item.timeUnit this.suitPrice = item.price this.suitGearAmount = item.gearAmount this.suitGearTime = item.gearTime this.suitFeeMode = item.feeMode this.suitFeeType = item.feeType if (item.timeUnit == 1) { this.jine = item.value * 24 * 60 * 60 } else if (item.timeUnit == 2) { this.jine = item.value * 60 * 60 } else if (item.timeUnit == 3) { this.jine = item.value * 60 } else if (item.timeUnit == 4) { this.jine = item.value } }, btnshouye() { uni.reLaunch({ url: '/pages/index/index' }) }, checkboxChange(e) { this.checked = e.value }, // 联系客服 call() { this.kfflag = true this.picimg = false }, btnkfflag(){ this.kfflag = false this.picimg = true }, // 拨打客服电话 btncall(mobile) { uni.makePhoneCall({ phoneNumber: mobile, success: function(res) { console.log('拨打电话成功', res) }, fail: function(err) { console.error('拨打电话失败', err) uni.showToast({ title: '拨打电话失败', icon: 'none' }) } }) } } } </script> <style lang="scss" scoped> .active { background-color: #918CFF !important; color: #fff !important; } .actives { background-color: #fff !important; } /deep/ .u-title { padding-bottom: 15rpx; } .czdh { width: 100%; height: 100vh; position: fixed; top: 0; left: 0; background-color: rgba(0, 0, 0, .5); padding-top: 700rpx; .bj { width: 500rpx; height: 300rpx; background-color: #fff; margin: auto; border-radius: 20rpx; .tittop { width: 100%; text-align: center; padding-top: 50rpx; box-sizing: border-box; } .bfb { width: 100%; text-align: center; padding-top: 50rpx; box-sizing: border-box; font-size: 50rpx; } } } .qx { width: 68rpx; height: 68rpx; background: #fff; border-radius: 50%; text-align: center; line-height: 68rpx; font-size: 50rpx; color: #3D3D3D; margin: auto; bottom: 420rpx; z-index: 1; position: fixed; left: 50%; transform: translateX(-50%); } .kflist { width: 590rpx; height: 778rpx; background: #FFFFFF; border-radius: 28rpx 28rpx 28rpx 28rpx; position: fixed; top: 326rpx; left: 50%; transform: translateX(-50%); z-index: 1; padding-top: 48rpx; box-sizing: border-box; .kftit { font-size: 40rpx; color: #3D3D3D; font-weight: 600; width: 100%; text-align: center; } .kfwz { font-size: 28rpx; color: #3D3D3D; margin-top: 16rpx; width: 100%; text-align: center; } .kfshuzu { height: 580rpx; overflow: scroll; .item_val { display: flex; align-items: center; padding-left: 30rpx; box-sizing: border-box; width: 528rpx; height: 144rpx; background: #FFFFFF; box-shadow: 0rpx 4rpx 22rpx 0rpx rgba(0, 0, 0, 0.1); border-radius: 20rpx 20rpx 20rpx 20rpx; margin: auto; margin-top: 42rpx; .lt { margin-right: 34rpx; padding-top: 10rpx; box-sizing: border-box; image { width: 76rpx; height: 78rpx; } } .rt { font-size: 32rpx; color: #3D3D3D; } } } } .picdh { width: 40rpx; height: 35rpx; position: fixed; top: 53%; right: 76rpx; z-index: 99; opacity: .5; animation: moveUpDown 1.5s infinite ease-in-out; } @keyframes moveUpDown { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10rpx); /* 控制上下跳动的幅度 */ } } .mask { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: #000; opacity: .5; } page { background-color: #F7FAFE; overflow: hidden; } .shibai { margin-top: 50rpx; text-align: center; padding-bottom: 600rpx; height: 100vh; overflow: scroll; .jxcz { width: 563rpx; height: 100rpx; background: #8883F0; border-radius: 60rpx 60rpx 60rpx 60rpx; text-align: center; line-height: 100rpx; font-size: 45rpx; color: #FFFFFF; position: fixed; bottom: 62rpx; left: 50%; transform: translateX(-50%); } .top { font-size: 40rpx; color: #3D3D3D; } .tishi { font-size: 31rpx; color: #3D3D3D; margin-top: 50rpx; } .li { margin-top: 50rpx; font-size: 31rpx; color: #3D3D3D; image { margin-top: 30rpx; } } } .pages { width: 750rpx; box-sizing: border-box; .shuom { width: 650rpx; height: 100%; background: #FFFFFF; box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1); filter: blur(0px); margin: auto; margin-top: 60rpx; border-radius: 20rpx; padding: 20rpx; box-sizing: border-box; .cont { margin-top: 10rpx; max-height: 120rpx; overflow: scroll; line-height: 40rpx; } .shuomtit { font-weight: 700; font-size: 34rpx; color: #383838; } .shuomwz { font-size: 28rpx; color: #383838; margin-top: 16rpx; display: flex; align-items: center; } } .list { width: 648rpx; margin: auto; height: 42vh; overflow: scroll; .list_item { width: 648rpx; height: 192rpx; background: #FFFFFF; box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1); filter: blur(0px); border-radius: 20rpx; margin-top: 30rpx; padding-left: 36rpx; box-sizing: border-box; overflow: hidden; .tit { display: flex; justify-content: space-between; .tc { font-weight: 600; font-size: 34rpx; color: #3D3D3D; padding-top: 26rpx; box-sizing: border-box; } .yh { width: 213rpx; height: 67rpx; background: #DCDBFF; border-radius: 0 0 0 20rpx; font-size: 28rpx; color: #918CFF; text-align: center; line-height: 67rpx; } } .bot { margin-top: 40rpx; display: flex; .price { font-weight: 600; font-size: 36rpx; color: #3D3D3D; margin-right: 46rpx; } .time { font-size: 32rpx; color: #3D3D3D; } } } } .tongyi { width: 590rpx; position: fixed; bottom: 50rpx; left: 50%; transform: translateX(-50%); text { color: #638DFF; height: 50rpx; line-height: 50rpx; } .zf { width: 590rpx; height: 84rpx; background: #8883F0; filter: blur(0px); border-radius: 50rpx; text-align: center; line-height: 84rpx; font-size: 36rpx; color: #FFFFFF; margin-top: 20rpx; } } .title { margin-top: 40rpx; padding-left: 32rpx; font-weight: 600; font-size: 40rpx; color: #3D3D3D; margin-top: 100rpx; height: 126rpx; .wz { font-weight: 400; font-size: 32rpx; margin-top: 10rpx; } } } </style>