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.

229 lines
6.2 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/app.js"></script>
<script type="text/javascript" src="../../../lib/js/vue.js"></script>
<script src="../../js/base/rem-layout.js"></script>
<script src="../../../lib/js/mui.locker.js"></script>
<script type="text/javascript" src="../../js/my/my_ajax.js"></script>
<script src="../../../lib/js/require2.1.11.js"></script>
</head>
<style>
<style>html,
body {
width: 100%;
height: 100%;
margin: 0px;
padding: 0px;
overflow: hidden;
}
#holder {
width: 5.5rem !important;
height: 5.5rem !important;
margin: 0.5rem auto;
}
#info {
margin: 0.25rem 0;
}
#info * {
text-align: center;
line-height: 1em;
color: #666666;
padding: 0.2rem 0;
}
#info p:nth-child(1) {
font-size: 0.5rem;
}
#info p:nth-child(2) {}
</style>
</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>
</header>
<div class="mui-content">
<div id="info">
<p>{{dataBase.MySecurityCenterLockerTitle}}</p>
<p>{{alert}}</p>
</div>
<div id='holder' class="mui-locker " data-locker-options='{"ringColor ":"#303344 ","fillColor ":"#303344 ","pointColor ":"#606fef ","lineColor ":"#606fef "}' data-locker-width='300' data-locker-height='300' />
</div>
</div>
<script>
var v = new Vue({
el: '#info',
data: {
dataBase: {},
alert: ""
}
});
(function($, doc) {
$.init();
var user_info = app.getWalletUserLocalStorage();
var holder = doc.querySelector('#holder'),
isRight = true,
record = [];
if(user_info.isGesturePassword) {
v.alert = v.dataBase.MySecurityCenterLockerAlert6;
isRight = false;
} else {
v.alert = v.dataBase.MySecurityCenterLockerAlert7;
}
//处理事件
holder.addEventListener('done', function(event) {
var rs = event.detail;
if(isRight) {
if(rs.points.length < 4) {
v.alert = v.dataBase.MySecurityCenterLockerAlert2;
record = [];
rs.sender.clear();
return;
}
record.push(rs.points.join(''));
if(record.length >= 2) {
if(record[0] == record[1]) {
v.alert = v.dataBase.MySecurityCenterLockerAlert3;
saveGesturePassword(record[1]);
user_info.isGesturePassword = true;
app.setWalletUserLocalStorage(user_info);
} else {
v.alert = v.dataBase.MySecurityCenterLockerAlert4;
}
rs.sender.clear();
record = [];
} else if(record.length = 1) {
v.alert = v.dataBase.MySecurityCenterLockerAlert5;
rs.sender.clear();
}
} else {
if(user_info.isGesturePassword) {
isRight = checkGesturePassword(rs.points.join(''));
rs.sender.clear();
if(isRight) {
v.alert = v.dataBase.MySecurityCenterLockerAlert7;
rs.sender.clear();
} else {
v.alert = v.dataBase.MySecurityCenterLockerAlert8;
rs.sender.clear();
}
}
}
});
}(mui, document));
</script>
</body>
</html>
<script>
//修改手势密码
function saveGesturePassword(gesturePassword) {
plus.nativeUI.showWaiting(v.dataBase.ShowWaiting);
mui.ajax(myAjaxJs.AJAX_SAVE_GESTURE_PASSWORD.getUrl, {
headers: {
"X-Requested-Token": localStorage.getItem("user_token"),
},
data: {
gesturePassword: gesturePassword
},
dataType: 'json', //服务器返回json格式数据
type: myAjaxJs.AJAX_SAVE_GESTURE_PASSWORD.getType, //HTTP请求类型
timeout: 10000,
success: function(data) {
if(data.code == "200") {
var user = app.getWalletUserLocalStorage();
user.isGesturePassword = true;
app.setWalletUserLocalStorage(user);
plus.nativeUI.closeWaiting();
plus.webview.currentWebview().close();
mui.back();
mui.toast(v.dataBase.AlterSuccessMsg);
} else if(data.code == "201" || data.code == "202") { //未登录
plus.nativeUI.closeWaiting();
mui.openWindow({
id: "mine/html/wallet_login.html",
url: "../wallet_login.html"
});
} else {
plus.nativeUI.closeWaiting();
mui.toast(data.msg);
}
},
error: function(xhr, type, errorThrown) {
plus.nativeUI.closeWaiting();
// mui.alert(dataBase.AjaxError2, dataBase.AlertMsg);
}
});
}
//验证旧手势密码
function checkGesturePassword(gesturePassword) {
plus.nativeUI.showWaiting(v.dataBase.ShowWaiting);
var isRight = true;
mui.ajax(myAjaxJs.AJAX_CHECK_GESTURE_PASSWORD.getUrl, {
headers: {
"X-Requested-Token": localStorage.getItem("user_token"),
},
data: {
password: gesturePassword,
type: 2
},
async: false,
dataType: 'json', //服务器返回json格式数据
type: myAjaxJs.AJAX_CHECK_GESTURE_PASSWORD.getType, //HTTP请求类型
timeout: 10000,
success: function(data) {
if(data.code == "200") {
plus.nativeUI.closeWaiting();
isRight = true;
} else if(data.code == "201" || data.code == "202") { //未登录
plus.nativeUI.closeWaiting();
mui.openWindow({
id: "mine/html/wallet_login.html",
url: "../wallet_login.html"
});
isRight = false;
} else {
plus.nativeUI.closeWaiting();
mui.toast(data.msg);
isRight = false;
}
},
error: function(xhr, type, errorThrown) {
plus.nativeUI.closeWaiting();
// mui.alert(dataBase.AjaxError2, dataBase.AlertMsg);
isRight = false;
}
});
return isRight;
}
appLanguageFun();
/**
* 国际化方法
*/
function appLanguageFun() {
var type = app.getLanguageLocalStorage();
require(['../../js/language/' + type], function(dataBase) {
v.dataBase = dataBase;
v.alert = dataBase.MySecurityCenterLockerAlert1;
})
}
</script>