|
@@ -1,282 +1,307 @@
|
|
|
<template>
|
|
|
- <view class="content">
|
|
|
- <!-- <view class="qrimg">
|
|
|
- <tki-qrcode
|
|
|
- :cid="cid"
|
|
|
- ref="qrcode"
|
|
|
- :val="val"
|
|
|
- :size="size"
|
|
|
- :unit="unit"
|
|
|
- :background="background"
|
|
|
- :foreground="foreground"
|
|
|
- :pdground="pdground"
|
|
|
- :icon="icon"
|
|
|
- :iconSize="iconSize"
|
|
|
- :lv="lv"
|
|
|
- :onval="onval"
|
|
|
- :loadMake="loadMake"
|
|
|
- :usingComponents="usingComponents"
|
|
|
- @result="qrR"
|
|
|
- />
|
|
|
- </view> -->
|
|
|
- <!-- #ifndef MP-ALIPAY -->
|
|
|
- <canvas :class="{ qrimg: !loading }" @longtap="alertCanv" id="qrShareBox" canvas-id="qrShareBox" class="tki-qrcode-canvas" />
|
|
|
+ <view class="andr-shQ-padL30 andr-shQ-padR30 andr-shQ-Flex andr-shQ-FlexDirC">
|
|
|
+ <view class="andr-shQ-w100B andr-shQ-Flex andr-shQ-JusCC">
|
|
|
+ <swiper class="imgw750h375 matop" :indicator-dots="false" :current="current" @change="currentChange" >
|
|
|
+ <swiper-item v-for="(item, index) in rwmListArr" :key="index"><image :src="item.wap_poster" mode="aspectFit" class="imgw750h375" /></swiper-item>
|
|
|
+ </swiper>
|
|
|
+ </view>
|
|
|
+ <view class="baocun" @click="comfirm(userInfo.uid+'')">复制邀请码</view>
|
|
|
+ <!-- #ifdef H5 -->
|
|
|
+ <!-- <view class="baocun">长按二维码保存图片</view> -->
|
|
|
+
|
|
|
<!-- #endif -->
|
|
|
- <!-- #ifdef MP-ALIPAY -->
|
|
|
- <canvas :class="{ qrimg: !loading }" @longtap="alertCanv" id="qrShareBox" class="tki-qrcode-canvas" />
|
|
|
+ <!-- #ifdef MP-WEIXIN -->
|
|
|
+ <view class="baocun" @click="seav">保存图片并转发</view>
|
|
|
+ <!-- <button open-type="share" class="baocun btn" v-if="scLoading == 2">分享到微信</button> -->
|
|
|
<!-- #endif -->
|
|
|
- <view :style="{ display: loading ? 'none' : 'block' }" class="tki-qrcode-canvas"><image :src="ctxSrc" mode="scaleToFill" class="tki-qrcode-canvas"></image></view>
|
|
|
- <view class="share-bottom flex" :class="{ 'action-share-bottom': !loading }" @click="loading ? showImg() : ''">
|
|
|
- <text>{{ loading ? '点击生成图片' : '长按二维码下载' }}</text>
|
|
|
- </view>
|
|
|
</view>
|
|
|
</template>
|
|
|
-
|
|
|
<script>
|
|
|
-// import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue';
|
|
|
+import { mapState } from 'vuex';
|
|
|
import { spreadBanner } from '@/api/user.js';
|
|
|
+import { interceptor, saveUrl } from '@/utils/loginUtils';
|
|
|
+// #ifdef H5
|
|
|
+import { weixindata } from '@/utils/wxAuthorized';
|
|
|
+// #endif
|
|
|
export default {
|
|
|
- // components: { tkiQrcode },
|
|
|
data() {
|
|
|
return {
|
|
|
- cid: 'tki-qrcode-canvas', //canvasId,页面存在多个二维码组件时需设置不同的ID
|
|
|
- size: 180, //生成的二维码大小
|
|
|
- unit: 'upx', //大小单位尺寸
|
|
|
- // show: true,//默认使用组件中的image标签显示二维码
|
|
|
- val: '', //要生成的内容
|
|
|
- background: '#ffffff', //二维码背景色
|
|
|
- foreground: '#333333', //二维码前景色
|
|
|
- pdground: '#333333', //二维码角标色
|
|
|
- icon: '', //二维码图标URL(必须是本地图片,网络图需要先下载至本地)
|
|
|
- iconSize: 40, //二维码图标大小
|
|
|
- lv: 3, //容错级别
|
|
|
- onval: false, //监听val值变化自动重新生成二维码
|
|
|
- loadMake: false, //组件初始化完成后自动生成二维码,val需要有值
|
|
|
- usingComponents: false, //是否使用了自定义组件模式(主要是为了修复非自定义组件模式时 v-if 无法生成二维码的问题)
|
|
|
- showLoading: false, //是否显示loading
|
|
|
- loadingText: '二维码生成中', //loading文字
|
|
|
- src: '', // 二维码生成后的图片地址或base64
|
|
|
- ratio: 1, //页面比例用于计算
|
|
|
- ctxSrc: '', //要显示的图片
|
|
|
- loading: true,//是否载入图片中
|
|
|
- canHeight: '',//画布高度
|
|
|
- canWeidth: ''//画布宽度
|
|
|
+ rwmListArr: [],
|
|
|
+ current: 0,
|
|
|
+ imgSrc: ''
|
|
|
};
|
|
|
},
|
|
|
- onLoad() {
|
|
|
- this.loadCodeList()
|
|
|
+ onLoad(option) {
|
|
|
+ uni.showLoading({
|
|
|
+ title: '邀请图生成中',
|
|
|
+ mask: true
|
|
|
+ });
|
|
|
+ // 判断是否强制登录
|
|
|
+ this.loadCodeList();
|
|
|
+ // #ifdef MP-WEIXIN
|
|
|
+ uni.authorize({
|
|
|
+ scope: 'scope.writePhotosAlbum',
|
|
|
+ complete() {}
|
|
|
+ });
|
|
|
+ // #endif
|
|
|
},
|
|
|
- onReady() {
|
|
|
- let obj = this;
|
|
|
- let query = uni.createSelectorQuery();
|
|
|
- // 获取页面比例
|
|
|
- query
|
|
|
- .select('.content')
|
|
|
- .fields(
|
|
|
- {
|
|
|
- size: true
|
|
|
- },
|
|
|
- e => {
|
|
|
- // 保存比例
|
|
|
- this.ratio = e.width / 750;
|
|
|
- }
|
|
|
- )
|
|
|
- .exec();
|
|
|
- // 获取画布宽高信息
|
|
|
- query
|
|
|
- .select('#qrShareBox')
|
|
|
- .fields(
|
|
|
- {
|
|
|
- size: true
|
|
|
- },
|
|
|
- e => {
|
|
|
- // 保存画布宽高信息
|
|
|
- obj.canHeight = e.height;
|
|
|
- obj.canWeidth = e.width;
|
|
|
- }
|
|
|
- )
|
|
|
- .exec();
|
|
|
+ onShow() {
|
|
|
+ if (this.loginInterceptor && !this.hasLogin) {
|
|
|
+ saveUrl();
|
|
|
+ // 登录拦截
|
|
|
+ interceptor();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //下拉刷新
|
|
|
+ onPullDownRefresh() {
|
|
|
+ let obj = this;
|
|
|
+ //监听下拉刷新动作的执行方法,每次手动下拉刷新都会执行一次
|
|
|
+ setTimeout(function() {
|
|
|
+ obj.loadCodeList();
|
|
|
+ uni.stopPullDownRefresh(); //停止下拉刷新动画
|
|
|
+ }, 1000);
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapState(['weichatObj', 'baseURL', 'urlFile']),
|
|
|
+ ...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
|
|
|
},
|
|
|
methods: {
|
|
|
+ comfirm(text) {
|
|
|
+ // let text = this.userInfo.uid
|
|
|
+ console.log(text);
|
|
|
+ const result = this.uniCopy(text);
|
|
|
+ if (result === false) {
|
|
|
+ uni.showToast({
|
|
|
+ title: '不支持'
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ title: '复制成功',
|
|
|
+ icon: 'none'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ // this.$refs.popup.close();
|
|
|
+ },
|
|
|
+ uniCopy(content) {
|
|
|
+ /**
|
|
|
+ * 小程序端 和 app端的复制逻辑
|
|
|
+ */
|
|
|
+ //#ifndef H5
|
|
|
+ uni.setClipboardData({
|
|
|
+ data: content,
|
|
|
+ success: function() {
|
|
|
+ console.log('success');
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ //#endif
|
|
|
+
|
|
|
+ /**
|
|
|
+ * H5端的复制逻辑
|
|
|
+ */
|
|
|
+ // #ifdef H5
|
|
|
+ if (!document.queryCommandSupported('copy')) {
|
|
|
+ //为了兼容有些浏览器 queryCommandSupported 的判断
|
|
|
+ // 不支持
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let textarea = document.createElement('textarea');
|
|
|
+ textarea.value = content;
|
|
|
+ textarea.readOnly = 'readOnly';
|
|
|
+ document.body.appendChild(textarea);
|
|
|
+ textarea.select(); // 选择对象
|
|
|
+ textarea.setSelectionRange(0, content.length); //核心
|
|
|
+ let result = document.execCommand('copy'); // 执行浏览器复制命令
|
|
|
+ textarea.remove();
|
|
|
+ return result;
|
|
|
+ // #endif
|
|
|
+ },
|
|
|
loadCodeList() {
|
|
|
+ let self = this;
|
|
|
// 加载二维码信息
|
|
|
+ // let andrUid = uni.getStorageSync('andrUid')||'';
|
|
|
spreadBanner({
|
|
|
// #ifdef H5
|
|
|
type: 2,
|
|
|
// #endif
|
|
|
// #ifdef MP
|
|
|
- type: 1
|
|
|
+ type: 1,
|
|
|
// #endif
|
|
|
}).then(e => {
|
|
|
- // #ifdef MP
|
|
|
- // 保存二维码图片
|
|
|
- uni.downloadFile({
|
|
|
- url: e.data[0].wap_posterQr,
|
|
|
- success(res) {
|
|
|
- if (res.errMsg == 'downloadFile:ok') {
|
|
|
- obj.src = res.tempFilePath;
|
|
|
- // 生成画布
|
|
|
- obj.loadImg(obj.src);
|
|
|
- uni.hideLoading();
|
|
|
- }
|
|
|
- console.log(res);
|
|
|
- },
|
|
|
- fail(e) {
|
|
|
- console.log(e);
|
|
|
- }
|
|
|
- })
|
|
|
- // #endif
|
|
|
- // #ifdef H5
|
|
|
- // 保存二维码图片
|
|
|
- this.src = e.data[0].wap_posterQr;
|
|
|
- // 生成画布
|
|
|
- this.loadImg(e.data[0].wap_posterQr);
|
|
|
- // #endif
|
|
|
-
|
|
|
- }).catch((e) => {
|
|
|
- uni.showModal({
|
|
|
- title: '生成失败请刷新页面',
|
|
|
- showCancel: false
|
|
|
- });
|
|
|
- uni.hideLoading();
|
|
|
- });;
|
|
|
- },
|
|
|
- // 长按画布事件
|
|
|
- alertCanv() {
|
|
|
- uni.showModal({
|
|
|
- title: '请先点击生成图片再下载',
|
|
|
- showCancel: false
|
|
|
- });
|
|
|
- },
|
|
|
- // 生成图片
|
|
|
- showImg() {
|
|
|
- uni.showLoading({
|
|
|
- title: '图片生成中',
|
|
|
- mask: true
|
|
|
+ if (e.status == 200) {
|
|
|
+ console.log(e.data)
|
|
|
+ self.rwmListArr = e.data;
|
|
|
+ // #ifdef H5
|
|
|
+ self.imgSrc = self.rwmListArr[0].wap_poster;
|
|
|
+ // #endif
|
|
|
+ // #ifdef MP-WEIXIN
|
|
|
+ self.imgSrc = self.rwmListArr[0].poster;
|
|
|
+ // #endif
|
|
|
+ }
|
|
|
+ uni.hideLoading();
|
|
|
});
|
|
|
- let obj = this;
|
|
|
- //因为和uni.showLoading载入效果冲突需要延迟执行生成图片方法
|
|
|
- setTimeout(function() {
|
|
|
- uni.canvasToTempFilePath({
|
|
|
- x: 0,
|
|
|
- y: 0,
|
|
|
- width: obj.canWeidth,
|
|
|
- height: obj.canHeight,
|
|
|
- destWidth: obj.canWeidth,
|
|
|
- destHeight: obj.canHeight,
|
|
|
- fileType: 'jpg',
|
|
|
- quality: 1,
|
|
|
- canvasId: 'qrShareBox',
|
|
|
- success: res => {
|
|
|
- uni.hideLoading();
|
|
|
- uni.showModal({
|
|
|
- title: '创建成功,长按二维码下载图片',
|
|
|
- showCancel: false
|
|
|
- });
|
|
|
- // 显示生成的图片
|
|
|
- obj.loading = false;
|
|
|
- // 保存图片base64
|
|
|
- obj.ctxSrc = res.tempFilePath;
|
|
|
- },
|
|
|
- fail(e) {
|
|
|
- console.log(e);
|
|
|
- }
|
|
|
- });
|
|
|
- }, 50);
|
|
|
- },
|
|
|
- // 开始渲染画布
|
|
|
- loadImg(src) {
|
|
|
- const obj = this;
|
|
|
- const cavWidth=523;//画布宽度
|
|
|
- const cavHeight=700;//画布高度
|
|
|
- const ratio = obj.ratio;//获取页面比例
|
|
|
- const ctxBg = '/static/img/img14.jpg'; //画布背景
|
|
|
- let context = uni.createCanvasContext('qrShareBox');
|
|
|
- const codeSize = obj.size * ratio; //计算二维码大小
|
|
|
- const codeX = ((cavWidth - obj.size) * ratio) / 2; //二维码所在x轴位置
|
|
|
- const codeY = cavHeight * ratio; //二维码所在y轴位置
|
|
|
- const codeBoxColor = '#FFFFFF'; //包裹框颜色
|
|
|
- const codeBoxWidht = 0; //包裹边框宽度
|
|
|
- const codeBoxSize = (codeBoxWidht / 2) * ratio; //计算二维码白色包裹框大小
|
|
|
- const codeBoxX = codeX - codeBoxSize; //包裹框初始X轴
|
|
|
- const codeBoxY = codeY - codeBoxSize; //包裹框初始Y轴
|
|
|
- const codeBoxEnd = codeSize + codeBoxWidht * ratio; //计算包裹框大小
|
|
|
- const fontTop = codeY + codeBoxEnd + (codeBoxWidht + 20) * this.ratio; //文字距离上边距高度
|
|
|
- const fontSize = 24 * ratio; //文字大小
|
|
|
- const fontText = ''; //文字内容
|
|
|
- const fontLeft = (codeSize - fontSize * fontText.length) / 2 + codeX; //文字左侧距离
|
|
|
- // 插入背景图片
|
|
|
- context.drawImage(ctxBg, 0, 0, obj.canWeidth, obj.canHeight);
|
|
|
- // // 插入文字
|
|
|
- context.setFontSize(fontSize);
|
|
|
- context.fillText(fontText, fontLeft, fontTop);
|
|
|
- // 插入边框
|
|
|
- context.beginPath();//开始画线
|
|
|
- context.setLineJoin('round'); //边框类型
|
|
|
- context.setLineWidth(codeBoxWidht * ratio);
|
|
|
- context.setStrokeStyle(codeBoxColor); //设置包裹框颜色
|
|
|
- context.strokeRect(codeBoxX, codeBoxY, codeBoxEnd, codeBoxEnd);
|
|
|
- context.stroke();//渲染线条
|
|
|
- // 插入二维码
|
|
|
- context.drawImage(src, codeX, codeY, codeSize, codeSize);
|
|
|
- // 开始渲染
|
|
|
- context.draw();
|
|
|
- },
|
|
|
- // 創建二维码
|
|
|
- creatQrcode() {
|
|
|
- this.$refs.qrcode._makeCode();
|
|
|
- },
|
|
|
- // 保存二维码到图库
|
|
|
- saveQrcode() {
|
|
|
- this.$refs.qrcode._saveCode();
|
|
|
},
|
|
|
- // 生成二维码后返回base64
|
|
|
- qrR(res) {
|
|
|
- this.src = res;
|
|
|
+ currentChange(e) {
|
|
|
+ this.current = e.detail.current;
|
|
|
},
|
|
|
- //清空二维码(清空二维码会触发result回调 返回值为空)
|
|
|
- clearQrcode(e) {
|
|
|
- this.$refs.qrcode._clearCode();
|
|
|
- this.val = '';
|
|
|
+ // onShareAppMessage(options){
|
|
|
+ // console.log(options,'options')
|
|
|
+ // let userInfo = uni.getStorageSync('userInfo');
|
|
|
+ // console.log(userInfo)
|
|
|
+ // let obj = this;
|
|
|
+ // // 设置菜单中的转发按钮触发转发事件时的转发内容
|
|
|
+ // let shareObj = {
|
|
|
+ // title: "邀请好友领券", // 默认是小程序的名称(可以写slogan等)
|
|
|
+ // path: '/pages/index/index?spread='+userInfo.uid, // 默认是当前页面,必须是以‘/’开头的完整路径
|
|
|
+ // imageUrl: obj.imgSrc,
|
|
|
+ // success: function(res){
|
|
|
+ // // 转发成功之后的回调
|
|
|
+ // if(res.errMsg == 'shareAppMessage:ok'){
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // fail: function(){
|
|
|
+ // // 转发失败之后的回调
|
|
|
+ // if(res.errMsg == 'shareAppMessage:fail cancel'){
|
|
|
+ // // 用户取消转发
|
|
|
+ // }else if(res.errMsg == 'shareAppMessage:fail'){
|
|
|
+ // // 转发失败,其中 detail message 为详细失败信息
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // };
|
|
|
+ // // 来自页面内的按钮的转发
|
|
|
+ // if( options.from == 'button' ){
|
|
|
+ // // 此处可以修改 shareObj 中的内容
|
|
|
+ // shareObj.path = '/pages/index/index?spread='+userInfo.uid;
|
|
|
+ // console.log(shareObj.path,'shareObj.path')
|
|
|
+ // }
|
|
|
+ // // 返回shareObj
|
|
|
+ // return shareObj;
|
|
|
+ // },
|
|
|
+ // scClick() {
|
|
|
+ // let self = this;
|
|
|
+ // // #ifdef H5
|
|
|
+ // self.imgSrc = self.rwmListArr[self.current].wap_poster;
|
|
|
+ // // #endif
|
|
|
+ // // #ifdef MP-WEIXIN
|
|
|
+ // self.imgSrc = self.rwmListArr[self.current].poster;
|
|
|
+ // // #endif
|
|
|
+ // },
|
|
|
+ // #ifdef MP-WEIXIN
|
|
|
+ seav() {
|
|
|
+ uni.getImageInfo({
|
|
|
+ src: this.imgSrc,
|
|
|
+ complete: function (result) {
|
|
|
+ let path = result.path;
|
|
|
+ uni.getSetting({
|
|
|
+ success(res) {
|
|
|
+ console.log(res)
|
|
|
+ if (!res.authSetting['scope.writePhotosAlbum']) {
|
|
|
+ uni.authorize({
|
|
|
+ scope:'scope.writePhotosAlbum',
|
|
|
+ success(res) {
|
|
|
+ uni.saveImageToPhotosAlbum({
|
|
|
+ filePath:path,
|
|
|
+ complete(result) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ complete(result) {
|
|
|
+ uni.showToast({
|
|
|
+ title: '请先授权保存图片',
|
|
|
+ duration: 2000,
|
|
|
+ icon:'none'
|
|
|
+ });
|
|
|
+ obj.seav();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ uni.saveImageToPhotosAlbum({
|
|
|
+ filePath:path,
|
|
|
+ complete(result) {
|
|
|
+ uni.showToast({
|
|
|
+ title: '保存图片成功!',
|
|
|
+ duration: 2000,
|
|
|
+ icon:'none'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
+ // #endif
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
-.content {
|
|
|
- padding-top: 30rpx;
|
|
|
+.imgw750h375 {
|
|
|
+ width: 700rpx;
|
|
|
+ height: 958rpx;
|
|
|
}
|
|
|
-// #qrShareBox {
|
|
|
-// position: absolute;
|
|
|
-// left: -9999rpx;
|
|
|
-// top: -9999rpx;
|
|
|
-// }
|
|
|
-
|
|
|
-.qrimg {
|
|
|
- position: absolute;
|
|
|
- left: -9999rpx;
|
|
|
- top: -9999rpx;
|
|
|
+.matop{
|
|
|
+ margin-top: 40rpx;
|
|
|
}
|
|
|
-.tki-qrcode-canvas {
|
|
|
- // width: 700rpx;
|
|
|
- // height: 1245rpx;
|
|
|
- width: 532rpx;
|
|
|
- height: 945rpx;
|
|
|
- margin: 0 auto;
|
|
|
+.andr-shQ-padL30 {
|
|
|
+ padding-left: 30rpx;
|
|
|
}
|
|
|
-.share-bottom {
|
|
|
- width: 560rpx;
|
|
|
- height: 80rpx;
|
|
|
- color: #ffffff;
|
|
|
- background-color: $base-color;
|
|
|
- margin: 0 auto;
|
|
|
- font-size: $font-lg - 2rpx;
|
|
|
- margin-top: 30rpx;
|
|
|
- border-radius: 99rpx;
|
|
|
+.andr-shQ-padR30 {
|
|
|
+ padding-right: 30rpx;
|
|
|
+}
|
|
|
+.andr-shQ-Flex {
|
|
|
+ display: flex;
|
|
|
+}
|
|
|
+.andr-shQ-FlexDirC {
|
|
|
+ flex-direction: column;
|
|
|
+}
|
|
|
+.andr-shQ-w100B {
|
|
|
+ width: 100%;
|
|
|
+}
|
|
|
+.andr-shQ-JusCC {
|
|
|
justify-content: center;
|
|
|
- &.action-share-bottom {
|
|
|
- background-color: $color-gray;
|
|
|
- }
|
|
|
}
|
|
|
+.andr-shQ-marginT30 {
|
|
|
+ margin-top: 30rpx;
|
|
|
+}
|
|
|
+.andr-shQ-bgc06B163 {
|
|
|
+ background-color: $base-color;
|
|
|
+}
|
|
|
+.andr-shQ-cFFF {
|
|
|
+ color: #ffffff;
|
|
|
+}
|
|
|
+.andr-shQ-bdR50 {
|
|
|
+ border-radius: 50rpx;
|
|
|
+}
|
|
|
+.andr-shQ-h86 {
|
|
|
+ height: 86rpx;
|
|
|
+}
|
|
|
+.andr-shQ-AIC {
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+.baocun {
|
|
|
+ color: #ffffff;
|
|
|
+ background: $base-color;
|
|
|
+ text-align: center;
|
|
|
+ width: 80%;
|
|
|
+ margin: 50rpx auto;
|
|
|
+ font-size: 28rpx;
|
|
|
+ padding: 25rpx 0rpx;
|
|
|
+ border-radius: 50rpx;
|
|
|
+}
|
|
|
+.btn{
|
|
|
+ padding: 0rpx 0rpx !important;
|
|
|
+ margin: 0rpx auto;
|
|
|
+ margin-bottom: 100rpx;
|
|
|
+}
|
|
|
+/* #ifdef H5 */
|
|
|
+.cbnagan {
|
|
|
+ width: 80%;
|
|
|
+ background: $base-color;
|
|
|
+ margin: 50rpx auto;
|
|
|
+ font-size: 28rpx;
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+/* #endif */
|
|
|
</style>
|