移动端
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.
 
 
 
 
 

97 lines
2.1 KiB

<template>
<view class="waiting">
<u--image
src="/static/favicon.png"
width="288rpx"
height="288rpx"
mode="aspectFit"
:fade="true"
duration="200"
></u--image>
<button class="login" @click="login">授权登录</button>
</view>
</template>
<script>
import { getAccessToken, getOpenId } from '@/utils/auth'
import { qrLogin } from '@/api/login'
export default {
data() {
return {
scene: ''
}
},
methods: {
login() {
if (!this.scene) {
uni
.showModal({
content: '链接失效,请重新扫码',
showCancel: false
})
.then(() => {
uni.exitMiniProgram({
success: res => {
console.log(res)
}
})
})
} else {
uni.showLoading({
title: '登陆中。。。'
})
qrLogin({
code: this.scene,
openid: getAccessToken()
}).then(res => {
setTimeout(() => {
uni.hideLoading()
uni.switchTab({
url: '/pages/index'
})
}, 3000)
})
}
}
},
onLoad(query) {
// scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
this.scene = decodeURIComponent(query.scene)
}
}
</script>
<style lang="scss" scoped>
.waiting {
height: 100vh;
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
background: #17c653;
gap: 40px;
.login {
display: flex;
padding: var(--Number-12px, 24rpx) var(--Number-40px, 80rpx);
justify-content: center;
align-items: center;
border-radius: var(--Number-120px, 240rpx);
background: var(--LightMode-Light-Light, #fff);
box-shadow: 0px 6rpx 8rpx 0px rgba(0, 0, 0, 0.03);
color: var(--LightMode-Success-Success, #17c653);
font-family: 'PingFang SC';
font-size: 32rpx;
font-style: normal;
font-weight: 500;
line-height: normal;
}
.title {
font-family: 'PingFang SC';
font-size: 32rpx;
font-style: normal;
font-weight: 500;
line-height: normal;
}
}
</style>