Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/api/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ export const authAPI = {
return post('/api/v0/auth/wechat-login', { code }, {
skipAuthRefresh: true,
retryOnAuthFailure: false,
handleAuthFailure: false,
silent: true,
...options
})
},
Expand All @@ -15,6 +17,7 @@ export const authAPI = {
}, {
skipAuthRefresh: true,
retryOnAuthFailure: false,
handleAuthFailure: false,
...options
})
},
Expand Down
2 changes: 1 addition & 1 deletion src/api/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { get } from '../utils/request'

export const configAPI = {
getConfig(key) {
if (!key) return Promise.reject(new Error('Config key is required'))
if (!key) return Promise.reject(new Error('缺少配置项'))
return get(`/api/v0/config/${key}`)
},
}
2 changes: 1 addition & 1 deletion src/api/courseTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export const courseTableAPI = {
},

deleteSchedule(semester) {
if (!semester) return Promise.reject(new Error('semester is required'))
if (!semester) return Promise.reject(new Error('缺少学期信息'))
return del(`/api/v0/coursetable/schedule?semester=${encodeURIComponent(semester)}`)
}
}
7 changes: 1 addition & 6 deletions src/composables/useThemePage.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
import { useThemeStore } from '../stores/theme'

export const useThemePage = () => {
const themeStore = useThemeStore()

// 主题跟随系统,系统切换会重载小程序,这里初始化一次即可。
themeStore.initTheme()

return themeStore
return useThemeStore()
}
1 change: 0 additions & 1 deletion src/pages/achieveprint/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '成绩单打印',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/address/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '快递地址',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/calendar/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '校历',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/competition/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '竞赛',
backgroundColor: '@pageBgColor',
enableShareAppMessage: true,
Expand Down
1 change: 0 additions & 1 deletion src/pages/discover/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '发现',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/exchange/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '交换生',
backgroundColor: '@pageBgColor',
enableShareAppMessage: true,
Expand Down
1 change: 0 additions & 1 deletion src/pages/failrate/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '挂科率',
backgroundColor: '@pageBgColor',
enableShareAppMessage: true,
Expand Down
1 change: 0 additions & 1 deletion src/pages/final-review/detail/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '项目详情',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
4 changes: 2 additions & 2 deletions src/pages/final-review/detail/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -852,8 +852,8 @@ const loadQuestionDetail = async (index, shouldScroll = false) => {
const scrollToQuestion = () => {
try {
// 获取系统信息
const systemInfo = Taro.getSystemInfoSync();
const windowHeight = systemInfo.windowHeight || 667; // 默认值作为备用
const windowInfo = Taro.getWindowInfo();
const windowHeight = windowInfo.windowHeight || 667; // 默认值作为备用

// 创建选择器查询
const query = Taro.createSelectorQuery();
Expand Down
1 change: 0 additions & 1 deletion src/pages/final-review/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '期末复习',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/gotojw/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '教务系统',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/gpa-calculator/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '绩点计算',
backgroundColor: '@pageBgColor',
enableShareAppMessage: true,
Expand Down
28 changes: 15 additions & 13 deletions src/pages/gpa-calculator/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -369,15 +369,17 @@
</view>

<!-- 数据列表 -->
<scroll-view :scroll-y="true" class="-mx-2 px-2 mb-3" style="max-height: 300px;">
<view
v-for="(major, index) in graduateMajorData"
:key="index"
class="grid grid-cols-[2fr_1fr_1fr] gap-2 py-2 border-b border-line"
>
<text class="text-fg text-xs leading-tight">{{ major.name }}</text>
<text class="text-brand text-xs font-medium text-center">{{ major.gpa }}</text>
<text class="text-fg-muted text-xs text-center">{{ major.bonus }}</text>
<scroll-view :scroll-y="true" class="-mx-2 mb-3" style="max-height: 300px;">
<view class="px-2">
<view
v-for="(major, index) in graduateMajorData"
:key="index"
class="grid grid-cols-[2fr_1fr_1fr] gap-2 py-2 border-b border-line"
>
<text class="text-fg text-xs leading-tight">{{ major.name }}</text>
<text class="text-brand text-xs font-medium text-center">{{ major.gpa }}</text>
<text class="text-fg-muted text-xs text-center">{{ major.bonus }}</text>
</view>
</view>
</scroll-view>

Expand Down Expand Up @@ -915,7 +917,7 @@ const switchToLocalData = () => {
closeBackupModal()

Taro.showToast({
title: '已切回本地数据',
title: '已切回本地',
icon: 'success'
})
}
Expand Down Expand Up @@ -1104,7 +1106,7 @@ const uploadCurrentLocalBackup = async () => {
await gpaAPI.createBackup(buildBackupPayload())
await loadBackupList()
Taro.showToast({
title: '备份上传成功',
title: '上传成功',
icon: 'success'
})
} catch (error) {
Expand Down Expand Up @@ -1187,7 +1189,7 @@ const deleteBackupItem = async (backupId) => {
}

Taro.showToast({
title: '备份已删除',
title: '已删除',
icon: 'success'
})
} catch (error) {
Expand Down Expand Up @@ -1233,7 +1235,7 @@ const restoreBackupItem = async (backupId, { overwriteLocal = false } = {}) => {
closeBackupModal()

Taro.showToast({
title: overwriteLocal ? '已覆盖本地数据' : '已切换到备份',
title: overwriteLocal ? '已覆盖' : '已切换',
icon: 'success'
})
} catch (error) {
Expand Down
1 change: 0 additions & 1 deletion src/pages/graduation/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '毕业条件',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/groupchat/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '群聊推荐',
backgroundColor: '@pageBgColor',
enableShareAppMessage: true,
Expand Down
2 changes: 1 addition & 1 deletion src/pages/groupchat/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ const copyGroupId = async (groupId, groupName) => {
});

Taro.showToast({
title: `${groupName} 群号已复制`,
title: '群号已复制',
icon: "success",
duration: 2000
});
Expand Down
1 change: 0 additions & 1 deletion src/pages/hero/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '英雄榜',
backgroundColor: '@pageBgColor',
enableShareAppMessage: true,
Expand Down
2 changes: 1 addition & 1 deletion src/pages/home/components/StudyTaskCard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -809,7 +809,7 @@ const toggleTaskStatus = async (taskId) => {
await studyTaskStore.updateStudyTask(taskId, updateData);

Taro.showToast({
title: "状态更新成功",
title: "已更新",
icon: "success",
duration: 1000,
});
Expand Down
1 change: 0 additions & 1 deletion src/pages/home/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '首页',
backgroundColor: '@pageBgColor',
enableShareAppMessage: true,
Expand Down
2 changes: 1 addition & 1 deletion src/pages/home/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ const saveOrder = () => {
const resetOrder = () => {
sortableCards.value = [...defaultCards]
Taro.showToast({
title: '已恢复默认顺序',
title: '已恢复默认',
icon: 'success'
})
}
Expand Down
1 change: 0 additions & 1 deletion src/pages/login/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '登录',
navigationBarBackgroundColor: '@navBgColor',
navigationBarTextStyle: '@navTxtStyle',
Expand Down
1 change: 0 additions & 1 deletion src/pages/major-transfer/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '转专业',
backgroundColor: '@pageBgColor',
enableShareAppMessage: true,
Expand Down
6 changes: 3 additions & 3 deletions src/pages/major-transfer/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -711,7 +711,7 @@ const handleAttachmentTap = async (notice) => {
try {
await Taro.setClipboardData({ data: copyText })
Taro.showToast({
title: '网址已复制成功',
title: '已复制',
icon: 'success',
duration: 2000,
})
Expand Down Expand Up @@ -1133,8 +1133,8 @@ const measureChartWidth = () => new Promise((resolve) => {
return
}

const systemInfo = Taro.getSystemInfoSync()
chartWidth.value = Math.max(280, Math.floor((systemInfo.windowWidth || 375) - 56))
const windowInfo = Taro.getWindowInfo()
chartWidth.value = Math.max(280, Math.floor((windowInfo.windowWidth || 375) - 56))
Comment on lines +1136 to +1137

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Calling Taro.getWindowInfo() directly without a try-catch block or a fallback check can cause runtime crashes on older WeChat clients or non-WeChat platforms where this API is not supported.

To ensure maximum compatibility and robustness, wrap the call in a try-catch block and fall back to Taro.getSystemInfoSync() or a default value if Taro.getWindowInfo is unavailable.

    let windowWidth = 375
    try {
      if (typeof Taro.getWindowInfo === 'function') {
        windowWidth = Taro.getWindowInfo().windowWidth || 375
      } else if (typeof Taro.getSystemInfoSync === 'function') {
        windowWidth = Taro.getSystemInfoSync().windowWidth || 375
      }
    } catch (error) {
      console.warn('Failed to get window width:', error)
    }
    chartWidth.value = Math.max(280, Math.floor(windowWidth - 56))

resolve(chartWidth.value)
})
})
Expand Down
1 change: 0 additions & 1 deletion src/pages/map/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '校园地图',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/materials/detail/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '资料详情',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
2 changes: 1 addition & 1 deletion src/pages/materials/detail/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ const openExternalLink = () => {
data: material.value.external_link,
success: () => {
Taro.showToast({
title: '请到浏览器粘贴使用',
title: '已复制链接',
icon: 'success'
})
}
Expand Down
1 change: 0 additions & 1 deletion src/pages/materials/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '资料库',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/notifications/detail/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '信息详情',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
3 changes: 2 additions & 1 deletion src/pages/notifications/detail/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ import { ref, computed, onMounted } from 'vue'
import Taro from '@tarojs/taro'
import { useNotificationStore } from '../../../stores/notifications'
import SkeletonDetail from '../../../components/SkeletonDetail.vue'
import { safeNavigateBack } from '../../../utils/index'

const themeStore = useThemePage()

Expand Down Expand Up @@ -308,7 +309,7 @@ const formatDateTime = (dateString) => {
}

const goBack = () => {
Taro.navigateBack()
safeNavigateBack('/pages/notifications/index')
}

Taro.useShareAppMessage((res) => {
Expand Down
1 change: 0 additions & 1 deletion src/pages/notifications/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '信息海洋',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/organization/detail/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '组织详情',
backgroundColor: '@pageBgColor',
enableShareAppMessage: true,
Expand Down
3 changes: 2 additions & 1 deletion src/pages/organization/detail/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ import { useThemePage } from '../../../composables/useThemePage'
import { onMounted, ref } from 'vue'
import Taro from '@tarojs/taro'
import { organizationAPI } from '../../../api'
import { safeNavigateBack } from '../../../utils/index'

const themeStore = useThemePage()

Expand Down Expand Up @@ -155,7 +156,7 @@ const copyContact = async () => {
}

const goBack = () => {
Taro.navigateBack()
safeNavigateBack('/pages/organization/index')
}

onMounted(() => {
Expand Down
1 change: 0 additions & 1 deletion src/pages/organization/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '组织',
backgroundColor: '@pageBgColor',
enableShareAppMessage: true,
Expand Down
1 change: 0 additions & 1 deletion src/pages/points/index.config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '我的积分'
}
1 change: 0 additions & 1 deletion src/pages/profile/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '我的',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/qualification/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '考级考证',
backgroundColor: '@pageBgColor',
enableShareAppMessage: true,
Expand Down
2 changes: 1 addition & 1 deletion src/pages/schedule/components/CourseDetailModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ ${currentCourse.value.class ? `班级:${currentCourse.value.class}` : ''}
data: info,
success: () => {
Taro.showToast({
title: '已复制到剪贴板',
title: '已复制',
icon: 'success'
})
}
Expand Down
1 change: 0 additions & 1 deletion src/pages/schedule/index.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '一起来学课程表',
enableShareAppMessage: true,
enableShareTimeline: true
Expand Down
1 change: 0 additions & 1 deletion src/pages/schedule/schedule-bind/index.config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export default {
enablePageMeta: true,
navigationBarTitleText: '绑定班级'
}
Loading