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.

358 lines
9.6 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" />
<link rel="stylesheet" type="text/css" href="../../../css/c2c/base/dom-flex.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/my/my_ajax.js"></script>
<script src="../../js/base/rem-layout.js"></script>
<script src="../../../lib/js/require2.1.11.js"></script>
</head>
<style>
.app-header {
padding-right: 0.25rem;
font-size: 0.3rem;
}
#user-info {
height: 2.2rem;
margin: 0 0 0.25rem 0;
display: flex;
flex-direction: row;
align-items: center;
flex-basis: 0;
flex-shrink: 0;
}
#user-info #user-img {
width: 1.2rem;
margin: 0 0.3rem;
margin-right: 0.4rem;
background: #25273f;
height: 1.2rem;
border-radius: 100%;
overflow: hidden;
font-size: 0.5rem;
text-align: center;
line-height: 1.2rem;
color: white;
}
#user-info #user-img img {
width: 100%;
}
#user-info .user-data {
flex-grow: 1;
display: flex;
flex-direction: column;
}
#user-info .user-data span {
font-size: 0.35rem;
line-height: 0.4rem;
margin-bottom: 0.1rem;
color: white;
}
#user-info .user-data a {
font-size: 0.2rem;
color: #525ECA;
}
#user-info .user-data p {
font-size: 0.22rem;
line-height: 0.22rem;
margin-bottom: 0.1rem;
}
#user-info .user-data p+p {
margin-bottom: 0;
}
#user-info {
border-radius: 0.2rem;
}
.app-cell-img {
text-align: center;
line-height: 1rem;
background: #25273f;
color: white;
font-size: 0.4rem;
}
.app-cell-img #loginNot {
padding: 0.15rem;
height: 100%;
width: auto;
}
#ul-group{
margin-top: .2rem;
}
</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.UserInfoListTitle}}</h1>
</header>
<div class="mui-content">
<div id="ul-group">
<ul class="mui-table-view app-table-view app-table-view-darkly">
<li id="head-img" class="mui-table-view-cell app-table-cell-img">
<a class="mui-navigate-right">
{{langue.UserInfoListHeadImg}}
</a>
<div class="app-cell-img" v-html="getUserImg">
{{getUserImg}}
</div>
</li>
</ul>
<ul class="mui-table-view app-table-view app-table-view-darkly">
<li class="mui-table-view-cell">
<a class="view-herf mui-navigate-right">
<!--view-id="mine/html/user/save_user_name.html" view-url="save_user_name.html">-->
{{langue.UserInfoListAccount}}
<label class="app-table-cell-lable-right">{{userLocalStorage.mobilePhone}}</label>
</a>
</li>
<li class="mui-table-view-cell">
<a class="view-herf mui-navigate-right" view-id="mine/html/user/save_nick_name.html" view-url="save_nick_name.html">
{{langue.UserInfoListNickName}}
<label class="app-table-cell-lable-right">{{userLocalStorage.nickName}}</label>
</a>
</li>
<!--<li class="mui-table-view-cell">
<a v-if="userLocalStorage.hasPassword" class="view-herf mui-navigate-right" view-id="mine/html/user/save_login_password.html" view-url="save_login_password.html">
登录密码
</a>
<a v-else class="view-herf mui-navigate-right" view-id="mine/html/user/creator_login_password.html" view-url="creator_login_password.html">
登录密码
<label class="app-table-cell-lable-right">未设置</label>
</a>
</li>-->
</ul>
</div>
</div>
</div>
</body>
</html>
<script>
// 国际化
var langues = {
zh_CN: {
UserInfoListTitle: "账户信息",
UserInfoListHeadImg: "头像",
UserInfoListAccount: "账号",
UserInfoListNickName: "昵称",
ActionSheetTitle: "修改用户头像",
ActionSheetIdentityTitle: "选择身份证图片",
ActionSheetCancel: "取消",
ActionSheetBtn1: "拍照",
ActionSheetBtn2: "从相册中选择",
PicturesFailedMsg: "拍照失败:"
},
zh_HK: {
UserInfoListTitle: "賬戶信息",
UserInfoListHeadImg: "頭像",
UserInfoListAccount: "賬號",
UserInfoListNickName: "暱稱",
ActionSheetTitle: "修改用戶頭像",
ActionSheetIdentityTitle: "選擇身份證圖片",
ActionSheetCancel: "取消",
ActionSheetBtn1: "拍照",
ActionSheetBtn2: "從相冊中選擇",
PicturesFailedMsg: "拍照失敗:"
},
en_US: {
UserInfoListTitle: "Account",
UserInfoListHeadImg: "Avatar",
UserInfoListAccount: "Number",
UserInfoListNickName: "Nickname",
ActionSheetTitle: "Modify User avatar",
ActionSheetIdentityTitle: "Select ID Card Image",
ActionSheetCancel: "Cancel",
ActionSheetBtn1: "Photographing",
ActionSheetBtn2: "Select from album",
PicturesFailedMsg: "Photo failure:"
}
}
</script>
<script>
var dataInfo = new Vue({
el: '#data-info',
data: {
langue: langues[app.getLanguageLocalStorage()],
userLocalStorage: app.getUserLocalStorage()
},
computed: {
getUserImg: function() {
console.log(JSON.stringify(this.userLocalStorage));
if(JSON.stringify(this.userLocalStorage) != '{}') { //已经登录的处理
if(this.userLocalStorage.avatar == null || this.userLocalStorage.avatar == "null" || this.userLocalStorage.avatar.trim() == "") {
return '<img src="../../img/wallet/notLogin.png" />';
} else {
try {
return '<img src="' + app.walletFileUrl + this.userLocalStorage.avatar + '" />';
} catch(e) {
return '<img src="../../img/wallet/notLogin.png" />';
}
}
} else {
return "";
}
},
getMobilePhone: function() {
// return this.userLocalStorage.username.slice(0, 3) + "***" + this.userLocalStorage.username.substr(this.userLocalStorage.username.length - 4);
}
}
})
//获取缓存数据更新vue绑定对象
function saveUserInfoData() {
dataInfo.userLocalStorage = app.getUserLocalStorage();
}
mui.plusReady(function() {
// 列表项跳转
mui(".mui-table-view").on('tap', '.view-herf', function() {
var viewId = this.getAttribute('view-id');
var viewUrl = this.getAttribute('view-url');
app.openWin(viewUrl, viewId);
});
document.getElementById("head-img").addEventListener("tap", function() {
plus.nativeUI.actionSheet({
title: dataInfo.langue.ActionSheetTitle,
cancel: dataInfo.langue.ActionSheetCancel,
buttons: [{
title: dataInfo.langue.ActionSheetBtn1
},
{
title: dataInfo.langue.ActionSheetBtn2
}
]
}, function(b) { /*actionSheet 按钮点击事件*/
switch(b.index) {
case 0:
break;
case 1:
cameramImg(); /*拍照选择*/
break;
case 2:
galleryImg(); /*从相册中选择*/
break;
default:
break;
}
});
});
})
/**
* 查询用户信息
*/
function selectUserInfo() {
mui.ajax(myAjaxJs.AJAX_GET_USER.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
type: myAjaxJs.AJAX_GET_USER.getType, //HTTP请求类型
data: dataInfo.userLocalStorage,
dataType: 'json', //服务器返回json格式数据
timeout: 10000, //超时时间设置为10秒;
success: function(data) {
if("200" == data.code) {
// 更新用户缓存数据
app.setUserLocalStorage(data.data);
// 渲染用户数据
dataInfo.userLocalStorage = data.data;
mui.toast(dataInfo.langue.muiToast01);
} else if(data.code == "201" || data.code == "202") { //未登录
plus.nativeUI.closeWaiting();
mui.toast(dataInfo.langue.muiToast02);
app.openWin("wallet_login.html", "mine/html/wallet_login.html");
app.setUserLocalStorage({}); //清除关于用户的缓存
} else {
mui.toast(data.msg);
}
},
error: function(xhr, type, errorThrown) {}
})
}
//从相册中选择图片
function galleryImg() {
// 从相册中选择图片
plus.gallery.pick(function(path) {
cropImageFun(path);
});
}
//从拍照获得图片
function cameramImg() {
var cmr = plus.camera.getCamera();
cmr.captureImage(function(path) {
plus.io.resolveLocalFileSystemURL(path, function(sucss) {
var realpath = sucss.toLocalURL();
cropImageFun(realpath);
}, function(err) {
// mui.alert(dataInfo.langue.PicturesFailedMsg + err.message, dataInfo.langue.AlertMsg);
mui.toast(dataInfo.langue.PicturesFailedMsg + err.message);
});
}, function(err) {
// mui.alert(dataInfo.langue.PicturesFailedMsg + err.message, dataInfo.langue.AlertMsg);
mui.toast(dataInfo.langue.PicturesFailedMsg + err.message);
}, {});
}
/**
*
* @param {Object} src 图片路径
*/
function cropImageFun(src) {
mui.openWindow({
id: "mine/html/user/crop-image.html",
url: "crop-image.html",
extras: {
imgSrc: src
},
});
}
/**
* 数据同步
*/
function synchrodataFun() {
//“我的”首页
var walletMyView = plus.webview.getWebviewById("mine/html/wallet_my.html");
walletMyView.evalJS("saveUserInfoData();");
}
// 国际化统一方法
window.addEventListener('switchLangueData', function(e) {
dataInfo.langue = langues[e.detail];
});
</script>