fix(dealer): 优化经销商模块文字显示和加载逻辑

- 将"佣金统计"改为"资金统计"
- 将"提现申请"改为"申请提现"
- 将"我的邀请"改为"我的团队"
- 将"我的邀请码"改为"实名认证"并调整跳转路径
- 在经销商用户钩子中添加加载状态控制
- 防止快速点击导致的路由错误
- 优化用户登录状态检测逻辑
- 改进初始化加载时的数据处理流程
This commit is contained in:
2026-02-07 12:26:06 +08:00
parent 8751be5fb4
commit 9e780e369c
3 changed files with 27 additions and 16 deletions

View File

@@ -22,17 +22,20 @@ export interface UseDealerUserReturn {
*/
export const useDealerUser = (): UseDealerUserReturn => {
const [dealerUser, setDealerUser] = useState<ShopDealerUser | null>(null)
const [loading, setLoading] = useState(false)
const [error, setError] = useState<string | null>(null)
const rawUserId = Taro.getStorageSync('UserId')
const userId = Number(rawUserId)
const hasUser = Number.isFinite(userId) && userId > 0
const userId = Taro.getStorageSync('UserId');
// If user is logged in, start in loading state to avoid "click too fast" mis-routing.
const [loading, setLoading] = useState<boolean>(hasUser)
const [error, setError] = useState<string | null>(null)
// 获取经销商用户数据
const fetchDealerData = useCallback(async () => {
if (!userId) {
console.log('🔍 用户未登录,提前返回')
if (!hasUser) {
setDealerUser(null)
setLoading(false)
return
}
@@ -55,7 +58,7 @@ export const useDealerUser = (): UseDealerUserReturn => {
} finally {
setLoading(false)
}
}, [userId])
}, [hasUser, userId])
// 刷新数据
const refresh = useCallback(async () => {
@@ -64,13 +67,14 @@ export const useDealerUser = (): UseDealerUserReturn => {
// 初始化加载数据
useEffect(() => {
if (userId) {
console.log('🔍 调用 fetchDealerData')
if (hasUser) {
fetchDealerData()
} else {
console.log('🔍 用户ID不存在不调用 fetchDealerData')
setDealerUser(null)
setError(null)
setLoading(false)
}
}, [fetchDealerData, userId])
}, [fetchDealerData, hasUser])
return {
dealerUser,