登录过期不跳转问题
This commit is contained in:
@@ -18,9 +18,9 @@ namespace dy.net.Controllers
|
|||||||
private readonly IWebHostEnvironment webHostEnvironment;
|
private readonly IWebHostEnvironment webHostEnvironment;
|
||||||
|
|
||||||
private readonly AdminUserService _userService;
|
private readonly AdminUserService _userService;
|
||||||
public AuthController(AdminUserService userService, IWebHostEnvironment webHostEnvironment )
|
public AuthController(AdminUserService userService, IWebHostEnvironment webHostEnvironment)
|
||||||
{
|
{
|
||||||
_userService=userService;
|
_userService = userService;
|
||||||
this.webHostEnvironment = webHostEnvironment;
|
this.webHostEnvironment = webHostEnvironment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,13 +39,15 @@ namespace dy.net.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
[Authorize]
|
/// 获取头像
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<IActionResult> GetUserAvatar()
|
public async Task<IActionResult> GetUserAvatar()
|
||||||
{
|
{
|
||||||
var user = await _userService.GetUser();
|
var user = await _userService.GetUser();
|
||||||
return Ok(new { code = 0, error = "", data = new { user?.Avatar, user?.Id,user?.UserName } });
|
return Ok(new { code = 0, error = "", data = new { user?.Avatar, user?.Id, user?.UserName } });
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -85,7 +87,7 @@ namespace dy.net.Controllers
|
|||||||
{
|
{
|
||||||
Serilog.Log.Error($"delete file error ,{ex.Message}");
|
Serilog.Log.Error($"delete file error ,{ex.Message}");
|
||||||
}
|
}
|
||||||
var update = await _userService.UpdateAvatar( fileName);
|
var update = await _userService.UpdateAvatar(fileName);
|
||||||
|
|
||||||
return Ok(new { code = update ? 0 : -1, erro = update ? "" : "上传失败", data = update ? fileName : "" });
|
return Ok(new { code = update ? 0 : -1, erro = update ? "" : "上传失败", data = update ? fileName : "" });
|
||||||
}
|
}
|
||||||
@@ -136,7 +138,7 @@ namespace dy.net.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private string GenerateJwtToken(string username)
|
private static string GenerateJwtToken(string username)
|
||||||
{
|
{
|
||||||
var claims = new[]
|
var claims = new[]
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ namespace dy.net.Controllers
|
|||||||
{
|
{
|
||||||
[Route("api/[controller]")]
|
[Route("api/[controller]")]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
|
[Authorize]
|
||||||
public class ConfigController : ControllerBase
|
public class ConfigController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly DouyinCookieService dyCookieService;
|
private readonly DouyinCookieService dyCookieService;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using dy.net.model;
|
using dy.net.model;
|
||||||
using dy.net.service;
|
using dy.net.service;
|
||||||
using dy.net.utils;
|
using dy.net.utils;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
@@ -9,6 +10,7 @@ namespace dy.net.Controllers
|
|||||||
{
|
{
|
||||||
[Route("api/[controller]")]
|
[Route("api/[controller]")]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
|
[Authorize]
|
||||||
public class FollowController : ControllerBase
|
public class FollowController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly DouyinFollowService _douyinFollowService;
|
private readonly DouyinFollowService _douyinFollowService;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -4,15 +4,12 @@ using dy.net.service;
|
|||||||
using dy.net.utils;
|
using dy.net.utils;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc.Formatters;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using System.Drawing.Printing;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace dy.net.Controllers
|
namespace dy.net.Controllers
|
||||||
{
|
{
|
||||||
[Route("api/[controller]")]
|
[Route("api/[controller]")]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
|
[Authorize]
|
||||||
public class VideoController : ControllerBase
|
public class VideoController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly DouyinVideoService dyCollectVideoService;
|
private readonly DouyinVideoService dyCollectVideoService;
|
||||||
|
|||||||
+1
-1
@@ -197,7 +197,7 @@ ____/ _|_)_____/ _| _| \_|\____|
|
|||||||
// 重置博主作品同步状态为未同步
|
// 重置博主作品同步状态为未同步
|
||||||
commonService.UpdateAllCookieSyncedToZero();
|
commonService.UpdateAllCookieSyncedToZero();
|
||||||
|
|
||||||
//if (!isDevelopment)
|
if (!isDevelopment)
|
||||||
{
|
{
|
||||||
// 启动定时任务
|
// 启动定时任务
|
||||||
var quartzJobService = services.GetRequiredService<DouyinQuartzJobService>();
|
var quartzJobService = services.GetRequiredService<DouyinQuartzJobService>();
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||||||
<Project>
|
<Project>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_PublishTargetUrl>E:\code\dysync\bin\Release\net6.0\publish\</_PublishTargetUrl>
|
<_PublishTargetUrl>E:\code\dysync\bin\Release\net6.0\publish\</_PublishTargetUrl>
|
||||||
<History>True|2025-12-04T13:58:29.4112766Z||;True|2025-12-04T21:58:10.0382218+08:00||;True|2025-12-04T21:57:55.3894059+08:00||;True|2025-12-04T21:10:38.8943797+08:00||;True|2025-12-04T21:09:31.5024569+08:00||;True|2025-12-04T08:22:47.9617427+08:00||;False|2025-12-04T08:22:41.3759733+08:00||;True|2025-12-04T08:14:02.2478893+08:00||;True|2025-12-04T07:57:00.2208139+08:00||;True|2025-12-03T23:58:13.3693303+08:00||;True|2025-12-03T23:57:40.4257893+08:00||;True|2025-12-03T23:56:38.8717769+08:00||;True|2025-12-03T23:56:24.0663568+08:00||;False|2025-12-03T23:55:36.1902974+08:00||;True|2025-12-03T23:51:30.6688504+08:00||;True|2025-12-03T23:34:17.1648971+08:00||;False|2025-12-03T23:34:07.7649161+08:00||;True|2025-12-03T22:32:56.2435003+08:00||;True|2025-12-03T22:27:45.6059666+08:00||;True|2025-12-03T15:55:28.0186597+08:00||;False|2025-12-03T15:54:17.5032724+08:00||;True|2025-12-03T15:53:10.2273509+08:00||;True|2025-12-02T22:11:37.4645042+08:00||;False|2025-12-02T22:10:47.1320259+08:00||;True|2025-12-02T14:39:58.8932130+08:00||;True|2025-12-02T14:36:37.1529072+08:00||;True|2025-12-02T12:58:22.0951548+08:00||;True|2025-12-02T09:30:33.7066474+08:00||;True|2025-12-02T09:30:14.5481844+08:00||;True|2025-12-02T09:30:00.3123364+08:00||;False|2025-12-02T09:29:54.4615520+08:00||;True|2025-12-02T09:13:01.7995414+08:00||;False|2025-12-02T09:12:55.8360281+08:00||;True|2025-12-02T09:12:31.0156791+08:00||;True|2025-12-02T08:55:11.3773395+08:00||;True|2025-12-02T08:53:21.3927713+08:00||;False|2025-12-02T08:48:55.8638037+08:00||;True|2025-12-02T07:29:25.2192447+08:00||;False|2025-12-02T07:29:10.2504665+08:00||;True|2025-12-02T07:28:29.0769286+08:00||;True|2025-12-01T21:53:07.6474834+08:00||;True|2025-12-01T21:44:28.1674315+08:00||;True|2025-12-01T21:18:47.2119609+08:00||;True|2025-12-01T20:51:19.9948301+08:00||;True|2025-12-01T20:50:36.9904697+08:00||;True|2025-12-01T20:44:10.1695142+08:00||;True|2025-12-01T19:27:58.0479456+08:00||;True|2025-12-01T19:16:02.2288214+08:00||;False|2025-12-01T19:15:56.0372115+08:00||;True|2025-12-01T19:15:16.4854821+08:00||;False|2025-12-01T19:15:06.7001019+08:00||;True|2025-12-01T17:10:38.9739466+08:00||;False|2025-12-01T17:10:18.8928139+08:00||;True|2025-12-01T17:03:59.3171589+08:00||;True|2025-12-01T17:03:12.5681656+08:00||;True|2025-12-01T16:42:51.4415025+08:00||;True|2025-12-01T01:29:59.6975567+08:00||;True|2025-12-01T01:29:45.1898652+08:00||;False|2025-12-01T01:29:33.1787721+08:00||;True|2025-12-01T01:27:33.1297605+08:00||;True|2025-12-01T01:27:27.3976862+08:00||;False|2025-12-01T01:27:20.5193052+08:00||;True|2025-12-01T01:11:11.0210582+08:00||;True|2025-12-01T01:04:04.3307782+08:00||;True|2025-12-01T00:55:49.8018864+08:00||;True|2025-12-01T00:27:25.1323561+08:00||;True|2025-11-30T23:58:20.7284116+08:00||;True|2025-11-30T23:57:58.3027622+08:00||;True|2025-11-30T23:57:43.0829614+08:00||;False|2025-11-30T23:57:33.5606716+08:00||;True|2025-11-30T23:54:29.6203368+08:00||;True|2025-11-30T23:54:27.5383120+08:00||;False|2025-11-30T23:54:17.0823982+08:00||;True|2025-11-30T22:41:11.4538820+08:00||;True|2025-11-30T22:38:19.7064566+08:00||;True|2025-11-30T22:37:35.2889186+08:00||;True|2025-11-30T21:42:31.1408314+08:00||;True|2025-11-30T21:42:19.5385333+08:00||;False|2025-11-30T21:42:13.3290237+08:00||;True|2025-11-30T21:33:28.0806806+08:00||;True|2025-11-30T21:16:56.7088027+08:00||;False|2025-11-30T21:16:46.1444944+08:00||;True|2025-11-30T20:21:24.4059664+08:00||;False|2025-11-30T20:21:17.6006098+08:00||;True|2025-11-30T20:20:08.2030141+08:00||;False|2025-11-30T20:16:12.3608968+08:00||;True|2025-11-30T20:15:35.6048313+08:00||;True|2025-11-30T19:45:18.7229552+08:00||;True|2025-11-30T19:45:08.6083368+08:00||;False|2025-11-30T19:44:54.7824905+08:00||;True|2025-11-30T19:44:17.0179491+08:00||;True|2025-11-30T19:44:06.7073484+08:00||;False|2025-11-30T19:43:58.2896556+08:00||;True|2025-11-30T19:42:08.2261927+08:00||;True|2025-11-30T19:28:15.7115077+08:00||;False|2025-11-30T19:28:10.2280725+08:00||;True|2025-11-30T19:23:31.7859158+08:00||;True|2025-11-30T19:23:20.7788277+08:00||;True|2025-11-30T19:17:11.8583296+08:00||;False|2025-11-30T19:10:41.8369574+08:00||;</History>
|
<History>True|2025-12-05T00:22:51.7343317Z||;True|2025-12-05T08:20:32.0383739+08:00||;True|2025-12-04T21:58:29.4112766+08:00||;True|2025-12-04T21:58:10.0382218+08:00||;True|2025-12-04T21:57:55.3894059+08:00||;True|2025-12-04T21:10:38.8943797+08:00||;True|2025-12-04T21:09:31.5024569+08:00||;True|2025-12-04T08:22:47.9617427+08:00||;False|2025-12-04T08:22:41.3759733+08:00||;True|2025-12-04T08:14:02.2478893+08:00||;True|2025-12-04T07:57:00.2208139+08:00||;True|2025-12-03T23:58:13.3693303+08:00||;True|2025-12-03T23:57:40.4257893+08:00||;True|2025-12-03T23:56:38.8717769+08:00||;True|2025-12-03T23:56:24.0663568+08:00||;False|2025-12-03T23:55:36.1902974+08:00||;True|2025-12-03T23:51:30.6688504+08:00||;True|2025-12-03T23:34:17.1648971+08:00||;False|2025-12-03T23:34:07.7649161+08:00||;True|2025-12-03T22:32:56.2435003+08:00||;True|2025-12-03T22:27:45.6059666+08:00||;True|2025-12-03T15:55:28.0186597+08:00||;False|2025-12-03T15:54:17.5032724+08:00||;True|2025-12-03T15:53:10.2273509+08:00||;True|2025-12-02T22:11:37.4645042+08:00||;False|2025-12-02T22:10:47.1320259+08:00||;True|2025-12-02T14:39:58.8932130+08:00||;True|2025-12-02T14:36:37.1529072+08:00||;True|2025-12-02T12:58:22.0951548+08:00||;True|2025-12-02T09:30:33.7066474+08:00||;True|2025-12-02T09:30:14.5481844+08:00||;True|2025-12-02T09:30:00.3123364+08:00||;False|2025-12-02T09:29:54.4615520+08:00||;True|2025-12-02T09:13:01.7995414+08:00||;False|2025-12-02T09:12:55.8360281+08:00||;True|2025-12-02T09:12:31.0156791+08:00||;True|2025-12-02T08:55:11.3773395+08:00||;True|2025-12-02T08:53:21.3927713+08:00||;False|2025-12-02T08:48:55.8638037+08:00||;True|2025-12-02T07:29:25.2192447+08:00||;False|2025-12-02T07:29:10.2504665+08:00||;True|2025-12-02T07:28:29.0769286+08:00||;True|2025-12-01T21:53:07.6474834+08:00||;True|2025-12-01T21:44:28.1674315+08:00||;True|2025-12-01T21:18:47.2119609+08:00||;True|2025-12-01T20:51:19.9948301+08:00||;True|2025-12-01T20:50:36.9904697+08:00||;True|2025-12-01T20:44:10.1695142+08:00||;True|2025-12-01T19:27:58.0479456+08:00||;True|2025-12-01T19:16:02.2288214+08:00||;False|2025-12-01T19:15:56.0372115+08:00||;True|2025-12-01T19:15:16.4854821+08:00||;False|2025-12-01T19:15:06.7001019+08:00||;True|2025-12-01T17:10:38.9739466+08:00||;False|2025-12-01T17:10:18.8928139+08:00||;True|2025-12-01T17:03:59.3171589+08:00||;True|2025-12-01T17:03:12.5681656+08:00||;True|2025-12-01T16:42:51.4415025+08:00||;True|2025-12-01T01:29:59.6975567+08:00||;True|2025-12-01T01:29:45.1898652+08:00||;False|2025-12-01T01:29:33.1787721+08:00||;True|2025-12-01T01:27:33.1297605+08:00||;True|2025-12-01T01:27:27.3976862+08:00||;False|2025-12-01T01:27:20.5193052+08:00||;True|2025-12-01T01:11:11.0210582+08:00||;True|2025-12-01T01:04:04.3307782+08:00||;True|2025-12-01T00:55:49.8018864+08:00||;True|2025-12-01T00:27:25.1323561+08:00||;True|2025-11-30T23:58:20.7284116+08:00||;True|2025-11-30T23:57:58.3027622+08:00||;True|2025-11-30T23:57:43.0829614+08:00||;False|2025-11-30T23:57:33.5606716+08:00||;True|2025-11-30T23:54:29.6203368+08:00||;True|2025-11-30T23:54:27.5383120+08:00||;False|2025-11-30T23:54:17.0823982+08:00||;True|2025-11-30T22:41:11.4538820+08:00||;True|2025-11-30T22:38:19.7064566+08:00||;True|2025-11-30T22:37:35.2889186+08:00||;True|2025-11-30T21:42:31.1408314+08:00||;True|2025-11-30T21:42:19.5385333+08:00||;False|2025-11-30T21:42:13.3290237+08:00||;True|2025-11-30T21:33:28.0806806+08:00||;True|2025-11-30T21:16:56.7088027+08:00||;False|2025-11-30T21:16:46.1444944+08:00||;True|2025-11-30T20:21:24.4059664+08:00||;False|2025-11-30T20:21:17.6006098+08:00||;True|2025-11-30T20:20:08.2030141+08:00||;False|2025-11-30T20:16:12.3608968+08:00||;True|2025-11-30T20:15:35.6048313+08:00||;True|2025-11-30T19:45:18.7229552+08:00||;True|2025-11-30T19:45:08.6083368+08:00||;False|2025-11-30T19:44:54.7824905+08:00||;True|2025-11-30T19:44:17.0179491+08:00||;True|2025-11-30T19:44:06.7073484+08:00||;False|2025-11-30T19:43:58.2896556+08:00||;True|2025-11-30T19:42:08.2261927+08:00||;True|2025-11-30T19:28:15.7115077+08:00||;False|2025-11-30T19:28:10.2280725+08:00||;True|2025-11-30T19:23:31.7859158+08:00||;True|2025-11-30T19:23:20.7788277+08:00||;</History>
|
||||||
<LastFailureDetails />
|
<LastFailureDetails />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ watch(
|
|||||||
watch(
|
watch(
|
||||||
_value,
|
_value,
|
||||||
(newMode) => {
|
(newMode) => {
|
||||||
console.log('mode switched to:', newMode);
|
// console.log('mode switched to:', newMode);
|
||||||
if (typeof window !== 'undefined') {
|
if (typeof window !== 'undefined') {
|
||||||
localStorage.setItem(STORAGE_KEY, newMode);
|
localStorage.setItem(STORAGE_KEY, newMode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ const router = createRouter(
|
|||||||
routes,
|
routes,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
console.log(router)
|
// console.log(router)
|
||||||
// 注册导航守卫
|
// 注册导航守卫
|
||||||
guards.before.forEach(router.beforeEach);
|
guards.before.forEach(router.beforeEach);
|
||||||
guards.after.forEach(router.afterEach);
|
guards.after.forEach(router.afterEach);
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ export const useAccountStore = defineStore('account', {
|
|||||||
if (response.code === 200 && response.data.code === 0) {
|
if (response.code === 200 && response.data.code === 0) {
|
||||||
this.logged = true;
|
this.logged = true;
|
||||||
this.logged2 = true
|
this.logged2 = true
|
||||||
console.log(response)
|
// console.log(response)
|
||||||
http.setAuthorization(`Bearer ${response.data.token}`, response.data.expires);
|
http.setAuthorization(`Bearer ${response.data.token}`, response.data.expires);
|
||||||
// await useMenuStore().getMenuList();
|
// await useMenuStore().getMenuList();
|
||||||
return response.data;
|
return response.data;
|
||||||
|
|||||||
+21
-9
@@ -3,7 +3,8 @@ import createHttp from '@/utils/axiosHttp';
|
|||||||
import { isResponse } from '@/types';
|
import { isResponse } from '@/types';
|
||||||
import NProgress from 'nprogress';
|
import NProgress from 'nprogress';
|
||||||
import { useAccountStore } from '@/store';
|
import { useAccountStore } from '@/store';
|
||||||
|
import { message } from 'ant-design-vue';
|
||||||
|
import router from '@/router'; // 关键:导入路由实例(路径要和实际一致)
|
||||||
const http = createHttp({
|
const http = createHttp({
|
||||||
timeout: 60000,
|
timeout: 60000,
|
||||||
baseURL: '/',
|
baseURL: '/',
|
||||||
@@ -28,21 +29,32 @@ http.interceptors.request.use((req: AxiosRequestConfig) => {
|
|||||||
http.interceptors.response.use(
|
http.interceptors.response.use(
|
||||||
(rep: AxiosResponse<String>) => {
|
(rep: AxiosResponse<String>) => {
|
||||||
const { data } = rep;
|
const { data } = rep;
|
||||||
// if (data.code != null)
|
|
||||||
// console.log(data)
|
|
||||||
// if (data.code === 401) {
|
|
||||||
// console.log(data)
|
|
||||||
// }
|
|
||||||
if (isResponse(data)) {
|
if (isResponse(data)) {
|
||||||
return data.code === 0 ? data : Promise.reject(data);
|
return data.code === 0 ? data : Promise.reject(data);
|
||||||
}
|
}
|
||||||
return Promise.reject({ message: rep.statusText, code: rep.status, data });
|
return Promise.reject({ message: rep.statusText, code: rep.status, data });
|
||||||
},
|
},
|
||||||
(error) => {
|
(error) => {
|
||||||
// console.log(error)
|
|
||||||
// debugger
|
|
||||||
if (error.response.status === 401) {
|
if (error.response.status === 401) {
|
||||||
useAccountStore().setLogged(false)
|
const accountStore = useAccountStore();
|
||||||
|
// 1. 清除登录状态
|
||||||
|
accountStore.setLogged(false);
|
||||||
|
// 可选:提示用户登录过期
|
||||||
|
message.warning('登录状态已过期,请重新登录'); // 如使用Element Plus
|
||||||
|
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
const redirectPath = router.currentRoute.value.fullPath;
|
||||||
|
router.push({
|
||||||
|
path: '/login',
|
||||||
|
query: { redirect: redirectPath }
|
||||||
|
}).then(() => {
|
||||||
|
console.log('跳转登录页成功');
|
||||||
|
}).catch((err) => {
|
||||||
|
console.error('跳转登录页失败:', err); // 关键!捕获跳转失败的原因
|
||||||
|
});
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (error.response && isAxiosResponse(error.response)) {
|
if (error.response && isAxiosResponse(error.response)) {
|
||||||
return Promise.reject({
|
return Promise.reject({
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"dbconn": "",
|
"dbconn": "",
|
||||||
"dbtype": "Sqlite",
|
"dbtype": "Sqlite",
|
||||||
"tagName": "beta_1.7.6",
|
"tagName": "beta_1.7.7",
|
||||||
//"tagName": "dev_1.2"
|
//"tagName": "dev_1.2"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user