Просмотр исходного кода

合并不稳定,待解决冲突

程志平 5 лет назад
Родитель
Сommit
62ea2ba951
4 измененных файлов с 107 добавлено и 155 удалено
  1. 0 9
      pages/index/index.vue
  2. 97 107
      pages/jiaofei/jiaofei.vue
  3. 10 11
      pages/recharge/recharge.vue
  4. 0 28
      static/common.js

+ 0 - 9
pages/index/index.vue

@@ -39,8 +39,6 @@
 				appkey: '5AA49F3E4CACA380',
 				appkey: '5AA49F3E4CACA380',
 				sub_appid: '1015730314_1941301045',
 				sub_appid: '1015730314_1941301045',
 				appid: 'wxd6f090391d410534', // 获取用户信息
 				appid: 'wxd6f090391d410534', // 获取用户信息
-				// appid: 'wx2fc3f45732fae5d3', // 获取用户信息
-				appid: 'wxd6f090391d410534 ', // 获取用户信息
 				ocode: '1015730314', // 获取用户信息
 				ocode: '1015730314', // 获取用户信息
 				app_secret: '58D34C81D82B35179ED896C4362B0FC0', // 获取用户信息
 				app_secret: '58D34C81D82B35179ED896C4362B0FC0', // 获取用户信息
 				wxcode: '',
 				wxcode: '',
@@ -164,7 +162,6 @@
 					this.access_token = res.data.access_token;
 					this.access_token = res.data.access_token;
 					this.refresh_token = res.data.refresh_token;
 					this.refresh_token = res.data.refresh_token;
 
 
-
 					// 通过access_token换取用户信息
 					// 通过access_token换取用户信息
 					this.get_user_info();
 					this.get_user_info();
 				}
 				}
@@ -195,13 +192,7 @@
 						this.userinfo.app_secret = this.app_secret
 						this.userinfo.app_secret = this.app_secret
 						this.userinfo.ocode = this.ocode
 						this.userinfo.ocode = this.ocode
 						this.userinfo.sub_appid = this.sub_appid
 						this.userinfo.sub_appid = this.sub_appid
-						this.userinfo.appid = this.appid_pass
-						this.userinfo.app_secret = this.app_secret_pass
-						this.userinfo.ocode = this.ocode_pass
-						this.userinfo.access_token = this.access_token
 						this.userinfo.appid = this.appid
 						this.userinfo.appid = this.appid
-						// console.log(this.userinfo)
-						// console.log(this.access_token)
 						// 存储用户信息
 						// 存储用户信息
 						uni.setStorageSync('userinfo_storage_key', this.userinfo)
 						uni.setStorageSync('userinfo_storage_key', this.userinfo)
 						// 提示授权成功
 						// 提示授权成功

+ 97 - 107
pages/jiaofei/jiaofei.vue

@@ -26,7 +26,8 @@
 			</view>
 			</view>
 			<view class="add-money-list">
 			<view class="add-money-list">
 				<view class="add-money-button">
 				<view class="add-money-button">
-					<button class="select-submit" :data-item="10" @tap="add_money" :class="{'bg-color':add_class1==1}">10元</button>
+					<button class="select-submit" :data-item="10" @tap="add_money"
+						:class="{'bg-color':add_class1==1}">10元</button>
 				</view>
 				</view>
 				<view class="add-money-button">
 				<view class="add-money-button">
 					<button class="select-submit" :data-item="30" @tap="add_money">30元</button>
 					<button class="select-submit" :data-item="30" @tap="add_money">30元</button>
@@ -47,7 +48,7 @@
 		</view>
 		</view>
 		<view class="show-item">
 		<view class="show-item">
 			<input class="input-money" placeholder="请输入金额(1-1000)" v-model:value="inputMoney"
 			<input class="input-money" placeholder="请输入金额(1-1000)" v-model:value="inputMoney"
