From 87f34aa6e95d08d1b061bfa201813af34b677a1b Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期二, 23 七月 2024 14:07:42 +0800
Subject: [PATCH] feat(支付): 去除无用api

---
 pay/scanpay.vue | 1352 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 736 insertions(+), 616 deletions(-)

diff --git a/pay/scanpay.vue b/pay/scanpay.vue
index 89935e8..398e1d7 100644
--- a/pay/scanpay.vue
+++ b/pay/scanpay.vue
@@ -1,647 +1,767 @@
 <!-- 鎵爜鏀粯 -->
 <template>
-  <view class="page">
-    <view class="shop u-flex u-row-between">
-      <view class="u-m-r-30">
-        <view class="u-font-28 color-666 u-m-b-10">浠樻缁�</view>
-        <view class="u-font-34 font-bold color-333">{{ shopInfo.shopName }}</view>
-      </view>
-      <u-image width="94rpx" height="94rpx" radius="10rpx" :src="shopInfo.logoImage||'/static/imgs/store-logo.png'"></u-image>
-    </view>
-    <view class="u-p-48 bg-fff u-flex-1 content">
-      <view class="u-font-28 color-666">閲戦</view>
-      <view class="u-p-v-20 u-flex u-border-bottom u-relative money-box">
-        <view class="money-icon color-333">楼</view>
-        <view class="u-flex-1 u-flex u-m-l-10" style="height: 80rpx;">
-          <view v-if="money" class="money-num">{{ money }}</view>
-          <view :class="['cursor',{'cursor-act':!money&&bordShow}]"></view>
-          <view v-if="!money" class="u-font-50 color-999">璇疯緭鍏ラ噾棰�</view>
-          <view :class="['cursor',{'cursor-act':money&&bordShow}]"></view>
-        </view>
-        <view class="mask" @click="showBord"></view>
-      </view>
-      <image v-if="isNew&&(this.payWay == 2&&!UNIONID)" @click="toRegister" class="reg-btn" src="/static/register-btn.png" mode=""></image>
-      <block v-if="shopInfo.userCouponFlag==1">
-        <view class="u-flex u-p-v-24 u-border-bottom">
-          <u-icon name="coupon-fill" size="60rpx" color="#D31F28"></u-icon>
-          <view class="u-font-32 u-flex-1 u-m-h-16">浼樻儬鍒�</view>
-          <view @click="showCoupon" class="u-flex">
-            <view v-if="couponInfo.id" class="tag-pain">
-              婊{ parseFloat((couponInfo.thresholdValue / 100).toFixed(2)) }}鍏冨噺{{ parseFloat((couponInfo.discount / 100).toFixed(2)) }}鍏�
-            </view>
-            <view v-else class="u-font-28 lh-1">璇烽�夋嫨</view>
-            <u-icon class="u-m-l-10" name="arrow-right" color="#999" size="16"></u-icon>
+	<view class="page">
+		<u-loading-page :loading="loading"></u-loading-page>
+		<block v-if="shopInfo.scanFlag==1">
+			<view class="shop u-flex u-row-between">
+				<view class="u-m-r-30">
+					<view class="u-font-26 color-666 u-m-b-10">浠樻缁�</view>
+					<view class="u-font-34 color-333">{{ shopInfo.shopName }}</view>
+				</view>
+				<u-image width="88rpx" height="88rpx" shape="circle" errorIcon="/static/store-logo.png" loadingIcon="/static/store-logo.png" :src="shopInfo.logoImage||'/static/store-logo.png'" bgColor="#fff"></u-image>
+			</view>
+			<view class="u-p-24 bg-fff u-m-32 u-br-10">
+				<view class="u-flex u-row-between">
+					<view class="u-font-28 color-666">閲戦</view>
+					<view @click="showRemark=true" class="remark">娣诲姞澶囨敞</view>
+				</view>
+				<view v-if="smoney" class="u-p-v-20 u-flex u-col-bottom u-border-bottom u-relative money-box">
+					<view class="money-icon color-333 lh-1">楼</view>
+					<view class="u-flex-1 u-flex u-col-bottom u-m-l-10" style="height: 80rpx;">
+						<view class="money-num lh-1">{{ smoney }}</view>
+					</view>
+				</view>
+				<view v-else class="u-p-v-20 u-flex u-col-bottom u-border-bottom u-relative money-box">
+					<view class="money-icon color-333 lh-1">楼</view>
+					<view class="u-flex-1 u-flex u-col-bottom u-m-l-10" style="height: 80rpx;">
+						<view v-if="money" class="money-num lh-1">{{ money }}</view>
+						<view :class="['cursor',{'cursor-act':!money&&bordShow}]"></view>
+						<view v-if="!money" class="u-font-50 color-999 lh-1">璇疯緭鍏ラ噾棰�</view>
+						<view :class="['cursor',{'cursor-act':money&&bordShow}]"></view>
+					</view>
+					<view class="mask" @click="showBord"></view>
+				</view>
+				<!--      <image v-if="isNew&&(this.payWay == 2&&!UNIONID)" @click="toRegister" class="reg-btn" src="/static/register-btn.png" mode=""></image>-->
+				<block v-if="shopInfo.userCouponFlag==0">
+          <view class="u-font-26 u-tips-color u-p-t-24">寰俊鎼滅储鎴栫洿鎺ョ偣鍑绘墦寮�
+            <text style="color: #1E8BE0">銆愬唨浼橀偖銆�</text>
+            灏忕▼搴忥紝浜彈鏇村浼樻儬
           </view>
