完成大体功能和样式
This commit is contained in:
134
pages-biz/face/faceAuth.vue
Normal file
134
pages-biz/face/faceAuth.vue
Normal file
@@ -0,0 +1,134 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view class="loading-content">
|
||||
<view class="image-content">
|
||||
<image :src="staticHost + '/public' + '/static/loading.svg'" class="image"></image>
|
||||
</view>
|
||||
<view class="loading-tect-content">
|
||||
<text class="loading-text">加载中</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn-content">
|
||||
<text>如未成功跳转,</text>
|
||||
<text class="btn-click" bindtap="goFaceAuth">点击此处</text>
|
||||
<text>手动跳转</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
bizToken: '',
|
||||
redirectUrl: '',
|
||||
goFaceDone: false // 是否已跳转至公证签做人脸
|
||||
}
|
||||
},
|
||||
|
||||
onLoad(e) {
|
||||
console.log('---middle onLoad', e)
|
||||
|
||||
this.bizToken = e.bizToken || ''
|
||||
this.redirectUrl = e.redirectUrl
|
||||
? decodeURIComponent(e.redirectUrl)
|
||||
: ''
|
||||
|
||||
this.goFaceAuth()
|
||||
},
|
||||
computed: {
|
||||
staticHost() {
|
||||
return this.$config.staticUrl
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
goFaceAuth() {
|
||||
const { bizToken } = this
|
||||
|
||||
// ⚠️ 只有微信小程序支持
|
||||
// #ifdef MP-WEIXIN
|
||||
wx.navigateToMiniProgram({
|
||||
appId: 'wx1c9e1d0b916674dc', // 公证签小程序 APPID
|
||||
path: `/pages-biz/face/faceAuth?bizToken=${bizToken}`,
|
||||
success: () => {
|
||||
this.goFaceDone = true
|
||||
}
|
||||
})
|
||||
// #endif
|
||||
}
|
||||
},
|
||||
|
||||
onShow() {
|
||||
console.log('---middle onShow')
|
||||
|
||||
const { goFaceDone, redirectUrl } = this
|
||||
|
||||
// 防止首次进入直接触发
|
||||
if (!goFaceDone) return
|
||||
|
||||
// 重置状态
|
||||
this.goFaceDone = false
|
||||
|
||||
// ⚠️ 微信小程序专有
|
||||
// #ifdef MP-WEIXIN
|
||||
if (!wx.getEnterOptionsSync) return
|
||||
|
||||
const options = wx.getEnterOptionsSync()
|
||||
console.log('---options', options)
|
||||
|
||||
// scene === 1038:从其他小程序返回
|
||||
if (
|
||||
options.scene === 1038 &&
|
||||
options.referrerInfo &&
|
||||
options.referrerInfo.extraData &&
|
||||
options.referrerInfo.extraData.faceResult
|
||||
) {
|
||||
const pages = getCurrentPages()
|
||||
const pre = pages[pages.length - 2]
|
||||
|
||||
// 调用上一个页面的 reloadPage 方法
|
||||
if (pre && typeof pre.reloadPage === 'function') {
|
||||
pre.reloadPage(
|
||||
`${redirectUrl}&timeStamp=${Date.now()}`
|
||||
)
|
||||
|
||||
wx.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
}
|
||||
}
|
||||
// #endif
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.loading-content {
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.image {
|
||||
width: 172rpx;
|
||||
height: 186rpx;
|
||||
}
|
||||
.loading-tect-content {
|
||||
font-size: 28rpx;
|
||||
margin-top: 48rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.btn-content {
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
.btn-click {
|
||||
color: #F34038;
|
||||
}
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user