diff --git a/src/i18n/lang/en-US/user.ts b/src/i18n/lang/en-US/user.ts index b933803..49b7f5d 100644 --- a/src/i18n/lang/en-US/user.ts +++ b/src/i18n/lang/en-US/user.ts @@ -18,12 +18,16 @@ export default { viewPlaylist: 'View Playlist', noFollowings: 'No Followings', loadMore: 'Load More', - noSignature: 'This guy is lazy, nothing left' + noSignature: 'This guy is lazy, nothing left', + userFollowsTitle: '\'s Followings', + myFollowsTitle: 'My Followings' }, follower: { title: 'Follower List', noFollowers: 'No Followers', - loadMore: 'Load More' + loadMore: 'Load More', + userFollowersTitle: '\'s Followers', + myFollowersTitle: 'My Followers' }, detail: { playlists: 'Playlists', @@ -32,7 +36,8 @@ export default { noRecords: 'No Listening History', artist: 'Artist', noSignature: 'This guy is lazy, nothing left', - invalidUserId: 'Invalid User ID' + invalidUserId: 'Invalid User ID', + noRecordPermission: '{name} doesn\'t let you see your listening history' }, message: { loadFailed: 'Failed to load user page', diff --git a/src/i18n/lang/zh-CN/user.ts b/src/i18n/lang/zh-CN/user.ts index 840d6f6..cb847a4 100644 --- a/src/i18n/lang/zh-CN/user.ts +++ b/src/i18n/lang/zh-CN/user.ts @@ -18,12 +18,16 @@ export default { viewPlaylist: '查看歌单', noFollowings: '暂无关注', loadMore: '加载更多', - noSignature: '这个家伙很懒,什么都没留下' + noSignature: '这个家伙很懒,什么都没留下', + userFollowsTitle: '的关注', + myFollowsTitle: '我的关注' }, follower: { title: '粉丝列表', noFollowers: '暂无粉丝', - loadMore: '加载更多' + loadMore: '加载更多', + userFollowersTitle: '的粉丝', + myFollowersTitle: '我的粉丝' }, detail: { playlists: '歌单', @@ -32,7 +36,8 @@ export default { noRecords: '暂无听歌记录', artist: '歌手', noSignature: '这个人很懒,什么都没留下', - invalidUserId: '用户ID无效' + invalidUserId: '用户ID无效', + noRecordPermission: '{name}不让你看听歌排行' }, message: { loadFailed: '加载用户页面失败', diff --git a/src/renderer/api/user.ts b/src/renderer/api/user.ts index 2c4d125..2fda64f 100644 --- a/src/renderer/api/user.ts +++ b/src/renderer/api/user.ts @@ -14,7 +14,11 @@ export function getUserPlaylist(uid: number, limit: number = 30, offset: number // 播放历史 // /user/record?uid=32953014&type=1 export function getUserRecord(uid: number, type: number = 0) { - return request.get('/user/record', { params: { uid, type } }); + + return request.get('/user/record', { + params: { uid, type }, + noRetry: true + } as any); } // 获取用户关注列表 diff --git a/src/renderer/router/other.ts b/src/renderer/router/other.ts index f76196e..6a78ab3 100644 --- a/src/renderer/router/other.ts +++ b/src/renderer/router/other.ts @@ -4,7 +4,7 @@ const otherRouter = [ name: 'userFollows', meta: { title: '关注列表', - keepAlive: true, + keepAlive: false, showInMenu: false, back: true }, @@ -15,7 +15,7 @@ const otherRouter = [ name: 'userFollowers', meta: { title: '粉丝列表', - keepAlive: true, + keepAlive: false, showInMenu: false, back: true }, @@ -26,7 +26,7 @@ const otherRouter = [ name: 'userDetail', meta: { title: '用户详情', - keepAlive: true, + keepAlive: false, showInMenu: false, back: true }, diff --git a/src/renderer/utils/request.ts b/src/renderer/utils/request.ts index da70352..bc7eb8e 100644 --- a/src/renderer/utils/request.ts +++ b/src/renderer/utils/request.ts @@ -2,13 +2,14 @@ import axios, { InternalAxiosRequestConfig } from 'axios'; import { useUserStore } from '@/store/modules/user'; -import { getSetData, isElectron } from '.'; +import { getSetData, isElectron, isMobile } from '.'; let setData: any = null; // 扩展请求配置接口 interface CustomAxiosRequestConfig extends InternalAxiosRequestConfig { retryCount?: number; + noRetry?: boolean; } const baseURL = window.electron @@ -22,7 +23,7 @@ const request = axios.create({ }); // 最大重试次数 -const MAX_RETRIES = 3; +const MAX_RETRIES = 1; // 重试延迟(毫秒) const RETRY_DELAY = 500; @@ -42,7 +43,8 @@ request.interceptors.request.use( // 在get请求params中添加timestamp config.params = { ...config.params, - timestamp: Date.now() + timestamp: Date.now(), + device: isElectron ? 'pc' : isMobile ? 'mobile' : 'web' }; const token = localStorage.getItem('token'); if (token && config.method !== 'post') { @@ -100,7 +102,8 @@ request.interceptors.response.use( if ( config.retryCount !== undefined && config.retryCount < MAX_RETRIES && - !NO_RETRY_URLS.includes(config.url as string) + !NO_RETRY_URLS.includes(config.url as string) && + !config.noRetry ) { config.retryCount++; console.error(`请求重试第 ${config.retryCount} 次`); diff --git a/src/renderer/views/user/detail.vue b/src/renderer/views/user/detail.vue index 77ba3cd..f580fca 100644 --- a/src/renderer/views/user/detail.vue +++ b/src/renderer/views/user/detail.vue @@ -26,11 +26,11 @@
-
+ -