-        </view>
-        <view v-if="discount" class="u-p-v-30 u-flex u-row-between u-border-bottom">
-          <view class="u-font-32 color-333">瀹為檯鎶垫墸</view>
-          <view class="color-green">- {{ discount }}</view>
-        </view>
-        <view v-if="discount" class="u-p-v-30 u-flex u-row-between u-border-bottom">
-          <view class="u-font-32 color-333">瀹炰粯閲戦</view>
-          <view class="color-red">
-            <text class="u-font-26 u-m-r-6">楼</text>
-            <text class="u-font-34">{{ payMoney }}</text>
+        </block>
+
+			</view>
+			<block v-if="shopInfo.userCouponFlag==1">
+				<view class="bg-fff u-m-32 u-br-10">
+					<view class="u-flex u-p-24 u-border-bottom">
+						<!-- <u-icon name="coupon-fill" size="60rpx" color="#D31F28"></u-icon> -->
+						<view class="u-font-32 u-flex-1 u-m-h-16">浼樻儬鍒�</view>
+						<view @click="showCoupon" class="u-flex">
+							<view v-if="couponInfo.id" class="tag-pain">
+								婊{ parseFloat((couponInfo.thresholdValue / 100).toFixed(2)) }}鍏冨噺{{ parseFloat((couponInfo.discount / 100).toFixed(2)) }}鍏�
+							</view>
+							<view v-else class="u-font-28 lh-1 u-tips-color">璇烽�夋嫨</view>
+							<u-icon class="u-m-l-10" name="arrow-right" color="#999" size="16"></u-icon>
+						</view>
+					</view>
+          <view>
+
+            <wx-open-launch-weapp
+                id="launch-btn"
+                appid="wx47b3b5ca64bc7d5d"
+                path="pages/index/index"
+            >
+              <script type="text/wxtag-template">
+                <style>.btn { padding: 12px }</style>
+                <button class="btn">鎵撳紑灏忕▼搴�</button>
+              </script>
+            </wx-open-launch-weapp>
           </view>
-        </view>
-      </block>
-    </view>
-    <button class="pay-it" @click="pay">浠樻</button>
-    <!-- 鏁板瓧閿洏 -->
-    <u-popup :show="bordShow" :overlay="false" @close="bordShow = false">
-      <key-bord @changeMoney="changeMoney" :num.sync="money" @close="bordShow = false" @pay="pay"></key-bord>
-    </u-popup>
-    <!-- 浼樻儬鍒稿脊绐� -->
-    <u-popup mode="bottom" :closeable="true" :show="couponShow" @close="couponShow = false" :round="10">
-      <view class="u-font-32 color-333 u-text-center u-p-t-30">浼樻儬鍒�</view>
-      <view v-if="checkCoupon.id" class="choose-coupon">
-        宸查�夋嫨浼樻儬鍒�1寮狅紝鍏辨姷鎵o骏{{ parseFloat((checkCoupon.discount / 100).toFixed(2)) }}
-      </view>
-      <!-- <view class="choose-coupon">閫夋嫨浼樻儬鍒�</view> -->
-      <scroll-view scroll-y class="u-p-30 coupon-list">
-        <view @click="clickCoupon(item)" class="u-m-b-24 u-flex coupon" v-for="(item, index) in couponList" :key="index">
-          <view style="color: #D31F28;" class="u-p-h-28">
-            <view class="font-bold">
-              <text class="u-font-36">锟�</text>
-              <text class="money">{{ parseFloat(item.discount / 100) }}</text>
-            </view>
-            <view class="u-font-24 u-m-t-20">婊{ parseFloat(item.thresholdValue / 100) }}鍏冧娇鐢�</view>
-          </view>
-          <view class="butt"></view>
-          <view class="u-p-30 u-flex-1 u-flex">
-            <view class="u-flex-1">
-              <view class="u-font-28 color-333 u-line-2">{{ item.name }}</view>
-              <view class="u-font-22 color-999 u-m-t-20">
-                鏈夋晥鏈熻嚦锛歿{ $u.timeFormat(item.outTime, 'yyyy-mm-dd hh:MM') }}
-              </view>
-            </view>
-            <u-icon v-if="item.id==checkCoupon.id" name="checkmark-circle-fill" color="#D31F28" size="20">
-            </u-icon>
-          </view>
-        </view>
-      </scroll-view>
-      <view @click="getCoupon" class="coupon-btn">纭畾</view>
-    </u-popup>
-  </view>
+					<view class="u-font-26 u-tips-color u-p-24">寰俊鎼滅储鎴栫洿鎺ョ偣鍑绘墦寮�
+						<text style="color: #1E8BE0">銆愬唨浼橀偖銆�</text>
+						灏忕▼搴忥紝浜彈鏇村浼樻儬
+					</view>
+				</view>
+			</block>
+			<block v-if="shopInfo.userCouponFlag==1&&discount">
+				<view class="u-m-32 u-br-10 bg-fff">
+					<view class="u-p-24 u-flex u-row-between u-border-bottom">
+						<view class="u-font-32 color-333">鎶垫墸閲戦</view>
+						<view class="color-green">- {{ discount }}</view>
+					</view>
+					<view class="u-p-24 u-flex u-row-between u-br-10 bg-fff">
+						<view class="u-font-32 color-333">瀹炰粯閲戦</view>
+						<view class="color-red">
+							<text class="u-font-26 u-m-r-6">楼</text>
+							<text class="u-font-34">{{ payMoney }}</text>
+						</view>
+					</view>
+				</view>
+			</block>
+			<button class="pay-it" @click="pay">浠樻</button>
+			<!-- 鏁板瓧閿洏 -->
+			<u-popup zIndex="500" :show="bordShow" :overlay="false" @close="bordShow = false">
+				<key-bord @changeMoney="changeMoney" :num.sync="money" @close="bordShow = false" @pay="pay"></key-bord>
+			</u-popup>
+			<!-- 浼樻儬鍒稿脊绐� -->
+			<u-popup mode="bottom" :closeable="true" :show="couponShow" @close="couponShow = false" :round="10">
+				<view class="u-font-32 color-333 u-text-center u-p-t-30">浼樻儬鍒�</view>
+				<view v-if="checkCoupon.id" class="choose-coupon">
+					宸查�夋嫨浼樻儬鍒�1寮狅紝鍏辨姷鎵o骏{{ parseFloat((checkCoupon.discount / 100).toFixed(2)) }}
+				</view>
+				<scroll-view scroll-y class="u-p-30 coupon-list">
+					<view @click="clickCoupon(item)" class="u-m-b-24 u-flex coupon" v-for="(item, index) in couponList" :key="index">
+						<view style="color: #D31F28;" class="u-p-h-28">
+							<view class="font-bold">
+								<text class="u-font-36">锟�</text>
+								<text class="money">{{ parseFloat(item.discount / 100) }}</text>
+							</view>
+							<view class="u-font-24 u-m-t-20">婊{ parseFloat(item.thresholdValue / 100) }}鍏冧娇鐢�</view>
+						</view>
+						<view class="butt"></view>
+						<view class="u-p-30 u-flex-1 u-flex">
+							<view class="u-flex-1">
+								<view class="u-font-28 color-333 u-line-2">{{ item.name }}</view>
+								<view class="u-font-22 color-999 u-m-t-20">
+									鏈夋晥鏈熻嚦锛歿{ $u.timeFormat(item.outTime, 'yyyy-mm-dd hh:MM') }}
+								</view>
+							</view>
+							<u-icon v-if="item.id==checkCoupon.id" name="checkmark-circle-fill" color="#D31F28" size="20">
+							</u-icon>
+						</view>
+					</view>
+				</scroll-view>
+				<view @click="getCoupon" class="coupon-btn">纭畾</view>
+			</u-popup>
+			<u-modal showCancelButton :show="showRemark" title="澶囨敞" confirmColor="#D31F28" @close="showRemark = false" @cancel="showRemark = false" @confirm="showRemark = false">
+				<u--textarea v-model="buyerNote" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" count></u--textarea>
+			</u-modal>
+		</block>
+		<view v-if="shopInfo.scanFlag==0" class="empty-box">
+			<image src="/static/empty.png" class="empty"></image>
+			<view class="tips">{{tips}}</view>
+			<view @click="clickDone" class="clickDone">鍏抽棴</view>
+		</view>
+	</view>
 </template>
 
 <script>
