Allow browsing before mini login
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { View, Text, Button, Input, Checkbox, CheckboxGroup } from '@tarojs/components'
|
||||
import { View, Text, Button, Checkbox, CheckboxGroup } from '@tarojs/components'
|
||||
import { useEffect, useState } from 'react'
|
||||
import Taro from '@tarojs/taro'
|
||||
import { getToken, wechatLogin } from '@/services/auth'
|
||||
@@ -6,7 +6,6 @@ import './index.scss'
|
||||
|
||||
export default function Login() {
|
||||
const [submitting, setSubmitting] = useState(false)
|
||||
const [nickname, setNickname] = useState('')
|
||||
const [agreementAccepted, setAgreementAccepted] = useState(false)
|
||||
|
||||
useEffect(() => {
|
||||
@@ -21,12 +20,6 @@ export default function Login() {
|
||||
return
|
||||
}
|
||||
|
||||
const cachedUserInfo = (Taro.getStorageSync('userInfo') || {}) as {
|
||||
nickname?: string
|
||||
}
|
||||
if (cachedUserInfo.nickname) {
|
||||
setNickname(cachedUserInfo.nickname)
|
||||
}
|
||||
}, [])
|
||||
|
||||
const handleLogin = async () => {
|
||||
@@ -39,12 +32,6 @@ export default function Login() {
|
||||
return
|
||||
}
|
||||
|
||||
const cachedUserInfo = (Taro.getStorageSync('userInfo') || {}) as {
|
||||
nickname?: string
|
||||
avatar_url?: string
|
||||
}
|
||||
const normalizedNickname = nickname.trim() || cachedUserInfo.nickname?.trim() || ''
|
||||
|
||||
setSubmitting(true)
|
||||
Taro.showLoading({ title: '登录中...' })
|
||||
|
||||
@@ -56,24 +43,18 @@ export default function Login() {
|
||||
|
||||
const session = await wechatLogin({
|
||||
code: loginRes.code,
|
||||
nickname: normalizedNickname || undefined,
|
||||
avatar_url: cachedUserInfo.avatar_url,
|
||||
})
|
||||
|
||||
const nextUserInfo = {
|
||||
nickname: session.nickname || normalizedNickname,
|
||||
avatar_url: cachedUserInfo.avatar_url,
|
||||
nickname: session.nickname || '',
|
||||
}
|
||||
|
||||
if (nextUserInfo.nickname || nextUserInfo.avatar_url) {
|
||||
if (nextUserInfo.nickname) {
|
||||
Taro.setStorageSync('userInfo', {
|
||||
nickname: nextUserInfo.nickname,
|
||||
avatar_url: nextUserInfo.avatar_url,
|
||||
})
|
||||
setNickname(nextUserInfo.nickname || '')
|
||||
} else {
|
||||
Taro.removeStorageSync('userInfo')
|
||||
setNickname('')
|
||||
}
|
||||
|
||||
Taro.showToast({ title: '登录成功', icon: 'success' })
|
||||
@@ -170,22 +151,15 @@ export default function Login() {
|
||||
</View>
|
||||
</View>
|
||||
|
||||
<View className='nickname-card'>
|
||||
<Text className='nickname-label'>家长昵称</Text>
|
||||
<Input
|
||||
className='nickname-input'
|
||||
type='nickname'
|
||||
maxlength={64}
|
||||
placeholder='请输入家长昵称'
|
||||
value={nickname}
|
||||
onInput={(event) => setNickname(event.detail.value)}
|
||||
/>
|
||||
<View className='login-info-card'>
|
||||
<Text className='login-info-title'>登录后启用设备管理</Text>
|
||||
<Text className='login-info-desc'>仅在绑定设备、查看定位和管理孩子资料时需要登录。</Text>
|
||||
</View>
|
||||
|
||||
<View className='login-btn-wrapper'>
|
||||
<Button className='login-btn' loading={submitting} disabled={submitting} onClick={handleLogin}>
|
||||
<Text className='btn-icon'>🌐</Text>
|
||||
<Text className='btn-text'>{submitting ? '登录中...' : '微信一键登录'}</Text>
|
||||
<Text className='btn-text'>{submitting ? '登录中...' : '登录后继续'}</Text>
|
||||
</Button>
|
||||
</View>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user