lhl 2 jaren geleden
bovenliggende
commit
6544ec0670

+ 1 - 1
src/App.vue

@@ -15,7 +15,7 @@ export default {
   	// 	window.location.href = 'https://www.ezsredcross.org.cn/index/#/'
   	// }
 	this.getIndex()
-	let userInfo = JSON.parse(window.sessionStorage.getItem('user'))
+	let userInfo = JSON.parse(window.localStorage.getItem('user'))
 	console.log(userInfo, 'userInfo');
 	if (userInfo && userInfo.id) {
 		this.setUserInfo(userInfo)

+ 19 - 0
src/request/agent.js

@@ -110,4 +110,23 @@ export function reg(data) {
 		method: 'post',
 		data
 	});
+}
+
+
+//获取验证码
+export function getSpace(data) {
+	return request({
+		url: '/api/index/space',
+		method: 'get',
+		data
+	});
+}
+
+//校验
+export function spaceCheck(data) {
+	return request({
+		url: '/api/index/space_check',
+		method: 'post',
+		params: data
+	});
 }

+ 3 - 1
src/request/request.js

@@ -22,7 +22,7 @@ service.interceptors.request.use(
 		// let each request carry token
 		// ['X-Token'] is a custom headers key
 		// please modify it according to the actual situation
-		config.headers['token'] = window.sessionStorage.getItem('token') || ''
+		config.headers['token'] = window.localStorage.getItem('token') || ''
 		// if(config.method=='get'){
 		// 	if(!config.params){
 		// 		config.params={};
@@ -58,6 +58,8 @@ service.interceptors.response.use(
 					let url = res.data.wxurl + '?url=' + encodeURIComponent(window.location.href);
 					window.location.href = url;
 			} else if (res.errcode === 401) {
+					window.localStorage.removeItem('token');
+					window.localStorage.removeItem('user');
 					router.push("/login");
 			} else {
 				// Toast({

+ 24 - 0
src/request/user.js

@@ -90,3 +90,27 @@ export function getMoneyList(data) {
 	});
 }
 
+export function accountGa(data) {
+	return request({
+		url: '/api/user/account_ga',
+		method: 'get',
+		params:data
+	});
+}
+
+//
+export function getga(data) {
+	return request({
+		url: '/api/user/getga',
+		method: 'get',
+		params:data
+	});
+}
+
+export function checkCode(data) {
+	return request({
+		url: '/api/user/check_code',
+		method: 'post',
+		data
+	});
+}

+ 10 - 2
src/router.js

