bitcooo
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

<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>