Commit 6dc985aa authored by 5359's avatar 5359

添加功能模块

parent 699e94ab
......@@ -3,91 +3,52 @@
<h-content>
<list-item class="personalInf" style="padding:20px;height:100%">
<div style="height:40px;border-bottom:1px solid #d0d0d0">
<div
class="personalInf-text"
style=" width: 150px;line-height: 30px;text-align: center;
<div class="personalInf-text" style=" width: 150px;line-height: 30px;text-align: center;
border-radius: 5px;
background-color: #ddd;font-size:16px;font-weight:700;color:#11111187"
>签约信息
background-color: #ddd;font-size:16px;font-weight:700;color:#11111187">签约信息
</div>
</div>
<item style="border-bottom:1px solid #d0d0d0;font-size:14px">
<section slot="name" style="font-size:14px">
<img
src="../../../assets/userRegister/bankIcon@2x.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;"
/>银行卡号:
<img src="../../../assets/userRegister/bankIcon@2x.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;">银行卡号:
</section>
<input
slot="content"
v-model="bankCardNumber"
style="text-align: left;font-size:14px"
placeholder="请输入银行卡号"
/>
<input slot="content" v-model="bankCardNumber" style="text-align: left;font-size:14px" placeholder="请输入银行卡号">
</item>
<item style="border-bottom:1px solid #d0d0d0">
<section slot="name" style="font-size:14px">
<img
src="../../../assets/userRegister/people-name.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;"
/>账户名称:
<img src="../../../assets/userRegister/people-name.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;">账户名称:
</section>
<input
slot="content"
v-model="bankAccName"
style="text-align: left;font-size:14px"
placeholder="请输入账户名称"
/>
<input slot="content" v-model="bankAccName" style="text-align: left;font-size:14px" placeholder="请输入账户名称">
</item>
<item style="border-bottom:1px solid #d0d0d0">
<section slot="name" style="font-size:14px">
<img
src="../../../assets/userRegister/idCard.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;"
/>证件号码:
<img src="../../../assets/userRegister/idCard.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;">证件号码:
</section>
<input
slot="content"
v-model="certNo"
style="text-align: left;font-size:14px"
placeholder="请输入证件号码"
@blur="goTop()"
/>
<input slot="content" v-model="certNo" style="text-align: left;font-size:14px" placeholder="请输入证件号码"
@blur="goTop()">
</item>
<item style="border-bottom:1px solid #d0d0d0">
<section slot="name" style="font-size:14px">
<img
src="../../../assets/userRegister/phone.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;"
/>预留手机:
<img src="../../../assets/userRegister/phone.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;">预留手机:
</section>
<input
slot="content"
v-model="phoneNumber"
style="text-align: left;font-size:14px"
placeholder="请输入电话号码"
@blur="goTop()"
/>
<input slot="content" v-model="phoneNumber" style="text-align: left;font-size:14px" placeholder="请输入电话号码"
@blur="goTop()">
</item>
<item style="border-bottom:1px solid #d0d0d0">
<section slot="name" style="font-size:14px">
<img
src="../../../assets/userRegister/indentifyCode.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;"
/>验证码:
<img src="../../../assets/userRegister/indentifyCode.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;">验证码:
</section>
<input
slot="content"
v-model="authCode"
style="text-align: left;font-size:14px;margin-left: 0.13rem"
placeholder="请输入验证码"
@blur="goTop()"
/>
<input slot="content" v-model="authCode" style="text-align: left;font-size:14px;margin-left: 0.13rem"
placeholder="请输入验证码" @blur="goTop()">
<div>
<button v-if="!showTimer"
@click="getSignCode()"
style="width:1.7rem;height:30px;border-radius:15px;background-color:#09bb07;color:#FFFFFF;margin:8px 0 0 -60px;position:relative;left:30%"
>
@click="getSignCode()">
<div style="font-size: 11px">获取验证码</div>
</button>
<button v-if="showTimer"
......@@ -103,9 +64,8 @@
</div>
<div style="height:100px;margin-top:30px">
<div
style="border:1px solid #b2b2b2;width:70%;height:100%;margin:0 auto;border-radius:5px;position:relative;"
>
<img :src="cardUp" alt class="pic" @click="addCardImage(0)"/>
style="border:1px solid #b2b2b2;width:70%;height:100%;margin:0 auto;border-radius:5px;position:relative;">
<img :src="cardUp" alt class="pic" @click="addCardImage(0)">
</div>
</div>
<p style="margin-top:10px;text-align:center;font-size:14px">
......@@ -118,9 +78,8 @@
</div>
<div style="height:100px;margin-top:30px">
<div
style="border:1px solid #b2b2b2;width:70%;height:100%;margin:0 auto;border-radius:5px;position:relative;"
>
<img :src="cardUp1" alt class="pic" @click="addCardImage(1)"/>
style="border:1px solid #b2b2b2;width:70%;height:100%;margin:0 auto;border-radius:5px;position:relative;">
<img :src="cardUp1" alt class="pic" @click="addCardImage(1)">
</div>
</div>
<p style="margin-top:10px;text-align:center;font-size:14px">
......@@ -129,72 +88,78 @@
</div>
</div>
<button
@click="next_step()"
style="width:120px;height:30px;border-radius:15px;background-color:#09bb07;color:#FFFFFF;margin:70px 0 0 -60px;position:relative;left:50%;"
>签约
@click="next_step()">签约
</button>
<p/>
<p />
</list-item>
</h-content>
</h-view>
</template>
<script>
import {getUrlParam} from "@/scripts/utils";
import { getUrlParam } from '@/scripts/utils'
export default {
data() {
export default {
components: {},
data () {
return {
cardUp: require("../../../assets/userRegister/camear.png"), //身份证正面url
bankCardNumber: "",
bankAccName: "",
certNo: "",
phoneNumber: "",
authCode: "",
cardUp: require('../../../assets/userRegister/camear.png'), // 身份证正面url
bankCardNumber: '',
bankAccName: '',
certNo: '',
phoneNumber: '',
authCode: '',
phoneNumberFlag: false,
showTimer: false,
timerCount: 60,
timer: 60000,
captchaKey: "",
signId: "",
captchaKey: '',
signId: '',
signStatus: 0,
text: '秒后失效',
cardUp1: require("../../../assets/userRegister/camear.png"), //身份证正面url
preview_url: "", //图片预览地址
attchmentId: "", //附件预览id
attchmentId1: "" //附件预览id
};
cardUp1: require('../../../assets/userRegister/camear.png'), // 身份证正面url
preview_url: '', // 图片预览地址
attchmentId: '', // 附件预览id
attchmentId1: '', // 附件预览id
}
},
components: {},
activated: function () {
// this.getUserInfo();
},
updated: function () {
},
created () {
this.wxConfig()
// wx.hideOptionMenu();
// var data = this.$route.params.userInfo;
// this.getUserInfo();
},
methods: {
// 调用微信接口的基础配置
wxConfig() {
let clientUrl = "";
let u = navigator.userAgent;
let isAndroid = u.indexOf("Android") > -1 || u.indexOf("Linux") > -1; //g
let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
wxConfig () {
let clientUrl = ''
let u = navigator.userAgent
let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1 // g
let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios终端
if (isAndroid) {
//这个是安卓操作系统
console.log("机型:android");
clientUrl = location.href;
// 这个是安卓操作系统
console.log('机型:android')
clientUrl = location.href
}
if (isIOS) {
//这个是ios操作系统
console.log("机型:ios");
clientUrl = location.href.split("#")[0];
// 这个是ios操作系统
console.log('机型:ios')
clientUrl = location.href.split('#')[0]
}
// let clientUrl = encodeURIComponent(location.href)
// let url = $config.rootPath + '/js/sdk/getWxConfig?wxCode=' + $config.wxCode + '&clientUrl=' + clientUrl
let url = process.env.basePathRl + "getSignature";
let url = process.env.basePathRl + 'getSignature'
let param = {
apiKey: "handexinxi",
url: clientUrl
};
apiKey: 'handexinxi',
url: clientUrl,
}
hlsHttp.post(url, param).then(function (res) {
wx.config({
beta: true,
......@@ -204,35 +169,35 @@
nonceStr: res.result.nonceStr, // 必填,生成签名的随机串
signature: res.result.signature, // 必填,签名,见附录1
jsApiList: [
"chooseImage",
"previewImage",
"downloadImage",
"getLocalImgData",
"uploadImage",
"hideOptionMenu"
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
'chooseImage',
'previewImage',
'downloadImage',
'getLocalImgData',
'uploadImage',
'hideOptionMenu',
], // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
})
wx.ready(function () {
wx.hideOptionMenu();
});
});
wx.hideOptionMenu()
})
})
},
addCardImage: function (cardType) {
let self = this;
let self = this
// if(!self.cardUp){
wx.chooseImage({
count: 1, //张数, 默认9
sizeType: ["compressed"], //建议压缩图
sourceType: ["album", "camera"], // 来源是相册、相机
count: 1, // 张数, 默认9
sizeType: ['compressed'], // 建议压缩图
sourceType: ['album', 'camera'], // 来源是相册、相机
success: function (res) {
if (cardType == 0) {
self.cardUp = res.localIds[0];
self.cardUp = res.localIds[0]
} else {
self.cardUp1 = res.localIds[0];
}
self.uploadToWeixinServer(res.localIds[0], cardType);
self.cardUp1 = res.localIds[0]
}
});
self.uploadToWeixinServer(res.localIds[0], cardType)
},
})
// }else{
// if(self.attchmentId){
// this.previewImage();
......@@ -240,69 +205,68 @@
// }
},
//预览图片
previewImage() {
// 预览图片
previewImage () {
hlsPopup.showBigPicture({
imgUrl: vm.cardUp,
imgUrl1: vm.cardUp1
});
imgUrl1: vm.cardUp1,
})
},
uploadToWeixinServer(localId, cardType) {
let self = this;
uploadToWeixinServer (localId, cardType) {
let self = this
wx.uploadImage({
localId: localId,
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
//res.serverId 返回图片的微信服务器端ID
console.log("上传图片后返回的信息", res);
self.serverId = res.serverId;
self.uploadToserver(res.serverId, cardType);
}
});
// res.serverId 返回图片的微信服务器端ID
console.log('上传图片后返回的信息', res)
self.serverId = res.serverId
self.uploadToserver(res.serverId, cardType)
},
uploadToserver(serverId, cardType) {
let vm = this;
let url = process.env.rootPath + "/auth/upload/image/hls/from/wx";
let sourceType = "";
})
},
uploadToserver (serverId, cardType) {
let vm = this
let url = process.env.rootPath + '/auth/upload/image/hls/from/wx'
let sourceType = ''
if (cardType == 0) {
sourceType = "app_file_id_bank";
sourceType = 'app_file_id_bank'
} else {
sourceType = "app_file_id_card";
sourceType = 'app_file_id_card'
}
let param = {
openId: window.localStorage.openId,
mediaId: serverId,
sourceType: sourceType,
fileName: new Date().getTime() + ".jpg"
};
vm.hlsPopup.showLoading("请稍等");
fileName: new Date().getTime() + '.jpg',
}
vm.hlsPopup.showLoading('请稍等')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading();
vm.attchmentId = res["attchmentId"];
vm.hlsPopup.hideLoading()
vm.attchmentId = res['attchmentId']
if (cardType == 0) {
vm.bankCardNumber = res["bank_card_number"];
vm.bankCardNumber = res['bank_card_number']
vm.cardUp =
process.env.rootPath +
"/app/fileViewSvc?attachment_id=" +
'/app/fileViewSvc?attachment_id=' +
vm.attchmentId +
"&apiName=download&sysName=HCL_UPLOAD_FILE&access_token=" +
window.localStorage.access_token_rl;
'&apiName=download&sysName=HCL_UPLOAD_FILE&access_token=' +
window.localStorage.access_token_rl
} else {
vm.bankAccName = res["姓名"];
vm.certNo = res["公民身份号码"];
vm.bankAccName = res['姓名']
vm.certNo = res['公民身份号码']
vm.cardUp1 =
process.env.rootPath +
"/app/fileViewSvc?attachment_id=" +
'/app/fileViewSvc?attachment_id=' +
vm.attchmentId +
"&apiName=download&sysName=HCL_UPLOAD_FILE&access_token=" +
window.localStorage.access_token_rl;
'&apiName=download&sysName=HCL_UPLOAD_FILE&access_token=' +
window.localStorage.access_token_rl
}
});
})
},
// 下一步
next_step() {
let vm = this;
next_step () {
let vm = this
if (
!vm.bankCardNumber ||
!vm.bankAccName ||
......@@ -310,44 +274,41 @@
!vm.certNo ||
!vm.authCode
) {
vm.hlsPopup.showLongCenter("必输字端不能为空!");
return;
vm.hlsPopup.showLongCenter('必输字端不能为空!')
} else if (vm.hlsUtil.isCardID(vm.certNo)) {
vm.hlsPopup.showLongCenter("身份证号有误");
return;
vm.hlsPopup.showLongCenter('身份证号有误')
} else if (!vm.hlsUtil.phoneNumber(vm.phoneNumber)) {
vm.hlsPopup.showLongCenter("手机号码有误!");
return;
vm.hlsPopup.showLongCenter('手机号码有误!')
} else {
// alert("验证通过");
let url = process.env.rootPath + "/china/pay/send/sign";
let url = process.env.rootPath + '/china/pay/send/sign'
let param = {
signId: vm.signId,
auth_code: vm.authCode
};
vm.hlsPopup.showLoading("请稍等");
auth_code: vm.authCode,
}
vm.hlsPopup.showLoading('请稍等')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading();
if (res.respCode == "0000") {
vm.hlsPopup.hideLoading()
if (res.respCode == '0000') {
vm.hlsPopup.showSuccess(res.respMsg)
} else {
vm.hlsPopup.showLongCenter(res.respMsg)
}
});
})
}
},
// 键盘消失,页面回到顶部
goTop() {
goTop () {
setTimeout(function () {
var scrollHeight =
document.documentElement.scrollTop || document.body.scrollTop || 0;
console.log(scrollHeight);
window.scrollTo(0, Math.max(scrollHeight, 0));
}, 100);
document.documentElement.scrollTop || document.body.scrollTop || 0
console.log(scrollHeight)
window.scrollTo(0, Math.max(scrollHeight, 0))
}, 100)
},
// 获取验证码
getSignCode() {
getSignCode () {
let vm = this
if (!vm.bankCardNumber) {
vm.hlsPopup.showLongCenter('请输入银行卡号!')
......@@ -379,23 +340,23 @@
}
},
// 前端生成验证码发送请求到后端进行判断
getVerifiedCode() {
getVerifiedCode () {
let vm = this
let url = process.env.rootPath + '/china/pay/send/sign/message'
let param = {
card_no: vm.bankCardNumber,
acc_name: vm.bankAccName,
cert_no: vm.certNo,
mobile_no: vm.phoneNumber
mobile_no: vm.phoneNumber,
}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.signId = "";
vm.signStatus = 0;
vm.signId = ''
vm.signStatus = 0
vm.hlsPopup.hideLoading()
if (res.respCode === '0000') {
vm.signId = res.signId;
vm.signStatus = 1;
vm.signId = res.signId
vm.signStatus = 1
vm.hlsPopup.showSuccess('验证码已发送')
vm.showTimer = true
vm.text = '秒后失效'
......@@ -417,19 +378,12 @@
})
},
},
created() {
this.wxConfig();
// wx.hideOptionMenu();
// var data = this.$route.params.userInfo;
//this.getUserInfo();
}
};
}
</script>
<style lang="less" type="text/less" scoped>
@import "../../../styles/vue-1px.less";
@import "../../../styles/vue-1px.less";
.personalRegister {
.personalRegister {
font-size: 12px !important;
.personalInfo {
width: 100%;
......@@ -448,23 +402,23 @@
height: 100%;
position: absolute;
}
}
}
// iPhoneX适配
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
// iPhoneX适配
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#home {
}
}
}
}
// iPhoneX Max适配
@media (device-width: 414px) and (device-height: 896px) {
// iPhoneX Max适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
.platform-ios {
#home {
}
}
}
}
}
</style>
<template>
<h-view class="public-style personalRegister" title="银联电子签约">
<h-content>
<list-item class="personalInf" style="padding:20px;height:100%">
<div style="height:40px;border-bottom:1px solid #d0d0d0">
<div class="personalInf-text" style=" width: 150px;line-height: 30px;text-align: center;
border-radius: 5px;
background-color: #ddd;font-size:16px;font-weight:700;color:#11111187">签约信息
</div>
</div>
<item style="border-bottom:1px solid #d0d0d0;font-size:14px">
<section slot="name" style="font-size:14px">
<img src="../../../assets/userRegister/bankIcon@2x.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;">银行卡号:
</section>
<input slot="content" v-model="bankCardNumber" style="text-align: left;font-size:14px" placeholder="请输入银行卡号">
</item>
<item style="border-bottom:1px solid #d0d0d0">
<section slot="name" style="font-size:14px">
<img src="../../../assets/userRegister/people-name.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;">账户名称:
</section>
<input slot="content" v-model="bankAccName" style="text-align: left;font-size:14px" placeholder="请输入账户名称">
</item>
<item style="border-bottom:1px solid #d0d0d0">
<section slot="name" style="font-size:14px">
<img src="../../../assets/userRegister/idCard.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;">证件号码:
</section>
<input slot="content" v-model="certNo" style="text-align: left;font-size:14px" placeholder="请输入证件号码"
@blur="goTop()">
</item>
<item style="border-bottom:1px solid #d0d0d0">
<section slot="name" style="font-size:14px">
<img src="../../../assets/userRegister/phone.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;">预留手机:
</section>
<input slot="content" v-model="phoneNumber" style="text-align: left;font-size:14px" placeholder="请输入电话号码"
@blur="goTop()">
</item>
<item style="border-bottom:1px solid #d0d0d0">
<section slot="name" style="font-size:14px">
<img src="../../../assets/userRegister/indentifyCode.png"
style="float:left;width:20px;height:20px;margin: 2px 5px 0 0;">验证码:
</section>
<input slot="content" v-model="authCode" style="text-align: left;font-size:14px;margin-left: 0.13rem"
placeholder="请输入验证码" @blur="goTop()">
<div>
<button v-if="!showTimer"
style="width:1.7rem;height:30px;border-radius:15px;background-color:#09bb07;color:#FFFFFF;margin:8px 0 0 -60px;position:relative;left:30%"
@click="getSignCode()">
<div style="font-size: 11px">获取验证码</div>
</button>
<button v-if="showTimer"
style="width:1.7rem;height:30px;border-radius:15px;background-color:#888c8f;color:#FFFFFF;margin:8px 0 0 -60px;position:relative;left:30%">
<div style="font-size: 11px">{{ timerCount }}{{ text }}</div>
</button>
</div>
</item>
<div>
<div style="width:50%;float: left;">
<div style="margin: 40px 0 0 14px;color:#333333;font-size:14px">
<div>请上传银行卡照片</div>
</div>
<div style="height:100px;margin-top:30px">
<div
style="border:1px solid #b2b2b2;width:70%;height:100%;margin:0 auto;border-radius:5px;position:relative;">
<img :src="cardUp" alt class="pic" @click="addCardImage(0)">
</div>
</div>
<p style="margin-top:10px;text-align:center;font-size:14px">
银行卡正面
</p>
</div>
<div style="width:50%;float: left;">
<div style="margin: 40px 0 0 14px;color:#333333;font-size:14px">
<p>请上传身份证照片</p>
</div>
<div style="height:100px;margin-top:30px">
<div
style="border:1px solid #b2b2b2;width:70%;height:100%;margin:0 auto;border-radius:5px;position:relative;">
<img :src="cardUp1" alt class="pic" @click="addCardImage(1)">
</div>
</div>
<p style="margin-top:10px;text-align:center;font-size:14px">
身份证正面
</p>
</div>
</div>
<button
style="width:120px;height:30px;border-radius:15px;background-color:#09bb07;color:#FFFFFF;margin:70px 0 0 -60px;position:relative;left:50%;"
@click="next_step()">签约
</button>
<p />
</list-item>
</h-content>
</h-view>
</template>
<script>
import { getUrlParam } from '@/scripts/utils'
export default {
components: {},
data () {
return {
cardUp: require('../../../assets/userRegister/camear.png'), // 身份证正面url
bankCardNumber: '',
bankAccName: '',
certNo: '',
phoneNumber: '',
authCode: '',
phoneNumberFlag: false,
showTimer: false,
timerCount: 60,
timer: 60000,
captchaKey: '',
signId: '',
signStatus: 0,
text: '秒后失效',
cardUp1: require('../../../assets/userRegister/camear.png'), // 身份证正面url
preview_url: '', // 图片预览地址
attchmentId: '', // 附件预览id
attchmentId1: '', // 附件预览id
}
},
activated: function () {
// this.getUserInfo();
},
updated: function () {
},
created () {
this.wxConfig()
// wx.hideOptionMenu();
// var data = this.$route.params.userInfo;
// this.getUserInfo();
},
methods: {
// 调用微信接口的基础配置
wxConfig () {
let clientUrl = ''
let u = navigator.userAgent
let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1 // g
let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios终端
if (isAndroid) {
// 这个是安卓操作系统
console.log('机型:android')
clientUrl = location.href
}
if (isIOS) {
// 这个是ios操作系统
console.log('机型:ios')
clientUrl = location.href.split('#')[0]
}
// let clientUrl = encodeURIComponent(location.href)
// let url = $config.rootPath + '/js/sdk/getWxConfig?wxCode=' + $config.wxCode + '&clientUrl=' + clientUrl
let url = process.env.basePathRl + 'getSignature'
let param = {
apiKey: 'handexinxi',
url: clientUrl,
}
hlsHttp.post(url, param).then(function (res) {
wx.config({
beta: true,
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: res.result.appId, // 必填,公众号的唯一标识
timestamp: res.result.timestamp, // 必填,生成签名的时间戳
nonceStr: res.result.nonceStr, // 必填,生成签名的随机串
signature: res.result.signature, // 必填,签名,见附录1
jsApiList: [
'chooseImage',
'previewImage',
'downloadImage',
'getLocalImgData',
'uploadImage',
'hideOptionMenu',
], // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
})
wx.ready(function () {
wx.hideOptionMenu()
})
})
},
addCardImage: function (cardType) {
let self = this
// if(!self.cardUp){
wx.chooseImage({
count: 1, // 张数, 默认9
sizeType: ['compressed'], // 建议压缩图
sourceType: ['album', 'camera'], // 来源是相册、相机
success: function (res) {
if (cardType == 0) {
self.cardUp = res.localIds[0]
} else {
self.cardUp1 = res.localIds[0]
}
self.uploadToWeixinServer(res.localIds[0], cardType)
},
})
// }else{
// if(self.attchmentId){
// this.previewImage();
// }
// }
},
// 预览图片
previewImage () {
hlsPopup.showBigPicture({
imgUrl: vm.cardUp,
imgUrl1: vm.cardUp1,
})
},
uploadToWeixinServer (localId, cardType) {
let self = this
wx.uploadImage({
localId: localId,
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
// res.serverId 返回图片的微信服务器端ID
console.log('上传图片后返回的信息', res)
self.serverId = res.serverId
self.uploadToserver(res.serverId, cardType)
},
})
},
uploadToserver (serverId, cardType) {
let vm = this
let url = process.env.rootPath + '/auth/upload/image/hls/from/wx'
let sourceType = ''
if (cardType == 0) {
sourceType = 'app_file_id_bank'
} else {
sourceType = 'app_file_id_card'
}
let param = {
openId: window.localStorage.openId,
mediaId: serverId,
sourceType: sourceType,
fileName: new Date().getTime() + '.jpg',
}
vm.hlsPopup.showLoading('请稍等')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
vm.attchmentId = res['attchmentId']
if (cardType == 0) {
vm.bankCardNumber = res['bank_card_number']
vm.cardUp =
process.env.rootPath +
'/app/fileViewSvc?attachment_id=' +
vm.attchmentId +
'&apiName=download&sysName=HCL_UPLOAD_FILE&access_token=' +
window.localStorage.access_token_rl
} else {
vm.bankAccName = res['姓名']
vm.certNo = res['公民身份号码']
vm.cardUp1 =
process.env.rootPath +
'/app/fileViewSvc?attachment_id=' +
vm.attchmentId +
'&apiName=download&sysName=HCL_UPLOAD_FILE&access_token=' +
window.localStorage.access_token_rl
}
})
},
// 下一步
next_step () {
let vm = this
if (
!vm.bankCardNumber ||
!vm.bankAccName ||
!vm.phoneNumber ||
!vm.certNo ||
!vm.authCode
) {
vm.hlsPopup.showLongCenter('必输字端不能为空!')
} else if (vm.hlsUtil.isCardID(vm.certNo)) {
vm.hlsPopup.showLongCenter('身份证号有误')
} else if (!vm.hlsUtil.phoneNumber(vm.phoneNumber)) {
vm.hlsPopup.showLongCenter('手机号码有误!')
} else {
// alert("验证通过");
let url = process.env.rootPath + '/china/pay/send/sign'
let param = {
signId: vm.signId,
auth_code: vm.authCode,
}
vm.hlsPopup.showLoading('请稍等')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.respCode == '0000') {
vm.hlsPopup.showSuccess(res.respMsg)
} else {
vm.hlsPopup.showLongCenter(res.respMsg)
}
})
}
},
// 键盘消失,页面回到顶部
goTop () {
setTimeout(function () {
var scrollHeight =
document.documentElement.scrollTop || document.body.scrollTop || 0
console.log(scrollHeight)
window.scrollTo(0, Math.max(scrollHeight, 0))
}, 100)
},
// 获取验证码
getSignCode () {
let vm = this
if (!vm.bankCardNumber) {
vm.hlsPopup.showLongCenter('请输入银行卡号!')
return
}
if (!vm.bankAccName) {
vm.hlsPopup.showLongCenter('请输入账户名称!')
return
}
if (!vm.certNo) {
vm.hlsPopup.showLongCenter('请输入证件号码!')
return
}
if (!vm.phoneNumber) {
vm.hlsPopup.showLongCenter('请输入手机号!')
return
}
if (!vm.showTimer) {
if (
hlsUtil.phoneNumber(vm.phoneNumber) ||
hlsUtil.phoneNumber86(vm.phoneNumber)
) {
vm.phoneNumberFlag = true
vm.getVerifiedCode()
} else {
hlsPopup.showLongCenter('手机号不存在,请重新输入!')
vm.phoneNumber = ''
}
}
},
// 前端生成验证码发送请求到后端进行判断
getVerifiedCode () {
let vm = this
let url = process.env.rootPath + '/china/pay/send/sign/message'
let param = {
card_no: vm.bankCardNumber,
acc_name: vm.bankAccName,
cert_no: vm.certNo,
mobile_no: vm.phoneNumber,
}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.signId = ''
vm.signStatus = 0
vm.hlsPopup.hideLoading()
if (res.respCode === '0000') {
vm.signId = res.signId
vm.signStatus = 1
vm.hlsPopup.showSuccess('验证码已发送')
vm.showTimer = true
vm.text = '秒后失效'
let counter = setInterval(function () {
if (vm.timerCount > 0) {
vm.timerCount = vm.timerCount - 1
}
}, 1000)
setTimeout(function () {
vm.text = '获取验证码'
vm.showTimer = false
clearInterval(counter)
vm.showTimer = false
vm.timerCount = vm.timer / 1000
}, vm.timer)
} else {
vm.hlsPopup.showLongCenter('验证码发送失败!' + res.respMsg)
}
})
},
},
}
</script>
<style lang="less" type="text/less" scoped>
@import "../../../styles/vue-1px.less";
.personalRegister {
font-size: 12px !important;
.personalInfo {
width: 100%;
height: 100% !important;
}
.uppic {
height: 100%;
width: 100%;
margin: 0 auto;
opacity: 0;
z-index: 1000;
position: absolute;
}
.pic {
width: 100%;
height: 100%;
position: absolute;
}
}
// iPhoneX适配
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#home {
}
}
}
// iPhoneX Max适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
.platform-ios {
#home {
}
}
}
}
</style>
......@@ -301,7 +301,20 @@ export default {
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
}
},
{
'functionId': 66,
'functionCode': '500',
'functionName': '招行聚合支付',
'functionIcon': require('@/assets/home-manager/cmbpay_logo.png'),
'functionState': 'cmbPolyPay',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
],
},
/* {
......
......@@ -22,16 +22,9 @@
<div class="middle-box">
<header>常用应用</header>
<div class="function">
<function-item
v-for="item in functionList"
:key="item.functionId"
:functionIcon="item.functionIcon"
:functionName="item.functionName"
style="width:33.3%"
:data="item"
class="function-item vue-1px"
@clickFunction="goFunctionHome"
/>
<function-item v-for="item in functionList" :key="item.functionId" :functionIcon="item.functionIcon"
:functionName="item.functionName" :data="item" style="width:33.3%" class="function-item vue-1px"
@clickFunction="goFunctionHome" />
<!-- <div class="function-item" @click="goAllFunction">
<img src="../assets/image/home/functionMore@2x.png">
</div>-->
......@@ -62,11 +55,11 @@
</template>
<script>
import functionState from "./functionState";
import {getUrlParam} from "@/scripts/utils";
import functionState from './functionState'
import { getUrlParam } from '@/scripts/utils'
export default {
data() {
export default {
data () {
return {
imgList: [],
recommendList: [],
......@@ -76,9 +69,9 @@
area: {},
box1: {},
box2: {},
searchInput: "",
subscribe: false
};
searchInput: '',
subscribe: false,
}
},
beforeCreate: function () {
},
......@@ -87,51 +80,50 @@
// window.localStorage.setItem('user_id', 2009)
// this.imgList = [...functionState.bannerList]
// this.recommendList = [...functionState.recommendList]
this.moduleSeparateList = [...functionState.moduleSeparateList];
this.moduleSeparateList = [...functionState.moduleSeparateList]
this.moduleSeparateList.forEach(item => {
this.functionList = this.functionList.concat(item.functions);
});
this.functionList = this.functionList.concat(item.functions)
})
this.getToken().then(res => {
this.wxConfig();
this.wxConfig()
// if (window.localStorage.openId) {
// this.getWxUserInfo(window.localStorage.openId);
// }
// this.noticeQuery()
// 注意,此处用户个人信息是写死的user_id 后续项目实施中根据以下代码实时获取企业通讯录个人信息
var code = getUrlParam("code");
var code = getUrlParam('code')
// code = "111";
if (code) {
this.getOpenId(code);
this.getOpenId(code)
}
this.subscribe = window.localStorage.subscribe;
});
this.subscribe = window.localStorage.subscribe
})
},
updated: function () {
},
methods: {
// 调用微信接口的基础配置
wxConfig() {
let clientUrl = "";
let u = navigator.userAgent;
let isAndroid = u.indexOf("Android") > -1 || u.indexOf("Linux") > -1; //g
let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
wxConfig () {
let clientUrl = ''
let u = navigator.userAgent
let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1 // g
let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios终端
if (isAndroid) {
//这个是安卓操作系统
console.log("机型:android");
clientUrl = location.href;
// 这个是安卓操作系统
console.log('机型:android')
clientUrl = location.href
}
if (isIOS) {
//这个是ios操作系统
console.log("机型:ios");
clientUrl = location.href.split("#")[0];
// 这个是ios操作系统
console.log('机型:ios')
clientUrl = location.href.split('#')[0]
}
// let url = $config.rootPath + '/js/sdk/getWxConfig?wxCode=' + $config.wxCode + '&clientUrl=' + clientUrl
let url = process.env.basePathRl + "getSignature";
let url = process.env.basePathRl + 'getSignature'
let param = {
apiKey: "handexinxi",
url: clientUrl
};
apiKey: 'handexinxi',
url: clientUrl,
}
hlsHttp.post(url, param).then(function (res) {
wx.config({
beta: true,
......@@ -141,18 +133,18 @@
nonceStr: res.result.nonceStr, // 必填,生成签名的随机串
signature: res.result.signature, // 必填,签名,见附录1
jsApiList: [
"chooseImage",
"previewImage",
"downloadImage",
"getLocalImgData",
"uploadImage",
"hideOptionMenu"
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
'chooseImage',
'previewImage',
'downloadImage',
'getLocalImgData',
'uploadImage',
'hideOptionMenu',
], // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
})
wx.ready(function () {
wx.hideOptionMenu();
});
});
wx.hideOptionMenu()
})
})
},
// search () {
// let vm = this
......@@ -182,15 +174,15 @@
// },
// })
// },
getToken() {
let vm = this;
let url = process.env.loginPathRl + "admin";
let param = {};
getToken () {
let vm = this
let url = process.env.loginPathRl + 'admin'
let param = {}
return vm.hlsHttp.post(url, param).then(function (res) {
window.localStorage.setItem("access_token_rl", res.access_token);
});
window.localStorage.setItem('access_token_rl', res.access_token)
})
},
goFunctionHome(data) {
goFunctionHome (data) {
// if (this.subscribe) {
// this.$router.push({
// name: data.functionState
......@@ -204,76 +196,76 @@
// }
if (!this.subscribe) {
hlsPopup.showPopup({
title: "提示",
content: "未关注公众号,请先关注后再进入!",
title: '提示',
content: '未关注公众号,请先关注后再进入!',
onConfirm: function () {
}
},
})
} else {
"Y" == window.localStorage.authFlag || "UserRegister" == data.functionState|| "ChinaUnionPay" == data.functionState ? this.$router.push({name: data.functionState}) : hlsPopup.showPopup({
title: "提示",
content: "当前用户未完成注册,请先注册!",
window.localStorage.authFlag == 'Y' || data.functionState == 'UserRegister' || data.functionState == 'ChinaUnionPay' /* || data.functionState == 'CmbPolyPay' */ ? this.$router.push({ name: data.functionState }) : hlsPopup.showPopup({
title: '提示',
content: '当前用户未完成注册,请先注册!',
onConfirm: function () {
}
},
})
}
},
// moreRecommend () {
// console.log('go moreRecommend')
// },
getOpenId(code) {
let vm = this;
let url = process.env.basePathRl + "getOpenId";
getOpenId (code) {
let vm = this
let url = process.env.basePathRl + 'getOpenId'
let param = {
apiKey: "handexinxi",
code: code
};
apiKey: 'handexinxi',
code: code,
}
// window.localStorage.openId = "oBdoRwP0WSbegPOoe9WTEMPkKsWQ";
// vm.getWxUserInfo(window.localStorage.openId);
vm.hlsHttp.post(url, param).then(function (res) {
if (res.resultCode == "00") {
window.localStorage.openId = res.result;
if (res.resultCode == '00') {
window.localStorage.openId = res.result
if (window.localStorage.openId) {
vm.getWxUserInfo(window.localStorage.openId);
vm.getWxUserInfo(window.localStorage.openId)
vm.getUserInfo(window.localStorage.openId)
}
}
});
})
},
getWxUserInfo(id) {
let vm = this;
let url = process.env.basePathRl + "getWxUserInfo";
getWxUserInfo (id) {
let vm = this
let url = process.env.basePathRl + 'getWxUserInfo'
let params = {
apiKey: "handexinxi",
openid: id
apiKey: 'handexinxi',
openid: id,
// openid: "oBdoRwI9gj9Brbe9iqlDCg5G2dDc"
};
}
// window.localStorage.openId = "1234567"
vm.hlsHttp.post(url, params).then(function (res) {
if (res.resultCode == "00") {
vm.subscribe = window.localStorage.subscribe = res.result.subscribe;
if (res.resultCode == '00') {
vm.subscribe = window.localStorage.subscribe = res.result.subscribe
// console.log("vvvv", res.result.subscribe);
}
});
})
},
getUserInfo: function (openId) {
let vm = this,
url = process.env.rootPath + "/sign/info/hclc/query/by/openid?openId=" + openId;
url = process.env.rootPath + '/sign/info/hclc/query/by/openid?openId=' + openId
vm.$post(url).then(function (res) {
if (res.rows.length > 0) {
var results = res.rows[0];
vm.authFlag = window.localStorage.authFlag = results.authFlag;
var results = res.rows[0]
vm.authFlag = window.localStorage.authFlag = results.authFlag
}
})
}
}
};
},
},
}
</script>
<style lang="less" scoped type="text/less">
@import "../styles/vue-1px";
@import "../styles/vue-1px";
#home {
#home {
.top-box {
// height: 264px;
width: 100%;
......@@ -500,5 +492,5 @@
}
}
}
}
}
</style>
......@@ -5,7 +5,6 @@ import ModuleFunction from '@/pages/homeManager/module-function'
// test工具类
import HlsPopup from '@/pages/hlsPopup'
// 合同
import ContractMaintenList from '@/pages/applications/contractMainten/contract-mainten-list'
import ContractMainten from '@/pages/applications/contractMainten/contract-mainten'
......@@ -13,7 +12,6 @@ import ContractSignList from '@/pages/applications/contractSign/contract-sign-li
import ContractSign from '@/pages/applications/contractSign/contract-sign'
import EsignPicture from '@/pages/applications/contractSign/esignPicture'
// 电子签章
import Esign from '@/pages/applications/esign/Esign'
import BankVerified from '@/pages/applications/esign/BankVerified'
......@@ -26,15 +24,13 @@ import UserRegister from '@/pages/applications/userRegisters/userRegister'
// 企业注册
import CompanyRegister from '@/pages/applications/userRegisters/companyRegister'
import ReadonlyCompanyReg from '@/pages/applications/userRegisters/readonlyCompanyReg'
//授权经办人
// 授权经办人
import AuthorizedAgent from '@/pages/applications/userRegisters/authorizedAgent'
// 个人注册
import PersonalRegister from '@/pages/applications/userRegisters/personalRegister'
import ReadonlyPersonalReg from '@/pages/applications/userRegisters/readonlyPersonalReg'
Vue.use(Router)
// 电子签约
import ElectronicContract from '@/pages/applications/electronicContract/electronicContract'
import ElectronicContractList from '@/pages/applications/electronicContract/electronicContractList'
......@@ -44,10 +40,14 @@ import ContractDownloadList from '@/pages/applications/contractDownload/contract
// 图片上传微信服务器
import UploadImg from '@/pages/applications/userRegisters/uploadImg'
import UploadImage from '@/pages/applications/userRegisters/uploadImage'
//银联电子签约
// 银联电子签约
import ChinaUnionPay from '@/pages/applications/chinaUnionPay/chinaUnionPay'
// 银联电子签约
import CmbPolyPay from '@/pages/applications/cmbPolyPay/cmbPolyPay'
Vue.use(Router)
// 全局跳转路由方法
Router.prototype.pushPage = function(param, bool) {
Router.prototype.pushPage = function (param, bool) {
debugger
let key = true
if (bool === undefined) {
......@@ -107,15 +107,15 @@ export default new Router({
component: UserRegister,
name: 'UserRegister',
meta: {
keepAlive: false
}
keepAlive: false,
},
},
{
path: '/UserRegister/PersonalRegister',
component: PersonalRegister,
name: 'PersonalRegister',
meta: {
keepAlive: false
keepAlive: false,
},
},
{
......@@ -123,7 +123,7 @@ export default new Router({
component: ReadonlyPersonalReg,
name: 'ReadonlyPersonalReg',
meta: {
keepAlive: true
keepAlive: true,
},
},
......@@ -132,7 +132,7 @@ export default new Router({
component: CompanyRegister,
name: 'CompanyRegister',
meta: {
keepAlive: false
keepAlive: false,
},
},
{
......@@ -140,7 +140,7 @@ export default new Router({
component: ReadonlyCompanyReg,
name: 'ReadonlyCompanyReg',
meta: {
keepAlive: true
keepAlive: true,
},
},
// 微信上传图片
......@@ -149,7 +149,7 @@ export default new Router({
component: UploadImg,
name: 'UploadImg',
meta: {
keepAlive: true
keepAlive: true,
},
},
......@@ -158,7 +158,7 @@ export default new Router({
component: UploadImage,
name: 'UploadImage',
meta: {
keepAlive: true
keepAlive: true,
},
},
// 电子签约
......@@ -168,7 +168,7 @@ export default new Router({
component: ElectronicContract,
name: 'ElectronicContract',
meta: {
keepAlive: false
keepAlive: false,
},
},
{
......@@ -176,7 +176,7 @@ export default new Router({
component: ElectronicContractList,
name: 'ElectronicContractList',
meta: {
keepAlive: true
keepAlive: true,
},
},
// 电子合同下载
......@@ -185,7 +185,7 @@ export default new Router({
component: ContractDownload,
name: 'ContractDownload',
meta: {
keepAlive: false
keepAlive: false,
},
},
// 电子合同下载
......@@ -194,7 +194,7 @@ export default new Router({
component: ContractDownloadList,
name: 'ContractDownloadList',
meta: {
keepAlive: false
keepAlive: false,
},
},
// 授权经办人
......@@ -203,7 +203,7 @@ export default new Router({
component: AuthorizedAgent,
name: 'AuthorizedAgent',
meta: {
keepAlive: false
keepAlive: false,
},
},
// 银联电子签约
......@@ -212,15 +212,20 @@ export default new Router({
component: ChinaUnionPay,
name: 'ChinaUnionPay',
meta: {
keepAlive: false
keepAlive: false,
},
},
// 招行聚合支付
{
path: '/CmbPolyPay',
component: CmbPolyPay,
name: 'CmbPolyPay',
meta: {
keepAlive: false,
},
},
],
scrollBehavior(to, from, savedPosition) {
scrollBehavior (to, from, savedPosition) {
if (to.hash) {
return {
selector: to.hash,
......
File added
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment