forked from gxwebsoft/mp-10550
fix(dealer): 优化经销商模块文字显示和加载逻辑
- 将"佣金统计"改为"资金统计" - 将"提现申请"改为"申请提现" - 将"我的邀请"改为"我的团队" - 将"我的邀请码"改为"实名认证"并调整跳转路径 - 在经销商用户钩子中添加加载状态控制 - 防止快速点击导致的路由错误 - 优化用户登录状态检测逻辑 - 改进初始化加载时的数据处理流程
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user