-import {
-  config,
-  ACCESSTOKEN
-} from 'common/config.js';
-import {
-  queryShop,
-  userLogin,
-  queryUseSweepPayCoupon,
-  closeOrder,
-  saveOrder,
-} from 'common/api/index'
+	import {
+		config,
+		ACCESSTOKEN
+	} from 'common/config.js';
+	import {
+		queryShop,
+		userLogin,
+		queryUseSweepPayCoupon,
+    getWechatConfigInfo,
+		closeOrder,
+		saveOrder,
+	} from 'common/api/index'
 
-export default {
-  data() {
-    return {
-      UNIONID: null,
-      payWay: this.$utils.getPlat(),
-      cid: '',
-      bordShow: true, // 鏄剧ず閿洏
-      shopInfo: {
-        cusid: '',
-        shopName: '',
-        logoImage: '',
-        scanFlag: '',
-        useScoreFlag: 0, //鍟嗛摵鏄惁鍙敤绉垎 0鍚� 1鏄�
-        userCouponFlag: 0, //鍟嗛摵鏄惁鍙敤浼樻儬鍒� 0鍚� 1鏄�
-      },
-      money: '', // 閲戦
-      token: null,
-      isNew: false, // 鏄惁鏂扮敤鎴凤紝鏂扮敤鎴锋煡璇笉鍒扮Н鍒嗗拰閾惰鍗�
-      canReset: false,
-      end: 0,
-      count: 0,
-      couponShow: false, // 浼樻儬鍒稿脊绐�
-      couponList: [], // 浼樻儬鍒�
-      couponInfo: {
-        id: '',
-        discount: 0,
-        thresholdValue: 0
-      }, // 浼樻儬鍒稿唴瀹�
-      checkCoupon: {
+  import wx from 'weixin-js-sdk'; // 浣跨敤js-sdk
+
+	export default {
+		data() {
+			return {
+        smoney: '',
+				tips: '璇ュ晢鎴锋殏鏈紑閫氭敮浠樺姛鑳�',
+				loading: false,
+				remark: '',
+				buyerNote: '',
+				showRemark: false,
+				UNIONID: null,
+				payWay: this.$utils.getPlat(),
+				cid: '',
+				bordShow: false, // 鏄剧ず閿洏
+				shopInfo: {
+					cusid: '',
+					shopName: '',
+					logoImage: '',
+					scanFlag: -1,
+					useScoreFlag: -1, //鍟嗛摵鏄惁鍙敤绉垎 0鍚� 1鏄�
+					userCouponFlag: -1, //鍟嗛摵鏄惁鍙敤浼樻儬鍒� 0鍚� 1鏄�
+				},
+				money: '', // 閲戦
+				token: null,
+				isNew: false, // 鏄惁鏂扮敤鎴凤紝鏂扮敤鎴锋煡璇笉鍒扮Н鍒嗗拰閾惰鍗�
+				canReset: false,
+				couponShow: false, // 浼樻儬鍒稿脊绐�
+				couponList: [], // 浼樻儬鍒�
+				couponInfo: {
+					id: '',
+					discount: 0,
+					thresholdValue: 0
+				}, // 浼樻儬鍒稿唴瀹�
+				checkCoupon: {
         id: null,
         discount: 0,
         thresholdValue: 0
       },
-    };
-  },
-  computed: {
-    discount() {
-      let num = 0;
-      num = (this.couponInfo.discount / 100).toFixed(2);
-      return parseFloat(num);
-    },
-    payMoney() {
-      let num = 0;
-      num = Number((this.money || 0) * 100) - this.couponInfo.discount;
-      num = num > 0 ? (num / 100).toFixed(2) : '0.00';
-      return parseFloat(num);
-    }
-  },
-  onLoad(opt) {
-    this.isNew = uni.getStorageSync('IS_NEW')
-    uni.showLoading()
-    if (opt.cid) {
-      this.cid = opt.cid
-      this.init()
-    }
-    if (opt.code || opt.auth_code) {
-      let code = opt.code
-      if (this.payWay == 5) {
-        code = opt.auth_code
+			};
+		},
+		computed: {
+			discount() {
+				let num = 0;
+				num = (this.couponInfo.discount / 100).toFixed(2);
+				return parseFloat(num);
+			},
+			payMoney() {
+				let num = 0;
+				num = Number((this.money || 0) * 100) - this.couponInfo.discount;
+				num = num > 0 ? (num / 100).toFixed(2) : '0.00';
+				return parseFloat(num);
+			}
+		},
+		onLoad(opt) {
+			this.isNew = uni.getStorageSync('IS_NEW')
+			if (opt.smoney) {
+				this.smoney = opt.smoney
+				this.money = opt.smoney
+			}else{
+        this.bordShow = true
       }
-      this.end++
-      userLogin({
-        platform: this.payWay,
-        params: {
-          code
+			if (opt.cid) {
+				this.cid = opt.cid
+				this.init()
+			}
+			if (opt.code || opt.auth_code) {
+				let code = opt.code
+				if (this.payWay == 5) {
+					code = opt.auth_code
+				}
+        const cd = uni.getStorageSync('cd')
+        if(code===cd){
+          return
         }
-      }).then(res => {
-        this.getToken(res)
-      }).catch(() => {
-        this.count++
-        if (this.count >= this.end) {
-          uni.hideLoading()
-        }
-      })
-    }
+        uni.setStorageSync('cd',code)
+				userLogin({
+					platform: this.payWay,
+					params: {
+						code
+					}
+				}).then(res => {
+					this.getToken(res)
+				})
+			}
 
-  },
-  onShow() {
-    this.UNIONID = uni.getStorageSync('UNIONID' + this.payWay) || null
-    this.token = uni.getStorageSync(ACCESSTOKEN) || null
-    if (this.canReset && this.token && !this.isNew) {
-      this.end = 0
-      this.count = 0
-      uni.showLoading()
-      this.showCoupon()
-    }
-    this.canReset = true
-  },
-  methods: {
-    getToken(res) {
-      this.count++
-      if (this.count >= this.end) {
-        uni.hideLoading()
-      }
-      this.token = res.token
-      if (res.openid) {
-        uni.setStorageSync('OPENID' + this.payWay, res.token)
-      }
-      if (res.unionid) {
-        uni.setStorageSync('UNIONID' + this.payWay, res.token)
-      }
-      uni.setStorageSync(ACCESSTOKEN, res.token)
-      uni.setStorageSync('IS_NEW', res.isNew)
-      this.isNew = res.isNew
-      if (!res.isNew) {
-        this.showCoupon()
-      }
-    },
-    toRegister() {
-      if (this.UNIONID) {
-        uni.navigateTo({
-          url: '/pay/register?cid=' + this.cid
-        })
-      }
-      if (this.payWay == 2) {
-        const redirect_uri = encodeURIComponent(`${config.webURL}/pay/scanpay?cid=${opt.query.cid}`)
-        window.location.href =
-            `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${config.wx_appid}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`
-      }
+		},
+		methods: {
+			clickDone() {
+				let browser = navigator.userAgent.toLowerCase();
+				if (browser.match(/Alipay/i) == "alipay") {
+					//杩欎釜鍙互鍏抽棴瀹夊崜绯荤粺鐨勬墜鏈�
+					document.addEventListener("AlipayJSBridgeReady", function() {
+							AlipayJSBridge.call("closeWindow");
+						},
+						false
+					);
+					//杩欎釜鍙互鍏抽棴ios绯荤粺鐨勬墜鏈�
+					AlipayJSBridge.call('closeWebview'); //鏀粯瀹�
+				} else if (browser.match(/MicroMessenger/i) == "micromessenger") {
+					//杩欎釜鍙互鍏抽棴瀹夊崜绯荤粺鐨勬墜鏈�
+					document.addEventListener("WeixinJSBridgeReady", function() {
+							WeixinJSBridge.call("closeWindow");
+						},
+						false
+					);
+					//杩欎釜鍙互鍏抽棴ios绯荤粺鐨勬墜鏈�
+					WeixinJSBridge.call("closeWindow");
+				} else {
+					window.opener = null; //濡傛灉娌℃湁杩欒鍜屼笅闈㈢殑涓�琛屽垯浼氬嚭鐜颁笂闈㈢殑绗簩涓闂銆�
+					window.open(' ', '_self', ' ');
+					window.close()
+				}
+			},
+			getToken(res) {
+				this.token = res.token
+				if (res.openid) {
+					uni.setStorageSync('OPENID' + this.payWay, res.token)
+				}
+				if (res.unionid) {
+					uni.setStorageSync('UNIONID' + this.payWay, res.token)
+				}
+				uni.setStorageSync(ACCESSTOKEN, res.token)
+				uni.setStorageSync('IS_NEW', res.isNew)
+				this.isNew = res.isNew
+				if (!res.isNew) {
+					this.showCoupon()
+				}
+			},
+			toRegister() {
+				if (this.UNIONID) {
+					uni.navigateTo({
+						url: '/pay/register?cid=' + this.cid
+					})
+				}
+				if (this.payWay == 2) {
+					const redirect_uri = encodeURIComponent(`${config.webURL}/pay/scanpay?cid=${opt.query.cid}`)
+					window.location.href =
+						`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${config.wx_appid}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`
+				}
 
-    },
-    // 鏇存柊閲戦
-    changeMoney(str) {
-      this.money = str;
-    },
-    // 灞曠ず閿洏
-    showBord() {
-      this.bordShow = true;
-    },
-    init() {
-      this.end += 1
-      //鑾峰彇鍟嗛摵淇℃伅
-      queryShop({
-        params: {
-          cid: this.cid
-        }
-      }).then(res => {
-        this.count++
-        if (this.count >= this.end) {
-          uni.hideLoading()
-        }
-        if (!uni.$u.test.isEmpty(res.logoImage)) {
-          res.logoImage = config.baseURL + res.logoImage
-        }
-        this.shopInfo = res
-      }).catch(() => {
-        this.count++
-        if (this.count >= this.end) {
-          uni.hideLoading()
-        }
-      })
-    },
-    // 鑾峰彇浼氬憳鐩稿叧淇℃伅
-    showCoupon() {
-      this.end += 1
-      //鑾峰彇鐢ㄦ埛浼樻儬鍒�
-      queryUseSweepPayCoupon({
-        params: {
-          cusid: this.shopInfo.cusid,
-          cid: this.cid,
-          money: Number(this.money * 100),
-        }
-      }).then(res => {
-        this.count++
-        if (this.count >= this.end) {
-          uni.hideLoading()
-        }
-        this.couponList = res
-        this.couponShow = true
-      }).catch(() => {
-        this.count++
-        if (this.count >= this.end) {
-          uni.hideLoading()
-        }
-      })
-    },
-    //閫夋嫨浼樻儬鍒�
-    clickCoupon(item) {
-      if (this.checkCoupon.id == item.id) {
-        this.checkCoupon = {
-          id: '',
-          discount: 0,
-          thresholdValue: 0
-        }
-      } else {
-        this.checkCoupon = item
-      }
-    },
-    //纭浼樻儬鍒�
-    getCoupon() {
-      // item 涓轰紭鎯犲埜淇℃伅
-      this.couponInfo = this.checkCoupon;
-      this.couponShow = false;
-    },
-    //纭鏀粯
-    pay() {
-      if (uni.$u.test.isEmpty(this.money)) {
-        uni.$u.toast('璇疯緭鍏ラ噾棰濓紒')
-        return
-      }
-      this.bordShow = false
-      // 閲戦 this.money
-      uni.showLoading()
-      const params = {
-        money: Number(this.payMoney * 100),
-        shopId: this.shopInfo.id,
-        cid: this.cid,
-        payWay: this.payWay,
-        score: 0,
-        couponDetailId: this.couponInfo.id
-      }
-      //鐢熸垚璁㈠崟
-      saveOrder(params).then(res => {
-        uni.hideLoading()
-        try {
-          this.orderId = res.orderId
-          res.youHuiInfo.shopName = this.shopInfo.shopName
-          this.youHuiInfo = res.youHuiInfo
-          if (this.payWay == 2) {
-            this.wxPay(res.paymentData)
-          }
-          if (this.payWay == 5) {
-            this.aliPay(res.paymentData)
-          }
-        } catch (e) {
-          //TODO handle the exception
-          console.error(e);
-        }
-      }).catch(() => {
-        uni.hideLoading()
-      })
-    },
-    // 寰俊鏀粯
-    wxPay(res) {
-      setTimeout(() => {
-        WeixinJSBridge.invoke(
-            'getBrandWCPayRequest', {
-              "appId": res.appId, //鍏紬鍙稩D锛岀敱鍟嗘埛浼犲叆
-              "timeStamp": res.timeStamp, //鏃堕棿鎴筹紝鑷�1970骞翠互鏉ョ殑绉掓暟
-              "nonceStr": res.nonceStr, //闅忔満涓�
-              "package": res.package,
-              "signType": res.signType, //寰俊绛惧悕鏂瑰紡锛�
-              "paySign": res.paySign //寰俊绛惧悕
-            },
-            (res) => {
-              if (res.err_msg == "get_brand_wcpay_request:ok") {
-                // 浣跨敤浠ヤ笂鏂瑰紡鍒ゆ柇鍓嶇杩斿洖,寰俊鍥㈤槦閮戦噸鎻愮ず锛�
-                //res.err_msg灏嗗湪鐢ㄦ埛鏀粯鎴愬姛鍚庤繑鍥瀘k锛屼絾骞朵笉淇濊瘉瀹冪粷瀵瑰彲闈犮��
-                uni.navigateTo({
-                  url: `/pay/paySuccess?orderId=${this.orderId}&youHuiInfo=${JSON.stringify(this.youHuiInfo)}`
-                })
-              } else {
-                this.closeOrder()
-              }
+			},
+			// 鏇存柊閲戦
+			changeMoney(str) {
+				this.money = str;
+			},
+			// 灞曠ず閿洏
+			showBord() {
+				this.bordShow = true;
+			},
+			init() {
+        this.loading = true
+				let timer = setTimeout(() => {
+					this.shopInfo.scanFlag = 0
+					this.tips = '褰撳墠鐢ㄦ埛杩囧锛岃绋嶅悗閲嶈瘯锝瀇锝�'
+					this.loading = false
+				}, 2000)
+				//鑾峰彇鍟嗛摵淇℃伅
+				queryShop({
+					params: {
+						cid: this.cid
+					}
+				}).then(res => {
+					clearTimeout(timer)
+					this.loading = false
+					if (!uni.$u.test.isEmpty(res.logoImage)) {
+						res.logoImage = config.baseURL + res.logoImage
+					}
+					this.shopInfo = res
+				}).catch(() => {
+					clearTimeout(timer)
+					this.shopInfo.scanFlag = 0
+					this.tips = '褰撳墠鐢ㄦ埛杩囧锛岃绋嶅悗閲嶈瘯锝瀇锝�'
+					this.loading = false
+				})
+
+        if (this.payWay == 2) {
+          const uri = encodeURIComponent(window.location)
+          getWechatConfigInfo({
+            url: uri
+          }).then(res => {
+            wx.config({
+              debug: false, // 寮�鍚皟璇曟ā寮�
+              appId: res.appId, // 蹇呭~锛屽叕浼楀彿鐨勫敮涓�鏍囪瘑
+              timestamp: res.timestamp, // 蹇呭~锛岀敓鎴愮鍚嶇殑鏃堕棿鎴�
+              nonceStr: res.nonceStr, // 蹇呭~锛岀敓鎴愮鍚嶇殑闅忔満涓�
+              signature: res.signature, // 蹇呭~锛岀鍚�
+              openTagList: ['wx-open-launch-weapp'] //鍙�夛紝闇�瑕佷娇鐢ㄧ殑寮�鏀炬爣绛惧垪琛�
             });
-      }, 200)
-    },
-    //鏀粯瀹濇敮浠�
-    aliPay(res) {
-      ap.tradePay({
-        tradeNO: res.tradeNO
-      }, (res) => {
-        if (res.resultCode == 9000) {
-          uni.navigateTo({
-            url: `/pay/paySuccess?orderId=${this.orderId}&youHuiInfo=${JSON
-                .stringify(this.youHuiInfo)}`
+            wx.ready(function () {
+              wx.hideAllNonBaseMenuItem();
+            })
           })
-          // 鏀粯鎴愬姛
-        } else if (res.resultCode == 8000 || res.resultCode == 6001) {
-          // 姝e湪澶勭悊涓� || 鍙栨秷
-        } else {
-          this.closeOrder()
-          // 鏀粯澶辫触
         }
-      });
-    },
-    closeOrder() {
-      closeOrder({
-        id: this.orderId,
-      }).then(res => {
+			},
+			// 鑾峰彇浼氬憳鐩稿叧淇℃伅
+			showCoupon() {
+      //鑾峰彇鐢ㄦ埛浼樻儬鍒�
+				queryUseSweepPayCoupon({
+				  params: {
+				    cusid: this.shopInfo.cusid,
+				    cid: this.cid,
+				    money: Number(this.money * 100),
+				  }
+				}).then(res => {
+				  this.couponList = res
+				  this.couponShow = true
       })
-    }
-  }
-};
+			},
+			//閫夋嫨浼樻儬鍒�
+			clickCoupon(item) {
+				if (this.checkCoupon.id == item.id) {
+					this.checkCoupon = {
+						id: '',
+						discount: 0,
+						thresholdValue: 0
+					}
+				} else {
+					this.checkCoupon = item
+				}
+			},
+			//纭浼樻儬鍒�
+			getCoupon() {
+				// item 涓轰紭鎯犲埜淇℃伅
+				this.couponInfo = this.checkCoupon;
+				this.couponShow = false;
+			},
+			//纭鏀粯
+			pay() {
+				if (uni.$u.test.isEmpty(this.money)) {
+					uni.$u.toast('璇疯緭鍏ラ噾棰濓紒')
+					return
+				}
+				this.bordShow = false
+				// 閲戦 this.money
+				uni.showLoading()
+				const params = {
+					money: Number(this.money * 100),
+					shopId: this.shopInfo.id,
+					cid: this.cid,
+					payWay: this.payWay,
+					buyerNote: this.buyerNote,
+					score: 0,
+					couponDetailId: this.couponInfo.id
+				}
+				//鐢熸垚璁㈠崟
+				saveOrder(params).then(res => {
+					uni.hideLoading()
+					try {
+						this.orderId = res.orderId
+						res.youHuiInfo.shopName = this.shopInfo.shopName
+						this.youHuiInfo = res.youHuiInfo
+						if (this.payWay == 2) {
+							this.wxPay(res.paymentData)
+						}
+						if (this.payWay == 5) {
+							this.aliPay(res.paymentData)
+						}
+					} catch (e) {
+						//TODO handle the exception
+						console.error(e);
+					}
+				}).catch(() => {
+					uni.hideLoading()
+				})
+			},
+			// 寰俊鏀粯
+			wxPay(res) {
+				setTimeout(() => {
+					WeixinJSBridge.invoke(
+						'getBrandWCPayRequest', {
+							"appId": res.appId, //鍏紬鍙稩D锛岀敱鍟嗘埛浼犲叆
+							"timeStamp": res.timeStamp, //鏃堕棿鎴筹紝鑷�1970骞翠互鏉ョ殑绉掓暟
+							"nonceStr": res.nonceStr, //闅忔満涓�
+							"package": res.package,
+							"signType": res.signType, //寰俊绛惧悕鏂瑰紡锛�
+							"paySign": res.paySign //寰俊绛惧悕
+						},
+						(res) => {
+							if (res.err_msg == "get_brand_wcpay_request:ok") {
+								// 浣跨敤浠ヤ笂鏂瑰紡鍒ゆ柇鍓嶇杩斿洖,寰俊鍥㈤槦閮戦噸鎻愮ず锛�
+								//res.err_msg灏嗗湪鐢ㄦ埛鏀粯鎴愬姛鍚庤繑鍥瀘k锛屼絾骞朵笉淇濊瘉瀹冪粷瀵瑰彲闈犮��
+								/*uni.navigateTo({
+								  url: `/pay/paySuccess?orderId=${this.orderId}&youHuiInfo=${JSON.stringify(this.youHuiInfo)}`
+								})*/
+							} else {
+								this.closeOrder()
+							}
+						});
+				}, 200)
+			},
+			//鏀粯瀹濇敮浠�
+			aliPay(res) {
+				ap.tradePay({
+					tradeNO: res.tradeNO
+				}, (res) => {
+					if (res.resultCode == 9000) {
+						uni.navigateTo({
+							url: `/pay/paySuccess?orderId=${this.orderId}&youHuiInfo=${JSON
+                .stringify(this.youHuiInfo)}`
+						})
+						// 鏀粯鎴愬姛
+					} else if (res.resultCode == 8000) {
+						// 姝e湪澶勭悊涓� || 鍙栨秷
+					} else if (res.resultCode == 6001) {
+						// 鍙栨秷
+						this.closeOrder()
+					} else {
+						this.closeOrder()
+						// 鏀粯澶辫触
+					}
+				});
+			},
+			closeOrder() {
+				closeOrder({
+					id: this.orderId,
+				}).then(res => {})
+			}
+		}
+	};
 </script>
 
 <style scoped lang="scss">
-.page {
-  height: calc(100vh - 0px);
-  display: flex;
-  flex-direction: column;
-}
+	.page {
+		height: calc(100vh - 0px);
+    background-color: #EDEDED;
+    border-top: 1px solid #EDEDED;
+    box-sizing: border-box;
+	}
 
-.shop {
-  padding: 50rpx 64rpx;
-}
+	.shop {
+		padding: 50rpx 32rpx 10px;
+	}
 
-.avg-img {
-  width: 94rpx;
-  height: 94rpx;
-  border-radius: 10rpx;
-  background-color: #ffffff;
-}
-
-.content {
-  border-radius: 40rpx 40rpx 0 0;
-}
-
-.money {
-  font-size: 40rpx;
-  color: #333;
-}
-.money-box{
-  padding-left: 50rpx;
-}
-.money-icon {
-  position: absolute;
-  font-size: 50rpx;
-  // font-weight: bold;
-  color: #666;
-  margin-right: 20rpx;
-  bottom: 10rpx;
-  left: 0;
-}
-
-.money-num {
-  font-size: 96rpx;
-  // font-weight: bold;
-}
-
-.pay-it {
-  position: absolute;
-  width: 686rpx;
-  height: 98rpx;
-  bottom: 0;
-  border-radius: 10rpx;
-  font-size: 34rpx;
-  color: #ffffff;
-  background-color: #de2d35;
-  margin: 32rpx;
-}
-
-.item-icon {
-  width: 38rpx;
-  height: 38rpx;
-}
-
-.pay-icon {
-  align-self: flex-start;
-  width: 48rpx;
-  height: 48rpx;
-  margin-right: 20rpx;
-}
-
-.tag {
-  background-color: #F35656;
-  font-size: 20rpx;
-  color: #fff;
-  border-radius: 4rpx;
-  line-height: 1;
-  padding: 4rpx;
-}
-
-.tag-pain {
-  border: 1px solid #D31F28;
-  font-size: 22rpx;
-  color: #D31F28;
-  border-radius: 4rpx;
-  line-height: 1;
-  padding: 8rpx 4rpx;
-}
-
-.mask {
-  position: absolute;
-  width: 100%;
-  height: 100%;
-  left: 0;
-  bottom: 0;
-  z-index: 101;
-  background-color: rgba(0, 0, 0, 0);
-}
-
-@keyframes cursor-blinks {
-  0% {
-    opacity: 1;
-    display: block;
-  }
-
-  50% {
-    opacity: 0;
-    display: block;
-  }
-
-  100% {
-    opacity: 1;
-    display: block;
-  }
-}
-
-.cursor {
-  width: 1px;
-  height: 80rpx;
-}
-
-.cursor-act {
-  width: 1px;
-  background-color: #333;
-  animation: cursor-blinks 1s infinite steps(1, start);
-}
-
-.reg-btn {
-  display: block;
-  margin-top: 30rpx;
-  width: 654rpx;
-  height: 198rpx;
-
-  image {
-    width: 100%;
-    height: 100%;
-  }
-}
-
-.u-font-money {
-  font-size: 60rpx;
-}
-
-.bankCard-list {
-  height: 50vh;
-  width: 750rpx;
-  box-sizing: border-box;
-
-  .pay-icon {
-    align-self: center;
-  }
-}
-
-.add-icon {
-  width: 50rpx;
-  height: 50rpx;
-  border-radius: 25rpx;
-  background: #ffc0c38f;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.shuka {
-  width: 678rpx;
-  height: 45rpx;
-  position: relative;
-  left: -10rpx;
-
-  image {
-    width: 100%;
-    height: 100%;
-  }
-}
-
-.btn {
-  margin: 120rpx auto 0;
-  position: relative;
-  width: 680rpx;
-  height: 100rpx;
-}
-
-.wx-app {
-  position: absolute;
-  width: 680rpx;
-  height: 100rpx;
-}
-
-.coupon {
-  background-color: rgba(255, 241, 241, 0.47);
-  height: 171rpx;
-  border: solid 1rpx #f85d64;
-  border-radius: 10rpx;
-  position: relative;
-  overflow: hidden;
-}
-
-.choose-coupon {
-  margin: 32rpx 32rpx 0;
-  border-radius: 10rpx;
-  background: #fff1f1;
-  padding: 26rpx 16rpx;
-  color: #D31F28;
-  font-size: 28rpx;
-}
-
-.coupon-list {
-  box-sizing: border-box;
-  height: calc(50vh - 44px);
-}
+	.avg-img {
+		width: 88rpx;
+		height: 88rpx;
+		border-radius: 44rpx;
+		background-color: #ffffff;
+	}
 
 
-.butt {
-  width: 1rpx;
-  height: 100%;
-  position: relative;
-  z-index: 9;
-  border-left: 1rpx dashed #f85d64;
-}
-
-.butt:before {
-  z-index: 10;
-  box-sizing: border-box;
-  position: absolute;
-  content: "";
-  width: 24rpx;
-  height: 12rpx;
-  border-bottom: 1rpx solid #f85d64;
-  border-right: 1rpx solid #f85d64;
-  border-left: 1rpx solid #f85d64;
-  border-radius: 0 0 24rpx 24rpx;
-  left: -12rpx;
-  background-color: #ffffff;
-}
-
-.butt:after {
-  box-sizing: border-box;
-  position: absolute;
-  content: "";
-  width: 24rpx;
-  height: 12rpx;
-  bottom: 0;
-  border-bottom: 1rpx solid #ffff;
-  border-right: 1rpx solid #f85d64;
-  border-left: 1rpx solid #f85d64;
-  border-top: 1rpx solid #f85d64;
-  border-radius: 24rpx 24rpx 0 0;
-  left: -12rpx;
-  background-color: #ffffff;
-}
+	.money {
+		font-size: 40rpx;
+		color: #333;
+	}
 
 
-.coupon-btn {
-  margin: 0 30rpx 30rpx;
-  height: 98rpx;
-  border-radius: 10rpx;
-  background-color: #D31F28;
-  font-size: 34rpx;
-  color: #fff;
-  line-height: 98rpx;
-  text-align: center;
-}
+	.money-icon {
+		position: relative;
+		bottom: 6rpx;
+		font-size: 42rpx;
+		color: #666;
+		margin-right: 10rpx;
+	}
 
+	.money-num {
+		font-size: 72rpx;
+	}
+
+	.pay-it {
+		position: absolute;
+		width: 686rpx;
+		height: 98rpx;
+		bottom: 0;
+		border-radius: 10rpx;
+		font-size: 34rpx;
+		color: #ffffff;
+		background-color: #de2d35;
+		margin: 32rpx;
+	}
+
+	.item-icon {
+		width: 38rpx;
+		height: 38rpx;
+	}
+
+	.pay-icon {
+		align-self: flex-start;
+		width: 48rpx;
+		height: 48rpx;
+		margin-right: 20rpx;
+	}
+
+	.tag {
+		background-color: #F35656;
+		font-size: 20rpx;
+		color: #fff;
+		border-radius: 4rpx;
+		line-height: 1;
+		padding: 4rpx;
+	}
+
+	.tag-pain {
+		border: 1px solid #D31F28;
+		font-size: 22rpx;
+		color: #D31F28;
+		border-radius: 4rpx;
+		line-height: 1;
+		padding: 8rpx 4rpx;
+	}
+
+	.mask {
+		position: absolute;
+		width: 100%;
+		height: 100%;
+		left: 0;
+		bottom: 0;
+		z-index: 101;
+		background-color: rgba(0, 0, 0, 0);
+	}
+
+	@keyframes cursor-blinks {
+		0% {
+			opacity: 1;
+			display: block;
+		}
+
+		50% {
+			opacity: 0;
+			display: block;
+		}
+
+		100% {
+			opacity: 1;
+			display: block;
+		}
+	}
+
+	.cursor {
+		width: 1px;
+		height: 70rpx;
+	}
+
+	.cursor-act {
+		width: 1px;
+		background-color: #999;
+		animation: cursor-blinks 1s infinite steps(1, start);
+	}
+
+	.reg-btn {
+		display: block;
+		margin-top: 30rpx;
+		width: 654rpx;
+		height: 198rpx;
+
+		image {
+			width: 100%;
+			height: 100%;
+		}
+	}
+
+	.u-font-money {
+		font-size: 60rpx;
+	}
+
+	.bankCard-list {
+		height: 50vh;
+		width: 750rpx;
+		box-sizing: border-box;
+
+		.pay-icon {
+			align-self: center;
+		}
+	}
+
+	.add-icon {
+		width: 50rpx;
+		height: 50rpx;
+		border-radius: 25rpx;
+		background: #ffc0c38f;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.shuka {
+		width: 678rpx;
+		height: 45rpx;
+		position: relative;
+		left: -10rpx;
+
+		image {
+			width: 100%;
+			height: 100%;
+		}
+	}
+
+	.btn {
+		margin: 120rpx auto 0;
+		position: relative;
+		width: 680rpx;
+		height: 100rpx;
+	}
+
+	.wx-app {
+		position: absolute;
+		width: 680rpx;
+		height: 100rpx;
+	}
+
+	.coupon {
+		background-color: rgba(255, 241, 241, 0.47);
+		height: 171rpx;
+		border: solid 1rpx #f85d64;
+		border-radius: 10rpx;
+		position: relative;
+		overflow: hidden;
+	}
+
+	.choose-coupon {
+		margin: 32rpx 32rpx 0;
+		border-radius: 10rpx;
+		background: #fff1f1;
+		padding: 26rpx 16rpx;
+		color: #D31F28;
+		font-size: 28rpx;
+	}
+
+	.coupon-list {
+		box-sizing: border-box;
+		height: calc(50vh - 44px);
+	}
+
+
+	.butt {
+		width: 1rpx;
+		height: 100%;
+		position: relative;
+		z-index: 9;
+		border-left: 1rpx dashed #f85d64;
+	}
+
+	.butt:before {
+		z-index: 10;
+		box-sizing: border-box;
+		position: absolute;
+		content: "";
+		width: 24rpx;
+		height: 12rpx;
+		border-bottom: 1rpx solid #f85d64;
+		border-right: 1rpx solid #f85d64;
+		border-left: 1rpx solid #f85d64;
+		border-radius: 0 0 24rpx 24rpx;
+		left: -12rpx;
+		background-color: #ffffff;
+	}
+
+	.butt:after {
+		box-sizing: border-box;
+		position: absolute;
+		content: "";
+		width: 24rpx;
+		height: 12rpx;
+		bottom: 0;
+		border-bottom: 1rpx solid #ffff;
+		border-right: 1rpx solid #f85d64;
+		border-left: 1rpx solid #f85d64;
+		border-top: 1rpx solid #f85d64;
+		border-radius: 24rpx 24rpx 0 0;
+		left: -12rpx;
+		background-color: #ffffff;
+	}
+
+	.remark {
+		color: #1E8BE0
+	}
+
+	.lh-1 {
+		line-height: 1;
+	}
+
+	.coupon-btn {
+		margin: 0 30rpx 30rpx;
+		height: 98rpx;
+		border-radius: 10rpx;
+		background-color: #D31F28;
+		font-size: 34rpx;
+		color: #fff;
+		line-height: 98rpx;
+		text-align: center;
+	}
+
+	.empty-box {
+		height: calc(80vh - 64rpx);
+		margin: 32rpx;
+		background-color: #fff;
+		border-radius: 10rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+
+		.tips {
+			font-size: 28rpx;
+			color: #999;
+			margin: 60rpx 0;
+		}
+
+		.empty {
+			width: 291rpx;
+			height: 302rpx;
+		}
+
+		.clickDone {
+			font-size: 34rpx;
+			color: #fff;
+			width: 331rpx;
+			height: 88rpx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			border-radius: 61rpx;
+			background: linear-gradient(0deg, #D31F28 0%, #D31F28 100%), linear-gradient(270deg, #F62B20 13.24%, #FC4E0B 111.68%), #D9D9D9;
+		}
+	}
 </style>

--
Gitblit v1.9.1