@@ -148,7 +148,15 @@ let router = new Router({
 					name: 'setPas',
 					component: () => import('./views/home/setPas.vue'),
 					meta: {
-						title: '统计'
+						title: '交易密码'
+					}
+				},
+				{
+					path: 'setGa',
+					name: 'setGa',
+					component: () => import('./views/home/setGa.vue'),
+					meta: {
+						title: '动态口令'
 					}
 				},
 				{
@@ -179,7 +187,7 @@ let router = new Router({
 // 路由导航守卫
 router.beforeEach((to, from, next) => {
   if (to.path === '/login') return next()
-  const tokenStr = window.sessionStorage.getItem('token')
+  const tokenStr = window.localStorage.getItem('token')
   if (!tokenStr) return next('/login')
   next()
 })

+ 2 - 2
src/store.js

@@ -5,7 +5,7 @@ Vue.use(Vuex)
 
 export default new Vuex.Store({
   state: {
-	www: window.location.protocol + '//' + window.location.host,
+	www: 'http://www.pingguozhushou.shop',
 	hasLogin:false,
 	userInfo: {},
 	baseInfo: {}
@@ -22,7 +22,7 @@ export default new Vuex.Store({
 	},
 	setUserInfo(state,payload) {
 		state.userInfo = payload
-		window.sessionStorage.setItem('user', JSON.stringify(payload))
+		window.localStorage.setItem('user', JSON.stringify(payload))
 		
 	},
 	setBaseInfo(state,payload) {

+ 19 - 3
src/views/Home.vue

@@ -82,6 +82,10 @@
 		dlMunList,
 		munList
 	} from '@/assets/js/admun.js'
+	
+	import {
+		getUserInfo
+	} from '@/request/user.js'
 	export default {
 		name: 'Home',
 		data() {
@@ -107,6 +111,19 @@
 			},
 		},
 		methods: {
+			...mapMutations(['setUserInfo']),
+			getUserInfo() {
+				getUserInfo().then(res => {
+					this.setUserInfo(res.data)
+					if (res.data.is_binding != 1) {
+						dlMunList.find(item => item.id == 16).children.push({
+							id: 33,
+							authName: '动态口令',
+							path: 'home/setGa'
+						} )
+					}
+				})
+			},
 			kf() {
 				if(this.baseInfo.service_kf) {
 					window.open(this.baseInfo.service_kf)
@@ -128,9 +145,8 @@
 			},
 		},
 		created() {
-			if(!this.userInfo.agent_id) {
-				this.menulist = munList
-			}
+			this.getUserInfo()
+			
 		},
 	}
 </script>

+ 22 - 6
src/views/Login.vue

@@ -12,7 +12,7 @@
 					<!--用户名-->
 					<el-form-item prop="account">
 						<el-input placeholder="请输入用户名" prefix-icon="el-icon-s-custom"
-							v-model="loginForm.username"></el-input>
+							v-model="loginForm.username" @blur="accountGa"></el-input>
 					</el-form-item>
 					<!--密码-->
 					<el-form-item prop="password">
@@ -21,7 +21,7 @@
 					</el-form-item>
 					<!--按钮-->
 					<el-form-item class="btns">
-						<span class="go-new hand" @click="currentIndex = 1">没有账号?立即注册</span>
+						<!-- <span class="go-new hand" @click="currentIndex = 1">没有账号?立即注册</span> -->
 						<el-button type="primary" @click="login">登录</el-button>
 						<!-- <el-button type="info" @click="resetLoginForm">重置</el-button> -->
 					</el-form-item>
@@ -68,8 +68,13 @@
 	import { validateEmail} from '@/assets/js/tools.js'
 	import {
 		login,
-		reg
+		reg,
 	} from '@/request/agent.js'
+	
+	import {
+
+		accountGa
+	} from '@/request/user.js'
 	export default {
 		name: "Login",
 		data() {
@@ -90,6 +95,17 @@
 		},
 		methods: {
 			...mapMutations(['setUserInfo']),
+			accountGa() {
+				let that = this
+				if(that.loginForm.username) {
+					accountGa({
+						account: that.loginForm.username
+					}).then(res => {
+						console.log(res);
+						that.isBinding = res.data.is_binding
+					})
+				}
+			},
 			resetLoginForm() {
 				this.$refs.loginFormRef.resetFields()
 			},
@@ -120,8 +136,8 @@
 					that.$msg.success('注册成功')
 					that.currentIndex = 0
 					that.setUserInfo(res.data.userinfo)
-					window.sessionStorage.setItem('token', res.data.userinfo.token)
-					window.sessionStorage.setItem('user', res.data.userinfo)
+					window.localStorage.setItem('token', res.data.userinfo.token)
+					window.localStorage.setItem('user', res.data.userinfo)
 					that.$router.push("/home")
 				}).catch(err => {
 					console.log();
@@ -142,7 +158,7 @@
 					that.$msg.success('登录成功')
 					console.log(res);
 					that.setUserInfo(res.data.userinfo)
-					window.sessionStorage.setItem('token', res.data.userinfo.token)
+					window.localStorage.setItem('token', res.data.userinfo.token)
 					
 					that.$router.push("/home")
 				})

+ 121 - 0
src/views/home/setGa.vue

@@ -0,0 +1,121 @@
+<template>
+	<div class="order-wrapper">
+		<!-- <breadcrumb :item-name="['订单管理', '订单列表']"></breadcrumb> -->
+		<el-card>
+			<div class="wrap">
+				<el-form :model="form" style="width: 500px;">
+					
+					<el-form-item label="绑定二维码" :label-width="formLabelWidth">
+						<!-- <canvas id="canvas"></canvas> -->
+						<img  :src="images" alt="">
+					</el-form-item>
+					<el-form-item label="密钥" :label-width="formLabelWidth">
+						<el-input v-model="form.secret" type="text" 
+							placeholder="" width="300px"></el-input>
+					</el-form-item>
+					<el-form-item label="绑定口令" :label-width="formLabelWidth">
+						<el-input v-model="form.code" type="text" 
+							placeholder="请输入绑定口令" width="300px"></el-input>
+					</el-form-item>
+				</el-form>
+				<div class="dialog-footer">
+					<el-button type="primary" @click="checkCode">确 定</el-button>
+				</div>
+			</div>
+
+
+		</el-card>
+	</div>
+</template>
+
+<script>
+	import {
+		setTransaction
+	} from '@/request/agent.js'
+	//getga
+	import {
+		getga,
+		checkCode
+	} from '@/request/user.js'
+	export default {
+		name: 'setGa',
+		data() {
+			return {
+				images: '',
+				formLabelWidth: '120px',
+				form: {
+					newpassword: '',
+					oldpassword: '',
+					secret: ''
+				},
+				dialogTableVisible: false,
+				queryInfo: {
+					keyword: '',
+					page: 1,
+					limit: 10
+				},
+				list: [],
+				total: 0,
+				loading: false,
+			}
+		},
+		created() {},
+		mounted() {
+			
+			this.getga()
+		},
+		methods: {
+			openBuy() {
+				this.dialogTableVisible = true
+			},
+			getga() {
+				getga().then(res => {
+					console.log(res);
+					this.form.secret = res.data.secret
+					// this.useqrcode(res.data.qrCodeUrl)
+					this.images = res.data.qrCodeUrl
+				})
+			},
+			checkCode() {
+				if(this.loading) {
+					return
+				}
+				this.loading = true
+				checkCode({
+					code: this.form.code
+				}).then(res => {
+					this.loading = false
+					this.$msg.success('绑定成功')
+				}).then(err => {
+					this.loading = false
+				})
+			},
+			useqrcode(tit) {
+				var canvas = document.getElementById("canvas");
+				this.$QRCode.toCanvas(canvas, tit, function(error) {
+					if (error) {
+						console.error(error);
+					} else {
+						console.log("success!");
+					}
+				})
+			},
+			
+		},
+
+	}
+</script>
+
+<style scoped>
+	.dialog-footer {
+		display: flex;
+		justify-content: flex-end;
+		width: 500px;
+	}
+
+	/deep/ .el-card__body {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+</style>

+ 9 - 2
src/views/home/setPas.vue

@@ -7,8 +7,8 @@
 					<el-form-item label="新交易密码" :label-width="formLabelWidth">
 						<el-input v-model="form.newpassword" type="password"  maxlength="30" minlength="6" placeholder="请输入新交易密码(6~30位任意字符)" width="300px"></el-input>
 					</el-form-item>
-					<el-form-item label="旧交易密码" :label-width="formLabelWidth">
-						<el-input v-model="form.oldpassword" type="password" maxlength="30" minlength="6" placeholder="请输入旧交易密码(如无则不需要填写)"></el-input>
+					<el-form-item label="旧交易密码" :label-width="formLabelWidth" v-if="userInfo.transaction">
+						<el-input v-model="form.oldpassword" type="password" maxlength="30" minlength="6" placeholder="请输入旧交易密码"></el-input>
 					</el-form-item>
 				</el-form>
 				<div class="dialog-footer">
@@ -23,6 +23,10 @@
 </template>
 
 <script>
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
 	import { setTransaction } from '@/request/agent.js'
 	export default {
 		name: 'Order',
@@ -46,6 +50,9 @@
 		},
 		created() {
 
+		},
+		computed: {
+			...mapState(['userInfo'])
 		},
 		methods: {
 			openBuy() {

+ 13 - 7
src/views/home/takingList.vue

@@ -8,32 +8,34 @@
 					<el-button type="primary" @click="openBuy">提现</el-button>
 					<el-button type="primary" icon="el-icon-refresh-right" @click="reload">刷新</el-button>
 				</div>
-				<div style="margin-bottom: 20px;">
+				<!-- <div style="margin-bottom: 20px;">
 					<el-select v-model="value" placeholder="请选择支付方式" @change="optChange">
 						<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" >
 						</el-option>
 					</el-select>
-				</div>
+				</div> -->
 			</el-col>
 			<!-- 订单表格区域 -->
 			<el-table :data="list" border style="width: 100%">
 				<el-table-column prop="id" label="id" width="180">
 				</el-table-column>
-				<el-table-column prop="type" label="提现方式" width="150">
+				<el-table-column prop="address" label="地址" width="380">
+				</el-table-column>
+				<!-- <el-table-column prop="type" label="提现方式" width="150">
 					<template slot-scope="scope">
 						<el-tag v-if="scope.row.type == 0" type="warning">银行卡</el-tag>
 						<el-tag v-if="scope.row.type == 1" type="success">微信</el-tag>
 						<el-tag v-if="scope.row.type == 2" >支付宝</el-tag>
 					</template>
-				</el-table-column>
+				</el-table-column> -->
 				<el-table-column prop="withdraw_num" label="提现金额(元)" width="150"></el-table-column>
-				<el-table-column prop="card_no" label="银行卡" width="250"></el-table-column>
+				<!-- <el-table-column prop="card_no" label="银行卡" width="250"></el-table-column>
 				<el-table-column prop="card_name" label="开户行" width="250"></el-table-column>
 				<el-table-column prop="image" label="收款码" width="150">
 					<template slot-scope="scope">
 						<el-image style="width: 100px; height:100px" :src="scope.row.qrimage" v-if="scope.row.qrimage"></el-image>
 					</template>
-				</el-table-column>
+				</el-table-column> -->
 				<el-table-column prop="status" label="审核结果" width="150">
 					<template slot-scope="scope">
 						<el-tag type="success" v-if="scope.row.status == 1">已通过</el-tag>
@@ -91,6 +93,9 @@
 				<el-form-item label="提现金额" :label-width="formLabelWidth">
 					<el-input v-model="form.withdraw_num" type="number"></el-input>
 				</el-form-item>
+				<el-form-item label="动态口令" :label-width="formLabelWidth" v-if="userInfo.is_binding == 1">
+					<el-input v-model="form.code" type="number"></el-input>
+				</el-form-item>
 			</el-form>
 			<div class="t-r">
 				到账: {{((form.withdraw_num*1 || 0)/(baseInfo.to_rmb*1)).toFixed(2)}}U
@@ -138,7 +143,8 @@
 				formLabelWidth: '80px',
 				form: {
 					withdraw_num: '',
-					address: ''
+					address: '',
+					code: ''
 				},
 				dialogTableVisible: false,
 				queryInfo: {

+ 5 - 1
src/views/home/transferList.vue

@@ -43,6 +43,9 @@
 				<el-form-item label="转账金额" :label-width="formLabelWidth">
 					<el-input v-model="form.transfer_num" type="number"></el-input>
 				</el-form-item>
+				<el-form-item label="动态口令" :label-width="formLabelWidth" v-if="userInfo.is_binding == 1">
+					<el-input v-model="form.code" type="number"></el-input>
+				</el-form-item>
 			</el-form>
 			<div class="t-r">
 				当前余额: {{userInfo.money*1}}元
@@ -84,7 +87,8 @@
 				formLabelWidth: '100px',
 				form: {
 					to_user_id: '',
-					transfer_num: ''
+					transfer_num: '',
+					code: ''
 				},
 				dialogTableVisible: false,
 				queryInfo: {