浏览代码

视频页支付分隔开新增mixin

pansl 1 年之前
父节点
当前提交
eff6597954
共有 8 个文件被更改,包括 150 次插入130 次删除
  1. 2 2
      main.js
  2. 1 1
      static/js/mixin/common.js
  3. 91 0
      mixins/wxpay.js
  4. 3 74
      pages/video/index.nvue
  5. 53 53
      static/js/request.js
  6. 0 0
      store/modules/location.js
  7. 0 0
      store/modules/template.js
  8. 0 0
      store/store.js

+ 2 - 2
main.js

@@ -1,6 +1,6 @@
 import Vue from 'vue'
 import App from './App'
-import store from './static/js/store/store.js';
+import store from '@/store/store.js';
 import config from './static/js/config.js';
 
 import uView from '@/uni_modules/uview-ui'
@@ -13,7 +13,7 @@ Vue.prototype.$http  = http;
 import md5 from './static/js/md5.js';
 Vue.prototype.$Md5  =  md5;
 //权限相关的判断
-import {common} from './static/js/mixin/common.js';
+import {common} from '@/mixins/common.js';
 Vue.mixin(common);
 // 挂载全局方法
 import configs from "./common/config.js"

+ 1 - 1
static/js/mixin/common.js

@@ -1,6 +1,6 @@
 import {
 	statics
-} from '../statics.js';
+} from '@/static/js/statics.js';
 import {
 	mapState
 } from 'vuex';

+ 91 - 0
mixins/wxpay.js

@@ -0,0 +1,91 @@
+import {
+	mapMutations,
+	mapActions
+} from 'vuex';
+import {
+	getOptions,
+	getPayInfo
+} from "@/common/apis/recharge.js"
+import {
+	getUserInfo
+} from "@/common/apis/my.js";
+export default {
+	data() {
+		return {
+			pay_select_id: 0,
+			user_info: {},
+			payVideoInfo: {},
+			payOptions: []
+		}
+	},
+	created() {
+		// mixin的created生命周期钩子
+		console.log('mixin created');
+	},
+	methods: {
+		getPayInfo(originIndex) {
+			getUserInfo().then(res => {
+				this.user_info = res.data
+			});
+			getOptions().then(res => {
+				this.payOptions = res.data;
+				console.log(res, 'getPayInfogetPayInfogetPayInfogetPayInfo')
+				this.payOptions.forEach((item, index) => {
+					if (item.is_default == 1) {
+						this.pay_select_id = item.id;
+					}
+				})
+				this.payVideoInfo = {
+					video_id: this.video_id,
+					video_series_sequence: originIndex
+				};
+			});
+		},
+		selectPayItem(item) {
+			this.pay_select_id = item.id;
+			let params = {
+				video_id: this.payVideoInfo.video_id,
+				video_series_sequence: this.payVideoInfo.video_series_sequence,
+				pay_proudct_id: item.id,
+				is_first_pay: item.is_first_pay,
+			}
+			getPayInfo(params).then(res => {
+				if (res.data) {
+					// #ifdef MP-WEIXIN
+					this.wxMinPay(res.data);
+					// #endif
+				}
+			});
+		},
+		wxMinPay(param) {
+			wx.requestPayment({
+				timeStamp: param.timeStamp,
+				nonceStr: param.nonceStr,
+				package: param.package,
+				signType: param.signType,
+				paySign: param.paySign,
+				success(res) {
+					this.pay_success = true;
+					uni.showToast({
+						title: '支付成功',
+						icon: "none"
+					});
+					// console.log('success:' + JSON.stringify(res));
+				},
+				fail(e) {
+					if (e.errMsg == "requestPayment:fail cancel") {
+						uni.showToast({
+							title: '取消支付',
+							icon: "none"
+						});
+					} else {
+						uni.showToast({
+							title: '支付失败',
+							icon: "none"
+						});
+					}
+				}
+			})
+		}
+	},
+}

+ 3 - 74
pages/video/index.nvue

@@ -213,17 +213,12 @@
 		storeshelf
 	} from '@/common/apis/zju.js'
 	import {
-		getUserInfo
-	} from "@/common/apis/my.js";
-	import {
 		userRanse
 	} from "@/common/apis/common.js"
-	import {
-		getOptions,
-		getPayInfo
-	} from "@/common/apis/recharge.js"
 	import configs from "@/common/config.js"
+	import wxpay from '@/mixins/wxpay.js';
 	export default {
+		mixins: [wxpay],
 		data() {
 			return {
 				isLoading: true, // 页面加载中的状态
@@ -260,7 +255,6 @@
 				},
 				isShow: true,
 				fenji: 2,
-				pay_select_id: 0,
 				controls: true,
 				windowWidth: 0,
 				windowHeight: 0,
@@ -274,9 +268,7 @@
 				safeArea: 0,
 				ttuop: 0,
 				heightxw: 100,
-				user_info: {},
-				payVideoInfo: {},
-				payOptions: []
+
 			};
 		},
 		computed: {
@@ -511,69 +503,6 @@
 				// let index = this.labelList.findIndex(el => el.content.includes(this.activeIndex))
 				// this.tabcurrent = index
 			},