-				placeholder-class="#B3B3B3" @input="onInput"/>
+				placeholder-class="#B3B3B3" @input="onInput" />
 		</view>
 		</view>
 		<view class="submit-item">
 		<view class="submit-item">
 			<button class="submit" :data-rooms='room' @tap="input_money">充值</button>
 			<button class="submit" :data-rooms='room' @tap="input_money">充值</button>
@@ -76,7 +77,7 @@
 				campus: '', //校区
 				campus: '', //校区
 				access_token: '',
 				access_token: '',
 				sub_appid: '', //商户号
 				sub_appid: '', //商户号
-				order_id: '202107151048111111', //订单号
+				order_id: '', //订单号
 				pay_info: '',
 				pay_info: '',
 				item: {},
 				item: {},
 				// storage: {},
 				// storage: {},
@@ -91,19 +92,14 @@
 		},
 		},
 
 
 		onLoad: function(options) {
 		onLoad: function(options) {
-
-			// console.log('item:' + item);
+			// console.log('item:' + options.item);
 			// console.log(options.item.card_number)
 			// console.log(options.item.card_number)
-
 			try {
 			try {
 				// 获取存储的用户数据
 				// 获取存储的用户数据
 				const value = uni.getStorageSync('userinfo_storage_key');
 				const value = uni.getStorageSync('userinfo_storage_key');
-
 				//将字符串解密转换成对象
 				//将字符串解密转换成对象
 				let item = JSON.parse(decodeURIComponent(options.item));
 				let item = JSON.parse(decodeURIComponent(options.item));
-
 				// console.log(item)
 				// console.log(item)
-
 				if (JSON.stringify(item) === '{}') { // 如果没有用户信息,返回首页
 				if (JSON.stringify(item) === '{}') { // 如果没有用户信息,返回首页
 					uni.redirectTo({
 					uni.redirectTo({
 						url: '../index/index'
 						url: '../index/index'
@@ -113,79 +109,49 @@
 
 
 				//判断item是否存在
 				//判断item是否存在
 				if (JSON.stringify(item) != '') {
 				if (JSON.stringify(item) != '') {
-
 					//判断是哪个页面传入
 					//判断是哪个页面传入
 					if (typeof(item.roomSelect) != 'undefined') {
 					if (typeof(item.roomSelect) != 'undefined') {
-
 						// this.item = item;
 						// this.item = item;
-
 						this.roomSelect = item.roomSelect;
 						this.roomSelect = item.roomSelect;
-
 						this.add_class = 1;
 						this.add_class = 1;
-
 						this.dom = item.dom;
 						this.dom = item.dom;
-
 						console.log(this.roomSelect)
 						console.log(this.roomSelect)
-
 					} else {
 					} else {
 						// 处理JSON字符串
 						// 处理JSON字符串
 						// this.userinfo = options.item.replace(/"/g, "'");
 						// this.userinfo = options.item.replace(/"/g, "'");
 						this.userinfo = item;
 						this.userinfo = item;
+						// 更新存储的用户信息
+						uni.setStorageSync('userinfo_storage_key', this.userinfo)
 						// console.log(this.userinfo)
 						// console.log(this.userinfo)
 						this.card_number = this.userinfo.card_number
 						this.card_number = this.userinfo.card_number
-
 						this.campus = this.userinfo.campus
 						this.campus = this.userinfo.campus
-
 						this.dom = this.userinfo.dorm_number
 						this.dom = this.userinfo.dorm_number
-
 						this.roomSelect = this.campus + this.dom
 						this.roomSelect = this.campus + this.dom
-
 						this.add_class = 1;
 						this.add_class = 1;
-						
 						this.order_id = get_order_id();
 						this.order_id = get_order_id();
-						
 						this.sub_appid = this.userinfo.sub_appid;
 						this.sub_appid = this.userinfo.sub_appid;
-
-						// this.sub_appid = this.userinfo.sub_appid
-
-						// this.access_token = this.userinfo.access_token
-
-						// this.storage.access_token = this.access_token
-
-						// this.storage.card_number = this.card_number
-
-						// uni.setStorageSync('storage_data', this.storage)
-
-						// console.log(this.access_token)
-
 					}
 					}
-
 				} else if (value != '') {
 				} else if (value != '') {
 					// 处理JSON字符串
 					// 处理JSON字符串
 					// this.userinfo = value.replace(/"/g, "'");
 					// this.userinfo = value.replace(/"/g, "'");
 					this.userinfo = value;
 					this.userinfo = value;
 				}
 				}
-
 				// console.log(this.dom)
 				// console.log(this.dom)
 				// console.log(this.campus)
 				// console.log(this.campus)
 			} catch (e) {
 			} catch (e) {
 				console.log(e)
 				console.log(e)
 			}
 			}
+			
+			//将缓存中的卡号进行获取
+			this.card_number = this.userinfo.card_number
 
 
 			// 查询用户信息
 			// 查询用户信息
-			// this.select_user_info()
+			this.get_valid_credentials()
 
 
 			// console.log('房间号' + this.dom)
 			// console.log('房间号' + this.dom)
 
 
 			//将缓存中的token码进行获取
 			//将缓存中的token码进行获取
-			this.access_token = uni.getStorageSync('userinfo_storage_key').access_token
-			
-			//将缓存中的卡号进行获取
-			this.card_number = uni.getStorageSync('userinfo_storage_key').card_number
-
-
-			// console.log(this.access_token)
-
+			// this.access_token = uni.getStorageSync('userinfo_storage_key').access_token
 		},
 		},
 
 
 		methods: {
 		methods: {
@@ -196,6 +162,37 @@
 			// this.arr1 = this.array1;
 			// this.arr1 = this.array1;
 			// },
 			// },
 
 
+			/**
+			 * 获取应用有效凭证
+			 */
+			async get_valid_credentials() {
+				const res = await this.$myRequest({
+					host: 'wecard',
+					url: '/cgi-bin/oauth2/token',
+					method: 'POST',
+					header: {
+						'content-type': 'application/json'
+					},
+					data: {
+						'app_key': this.userinfo.appkey,
+						'app_secret': this.userinfo.app_secret,
+						'grant_type': 'client_credentials',
+						'scope': 'base',
+						'ocode': this.userinfo.ocode
+					}
+				});
+
+				if (typeof(res.data.access_token) != 'undefined') {
+					// 获取到应用有效凭证,保存到页面变量中
+					this.access_token = res.data.access_token
+				} else {
+					uni.showToast({
+						title: '获取凭证失败',
+						duration: 2000
+					})
+				}
+			},
+			
 			//跳转到选择页面
 			//跳转到选择页面
 			navigateToSelect() {
 			navigateToSelect() {
 				uni.navigateTo({
 				uni.navigateTo({
@@ -276,49 +273,10 @@
 
 
 			},
 			},
 
 
-			/**
-			 * 输入充值金额
-			 */
-			onInput(e) {
-				const v = e.detail.value
-				this.inputMoney = 10
-
-				const zero = /^(0{1,})|[^0-9]/g
-				let final = 0
-				if (!v) {
-					final = 0
-				} else {
-					final = v.toString().replace(zero, (v) => {
-						return 0
-					})
-
-					if (final.split('')[0] * 1 === 0) {
-						final = final.slice(1) - 0 || 0
-					}
-
-					if (final > 1000) {
-						final = 1000
-					}
-				}
-				this.$nextTick(() => {
-					this.inputMoney = final.toString() || '0'
-				})
-				// setTimeout(() => {
-				// 	this.amount = final.toString() || '0'
-				// }, 100)
-			},
-
-			//失去焦点
-			// onBlur() {
-			// 	if (this.inputMoney < 10) {
-			// 		this.inputMoney = 10
-			// 	}
-			// },
-
 			//准备支付
 			//准备支付
 			async pay_money_start() {
 			async pay_money_start() {
 				const res = await this.$myRequest({
 				const res = await this.$myRequest({
-					// ip: 'http://open.wecard.qq.com',
+					// ip: 'https://open.wecard.qq.com',
 					host: 'wecard',
 					host: 'wecard',
 					url: "/cgi-bin/pay/app/mppay",
 					url: "/cgi-bin/pay/app/mppay",
 					method: 'POST',
 					method: 'POST',
@@ -333,21 +291,28 @@
 						"amount": this.addMoney * 100,
 						"amount": this.addMoney * 100,
 					}
 					}
 				});
 				});
-				// console.log(res)
-				this.pay_info = res.data.data.pay_info
-
-				// var info = decodeURIComponent(this.pay_info).substr(5,)
-				// info = JSON.parse(info)
-				// console.log(this.pay_info)
-				// console.log(this.resToken.access_token)
-
-				this.add_money_pay()
-
+				console.log(this.access_token)
+				console.log(this.sub_appid)
+				console.log(this.card_number)
+				console.log(this.order_id)
+				console.log(this.addMoney)
+				console.log(res.data)
+				if (res.data.code == 0) {
+					this.pay_info = res.data.data.pay_info
+					// 发起支付
+					this.add_money_pay()
+				} else {
+					uni.showToast({
+						icon: 'none',
+						title: res.data.message,
+						duration: 3000
+					})
+				}
 			},
 			},
 
 
 			//调起支付
 			//调起支付
 			add_money_pay() {
 			add_money_pay() {
-				var OpenMidas = require("../../static/openMidas.js"); // 引入小程序目录下的SDK文件
+				var OpenMidas = require("@/static/openMidas.js"); // 引入小程序目录下的SDK文件
 
 
 				// 设置支付配置
 				// 设置支付配置
 				wx['OpenMidasConfig'] = {
 				wx['OpenMidasConfig'] = {
@@ -363,7 +328,7 @@
 
 
 				var payInfo = this.pay_info; // 请求mppay接口返回的数据
 				var payInfo = this.pay_info; // 请求mppay接口返回的数据
 				// console.log(payInfo)
 				// console.log(payInfo)
-				// var appMetaData = "app=test&version=1.1"; // 自定义回调数据
+				var appMetaData = "app=test&version=1.1"; // 自定义回调数据
 
 
 				OpenMidas.init("test");
 				OpenMidas.init("test");
 				OpenMidas.pay(
 				OpenMidas.pay(
@@ -376,16 +341,43 @@
 
 
 						// todo:处理业务逻辑
 						// todo:处理业务逻辑
 					},
 					},
-					// appMetaData
+					appMetaData
 				);
 				);
-			}
+			},
+			/**
+			 * 输入充值金额
+			 */
+			onInput(e) {
+				const v = e.detail.value
+				this.inputMoney = 10
+
+				const zero = /^(0{1,})|[^0-9]/g
+				let final = 0
+				if (!v) {
+					final = 0
+				} else {
+					final = v.toString().replace(zero, (v) => {
+						return 0
+					})
+
+					if (final.split('')[0] * 1 === 0) {
+						final = final.slice(1) - 0 || 0
+					}
 
 
+					if (final > 1000) {
+						final = 1000
+					}
+				}
+				this.$nextTick(() => {
+					this.inputMoney = final.toString() || '0'
+				})
+			}
 		},
 		},
 	}
 	}
-	
+
 	function get_order_id() {
 	function get_order_id() {
 		const date = new Date()
 		const date = new Date()
-	
+
 		let year = date.getFullYear()
 		let year = date.getFullYear()
 		let month = date.getMonth() + 1
 		let month = date.getMonth() + 1
 		let day = date.getDate()
 		let day = date.getDate()
@@ -393,15 +385,13 @@
 		let minute = date.getMinutes()
 		let minute = date.getMinutes()
 		let second = date.getSeconds()
 		let second = date.getSeconds()
 		let millisecond = date.getMilliseconds()
 		let millisecond = date.getMilliseconds()
-	
+
 		month = month > 9 ? month : '0' + month
 		month = month > 9 ? month : '0' + month
 		day = day > 9 ? day : '0' + day
 		day = day > 9 ? day : '0' + day
 		second = second > 9 ? second : '0' + second
 		second = second > 9 ? second : '0' + second
 		// 小于4位数,前补0
 		// 小于4位数,前补0
-		// millisecond = millisecond < 1000 ? '00' + millisecond : millisecond
-		// 小于4位数,前补随机数
-		millisecond = millisecond < 1000 ? Math.floor(Math.random() * 999 + 1000) + millisecond : millisecond
-	
+		millisecond = millisecond.length < 3 ? '0' + millisecond : millisecond
+
 		return `${year}${month}${day}${hour}${minute}${second}${millisecond}`
 		return `${year}${month}${day}${hour}${minute}${second}${millisecond}`
 	}
 	}
 </script>
 </script>

+ 10 - 11
pages/recharge/recharge.vue

@@ -54,11 +54,13 @@
 					});
 					});
 					return;
 					return;
 				}
 				}
