android添加银行插件
diff --git a/pages/sub_index/qrcode.vue b/pages/sub_index/qrcode.vue
new file mode 100644
index 0000000..ef5f0b2
--- /dev/null
+++ b/pages/sub_index/qrcode.vue
@@ -0,0 +1,226 @@
+<template>
+ <view class="qrcode">
+ <!-- #ifndef MP-WEIXIN -->
+ <u-navbar title="我的码" :background="background" title-color="#ffffff" :border-bottom="false" back-icon-color="#Ffffff"></u-navbar>
+ <!-- #endif -->
+ <view class="qrcode-con">
+ <view class="qrcode-con-con">
+ <view class="qrcode-con-con-title">
+ <u-icon name="money" color="#2FA8E1" size="36" custom-prefix="custom-icon"></u-icon>
+ <text>消费支付或身份认证</text>
+ </view>
+ <view class="qrcode-con-con-qrcode">
+ <text class="qrcode-con-con-qrcode-desc">扫描二维码支付或认证身份</text>
+ <canvas canvas-id="qrcode" style="width: 250px;height: 250px;" v-if="show" />
+ <u-empty text="暂无二维码" mode="list" :show="!show"></u-empty>
+ <text>二维码每15s刷新一次</text>
+ <view class="qrcode-con-con-qrcode-box" @click="isSigned">
+ <u-icon name="reflash" color="#666666" size="40" custom-prefix="custom-icon" label="刷新" label-size="36"></u-icon>
+ </view>
+ </view>
+ <view class="qrcode-con-con-footer">
+ <u-icon name="id" color="#666666" size="36" custom-prefix="custom-icon"></u-icon>
+ <view class="qrcode-con-con-footer-desc">
+ <text class="qrcode-con-con-footer-desc-card">市民卡</text>
+ <text class="qrcode-con-con-footer-desc-no">{{cardid}}</text>
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ const app = getApp()
+ import uQRCode from '@/static/js/uqrcode.js'
+ export default {
+
+ data() {
+ return {
+ val: "",
+ cardid: "",
+ background: {
+ 'background': 'no'
+ },
+ show: "",
+ setInter: ""
+
+ }
+ },
+ onLoad() {
+ let that = this
+ that.cardid = uni.getStorageSync('cardno') ? uni.getStorageSync('cardno') : '暂无市民卡号信息'
+ // #ifndef H5
+ that.isSigned()
+ uni.getScreenBrightness({
+ success: function(res) {
+ that.val = res.value
+ }
+ });
+ uni.setScreenBrightness({
+ value: 1,
+ success: function() {
+ // console.log('success');
+ }
+ });
+ // #endif
+ },
+ methods: {
+ isSigned() {
+ let that = this
+ let signed = uni.getStorageSync("signed")
+ if (!signed) {
+ uni.showModal({
+ title: "提示",
+ content: "您还未绑定签约,无法使用二维码消费",
+ cancelText: "再等等",
+ confirmText: "去绑定",
+ success(res) {
+ if (res.confirm) {
+ uni.navigateTo({
+ url: "/pages/sub_mine/bindBankCard"
+ })
+ }
+ }
+ })
+ return false
+ }
+ that.getQrcode()
+ clearInterval(that.setInter)
+ that.setInter = setInterval(() => {
+ that.getQrcode()
+ }, 15 * 1000)
+ },
+ getQrcode() {
+ let that = this
+ let param = {
+ version:app.globalData.version
+ }
+ that.$u.post("/v1/qrcode", param).then((res) => {
+ that.show = true
+ uQRCode.make({
+ canvasId: 'qrcode',
+ componentInstance: this,
+ text: res.qrcode,
+ size: 250,
+ margin: 10,
+ backgroundColor: '#ffffff',
+ foregroundColor: '#000000',
+ fileType: 'jpg',
+ correctLevel: uQRCode.errorCorrectLevel.H,
+ success: res => {
+ // console.log(res)
+ }
+ })
+ }).catch(res => {
+ that.show = false
+ })
+ },
+ },
+ onUnload() {
+ // #ifndef H5
+ let that = this
+ clearInterval(that.setInter)
+ uni.setScreenBrightness({
+ value: that.val,
+ success: function() {
+ // console.log('success');
+ }
+ });
+ // #endif
+ }
+ }
+</script>
+
+<style scoped lang="scss">
+ .qrcode {
+ width: 100vw;
+ height: 100vh;
+ background-color: #2FA8E1;
+
+ &-con {
+ padding: 30rpx;
+
+ // border-radius: 20rpx;
+ &-title {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ color: #FFFFFF;
+
+ text {
+ font-family: "PingFang-SC-Medium";
+ font-size: 32rpx;
+ }
+ }
+
+ &-con {
+ margin-top: 100rpx;
+ font-family: "PingFang-SC-Medium";
+
+ &-title {
+ background-color: #F7F7F7;
+ font-size: 30rpx;
+ display: flex;
+ align-items: center;
+ padding: 30rpx;
+ color: #2FA8E1;
+ border-top-left-radius: 20rpx;
+ border-top-right-radius: 20rpx;
+
+ text {
+ margin-left: 10rpx;
+ }
+ }
+
+ &-qrcode {
+ background-color: #FFFFFF;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ color: #999999;
+ font-size: 26rpx;
+ padding: 30rpx 50rpx;
+ border-width: 1rpx;
+ border-style: solid;
+ border-color: #CCCCCC;
+
+ &-desc {
+ margin-bottom: 30rpx;
+ }
+
+ &-box {
+ margin-top: 30rpx;
+ display: flex;
+ align-items: center;
+
+ text {
+ margin-left: 10rpx;
+ color: #666666;
+ }
+ }
+ }
+
+ &-footer {
+ background-color: #FFFFFF;
+ display: flex;
+ align-items: flex-start;
+ padding: 30rpx;
+ border-bottom-left-radius: 20rpx;
+ border-bottom-right-radius: 20rpx;
+
+ &-desc {
+ display: flex;
+ flex-direction: column;
+ margin-left: 10rpx;
+
+ &-no {
+ color: #999999;
+ font-size: 26rpx;
+ }
+ }
+ }
+ }
+ }
+ }
+</style>