调整会员页面,重构会员页面,移出会员页面冗余代码

This commit is contained in:
唐明明
2021-11-10 17:02:13 +08:00
parent ddd62f8995
commit c1c0d720f7
5 changed files with 417 additions and 634 deletions

58
App.vue
View File

@@ -24,35 +24,35 @@
//#ifdef APP-PLUS //#ifdef APP-PLUS
// 获取系统版本号 // 获取系统版本号
getVersions({ // getVersions({
platform: plus.os.name, // platform: plus.os.name,
version : plus.runtime.versionCode // version : plus.runtime.versionCode
}).then(res => { // }).then(res => {
if(res.update){ // if(res.update){
uni.showModal({ // uni.showModal({
title: "更新提示", // title: "更新提示",
content: res.note || '版本更新信息', // content: res.note || '版本更新信息',
confirmText: "更新", // confirmText: "更新",
success: modalRes => { // success: modalRes => {
if (modalRes.confirm) { // if (modalRes.confirm) {
if (plus.os.name == "Android") { // if (plus.os.name == "Android") {
plus.runtime.openURL(res.info.download); // plus.runtime.openURL(res.info.download);
} else{ // } else{
uni.showToast({ // uni.showToast({
title: 'IOS应用暂未上架请打开测试(TestFlight)工具点击更新', // title: 'IOS应用暂未上架请打开测试(TestFlight)工具点击更新',
icon : 'none' // icon : 'none'
}) // })
} // }
} // }
} // }
}) // })
} // }
}).catch(err => { // }).catch(err => {
uni.showToast({ // uni.showToast({
title: err.message, // title: err.message,
icon : 'none' // icon : 'none'
}) // })
}) // })
//#endif //#endif
}, },
onShow() { onShow() {

View File

@@ -2,8 +2,8 @@
"name" : "链商星球", "name" : "链商星球",
"appid" : "__UNI__1F65101", "appid" : "__UNI__1F65101",
"description" : "安徽星煌,链商星球商家工具", "description" : "安徽星煌,链商星球商家工具",
"versionName" : "1.1.5", "versionName" : "1.1.6",
"versionCode" : 115, "versionCode" : 116,
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus" : { "app-plus" : {

View File

@@ -1,15 +1,11 @@
<template> <template>
<view class="MallShipmentRefund"> <view class="MallShipmentRefund">
<view class="mes-des"> <view class="mes-des">因您信誉良好 尊享退货包运费·7天无理由退货</view>
因您信誉良好 尊享退货包运费·7天无理由退货
</view>
<!-- 申请类型 --> <!-- 申请类型 -->
<view class="list"> <view class="list">
<view class="list-left">申请类型</view> <view class="list-left">申请类型</view>
<view class="list-right">申请退货</view> <view class="list-right">申请退货</view>
</view> </view>
<!-- 退货原因 --> <!-- 退货原因 -->
<view class="list"> <view class="list">
<view class="list-left">退货原因</view> <view class="list-left">退货原因</view>
@@ -18,7 +14,6 @@
<u-icon name="arrow-right" color="#cacaca" size="26" /> <u-icon name="arrow-right" color="#cacaca" size="26" />
</view> </view>
</view> </view>
<!-- 退货图片 --> <!-- 退货图片 -->
<view class="list"> <view class="list">
<view class="list-left">退货图片</view> <view class="list-left">退货图片</view>
@@ -33,7 +28,6 @@
</view> </view>
</view> </view>
</view> </view>
<!-- 申请原因 --> <!-- 申请原因 -->
<view class="list1"> <view class="list1">
<view class="list-left">备注原因</view> <view class="list-left">备注原因</view>
@@ -43,7 +37,6 @@
{{remark.length+'/'+300}} {{remark.length+'/'+300}}
</view> </view>
</view> </view>
<!-- 订单 --> <!-- 订单 -->
<view class="actions"> <view class="actions">
<view class="nowPay" @click="sure">确认退货</view> <view class="nowPay" @click="sure">确认退货</view>

View File

@@ -4,226 +4,130 @@
<view class="canBack" v-if="canForm"></view> <view class="canBack" v-if="canForm"></view>
<view class="canPop" v-if="canForm"> <view class="canPop" v-if="canForm">
<block v-if="voucher"> <block v-if="voucher">
<image class="canPop-tips" @click="canClick" src="/static/user/order-cancelPay.png" mode="widthFix"> <image class="canPop-tips" @click="canForm = false" src="/static/user/order-cancelPay.png" mode="widthFix"></image>
</image>
<view class="canPop-cont">打款凭证</view> <view class="canPop-cont">打款凭证</view>
<image class="canPop-cover" v-if="voucher.status.value === 3" <image class="canPop-cover" v-if="voucher.status.value === 3" :src="canFromImg.showpath || require('@/static/icons/add-icon.png')" @click="updImg()" mode="aspectFill" />
:src="canFromImg.showpath || require('@/static/icons/add-icon.png')" @click="updImg()" <image class="canPop-cover" v-else :src="canFromImg.showpath || require('@/static/icons/add-icon.png')" @click="preImg()" mode="aspectFill" />
mode="aspectFill" />
<image class="canPop-cover" v-else :src="canFromImg.showpath || require('@/static/icons/add-icon.png')"
@click="preImg()" mode="aspectFill" />
<view class="canPop-status">状态{{voucher.status.text}}</view> <view class="canPop-status">状态{{voucher.status.text}}</view>
<view class="canPop-remark" v-if="voucher.remark && voucher.status.value === 3">驳回原因{{voucher.remark}} <view class="canPop-remark" v-if="voucher.remark && voucher.status.value === 3">驳回原因{{voucher.remark}}
</view> </view>
<view class="canPop-btn" v-if="voucher.status.value === 3" @click="canSubmitEdit(voucher.voucher_id)"> <view class="canPop-btn" v-if="voucher.status.value === 3" @click="canSubmitEdit(voucher.voucher_id)">重新提交</view>
重新提交</view>
</block> </block>
<block v-else> <block v-else>
<image class="canPop-tips" @click="canClick" src="/static/user/order-cancelPay.png" mode="widthFix"> <image class="canPop-tips" @click="canForm = false" src="/static/user/order-cancelPay.png" mode="widthFix"></image>
</image> <view class="canPop-cont">上传打款凭证</view>
<view class="canPop-cont">上传打款凭证</view> <image class="canPop-cover" :src="canFromImg.showpath || require('@/static/icons/add-icon.png')" @click="updImg()" mode="aspectFill"></image>
<image class="canPop-cover" :src="canFromImg.showpath || require('@/static/icons/add-icon.png')"
@click="updImg()" mode="aspectFill"></image>
<view class="canPop-btn" @click="canSubmit">提交</view> <view class="canPop-btn" @click="canSubmit">提交</view>
</block> </block>
</view> </view>
<swiper class="vip-container" previous-margin="55rpx" next-margin="55rpx" :current="tabsIndex" circular <swiper class="vip-container" previous-margin="55rpx" next-margin="55rpx" :current="tabsIndex" circular @change="swiperChange">
@change="swiperChange"> <swiper-item class="swiper-item" v-for="(item, index) in identitiesData" :key="index">
<swiper-item class="swiper-item" v-for="(item, index) in identitie" :key="index"> <view class="vip-item">
<view class="vip-item" :class="tabsIndex == index ? 'color-item-img' : ''"> <image class="vip-back" :src="item.card_cover" mode="scaleToFill"></image>
<image class="vip-back" :src="item.card_cover" mode="scaleToFill"></image> <view class="vip-cont">
<view class="vip-cont"> <view class="vip-name">
<view class="vip-name"> {{ item.name }}
{{ item.name }} <uni-icons class="vip-help" type="help-filled" @click="showRemark(item.name, item.node_definition)" color="rgba(255,255,255,.5)" size="20"></uni-icons>
<image class="vip-name-img" @click="showRemark(item.name, item.node_definition)" </view>
src="../../static/user/vip_privilege_03.png" mode="widthFix"></image> <view class="currentInfo" v-if="user.identity.identity_id === item.identity_id">当前身份</view>
</view> <view class="vip-tips">
<view class="vip-number" v-if="item.count"> <view
{{ item.count.stock > 0 ? '剩余名额:' + item.count.residue : '不限名数' }} class="vip-tips-text"
</view> :class="{'vip-tips-color-01': item.identity_id === 2, 'vip-tips-color-02': item.identity_id === 3, 'vip-tips-color-03': item.identity_id === 4, 'vip-tips-color-04': item.identity_id === 5 }"
<view class="currentInfo" v-if="currentInfo.identity.identity_id === item.identity_id">当前身份 >{{ item.title }}</view>
</view> </view>
<view class="vip-tips">
<!-- 会员 -->
<view v-if="item.identity_id == 2" class="vip-tips-text vip-tips-color-01">{{ item.title }}
</view>
<!-- VIP节点 -->
<view v-else-if="item.identity_id == 3" class="vip-tips-text vip-tips-color-02">
{{ item.title }}
</view>
<!-- 主节点 -->
<view v-else-if="item.identity_id == 4" class="vip-tips-text vip-tips-color-03">
{{ item.title }}
</view>
<!-- 超级节点 -->
<view v-else-if="item.identity_id == 5" class="vip-tips-text vip-tips-color-04">
{{ item.title }}
</view>
</view>
</view> </view>
</view> </view>
</swiper-item> </swiper-item>
</swiper> </swiper>
<!-- 会员特权 --> <!-- 会员特权 -->
<view class="privilege"> <view class="privilege">
<view class="privilege-list"> <view class="privilege-list">
<image class="privilege-img" src="/static/user/vip_privilege_00.png" mode=""></image> <image class="privilege-img" src="/static/user/vip_privilege_00.png" mode=""></image>
<view class="privilege-text"> <view class="privilege-text">
<view class="privilege-name">节点定义</view> <view class="privilege-name">节点定义</view>
{{ identitie[tabsIndex].node_definition }} {{ identitiesData[tabsIndex].description }}
</view> </view>
</view> </view>
<view class="privilege-list"> <view class="privilege-list">
<image class="privilege-img" src="/static/user/vip_privilege_01.png" mode=""></image> <image class="privilege-img" src="/static/user/vip_privilege_01.png" mode=""></image>
<view class="privilege-text"> <view class="privilege-text">
<view class="privilege-name">升级条件</view> <view class="privilege-name">开通价格</view>
<block v-if="openCondition.energy_shard"> <block v-if="identitiesData[tabsIndex].is_activity">
<view class="privilege-label" :class="{ active: openCondition.energy_shard.finish }"> <view class="privilege-price">折扣价{{identitiesData[tabsIndex].cost}}</view>
{{ openCondition.energy_shard.message }} <view class="privilege-price lineation">日常价{{identitiesData[tabsIndex].price}}</view>
<uni-icons v-if="openCondition.energy_shard.finish" type="checkmarkempty" size="17" <view class="privilege-label">活动名额剩余{{identitiesData[tabsIndex].count.residue}}/{{identitiesData[tabsIndex].count.stock}}</view>
color="#f6b338"></uni-icons> </block>
</view> <block v-else>
<view class="privilege-label" :class="{ active: openCondition.price.finish }" <view class="privilege-price">{{identitiesData[tabsIndex].price}}</view>
v-if="!openCondition.energy_shard.finish"> </block>
{{ openCondition.price.message }}
</view>
<view class="privilege-label" v-else>{{ openCondition.service_charge.message }}</view>
</block>
<block v-else>
<view class="privilege-label" v-if="openCondition.certification"
:class="{ active: openCondition.certification.finish }">
{{ openCondition.certification.message }}
</view>
</block>
</view> </view>
</view> </view>
<view class="privilege-list"> <view class="privilege-list">
<image class="privilege-img" src="/static/user/vip_privilege_02.png" mode=""></image> <image class="privilege-img" src="/static/user/vip_privilege_02.png" mode=""></image>
<view class="privilege-text"> <view class="privilege-text">
<view class="privilege-name">节点权益</view> <view class="privilege-name">节点权益</view>
<view class="privilege-label privilege-right" v-for="(item, index) in identitie[tabsIndex].rights" <view class="privilege-label privilege-right" v-for="(item, index) in identitiesData[tabsIndex].rights" :key="index">&{{ item.remark }}</view>
:key="index">&{{ item.remark }}</view>
</view> </view>
</view> </view>
</view> </view>
<!-- 用户协议 --> <!-- 用户协议 -->
<view class="agree" v-if="identitie[tabsIndex].can.show_button"> <view class="agree-btn" v-if="identitiesData[tabsIndex].can.show_button">
<view class="agree-tips" @click="$Router.push({ name: 'vipAgree', params: { type: 'vipAgree' } })"> <checkbox-group @change="selected = !selected">
请仔细阅读并确认服务协议</view> <checkbox :checked="selected" id="vipAgree" style="transform: scale(.7);" color="#7c52fc"></checkbox>
</checkbox-group>
<label for="vipAgree">请认真阅读并确认</label>
<text @click="$Router.push({ name: 'vipAgree', params: { type: 'vipAgree' } })">会员服务协议</text>
</view> </view>
<view class="agree-btn" @click="agreeChange" v-if="identitie[tabsIndex].can.show_button">
<radio :checked="selected" style="transform: scale(.7);" color="#7c52fc"></radio>
会员服务协议
</view>
<!-- 开通按钮 --> <!-- 开通按钮 -->
<view class="footer"> <view class="footer">
<image class="footer-btn" v-if="identitie[tabsIndex].can.show_button && voucher === ''" <image class="footer-btn" v-if="identitiesData[tabsIndex].can.show_button && voucher === ''" :src="identitiesData[tabsIndex].button_cover" mode="widthFix" @click="openOrder" />
:src="identitie[tabsIndex].button_cover" mode="widthFix" @click="openOrder" /> <view class="current-btn-sh" v-if="identitiesData[tabsIndex].can.show_button && voucher !== ''" @click="openOrder">
<view class="current-btn-sh" v-if="identitie[tabsIndex].can.show_button && voucher !== ''" {{voucher.status.value === 1?'申请审核中':''}}{{voucher.status.value === 3?'申请被驳回查看原因':''}}
@click="openOrder"> </view>
{{voucher.status.value === 1?'申请审核中':''}}{{voucher.status.value === 3?'申请被驳回查看原因':''}} <!-- <view class="current-btn-sh" v-if="!identitiesData[tabsIndex].can.show_button && voucher === ''">已开通</view> -->
</view> <view class="ios-bottom"></view>
<!-- <view class="current-btn-sh" v-if="!identitie[tabsIndex].can.show_button && voucher === ''">已开通</view> -->
<view class="ios-bottom"></view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import { import { identities, vipOrder, vipWechatPay, vipCont, vipVoucherUpdate, vipVoucher } from '@/apis/interfaces/vip';
identities, import { getAliPayConfig } from '@/apis/interfaces/alipay'
vipOrder, import { uploads } from '@/apis/interfaces/uploading';
vipWechatPay,
vipCont,
vipVoucherUpdate,
vipVoucher
} from '@/apis/interfaces/vip';
import {
wxConfig
} from '@/apis/interfaces/wx';
import {
getAliPayConfig
} from '@/apis/interfaces/alipay'
import {
uploads
} from '@/apis/interfaces/uploading';
import cashierPay from '@/public/cashierPay' import cashierPay from '@/public/cashierPay'
export default { export default {
data() { data() {
return { return {
loding: true, loding : true,
tabsIndex: 0, user : {},
user: {}, tabsIndex : 0,
identitie: [], identitiesData : [],
rights: [], selected : false,
description: '', canForm : false,
identityTime: '', // 到期时间 voucher : '',
sumNumber: 1, // 开通年限 canFromImg : {
total: '', // 开通年限总资金额 showpath: '',
selected: false, // 用户协议 path : ''
canBtn: '', // 按钮操作 }
canForm: false, // 凭证弹出
canFromImg: {
showpath: '',
path: ''
},
openCondition: {},
voucher: '', //弹窗展示得内容
} }
}, },
created() { created() {
// 获取当前用户信息 // 获取当前用户信息
this.idenInfo('cre') this.idenInfo()
}, },
methods: { methods: {
// 当前用户信息 // 当前用户信息
idenInfo(type) { idenInfo(type) {
identities().then(res => { identities().then(res => {
res.identities.map(item => { this.user = res.user
item.obj_condition = new Object() this.identitiesData = res.identities
for (let val of item.get_condition) { if(!type && type != 'refresh'){
item.obj_condition[val.name] = { this.tabsIndex = res.identities.findIndex(val => val.identity_id == this.$Route.query.identity_id)
message: val.message, }
finish: val.finish this.swiperChange()
}; this.loding = false
}
return item;
});
this.identitie = res.identities
if (type === 'cre') {
let Index = res.identities.findIndex(val => val.identity_id == this.$Route.query
.identity_id)
if (Index + 1 === res.identities.length) {
this.tabsIndex = Index
} else {
this.tabsIndex = Index + 1
}
}
this.openCondition = res.identities[this.tabsIndex].obj_condition
this.rights = res.identities[this.tabsIndex].rights
this.total = res.identities[this.tabsIndex].price
this.canBtn = res.identities[this.tabsIndex].can
this.currentInfo = res.user
this.loding = false
this.voucher = this.identitie[this.tabsIndex].voucher ? this.identitie[this.tabsIndex]
.voucher : ''
if (this.voucher) {
this.canFromImg = this.identitie[this.tabsIndex].voucher.cover
} else {
this.canFromImg = {
path: '',
showpath: ''
}
}
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
title: err.message, title: err.message,
@@ -233,16 +137,27 @@
}, },
// 切换开通身份 // 切换开通身份
swiperChange(e) { swiperChange(e) {
this.tabsIndex = e.detail.current if(e){
this.idenInfo() this.tabsIndex = e.detail.current
}
this.voucher = this.identitiesData[this.tabsIndex].voucher ? this.identitiesData[this.tabsIndex].voucher : ''
if(this.voucher){
this.canFromImg = this.identitiesData[this.tabsIndex].voucher.cover
}else{
this.canFromImg = {
path : '',
showpath: ''
}
}
}, },
// 开通会员 // 开通会员
openOrder() { openOrder() {
let can = this.canBtn, let can = this.identitiesData[this.tabsIndex].can,
identitiesId = this.identitie[this.tabsIndex].identity_id; identitiesId = this.identitiesData[this.tabsIndex].identity_id;
if (this.selected == false) {
if (!this.selected) {
uni.showToast({ uni.showToast({
title: '请勾选用户协议', title: '请勾选用户协议',
icon: 'none' icon: 'none'
@@ -257,21 +172,20 @@
} }
}) })
// //
} else { } else {
this.canClick() this.canForm = true
} }
}, },
// 创建订单 // 创建订单
payAppConfig(payType) { payAppConfig(payType) {
let identity = this.identitie[this.tabsIndex].identity_id let identity = this.identitiesData[this.tabsIndex].identity_id
vipOrder(identity, { vipOrder(identity, {
year: 1, year: 1,
}).then(res => { }).then(res => {
if (payType === 0) this.wechatAppPay(res.id) if (payType === 0) this.wechatAppPay(res.id)
if (payType === 1) this.aliPayConfig(res.id) if (payType === 1) this.aliPayConfig(res.id)
}).catch(err => { }).catch(err => {
console.log(err)
uni.showToast({ uni.showToast({
title: err.message, title: err.message,
icon: "none" icon: "none"
@@ -283,11 +197,11 @@
aliPayConfig(orderId) { aliPayConfig(orderId) {
getAliPayConfig(orderId, { getAliPayConfig(orderId, {
type: 'app' type: 'app'
}).then(res => { }).then(res => {
cashierPay.pay('alipay', res.wechat, 'vip').then(payRes => { cashierPay.pay('alipay', res.wechat.original.data, 'vip').then(payRes => {
this.idenInfo() this.idenInfo('refresh')
}) })
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
title: err.message, title: err.message,
icon: "none" icon: "none"
@@ -301,7 +215,7 @@
}).then(res => { }).then(res => {
let payConfig = JSON.parse(res) let payConfig = JSON.parse(res)
cashierPay.pay('wxpay', payConfig, 'vip').then(payRes => { cashierPay.pay('wxpay', payConfig, 'vip').then(payRes => {
this.idenInfo() this.idenInfo('refresh')
}) })
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
@@ -310,17 +224,12 @@
}) })
}) })
}, },
// 勾选协议
agreeChange() {
this.selected = !this.selected;
},
// 会员权益介绍 // 会员权益介绍
showRemark(title, val) { showRemark(title, val) {
uni.showModal({ uni.showModal({
title: title, title : title,
content: val, content : val,
showCancel: false showCancel : false
}) })
}, },
@@ -351,17 +260,13 @@
current: this.voucher.cover.showpath, current: this.voucher.cover.showpath,
urls: [this.voucher.cover.showpath] urls: [this.voucher.cover.showpath]
}) })
}, },
// 打款凭证弹出状态
canClick() {
this.canForm = !this.canForm;
},
// 打款凭证提交 // 打款凭证提交
canSubmit() { canSubmit() {
let newCover = this.canFromImg.path, let newCover = this.canFromImg.path,
newId = this.identitie[this.tabsIndex].identity_id; newId = this.identitiesData[this.tabsIndex].identity_id;
vipVoucher({ vipVoucher({
cover: newCover, cover: newCover,
identity_id: newId identity_id: newId
@@ -508,24 +413,15 @@
.vip-name { .vip-name {
display: flex; display: flex;
font-size: 46rpx; font-size: 38rpx;
color: #ffffff; color: #ffffff;
font-weight: 600; font-weight: bold;
.vip-help{
.vip-name-img { margin-left: 10rpx;
width: 36rpx; margin-top: 6rpx;
height: 36rpx;
margin: 12rpx 20rpx;
} }
} }
.vip-number {
margin: 10rpx 0 40rpx;
color: #ffffff;
font-size: 32rpx;
opacity: 0.8;
}
.currentInfo { .currentInfo {
position: absolute; position: absolute;
right: 82rpx; right: 82rpx;
@@ -536,19 +432,20 @@
.vip-tips { .vip-tips {
font-size: 30rpx; font-size: 30rpx;
background-color: #e8ebf6; background-color: white;
display: inline-block; display: inline-block;
border-radius: 80rpx; border-radius: 80rpx;
height: 60rpx; height: 60rpx;
line-height: 60rpx; line-height: 60rpx;
padding: 0 30rpx; padding: 0 30rpx;
margin-top: 100rpx;
.vip-tips-text { .vip-tips-text {
font-weight: 700; font-weight: 700;
background-clip: text; background-clip: text;
color: transparent; color: transparent;
} }
.vip-tips-color-00 { .vip-tips-color-00 {
background-image: linear-gradient(to bottom, #6189f0, #b6b9c1); background-image: linear-gradient(to bottom, #6189f0, #b6b9c1);
} }
@@ -583,28 +480,41 @@
.privilege-img { .privilege-img {
width: 50rpx; width: 50rpx;
height: 50rpx; height: 50rpx;
margin-top: 5rpx;
} }
.privilege-text { .privilege-text {
width: calc(100% - 60rpx); width: calc(100% - 50rpx);
padding-left: 30rpx; padding-left: 20rpx;
font-size: 30rpx; font-size: 30rpx;
color: #999999; color: $text-gray-m;
line-height: 48rpx; line-height: 40rpx;
.privilege-name { .privilege-name {
font-size: 34rpx; font-size: 34rpx;
color: #000000; color: #333;
margin: 10rpx 0 20rpx; margin: 10rpx 0 20rpx;
} font-weight: bold;
}
.privilege-label.active {
color: #f6b338; .privilege-price{
} color: #f6b338;
font-weight: bold;
line-height: 50rpx;
&.lineation{
text-decoration:line-through;
color: $text-gray-m;
font-weight: normal;
}
}
.privilege-label{
line-height: 50rpx;
}
.privilege-right { .privilege-right {
color: #7877eb; color: $mian-color;
} }
} }
} }
@@ -629,13 +539,12 @@
font-size: $title-size-lg; font-size: $title-size-lg;
text-align: left; text-align: left;
color: #999999; color: #999999;
padding: $padding; padding: $padding;
text{
color: $mian-color;
}
} }
// .content{
// min-height: 100vh;
// background: #fefaef;
// }
// 开通须知 // 开通须知
.notice { .notice {
font-size: $title-size-m; font-size: $title-size-m;
@@ -677,13 +586,13 @@
} }
.current-btn-sh { .current-btn-sh {
background-color: #cacaca; background-color: $border-color-lg;
width: 74%; width: 74%;
height: 80rpx; height: 100rpx;
color: #fff; color: $text-gray;
margin-left: 13%; margin-left: 13%;
border-radius: 80rpx; border-radius: 80rpx;
line-height: 80rpx; line-height: 100rpx;
font-size: 36rpx; font-size: 36rpx;
} }
} }

File diff suppressed because one or more lines are too long