-
+				// 先用传过来的用户信息
 				if (item != '') {
 				if (item != '') {
 					// 处理JSON字符串
 					// 处理JSON字符串
 					// this.userinfo = item.replace(/"/g, "'");
 					// this.userinfo = item.replace(/"/g, "'");
-					this.userinfo = JSON.parse(item);
+					this.userinfo = JSON.parse(item)
+					// 更新存储的用户信息
+					uni.setStorageSync('userinfo_storage_key', this.userinfo)
 				} else if (value != '') {
 				} else if (value != '') {
 					// 处理JSON字符串
 					// 处理JSON字符串
 					// this.userinfo = value.replace(/"/g, "'");
 					// this.userinfo = value.replace(/"/g, "'");
@@ -121,13 +123,12 @@
 						'amount': this.amount * 100
 						'amount': this.amount * 100
 					}
 					}
 				})
 				})
-				
+				console.log(this.access_token)
+				console.log(this.userinfo.sub_appid)
+				console.log(this.userinfo.card_number)
+				console.log(this.order_id)
+				console.log(this.amount)
 				console.log(res.data)
 				console.log(res.data)
-				console.log('access_token:', this.access_token)
-				console.log('sub_appid:', this.userinfo.sub_appid)
-				console.log('card_number:', this.userinfo.card_number)
-				console.log('order_id:', this.order_id)
-				console.log('amount:', this.amount)
 				if (res.data.code == 0) {
 				if (res.data.code == 0) {
 					this.pay_info = res.data.data.pay_info
 					this.pay_info = res.data.data.pay_info
 					// 发起支付
 					// 发起支付
@@ -271,9 +272,7 @@
 		day = day > 9 ? day : '0' + day
 		day = day > 9 ? day : '0' + day
 		second = second > 9 ? second : '0' + second
 		second = second > 9 ? second : '0' + second
 		// 小于4位数,前补0
 		// 小于4位数,前补0
-		// millisecond = millisecond < 1000 ? '00' + millisecond : millisecond
-		// 小于4位数,前补随机数
-		millisecond = millisecond < 1000 ? Math.floor(Math.random() * 99 + 100) + millisecond : millisecond
+		millisecond = millisecond.length < 3 ? '0' + millisecond : millisecond
 
 
 		return `${year}${month}${day}${hour}${minute}${second}${millisecond}`
 		return `${year}${month}${day}${hour}${minute}${second}${millisecond}`
 	}
 	}

+ 0 - 28
static/common.js

@@ -1,28 +0,0 @@
-export default {
-	axios({
-		url = '',
-		method = 'GET',
-		header = {},
-		data = {}
-	}) {
-		return new Promise((resovle, reject) => {
-			uni.showLoading({
-				title: '加载中',
-				mask: true
-			})
-			uni.request({
-				url: url,
-				method: method,
-				data: data,
-				header: header,
-				success(res) {
-					uni.hideLoading();
-					resovle(res)
-				},
-				fail(err) {
-					reject(err)
-				}
-			})
-		})
-	}
-}