Allow browsing before mini login
This commit is contained in:
@@ -106,6 +106,7 @@ export default function Sleep() {
|
||||
const [familyMemberDisplayName, setFamilyMemberDisplayName] = useState('')
|
||||
const [parentInfo, setParentInfo] = useState<Parent | null>(null)
|
||||
const [wechatMpStatus, setWechatMpStatus] = useState<WechatMpBindStatus | null>(null)
|
||||
const [isGuest, setIsGuest] = useState(false)
|
||||
const [isLoadingWechatMp, setIsLoadingWechatMp] = useState(false)
|
||||
const [isStartingWechatMpBind, setIsStartingWechatMpBind] = useState(false)
|
||||
const [isAuthorizingPhone, setIsAuthorizingPhone] = useState(false)
|
||||
@@ -135,10 +136,23 @@ export default function Sleep() {
|
||||
|
||||
const loadData = async () => {
|
||||
if (!getToken()) {
|
||||
Taro.reLaunch({ url: '/pages/login/index' })
|
||||
setChildren([])
|
||||
setBindings([])
|
||||
setBinding(null)
|
||||
setCurrentChild(null)
|
||||
setParentInfo(null)
|
||||
setFirmwareStatus(null)
|
||||
setDeviceRole(null)
|
||||
setRoles([])
|
||||
setCurrentCardGroup(null)
|
||||
setFamilyInfo(null)
|
||||
setWechatMpStatus(null)
|
||||
setIsGuest(true)
|
||||
setLoading(false)
|
||||
return
|
||||
}
|
||||
|
||||
setIsGuest(false)
|
||||
setLoading(true)
|
||||
try {
|
||||
const context = await loadCurrentChildBindingContext()
|
||||
@@ -798,7 +812,7 @@ export default function Sleep() {
|
||||
clearSelectedBindingDeviceId()
|
||||
clearSelectedChildId()
|
||||
Taro.removeStorageSync('userInfo')
|
||||
Taro.reLaunch({ url: '/pages/login/index' })
|
||||
void loadData()
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -951,6 +965,47 @@ export default function Sleep() {
|
||||
)
|
||||
}
|
||||
|
||||
if (isGuest) {
|
||||
return (
|
||||
<View className='manage-page'>
|
||||
<View className='page-header'>
|
||||
<Text className='page-title'>设置与管理</Text>
|
||||
</View>
|
||||
|
||||
<View className='guest-manage-card'>
|
||||
<Text className='guest-manage-icon'>⚙️</Text>
|
||||
<Text className='guest-manage-title'>管理孩子资料和设备</Text>
|
||||
<Text className='guest-manage-desc'>登录后可创建孩子资料、绑定伴伴设备、管理卡片、设置休眠时间和家庭成员。</Text>
|
||||
<View
|
||||
className='guest-manage-btn'
|
||||
onClick={() => {
|
||||
Taro.setStorageSync('postLoginRedirect', '/pages/sleep/index')
|
||||
Taro.navigateTo({ url: '/pages/login/index' })
|
||||
}}
|
||||
>
|
||||
<Text className='guest-manage-btn-text'>登录后管理</Text>
|
||||
</View>
|
||||
</View>
|
||||
|
||||
<View className='guest-manage-list'>
|
||||
<View className='guest-manage-item'>
|
||||
<Text className='guest-manage-item-title'>孩子资料</Text>
|
||||
<Text className='guest-manage-item-desc'>为不同孩子维护独立设备和会话。</Text>
|
||||
</View>
|
||||
<View className='guest-manage-item'>
|
||||
<Text className='guest-manage-item-title'>设备绑定</Text>
|
||||
<Text className='guest-manage-item-desc'>扫码或 NFC 绑定伴伴设备。</Text>
|
||||
</View>
|
||||
<View className='guest-manage-item'>
|
||||
<Text className='guest-manage-item-title'>休眠设置</Text>
|
||||
<Text className='guest-manage-item-desc'>设置设备休眠时间和远程控制。</Text>
|
||||
</View>
|
||||
</View>
|
||||
{systemBanner}
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
const parentDisplayName = parentInfo?.nickname?.trim() || '家长'
|
||||
const parentPhone = String(parentInfo?.phone || '').trim()
|
||||
const parentPhoneLabel = parentPhone ? `${parentPhone.slice(0, 3)}****${parentPhone.slice(-4)}` : '未开启'
|
||||
|
||||
Reference in New Issue
Block a user