fix(mobile): reset page scroll on route entry

This commit is contained in:
2026-07-09 13:34:24 +08:00
parent f517cbd2b5
commit 04405b5e11
11 changed files with 40 additions and 4 deletions
@@ -85,6 +85,7 @@ import { onShow } from '@dcloudio/uni-app';
import type { CaseCurateResponse, CaseOrganizeResponse, CaseRecord, CaseSelectedFile, CaseUploadResponse } from '@/types/api';
import { chooseCaseAudio, curateCase, getCaseRecords, organizeCase, uploadCaseAudio } from '@/services/case';
import { isLoggedIn, rememberLoginRedirect } from '@/services/auth';
import { resetPageScroll } from '@/services/navigation';
const loggedIn = ref(false);
const selectedFile = ref<CaseSelectedFile | null>(null);
@@ -198,6 +199,7 @@ const formatSize = (size: number) => {
};
onShow(() => {
resetPageScroll();
refreshAuthState();
if (loggedIn.value) {
void loadRecords();
@@ -169,6 +169,7 @@ import type {
import { answerDailyDrill, finishPractice, getPracticeAssignments, getPracticePrepCard, startPractice, submitPracticeTurn } from '@/services/practice';
import { isLoggedIn, rememberLoginRedirect } from '@/services/auth';
import { searchKnowledge } from '@/services/knowledge';
import { resetPageScroll } from '@/services/navigation';
type PracticeStatus = 'idle' | 'starting' | 'active' | 'submitting' | 'finished';
@@ -538,6 +539,7 @@ const finish = async (force = false) => {
};
onShow(() => {
resetPageScroll();
refreshAuthState();
void loadAssignments();
void loadPrepCard();
+5 -1
View File
@@ -119,6 +119,7 @@ import { onShow } from '@dcloudio/uni-app';
import type { CompetencyProfile, PracticeRecord, PromotionEvidence } from '@/types/api';
import { clearAuth, getAuth, isLoggedIn, rememberLoginRedirect } from '@/services/auth';
import { getCompetencyProfile, getPracticeHistory, getPromotionEvidence } from '@/services/practice';
import { resetPageScroll } from '@/services/navigation';
const loggedIn = ref(false);
const phone = ref('');
@@ -182,7 +183,10 @@ const logout = () => {
uni.showToast({ title: '已退出', icon: 'none' });
};
onShow(loadData);
onShow(() => {
resetPageScroll();
void loadData();
});
</script>
<style scoped>
+2
View File
@@ -120,6 +120,7 @@ import {
submitAnswerFeedback
} from '@/services/knowledge';
import { isLoggedIn, rememberLoginRedirect } from '@/services/auth';
import { resetPageScroll } from '@/services/navigation';
const quickQuestions = ['业主投诉噪音怎么安抚', '停车费催缴怎么说', '生活顾问的一天做什么'];
const query = ref('');
@@ -250,6 +251,7 @@ const goLogin = () => {
};
onShow(() => {
resetPageScroll();
refreshAuthState();
if (!loggedIn.value) {
resetResultState();
+5 -1
View File
@@ -110,6 +110,7 @@ import type { PracticeAssignment, RoleHome } from '@/types/api';
import { getMobileHome } from '@/services/home';
import { getPracticeAssignments } from '@/services/practice';
import { getAuth, isLoggedIn, rememberLoginRedirect } from '@/services/auth';
import { resetPageScroll } from '@/services/navigation';
const home = ref<RoleHome | null>(null);
const assignments = ref<PracticeAssignment[]>([]);
@@ -241,7 +242,10 @@ const openTool = (title: string) => {
uni.navigateTo({ url: `/pages/common/building/index?title=${encodeURIComponent(title)}` });
};
onShow(loadHome);
onShow(() => {
resetPageScroll();
void loadHome();
});
</script>
<style scoped>