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.

568 lines
16 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-->
<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 src="../../js/language/wallet_language.js"></script>
<script type="text/javascript" src="../../js/my/my_ajax.js"></script>
</head>
<style>
.protocol-box {
position: fixed;
bottom: 0.25rem;
font-size: 0.28rem;
text-align: center;
width: 100%;
color: #666 !important;
}
#logo-content {
width: 100%;
height: 2.5rem;
position: relative;
}
#logo-content #logo {
position: absolute;
width: 80px;
top: .6rem;
left: calc(50% - 40px);
height: auto;
}
.app-name {
font-size: 0.3rem;
text-align: center;
margin-bottom: .2rem;
}
.version {
font-size: 0.25rem;
text-align: center;
margin-bottom: .5rem;
}
.footer {
position: fixed;
z-index: 21;
left: 0px;
top: 1.8rem;
width: 74%;
margin: 0px 13%;
overflow: hidden;
background-color: #FFFFFF;
border-radius: .1rem;
display: none;
}
.footer-title {
margin: .3rem 30%;
line-height: .5rem;
background-color: #37A2EA;
color: #FFFFFF;
text-align: center;
border-radius: .05rem;
font-size: .29rem;
}
.footer-name {
text-align: center;
font-size: .35rem;
padding-top: .15rem;
}
.footer-percent {
text-align: center;
padding-bottom: .5rem;
}
.footer-remark {
padding: .5rem 5%;
}
.footer-input button {
margin: .25rem 5% 0px .25rem;
width: 90%;
border: none;
background-color: #0B8BE8;
color: #FFFFFF;
height: .7rem;
}
.footer-input button:active {
background-color: #37A2EA;
color: #FFFFFF;
}
.footer-cancel button {
margin-bottom: .25rem;
background-color: #FFFFFF;
color: #CCCCCC;
}
.footer-cancel button:active {
background-color: #DDDDDD;
color: #CCCCCC;
}
.mui-demo-container p {
height: .05rem;
}
.mui-progressbar-success span {
background-color: #007aff;
}
.transfer-backdrop {
display: none;
z-index: 20;
}
.mui-demo-container {
background-color: #fff;
padding: .25rem 5% .2rem 5%;
}
.app-text-color {
color: #333333 !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" data-text="WalletMyAboutUsTitle">{{langue.about}}</h1>
</header>
<div class="mui-content">
<div id="logo-content">
<img id="logo" src="../../img/logo.png" />
</div>
<p class="app-name">{{langue.name}}</p>
<p class="version">Version {{version}}</p>
<ul class="mui-table-view app-table-view app-table-view-darkly">
<!--<li class="mui-table-view-cell" v-for="(row,index) in list">
<a class="mui-navigate-right">
{{row.contactName}}
<label class="app-table-cell-lable-right">{{row.contactValue}}</label>
</a>
</li>-->
<!--<li class="mui-table-view-cell">
<a class="mui-navigate-right" id="notice">
功能介绍
</a>
</li>-->
<li class="mui-table-view-cell">
<a class="mui-navigate-right" id="che-version">
{{langue.update}}
<span style="color: #FF5053;float: right;font-size: .9rem;padding-right: 15px;">{{point}}</span>
<span style="float: right;color: #8f8f94;">{{localVersion}}</span>
</a>
</li>
<!--<li class="mui-table-view-cell">
<a class="mui-navigate-right">
投诉
</a>
</li>-->
</ul>
</div>
<div class="protocol-box">
<button id="protocol" class="mui-btn-link app-text-color">{{langue.service}}</button>
<p>
{{langue.name}}</br>
Copyright © 2019 Zhixin.IO Corporation.</br>
All Rights Reserved.
</p>
</div>
<div id="app-update" class="footer">
<div class="footer-title">{{localVersion}}</div>
<div class="footer-name">{{langue.name}} {{localVersion}}</div>
<div class="footer-remark">{{versionRemark}}</div>
<div id="percent-progressbar" class="mui-demo-container">
<p class="mui-progressbar mui-progressbar-success"><span></span></p>
</div>
<div class="footer-percent">{{langue.downloading}}{{percent}}%</div>
<div class="footer-input footer-cancel">
<button id="update-cancel">{{langue.cancel}}</button>
</div>
</div>
<div id="app-check" class="footer">
<div class="footer-title">{{localVersion}}</div>
<div class="footer-name">{{langue.name}} {{localVersion}}</div>
<div class="footer-remark">{{versionRemark}}</div>
<div class="footer-input">
<button id="update-now">{{langue.updateNow}}</button>
</div>
<div class="footer-input footer-cancel">
<button id="update-later">{{langue.updateLater}}</button>
</div>
</div>
<div id="backdrop" class="transfer-backdrop mui-backdrop mui-active"></div>
</div>
</body>
</html>
<script>
//1、每个页面写自己的国际化语言变量,例子:
var langues = {
zh_CN: {
cancel: '取消',
about: '关于我们',
update: '检查新版本',
service: '《软件许可及服务协议》',
updateNow: '立即更新',
updateLater: '稍后更新',
name: '智信链',
errorNet: '网络异常,请检查网络状态',
note1: '当前已是最新版本',
note2: '补丁下载失败',
note3: '补丁升级中...',
note4: '补丁升级成功!',
note5: '补丁升级失败',
note6: '未知设备,请手动下载!',
note7: '提示',
note8: '安卓下载',
note9: '苹果下载',
note10: '获取app下载地址失败,请使用ios设备打开!',
downloading: '正在下载'
},
zh_HK: {
cancel: '取消',
about: '關於我們',
update: '檢查新版本',
service: '《軟件許可及服務協議》',
updateNow: '立即更新',
updateLater: '稍後更新',
name: '智信鏈',
errorNet: '網絡異常,請檢查網絡狀態',
note1: '當前已是最新版本',
note2: '補丁下載失敗',
note3: '補丁升級中...',
note4: '補丁升級成功!',
note5: '補丁升級失敗',
note6: '未知設備,請手動下載!',
note7: '提示',
note8: '安卓下載',
note9: '蘋果下載',
note10: '獲取app下載地址失敗,請使用ios設備打開!',
downloading: '正在下載'
},
en_US: {
cancel: 'Cancel',
about: 'About',
update: 'Check for Updates',
service: 'Terms Of Service and Privacy Policy',
updateNow: 'Update Now',
updateLater: 'Update Later',
name: 'Zhixin',
errorNet: 'Net error',
note1: 'Currently the latest version',
note2: 'Patch download failed',
note3: 'Patch upgrade...',
note4: 'Patch was successfully upgraded.!',
note5: 'Patch upgrade failed',
note6: 'Unknown device, please download it manually!',
note7: 'Prompt',
note8: 'Android download',
note9: 'Apple download',
note10: 'Failed to get app download address, please use ios device to open!',
downloading: 'Downloading'
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langue = langues[langueKey]; // 获取国际化语种数据
var dataInfo = new Vue({
el: "#data-info",
data: {
langue: langue,
version: "",
localVersion: "",
versionRemark: "",
point: "",
percent: 0,
list: []
}
});
var updateObj;
var downloader;
mui.plusReady(function() {
plus.runtime.getProperty(plus.runtime.appid, function(inf) {
dataInfo.version = inf.version;
var localVersion = app.getVersionLocalStorage();
if(localVersion != "" && inf.version != localVersion) {
dataInfo.localVersion = localVersion;
dataInfo.point = '·';
}
});
// 服务隐私条款监听
document.getElementById('protocol').addEventListener('tap', function() {
mui.openWindow({
id: "mine/html/wallet_terms_of_service.html",
url: "../wallet_terms_of_service.html"
});
});
// 功能介绍监听
// document.getElementById('notice').addEventListener('tap', function() {
// app.openWin("notice.html", "notice.html");
// });
// 检查新版本监听
document.getElementById('che-version').addEventListener('tap', function() {
checkFun();
});
document.getElementById("update-now").addEventListener("tap", function() {
if(updateObj.type == 'wgt') {
downWgt(updateObj.url); //执行补丁下载安装
} else {
plus.runtime.openURL(updateObj.url); // 大版本更新方法
}
});
document.getElementById("update-later").addEventListener("tap", function() {
document.getElementById("backdrop").style.display = 'none';
document.getElementById("app-check").style.display = 'none';
});
document.getElementById("update-cancel").addEventListener("tap", function() {
downloader.abort();
mui("#percent-progressbar").progressbar({
progress: 0
}).show();
dataInfo.percent = 0;
document.getElementById("backdrop").style.display = 'none';
document.getElementById("app-update").style.display = 'none';
});
var self = plus.webview.currentWebview();
if(self.data) {
updateObj = {
type: 'wgt',
url: self.data.wgtUrl
};
dataInfo.localVersion = self.data.wgtVersion;
dataInfo.point = '·';
dataInfo.versionRemark = self.data.remark;
document.getElementById("backdrop").style.display = 'block';
downWgt(updateObj.url);
}
});
/**
* 版本更新
*/
function checkFun() {
plus.nativeUI.showWaiting();
var appCheckAppUrl = app.confBaseUrl + "version/findNewVersionAll"; //检查App更新的请求地址
mui.ajax(appCheckAppUrl, {
headers: {
"locale": app.getLanguageLocalStorage() // 语种头部
},
type: "GET", //HTTP请求类型
dataType: 'json', //服务器返回json格式数据
timeout: 10000, //超时时间设置为10秒;
success: function(data) {
plus.nativeUI.closeWaiting();
if("200" == data.code) {
checkJudge(data.data);
} else {
mui.alert(data.msg);
}
},
error: function(xhr, type, errorThrown) {
plus.nativeUI.closeWaiting();
app.toast(dataInfo.langue.errorNet);
}
});
}
/**
* 版本更新判断,若版本一致,则检查是否有补丁更新,若版本不一致,则进行大版本更新
*
* @param {Object} data 版本更新信息
*/
function checkJudge(data) {
var appCheckSystemType = getCurrentSystem();
if(appCheckSystemType) { // 系统类型 "安卓"或者"苹果"
var appData = data[appCheckSystemType]; //获取当前系统的数据信息
if(appData == null) {
dataInfo.localVersion = '';
dataInfo.point = '';
mui.toast(dataInfo.langue.note1);
return;
}
//1、判断大版本更新
if(dataInfo.version.substr(0, 3) * 1 < appData.version.substr(0, 3) * 1) {
app.setVersionLocalStorage(appData.version);
dataInfo.localVersion = appData.version;
dataInfo.point = '·';
dataInfo.versionRemark = appData.remark;
document.getElementById("backdrop").style.display = 'block';
document.getElementById("app-check").style.display = 'block';
updateObj = {
type: 'version',
url: appData.appUrl
};
return;
} else { //2、判断补丁更新
checkWgtFun(); // 补丁更新方法
return;
}
} else { //系统类型识别不了
otherFun(data); // 手动下载
}
}
/**
*
* 补丁更新
* @param {Object} data 版本更新信息
*/
function checkWgtFun() {
var appCheckWgtUrl = app.confBaseUrl + "wgtVersion/findNewWgtVersion"; //检查补丁更新的请求地址
mui.ajax(appCheckWgtUrl, {
headers: {
"locale": app.getLanguageLocalStorage() // 语种头部
},
type: "GET", //HTTP请求类型
dataType: 'json', //服务器返回json格式数据
timeout: 10000, //超时时间设置为10秒;
success: function(data) {
plus.nativeUI.closeWaiting();
console.log(JSON.stringify(data));
if("200" == data.code) {
if(data.data) {
if(dataInfo.version.substr(0, 3) * 1 > data.data.wgtVersion.substr(0, 3) * 1) {
dataInfo.localVersion = '';
dataInfo.point = '';
mui.toast(dataInfo.langue.note1);
return;
}
if(dataInfo.version.replace(/\./g, "") * 1 >= data.data.wgtVersion.replace(/\./g, "") * 1) {
dataInfo.localVersion = '';
dataInfo.point = '';
mui.toast(dataInfo.langue.note1);
return;
}
app.setVersionLocalStorage(data.data.wgtVersion);
if(dataInfo.version != data.data.wgtVersion && data.data.wgtVersion.split(".").pop() * 1 > dataInfo.version.substr(-1).split(".").pop() * 1) {
dataInfo.localVersion = data.data.wgtVersion;
dataInfo.point = '·';
dataInfo.versionRemark = data.data.remark;
document.getElementById("backdrop").style.display = 'block';
document.getElementById("app-check").style.display = 'block';
updateObj = {
type: 'wgt',
url: data.data.wgtUrl
};
}
} else {
return;
}
} else {
mui.alert(data.msg);
}
},
error: function(xhr, type, errorThrown) {
// console.log("网络异常,请检查网络状态");
}
})
}
/**
* 补丁下载,直接下载wgt文件
* @param {Object} wgtUrl wgt文件补丁下载地址
*/
function downWgt(wgtUrl) {
document.getElementById("app-check").style.display = 'none';
document.getElementById("app-update").style.display = 'block';
downloader = plus.downloader.createDownload(wgtUrl, {}, function(d, status) {
if(status == 200) {
installWgt(d.filename); // 安装wgt包
} else {
plus.nativeUI.alert(dataInfo.langue.note2);
}
});
downloader.addEventListener("statechanged", function(download, status) {
if(download.state && status == 200) {
var percent = parseInt(download.downloadedSize * 100 / download.totalSize);
mui("#percent-progressbar").progressbar({
progress: percent
}).show();
dataInfo.percent = percent;
}
})
downloader.start();
}
/**
* 补丁升级安装
* @param {Object} path wgt文件存放路径
*/
function installWgt(path) {
plus.nativeUI.showWaiting(dataInfo.langue.note3);
plus.runtime.install(path, {}, function() {
plus.nativeUI.closeWaiting();
plus.nativeUI.alert(dataInfo.langue.note4, function() {
plus.runtime.restart();
});
}, function(e) {
plus.nativeUI.closeWaiting();
plus.nativeUI.alert(dataInfo.langue.note5);
});
}
/**
* 系统类型识别不了,手动下载的方法
*
* @param {Object} data 所有系统版本更新信息
*/
function otherFun(data) {
mui.confirm(dataInfo.langue.note6, dataInfo.langue.note7, [dataInfo.langue.note8, dataInfo.langue.note9], function(e) {
if(e.index == 0) {
var appUrl = data["android"].appUrl; //获取安卓安装包的下载地址
console.log(data);
window.location.href = appUrl; //执行App下载安装
} else if(e.index == 1) {
mui.toast(dataInfo.langue.note10);
} else {
return false;
}
});
}
/**
* 获取当前系统类型
*/
function getCurrentSystem() {
//是否为IOS
var isIos = mui.os.ios || mui.os.ipad || mui.os.iphone;
//是否为安卓
var isAndroid = mui.os.android;
if(isIos) {
return "ios";
} else if(isAndroid) {
return "android";
} else {
return null; // 识别不了
}
}
5 years ago
</script>