-			async getPayInfo(originIndex) {
-				let userInfores = await getUserInfo();
-				this.user_info = userInfores.data
-				let res = await getOptions();
-				this.payOptions = res.data;
-				this.payOptions.forEach((item, index) => {
-					if (item.is_default == 1) {
-						this.pay_select_id = item.id;
-					}
-				})
-				this.payVideoInfo = {
-					video_id: this.video_id,
-					video_series_sequence: originIndex
-				};
-
-
-			},
-			async selectPayItem(item) {
-				this.pay_select_id = item.id;
-				let params = {
-					video_id: this.payVideoInfo.video_id,
-					video_series_sequence: this.payVideoInfo.video_series_sequence,
-					pay_proudct_id: item.id,
-					is_first_pay: item.is_first_pay,
-				}
-				let res = await getPayInfo(params);
-				if (res.data) {
-					// #ifdef MP-WEIXIN
-					this.wxMinPay(res.data);
-					// #endif
-				}
-
-			},
-			wxMinPay(param) {
-				wx.requestPayment({
-					timeStamp: param.timeStamp,
-					nonceStr: param.nonceStr,
-					package: param.package,
-					signType: param.signType,
-					paySign: param.paySign,
-					success(res) {
-						this.pay_success = true;
-						uni.showToast({
-							title: '支付成功',
-							icon: "none"
-						});
-						// console.log('success:' + JSON.stringify(res));
-					},
-					fail(e) {
-						if (e.errMsg == "requestPayment:fail cancel") {
-							uni.showToast({
-								title: '取消支付',
-								icon: "none"
-							});
-						} else {
-							uni.showToast({
-								title: '支付失败',
-								icon: "none"
-							});
-						}
-					}
-				})
-			},
 			playVideo(item) {
 				if (this.isShowVip(item)) {
 					// this.fenji = 2

+ 53 - 53
static/js/request.js

@@ -1,93 +1,93 @@
-import  config from './config.js';
-import store from './store/store.js';
+import config from './config.js';
+import store from '@/store/store.js';
 
-const visit  = function(params){
-	if(!params) params = new Object;
-	params.app_id  = config.appId;
+const visit = function(params) {
+	if (!params) params = new Object;
+	params.app_id = config.appId;
 	params.device = config.dev;
 	let url = config.apiUrl + 'miniapp/visit'; //仅仅请求 不响应服务器的操作
 	uni.request({
-	    url: url,
-	    data: params,
-		method:'POST',
-		success(){
+		url: url,
+		data: params,
+		method: 'POST',
+		success() {
 			console.log('日志写入成功');
 		},
-		fail(){
+		fail() {
 			console.log('日志写入失败');
 		},
 	});
 }
 
-const  post   =  function (url,params){
-	if(!params) params = new Object;
+const post = function(url, params) {
+	if (!params) params = new Object;
 	params.device = config.dev;
-	params.app_id  = config.appId;
-	return  new Promise((resolve,reject) => {
+	params.app_id = config.appId;
+	return new Promise((resolve, reject) => {
 		uni.request({
-		    url: config.apiUrl + url, //仅为示例,并非真实接口地址。
-		    data: params,
-			method:'POST',
-		    success: (res) => {
-				uni.hideLoading(); 
-				if(res.statusCode == 200){ 
-					if(res.data.code == 200){
-						if(res.data.code == 100){ //未登录的情况 
-							store.commit('setMember',null);
+			url: config.apiUrl + url, //仅为示例,并非真实接口地址。
+			data: params,
+			method: 'POST',
+			success: (res) => {
+				uni.hideLoading();
+				if (res.statusCode == 200) {
+					if (res.data.code == 200) {
+						if (res.data.code == 100) { //未登录的情况 
+							store.commit('setMember', null);
 							uni.removeStorageSync('member-token');
 							reject({
-								code:res.data.code,
-								msg:res.data.msg
-							});	
-						}else{
-							resolve(res.data.data);	
+								code: res.data.code,
+								msg: res.data.msg
+							});
+						} else {
+							resolve(res.data.data);
 						}
-					}else{
-						
+					} else {
+
 						uni.showToast({
-							icon:'none',
-							title:res.data.msg + '#' +res.data.code
+							icon: 'none',
+							title: res.data.msg + '#' + res.data.code
 						});
 						reject({
-							code:res.data.code,
-							msg:res.data.msg
-						});	
+							code: res.data.code,
+							msg: res.data.msg
+						});
 					}
-				}else{
-					
+				} else {
+
 					uni.showToast({
-						icon:'none',
-						title:"网络异常"
+						icon: 'none',
+						title: "网络异常"
 					});
 					reject({
-						code:500,
-						msg:'网络异常'
+						code: 500,
+						msg: '网络异常'
 					});
-				}  
-		    },
-			fail:(res)=>{
-				uni.hideLoading(); 
+				}
+			},
+			fail: (res) => {
+				uni.hideLoading();
 				uni.showToast({
-					icon:'none',
-					title:"服务器繁忙"
+					icon: 'none',
+					title: "服务器繁忙"
 				});
 				reject({
-					code:500,
-					msg:'服务器繁忙'
+					code: 500,
+					msg: '服务器繁忙'
 				});
 			}
 		});
-		
+
 	});
 }
 
 
 //需要登录的使用这个
-const api  = function(url,params){
-	if(!params) params = new Object;
+const api = function(url, params) {
+	if (!params) params = new Object;
 	let token = uni.getStorageSync('member-token');
 	params.token = token;
-	return this.post(url,params);
+	return this.post(url, params);
 }
 
 export default {

static/js/store/modules/location.js → store/modules/location.js


static/js/store/modules/template.js → store/modules/template.js


static/js/store/store.js → store/store.js