feat: 登录注册流程重构 - 登录页+完善信息页+401跳转

- 新增 profile/login.vue 登录页(UnauthLoginPanel)
- 新增 profile/setup.vue 完善信息页(头像/昵称/手机号)
- profile/index 未登录态显示头像占位+点击登录+菜单列表
- 登录后始终跳转setup页,completeLogin后才持久化token
- auth.js 登录后用pendingToken(内存),不检查profile_completed
- request.js 401时reLaunch到登录页,不显示toast,防重复跳转
- 约课页移除UnauthLoginPanel,未登录直接显示列表
- session.js 新增needsSetup状态和completeLogin方法
This commit is contained in:
gqt
2026-07-13 21:09:07 +08:00
parent b06cf69942
commit 5487ece142
9 changed files with 489 additions and 79 deletions
@@ -0,0 +1,28 @@
<template>
<view class="login-page">
<UnauthLoginPanel @login="handleLogin" />
</view>
</template>
<script setup>
import { useComprehensiveSessionStore } from '@/modules/comprehensive/stores/session'
import UnauthLoginPanel from '@/components/UnauthLoginPanel.vue'
const session = useComprehensiveSessionStore()
const handleLogin = async () => {
try {
await session.login()
uni.redirectTo({ url: '/pages/comprehensive/profile/setup' })
} catch {
uni.showToast({ title: '登录失败,请重试', icon: 'none' })
}
}
</script>
<style lang="scss" scoped>
.login-page {
min-height: 100vh;
background: $bg-color-soft;
}
</style>