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.
278 lines
7.2 KiB
278 lines
7.2 KiB
<template>
|
|
<view class="rela">
|
|
<navigation :showBack="true" :bgnum="true">
|
|
{{i18n.Settings}}
|
|
</navigation>
|
|
<view class="main">
|
|
<view class="main_con">
|
|
|
|
<view class="item flex">
|
|
<view class="text1">
|
|
{{i18n.fingerPass}}
|
|
</view>
|
|
<u-switch v-model="checked" active-color="#5B53FF" @change="fingerPass()"></u-switch>
|
|
</view>
|
|
<view class="item flex" @click="goLang()">
|
|
<view class="text1">
|
|
{{i18n.lans}}
|
|
</view>
|
|
<view class="">
|
|
<text class="text2">English</text>
|
|
<image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
|
|
</view>
|
|
</view>
|
|
<view class="item flex">
|
|
<view class="text1">
|
|
{{i18n.curr}}
|
|
</view>
|
|
<view class="">
|
|
<text class="text2">USD</text>
|
|
<image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
|
|
</view>
|
|
</view>
|
|
<view class="item flex">
|
|
<view class="text1">
|
|
{{i18n.nodes}}
|
|
</view>
|
|
|
|
<image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
|
|
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
<u-mask z-index="10" :show="show"></u-mask>
|
|
|
|
<view class="hou_jia" v-if="showFinger">
|
|
<view class="Log">
|
|
Log in
|
|
</view>
|
|
<image src="../../../static/tongyonh/zww.png" mode="aspectFit" class="zzw"></image>
|
|
<view class="Log" @click="cancel">
|
|
Cancel
|
|
</view>
|
|
</view>
|
|
<view class="hou_jia hou_jia_w" v-if="hou_jia_w">
|
|
<view class="fontt">
|
|
Confirm close validation?
|
|
</view>
|
|
<view class="ccon">
|
|
<view class="cancle" @click="cancel_hou">
|
|
Cancel
|
|
</view>
|
|
<view class="" @click="confirm_hou">
|
|
Confirm
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
import cont from "@/components/navigation/navigation.vue"
|
|
export default {
|
|
data() {
|
|
return {
|
|
checked: false,
|
|
show:false,
|
|
showFinger:false,
|
|
fingerSuccess:false,
|
|
fingerFail:false,
|
|
hou_jia_w:false,
|
|
};
|
|
},
|
|
methods: {
|
|
// 去到语言选择页面
|
|
goLang(){
|
|
uni.navigateTo({
|
|
url:'./lang/index'
|
|
})
|
|
},
|
|
// 依旧保留指纹
|
|
cancel_hou(){
|
|
this.hou_jia_w=false;
|
|
this.show=false;
|
|
this.checked=true;
|
|
},
|
|
// 确认取消指纹
|
|
confirm_hou(){
|
|
this.checked=false
|
|
this.hou_jia_w=false;
|
|
this.show=false;
|
|
uni.setStorageSync('fingerPass',false)
|
|
},
|
|
// 关闭所有
|
|
cancel(){
|
|
this.showFinger=false;
|
|
this.checked=false;
|
|
this.show=false;
|
|
this.printCancel();
|
|
},
|
|
// 取消指纹识别
|
|
printCancel(){
|
|
plus.fingerprint.cancel();
|
|
this.showFinger=false
|
|
},
|
|
|
|
fingerPass(){
|
|
console.log(this.checked)
|
|
// 如果是启动的就调指纹
|
|
if(this.checked){
|
|
console.log(111)
|
|
this.show=true;
|
|
this.showFinger=true;
|
|
this.fingerprint(true);
|
|
}
|
|
// 如果是关闭的就存false,转账页面出现使用密码
|
|
if(!this.checked){
|
|
this.hou_jia_w=true;
|
|
this.show=true
|
|
|
|
}
|
|
|
|
},
|
|
fingerprint: function() {
|
|
// 进来先判断本机有没有指纹
|
|
// #ifdef APP-PLUS
|
|
if (!plus.fingerprint.isSupport()) {
|
|
uni.showToast({
|
|
title: 'This device does not support fingerprint identification',
|
|
icon: 'none',
|
|
duration: 1500
|
|
})
|
|
// this.disabled = true;
|
|
} else if (!plus.fingerprint.isKeyguardSecure()) {
|
|
uni.showToast({
|
|
title: 'This device is not equipped with a password lock screen and cannot use fingerprint identification',
|
|
icon: 'none',
|
|
duration: 1500
|
|
})
|
|
|
|
} else if (!plus.fingerprint.isEnrolledFingerprints()) {
|
|
uni.showToast({
|
|
title: 'There is no fingerprint entered in this device. Please turn it on in the setting',
|
|
icon: 'none',
|
|
duration: 1500
|
|
})
|
|
// this.disabled = true;
|
|
} else {
|
|
// this.result = '此设备支持指纹识别';
|
|
// // this.disabled = false;
|
|
// #ifdef MP-WEIXIN
|
|
// this.disabled = false;
|
|
uni.showToast({
|
|
title: 'Please use it in wechat real machine. The simulator does not support it',
|
|
icon: 'none',
|
|
duration: 1500
|
|
})
|
|
// #endif
|
|
// #ifndef APP-PLUS || MP-WEIXIN
|
|
uni.showToast({
|
|
title: 'Fingerprint identification is not supported on this platform',
|
|
icon: 'none',
|
|
duration: 1500,
|
|
})
|
|
// #endif
|
|
|
|
// 进来先判断本机有没有指纹
|
|
|
|
let that=this;
|
|
// #ifdef APP-PLUS
|
|
plus.fingerprint.authenticate(function() {
|
|
plus.nativeUI.closeWaiting(); //兼容Android平台关闭等待框
|
|
// 指纹验证成功后走这里
|
|
// 存储设置里开启指纹后的状态,隐藏使用密码
|
|
|
|
uni.setStorageSync('fingerPass',true)
|
|
console.log(that.showFinger,454545)
|
|
that.showFinger=false;
|
|
that.fingerSuccess=true;
|
|
that.show=false;
|
|
console.log(that.showFinger,454545)
|
|
}, function(e) {
|
|
switch (e.code) {
|
|
case e.AUTHENTICATE_MISMATCH:
|
|
// plus.nativeUI.toast('Fingerprint matching failed, please re-enter');
|
|
uni.setStorageSync('fingerPass',false)
|
|
console.log(that.showFinger,454545)
|
|
that.showFinger=false;
|
|
that.fingerFail=true;
|
|
that.checked=false
|
|
console.log(that.fingerFail,454545)
|
|
break;
|
|
case e.AUTHENTICATE_OVERLIMIT:
|
|
plus.nativeUI.closeWaiting(); //兼容Android平台关闭等待框
|
|
// plus.nativeUI.alert('The number of fingerprint identification failures exceeds the limit. Please use other methods for authentication');
|
|
uni.setStorageSync('fingerPass',false)
|
|
console.log(that.showFinger,454545)
|
|
that.showFinger=false;
|
|
that.fingerFail=true;
|
|
that.checked=false
|
|
console.log(that.fingerFail,454545)
|
|
break;
|
|
case e.CANCEL:
|
|
plus.nativeUI.toast('Recognition has been cancelled');
|
|
uni.setStorageSync('fingerPass',false)
|
|
console.log(that.showFinger,454545)
|
|
that.showFinger=false;
|
|
that.checked=false
|
|
that.fingerFail=true;
|
|
console.log(that.fingerFail,454545)
|
|
break;
|
|
default:
|
|
plus.nativeUI.closeWaiting(); //兼容Android平台关闭等待框
|
|
uni.setStorageSync('fingerPass',false)
|
|
console.log(that.showFinger,454545)
|
|
that.showFinger=false;
|
|
that.checked=false
|
|
that.fingerFail=true;
|
|
console.log(that.fingerFail,454545)
|
|
plus.nativeUI.alert('Fingerprint identification failed, please try again');
|
|
break;
|
|
}
|
|
});
|
|
// Android平台手动弹出等待提示框
|
|
if ('Android' == plus.os.name) {
|
|
this.show=true;
|
|
/* plus.nativeUI.showWaiting('指纹识别中...').onclose = function() {
|
|
plus.fingerprint.cancel();
|
|
} */
|
|
}
|
|
// #endif
|
|
|
|
}
|
|
// #endif
|
|
},
|
|
change(status) {
|
|
|
|
},
|
|
|
|
},
|
|
onLoad() {
|
|
// 每次进来拿缓存里有没有指纹
|
|
if(uni.getStorageSync('fingerPass')){
|
|
this.checked=uni.getStorageSync('fingerPass')
|
|
}
|
|
},
|
|
computed: {
|
|
i18n() {
|
|
return this.$t('index')
|
|
},
|
|
}
|
|
};
|
|
</script>
|
|
<style scoped>
|
|
page {
|
|
background: #FAFAFA;
|
|
}
|
|
</style>
|
|
|
|
<style>
|
|
|
|
@import './index.css';
|
|
|
|
</style>
|
|
|