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.
260 lines
8.4 KiB
260 lines
8.4 KiB
<!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--> |
|
<script src="../../../js/base/rem-layout.js"></script> |
|
<link rel="stylesheet" type="text/css" href="../../../../lib/css/mui.min.css"> |
|
<link href="../../../../lib/css/basic.css" rel="stylesheet" /> |
|
<link rel="stylesheet" type="text/css" href="../../../css/base.css" /> |
|
<link rel="stylesheet" type="text/css" href="../../../css/dom-flex.css" /> |
|
<link rel="stylesheet" type="text/css" href="../../../css/user_pay_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="../../../../lib/js/jsencrypt.min.js"></script> |
|
<script src="../../../js/my/my_ajax.js"></script> |
|
<script src="../../../js/user/user_language.js"></script> |
|
<script src="../../../js/user/user_ajax.js"></script> |
|
<script src="../../../../html/wakuang/js/eth/ajax/eth.ajaxApi.js"></script> |
|
</head> |
|
|
|
<body> |
|
|
|
<div id="data-info"> |
|
<header class="mui-bar mui-bar-nav app-header"> |
|
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a> |
|
<h1 class="mui-title">{{dataBase.c2cSaveUserPayZFBTitle}}</h1> |
|
</header> |
|
<div class="mui-content" style="display: none;"> |
|
<div id="contents"> |
|
<div class="app-input-group app-input-group-darkly"> |
|
<div class="app-input-row-list"> |
|
<label>{{dataBase.c2cSaveUserPayZFBNickNameText}}:</label> |
|
<input class="app-input" type="text" :placeholder="dataBase.c2cSaveUserPayZFBNickNamePlaceholder" v-model="data.accountInfo" onkeyup="this.value = this.value.replace(/^ +| +$/g, '')"> |
|
</div> |
|
</div> |
|
<div id="pay-code-content"> |
|
<p id="pay-code-title">{{dataBase.c2cSaveUserPayZFBCodeText}}:</p> |
|
<div id="pay-code-img" class="dom-flex-column flex-cell-center"> |
|
<span class="mui-icon mui-icon-plusempty"></span> |
|
</div> |
|
</div> |
|
<button id="save" class="app-btn-darkly">{{dataBase.c2cBtnSaveText}}</button> |
|
</div> |
|
</div> |
|
<div id="backdrop" class="transfer-backdrop mui-backdrop mui-active"></div> |
|
<div id="footer-div-bottom" class="footer-div-bottom"> |
|
<div class="transfer-footer-header"> |
|
<a id="transfer-cancel" class="transfer-footer-left mui-icon mui-icon-closeempty mui-pull-left"></a> |
|
<h1 class="transfer-footer-title">确认</h1> |
|
</div> |
|
<div class="transfer-password-group transfer-input-group mui-input-group"> |
|
<div class="transfer-password-row transfer-input-row mui-input-row"> |
|
<label>请输入密码</label> |
|
<input value="" type="password" id="password" onkeyup="this.value = this.value.replace(/^ +| +$/g, '')"> |
|
</div> |
|
</div> |
|
<div class="transfer-next-group"> |
|
<input id="order_submit" type="button" value="确认"> |
|
</div> |
|
</div> |
|
</div> |
|
</body> |
|
|
|
</html> |
|
|
|
<script type="text/javascript"> |
|
setTimeout(function() { |
|
document.querySelector(".mui-content").style.display = "block"; |
|
}, 300) |
|
/** |
|
* 图片压缩 |
|
* |
|
* @param {Object} src 图片路径 |
|
*/ |
|
function resizeImage(imgSrc) { |
|
plus.zip.compressImage({ |
|
src: imgSrc, |
|
dst: '_doc/a' + new Date().getTime() + '.jpg', |
|
overwrite: true, |
|
width: '500px', //这里指定了宽度,同样可以修改 |
|
format: 'jpg', |
|
quality: 100 //图片质量不再修改,以免失真 |
|
}, |
|
function(e) { |
|
plus.nativeUI.closeWaiting(); |
|
//添加图片 |
|
addImg(imgSrc); |
|
uploadAppealFile(e.target.toString()); //上传图片, e.target存的是本地路径! |
|
}, |
|
function(err) { |
|
mui.alert(dataBase.c2cUploadError) |
|
} |
|
); |
|
} |
|
|
|
/** |
|
* 图片上传 |
|
* |
|
* @param {Object} imgSrc 图片路径 |
|
*/ |
|
function uploadAppealFile(imgSrc) { |
|
var loading = plus.nativeUI.showWaiting(dataBase.c2cNativeUIText); |
|
var task = plus.uploader.createUpload(ajaxJs.AJAX_SAVE_UPLOAD_USERPAYZFB.getUrl, { |
|
method: ajaxJs.AJAX_SAVE_UPLOAD_USERPAYZFB.getType |
|
}, |
|
function(t, status) { //上传完成 |
|
if(status == 200) { |
|
var path = JSON.parse(t.responseText); |
|
bodyData.data.collectionCodeUrl = path.data; |
|
loading.close(); |
|
} else { |
|
mui.alert("图片上传失败,请刷新重试!"); |
|
loading.close(); |
|
} |
|
} |
|
); |
|
//添加其他参数 |
|
task.addFile(imgSrc, { |
|
key: "userPayFile" |
|
}); |
|
task.start(); |
|
} |
|
//数据验证 |
|
function verifyData() { |
|
if(bodyData.data.accountInfo == "") { |
|
mui.alert(dataBase.c2cSaveUserPayWXMsgNickNameNullError); |
|
} else if(bodyData.data.collectionCodeUrl == "" || bodyData.data.collectionCodeUrl == null) { |
|
mui.alert(dataBase.c2cSaveUserPayWXMsgCodeNullError); |
|
} else if(bodyData.oldData == null || bodyData.data.accountInfo != bodyData.oldData.accountInfo || bodyData.data.collectionCodeUrl != bodyData.oldData.collectionCodeUrl) { |
|
return true; |
|
} else { |
|
mui.alert(dataBase.c2cSaveUserPayWXError); |
|
} |
|
return false; |
|
} |
|
|
|
/** |
|
* 对象克隆 |
|
* |
|
* @param {Object} obj |
|
*/ |
|
var cloneObj = function(obj) { |
|
var newObj = {}; |
|
if(obj instanceof Array) { |
|
newObj = []; |
|
} |
|
for(var key in obj) { |
|
var val = obj[key]; |
|
//newObj[key] = typeof val === 'object' ? arguments.callee(val) : val; //arguments.callee 在哪一个函数中运行,它就代表哪个函数, 一般用在匿名函数中。 |
|
newObj[key] = typeof val === 'object' ? cloneObj(val) : val; |
|
} |
|
return newObj; |
|
}; |
|
|
|
var bodyData = new Vue({ |
|
el: '#data-info', |
|
data: { |
|
dataBase: dataBase, // 页面文字渲染 |
|
data: { |
|
accountInfo: "", |
|
collectionCodeUrl: "" |
|
} |
|
} |
|
}) |
|
|
|
// 数据请求 |
|
ajaxJs.ajaxUtil({ |
|
obj: ajaxJs.AJAX_SELECT_USERLPAY, |
|
isNotMsg: true, |
|
data: { |
|
payType: 1 |
|
}, |
|
end: function(data) { |
|
bodyData.data = data.data; |
|
addImg(app.walletFileUrl + data.data.collectionCodeUrl); |
|
bodyData.oldData = cloneObj(data.data); |
|
} |
|
}) |
|
|
|
//显示图片 |
|
function addImg(imgSrc) { |
|
//初始化图片路径和格式 |
|
var image = document.createElement("img"); |
|
image.src = imgSrc; |
|
image.style.width = '100%'; |
|
//添加两个自定义属性,用作图片预览 |
|
image.setAttribute("data-preview-group", "1"); |
|
image.setAttribute("data-preview-src", ""); |
|
//将图片添加到框中 |
|
var pay_code_img = document.getElementById("pay-code-img"); |
|
pay_code_img.innerHTML = ""; |
|
pay_code_img.appendChild(image); |
|
//清除添加框的边框线 |
|
pay_code_img.style.border = '0'; |
|
} |
|
|
|
//点击图片框选择图片 |
|
document.getElementById("pay-code-img").addEventListener("tap", function() { |
|
plus.gallery.pick(function(path) { |
|
resizeImage(path); |
|
}); |
|
}); |
|
|
|
// 保存 |
|
document.getElementById("save").addEventListener("tap", function() { |
|
if(verifyData()) { |
|
if(verifyData()) { |
|
//弹出交易密码 |
|
document.getElementById("backdrop").style.display = "block"; |
|
document.getElementById("footer-div-bottom").style.display = "block"; |
|
document.activeElement.blur(); |
|
} |
|
} |
|
}); |
|
</script> |
|
<script type="text/javascript"> |
|
//交易密码,底部遮罩 |
|
document.getElementById("backdrop").addEventListener("tap", function() { |
|
document.getElementById("backdrop").style.display = "none"; |
|
document.getElementById("footer-div-bottom").style.display = "none"; |
|
}); |
|
document.getElementById("transfer-cancel").addEventListener("tap", function() { |
|
document.getElementById("backdrop").style.display = "none"; |
|
document.getElementById("footer-div-bottom").style.display = "none"; |
|
}); |
|
|
|
document.getElementById('order_submit').addEventListener('tap', function() { |
|
plus.nativeUI.showWaiting("等待中..."); |
|
var _pass = document.getElementById("password").value; |
|
if(_pass == "" || _pass == null) { |
|
mui.alert("密码不能为空!"); |
|
} else { |
|
ethCommonFun.getPublicKey(_pass, function(data) { // 获取公钥加密密码,生成秘钥 |
|
if(data.code == "200") { |
|
var ajaxObj = bodyData.oldData == null ? ajaxJs.AJAX_INSERT_USERPAYZFB : ajaxJs.AJAX_UPDATE_USERPAYZFB; |
|
bodyData.data.password = data.data; |
|
ajaxJs.ajaxUtil({ |
|
obj: ajaxObj, |
|
data: bodyData.data, |
|
end: function(data) { |
|
plus.nativeUI.closeWaiting(); |
|
//更新父窗口数据 |
|
var userPayView = plus.webview.getWebviewById("mine/html/user/pay/user_pay.html"); |
|
userPayView.evalJS("saveUserPayData();"); |
|
app.toast(dataBase.c2cMsgSuccess); |
|
mui.back(); |
|
} |
|
}) |
|
} else { |
|
mui.toast(data.msg); |
|
} |
|
plus.nativeUI.closeWaiting(); |
|
}) |
|
} |
|
}) |
|
</script> |