You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

432 lines
12 KiB

5 years ago
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title>身份认证</title>
<!--REM自适应布局JS-->
<link rel="stylesheet" type="text/css" href="../../../lib/css/mui.min.css">
<link rel="stylesheet" type="text/css" href="../../../lib/css/basic.css"/>
<link rel="stylesheet" type="text/css" href="../../css/base.css" />
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<script src="../../js/base/rem-layout.js"></script>
<script type="text/javascript" src="../../js/my/my_ajax.js"></script>
<script src="../../../lib/js/require2.1.11.js"></script>
</head>
<style>
.upload-box {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 0.8rem;
}
.upload-img {
overflow: hidden;
width: 4.5rem;
height: 3rem;
border-radius: 0.2rem;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.upload-img:before {
overflow: hidden;
display: block;
content: "";
position: absolute;
width: 3.8rem;
height: 2.5rem;
background-image: url(../../img/wallet/frame.png);
background-repeat: no-repeat;
background-size: 100% 100%;
top: .24rem;
left: .31rem;
}
.uimg {
width: 3.5rem;
border-radius: 0.1rem;
/*z-index: 999;*/
z-index: 2;
}
.upload-title {
color: #B6B6B6;
margin: 0.3rem 0;
}
.example-box {
color: #B6B6B6;
margin-bottom: 0.25rem;
}
.example-body {
margin: 0.3rem 0 0.4rem 0;
overflow: hidden;
}
.example-img-div {
float: left;
display: flex;
flex-direction: column;
align-items: flex-start;
margin: 0 0 0 0.1rem;
}
.example-img-bg {
overflow: hidden;
width: 1.4rem;
height: 1rem;
border-radius: 0.1rem;
display: flex;
align-items: center;
justify-content: center;
}
.bg-first {
margin: 0;
}
.example-img {
width: 1.2rem;
border-radius: 0.1rem;
}
.img2 {
opacity: 0.4;
}
.example-img-icon-div {
width: 100%;
text-align: center;
margin: 0.1rem 0 0 0;
}
.example-img-icon {
width: 0.25rem;
height: 0.25rem;
}
.example-explain-title {
margin: 0 0 0.3rem 0;
}
.example-explain div {
padding: 0.1rem 0 0.1rem 0;
}
.app-background-color{
background: #ebeff3 !important;
}
</style>
<body>
<div id="data-info">
<header class="mui-bar mui-bar-nav app-header app-header-darkly">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">{{langue.MyIdentityTitle}}</h1>
<a class=" mui-pull-right mui-icon-right-nav" style="font-size: .24rem; color: #333333;" v-if="userLocalStorage.lowAuth == 'F'" @click="rejection">驳回原因</a>
</header>
<div class="mui-content">
<div class="upload-box">
<div class="upload-title utitle1">{{langue.MyIdentityPortrait}}</div>
<div id="portrait" class="upload-img uimg1-div app-background-color">
<img class="uimg mui-hidden" src="" data-key="portrait_src" />
</div>
<div class="upload-title utitle2">{{langue.MyIdentityNationalEmblem}}</div>
<div id="national" class="upload-img uimg2-div app-background-color">
<img class="uimg mui-hidden" src="" data-key="national_src" />
</div>
<button id="next" class="app-btn app-btn-darkly">{{langue.NextBtn}}</button>
</div>
<div class="example-box">
<div class="example-title">{{langue.MyIdentityExampleTitle}}</div>
<div class="example-body">
<div class="example-img-div bg-first ">
<div class="example-img-bg app-background-color">
<img src="../../img/example.jpg" class="example-img" />
</div>
<div class="example-img-icon-div">
<img src="../../img/success.png" class="example-img-icon" /> {{langue.MyIdentityExampleText1}}
</div>
</div>
<div class="example-img-div">
<div class="example-img-bg app-background-color">
<img src="../../img/example.jpg" class="example-img img1" />
</div>
<div class="example-img-icon-div">
<img src="../../img/error.png" class="example-img-icon" /> {{langue.MyIdentityExampleText2}}
</div>
</div>
<div class="example-img-div">
<div class="example-img-bg app-background-color">
<img src="../../img/example.jpg" class="example-img img2" />
</div>
<div class="example-img-icon-div">
<img src="../../img/error.png" class="example-img-icon" /> {{langue.MyIdentityExampleText3}}
</div>
</div>
<div class="example-img-div">
<div class="example-img-bg app-background-color">
<img src="../../img/exposure.jpg" class="example-img img3" />
</div>
<div class="example-img-icon-div">
<img src="../../img/error.png" class="example-img-icon" /> {{langue.MyIdentityExampleText4}}
</div>
</div>
</div>
<div class="example-img-explain">
<div class="example-explain-title">{{langue.MyIdentityExplainTitle}}</div>
<div class="example-explain">
<div>{{langue.MyIdentityExplainText1}}</div>
<div>{{langue.MyIdentityExplainText2}}</div>
<div>{{langue.MyIdentityExplainText3}}</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
<script>
// 国际化
var langues = {
zh_CN: {
MyIdentityTitle: "身份认证",
MyIdentityPortrait: "请上传您的身份证人像面",
MyIdentityNationalEmblem: "请上传您的身份证国徽面",
MyIdentityExampleTitle: "拍摄实例",
MyIdentityExampleText1: "标准",
MyIdentityExampleText2: "边框缺失",
MyIdentityExampleText3: "照片模糊",
MyIdentityExampleText4: "闪光强烈",
MyIdentityExplainTitle: "上传要求",
MyIdentityExplainText1: "1.必须能看清身份证信息。",
MyIdentityExplainText2: "2.照片内容真实有效,不得做任何修改。",
MyIdentityExplainText3: "3.必须能看清证件号和姓名,支持 jpg/jpeg/png。",
MyIdentityAlertMsg: "请上传您的身份证照片!",
ActionSheetBtn1: "拍照",
ActionSheetBtn2: "从相册中选择",
PicturesFailedMsg: "拍照失败:",
AlertMsg: "提示",
NextBtn: "下一步"
},
zh_HK: {
MyIdentityTitle: "身份認證",
MyIdentityPortrait: "請上傳您的身份證人像面",
MyIdentityNationalEmblem: "請上傳您的身份證國徽面",
MyIdentityExampleTitle: "拍攝實例",
MyIdentityExampleText1: "標準",
MyIdentityExampleText2: "邊框缺失",
MyIdentityExampleText3: "照片模糊",
MyIdentityExampleText4: "閃光強烈",
MyIdentityExplainTitle: "上傳要求",
MyIdentityExplainText1: "1.必須能看清身份證信息。",
MyIdentityExplainText2: "2.照片內容真實有效,不得做任何修改。",
MyIdentityExplainText3: "3.必須能看清證件號和姓名,支持 jpg/jpeg/png。",
MyIdentityAlertMsg: "請上傳您的身份證照片!",
ActionSheetBtn1: "拍照",
ActionSheetBtn2: "從相冊中選擇",
PicturesFailedMsg: "拍照失敗:",
AlertMsg: "提示",
NextBtn: "下壹步"
},
en_US: {
MyIdentityTitle: "Authentication",
MyIdentityPortrait: "Upload the portrait face of your ID card",
MyIdentityNationalEmblem: "Upload the national emblem face of your ID card",
MyIdentityExampleTitle: "Shooting Examples",
MyIdentityExampleText1: "standard",
MyIdentityExampleText2: "missing border",
MyIdentityExampleText3: "blurred photo",
MyIdentityExampleText4: "intense flash",
MyIdentityExplainTitle: "Requests",
MyIdentityExplainText1: "1.The information of ID card is clear.",
MyIdentityExplainText2: "2.The content of photo is real and valid. Any modification is not allowed.",
MyIdentityExplainText3: "3.The card number and your name are clear. Supported format: jpg/jpeg/png.",
MyIdentityAlertMsg: "Please upload your id photo.",
ActionSheetBtn1: "Photograph",
ActionSheetBtn2: "Photo album selection",
PicturesFailedMsg: "Pictures failed",
AlertMsg: "Reminder",
NextBtn: "Next"
}
}
</script>
<script>
var v = new Vue({
el: "#data-info",
data: {
langue: langues[app.getLanguageLocalStorage()],
userLocalStorage:app.getUserLocalStorage(),
reject:''
},
methods:{
rejection:function(){
mui.alert(this.reject,'驳回原因:', function() {
});
}
}
})
var national_src = null; //国徽面src
var portrait_src = null; //人像面src
mui.plusReady(function() {
if(v.userLocalStorage.lowAuth == 'F'){
selectLowmaskStatus();
}
mui();
//点击下一页
document.getElementById("next").addEventListener("tap", function() {
//校验数据
if(null == national_src || null == portrait_src) {
mui.toast(v.langue.MyIdentityAlertMsg);
} else {
mui.openWindow({
id: 'mine/html/my/my_identity_next.html',
url: 'my_identity_next.html',
extras: {
national_src: national_src,
portrait_src: portrait_src
}
});
}
});
// document.getElementById("bohui").addEventListener("tap", function() {
//
//
// });
//点击选择身份证图片
mui(".upload-box").on("tap", ".upload-img", function() {
var imgDivId = this.id;
plus.nativeUI.actionSheet({
title: v.langue.ActionSheetIdentityTitle,
cancel: v.langue.ActionSheetCancel,
buttons: [{
title: v.langue.ActionSheetBtn1
},
{
title: v.langue.ActionSheetBtn2
}
]
}, function(b) { /*actionSheet 按钮点击事件*/
switch(b.index) {
case 0:
break;
case 1:
cameramImg(imgDivId + "_src"); /*拍照选择*/
break;
case 2:
galleryImg(imgDivId + "_src"); /*从相册中选择*/
break;
default:
break;
}
});
});
});
//从相册中选择图片
function galleryImg(imgKey) {
// 从相册中选择图片
plus.gallery.pick(function(path) {
cropImageFun(path, imgKey);
});
}
//从拍照获得图片
function cameramImg(imgKey) {
var cmr = plus.camera.getCamera();
cmr.captureImage(function(path) {
plus.io.resolveLocalFileSystemURL(path, function(sucss) {
var src = sucss.toLocalURL();
cropImageFun(src, imgKey);
}, function(err) {
mui.toast(v.langue.PicturesFailedMsg + err.message, v.langue.AlertMsg);
});
}, function(err) {
mui.toast(v.langue.PicturesFailedMsg + err.message, v.langue.AlertMsg);
}, {});
}
/**
*
* @param {Object} src 图片路径
*/
function cropImageFun(src, imgKey) {
console.log("imgKey: " + imgKey);
mui.openWindow({
id: "mine/html/crop-identity-image.html",
url: "crop-identity-image.html",
extras: {
imgSrc: src,
imgKey: imgKey
},
});
}
/**
* 替换图片
*/
function saveAuthImg(src, imgKey) {
mui(".upload-img").each(function() {
var imgObj = this.getElementsByTagName("img")[0];
if(imgKey == imgObj.getAttribute("data-key")) {
imgObj.src = app.walletFileUrl + src;
imgObj.classList.remove("mui-hidden");
if("national_src" == imgKey) {
national_src = src;
} else if("portrait_src" == imgKey) {
portrait_src = src;
}
return false;
}
})
}
/**
* 查询用户认证失败的情况
*/
function selectLowmaskStatus() {
var userid = {userId:v.userLocalStorage.id};
console.log(myAjaxJs.AJAX_LOWMASK_STATUS.getUrl);
mui.ajax(myAjaxJs.AJAX_LOWMASK_STATUS.getUrl, {
headers: {
"X-CSRF-TOKEN": localStorage.getItem("user_token")
},
async: false,
data:userid,
type: myAjaxJs.AJAX_LOWMASK_STATUS.getType, //HTTP请求类型
dataType: 'json', //服务器返回json格式数据
timeout: 5000,
success: function(data) {
if("200" == data.code) {
v.reject = data.data;
console.log(v.reject);
}
},
error: function(xhr, type, errorThrown) {
app.toast(langue.AjaxError);
}
})
}
// 国际化统一方法
window.addEventListener('switchLangueData', function(e) {
dataInfo.langue = langues[e.detail];
});
</script>