结构调整

This commit is contained in:
jianzhichu
2026-01-19 09:57:40 +08:00
parent d9cb721f64
commit f5449f3ace
77 changed files with 4060 additions and 1516 deletions
+2 -50
View File
@@ -7,7 +7,7 @@ using System.Security.Claims;
using System.Text;
using dy.net.service;
using dy.net.utils;
using dy.net.dto;
using dy.net.model.dto;
namespace dy.net.Controllers
{
@@ -50,55 +50,7 @@ namespace dy.net.Controllers
return ApiResult.Success(new { user?.Avatar, user?.Id, user?.UserName });
}
/// <summary>
/// 修改用户头像
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
[Authorize]
[HttpPost]
public async Task<IActionResult> UpdateUserAvatar(IFormFile file)
{
if (file != null && file.Length > 0)
{
long maxFileSize = 5 * 1024 * 1024; // 限制文件大小为5MB
if (file.Length > maxFileSize)
{
return ApiResult.Fail("文件最大只能上传5M");
}
var fileName = $"{IdGener.GetGuid()}_{file.FileName}";
var filePath = webHostEnvironment.IsProduction() ?
Path.Combine(Md5Util.UPLOAD_PATH_PRO, fileName) : Path.Combine(Md5Util.UPLOAD_PATH_DEV, fileName);
using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream);
try
{
// 问了节约空间,删除文件夹下的所有文件
string[] files = Directory.GetFiles(webHostEnvironment.IsProduction() ? Md5Util.UPLOAD_PATH_PRO : Md5Util.UPLOAD_PATH_DEV);
foreach (string mfile in files)
{
if (!mfile.Contains(fileName))
System.IO.File.Delete(mfile);
}
}
catch (Exception ex)
{
Serilog.Log.Error($"delete file error ,{ex.Message}");
return ApiResult.Fail(ex.Message);
}
var update = await _userService.UpdateAvatar(fileName);
return ApiResult.SuccOrFail(update , update ? fileName : "", update ? "" : "上传失败");
}
}
else
{
return ApiResult.Fail("无效的文件");
}
}
/// <summary>
+24 -29
View File
@@ -1,7 +1,7 @@
using ClockSnowFlake;
using dy.net.dto;
using dy.net.extension;
using dy.net.model;
using dy.net.model.dto;
using dy.net.model.entity;
using dy.net.service;
using dy.net.utils;
using dy.sync.lib;
@@ -28,26 +28,18 @@ namespace dy.net.Controllers
private readonly DouyinQuartzJobService quartzJobService;
private readonly DouyinFollowService douyinFollowService;
private readonly DouyinCookieService douyinCookieService;
//// 定义允许上传的音频扩展名(小写)
//private readonly string[] _allowedAudioExtensions = { ".mp3", ".wav" };
//// 定义允许的音频 MIME 类型(增强验证)
//private readonly string[] _allowedAudioMimeTypes = {
// "audio/mpeg", "audio/wav"
//};
// 最大文件大小:20MB(可根据需求调整)
//private const long _maxFileSize = 20 * 1024 * 1024;
private readonly DouyinHttpClientService httpClientService;
public ConfigController(DouyinCookieService dyCookieService, DouyinCommonService commonService, DouyinQuartzJobService quartzJobService, DouyinFollowService douyinFollowService, DouyinCookieService douyinCookieService)
public ConfigController(DouyinCookieService dyCookieService, DouyinCommonService commonService, DouyinQuartzJobService quartzJobService, DouyinFollowService douyinFollowService, DouyinCookieService douyinCookieService, DouyinHttpClientService httpClientService)
{
this.dyCookieService = dyCookieService;
this.commonService = commonService;
this.quartzJobService = quartzJobService;
this.douyinFollowService = douyinFollowService;
this.douyinCookieService = douyinCookieService;
this.httpClientService = httpClientService;
}
@@ -161,6 +153,12 @@ namespace dy.net.Controllers
public async Task<IActionResult> AddAsync([FromBody] DouyinCookie dyUserCookies)
{
var checkCk = await httpClientService.CheckCookie(dyUserCookies);
if (!checkCk)
{
return ApiResult.Fail("Cookie无效,请按照文档提示重新获取有效Cookie,不要使用插件获取cookie");
}
var result = await dyCookieService.Add(dyUserCookies);
if (result)
{
@@ -204,29 +202,21 @@ namespace dy.net.Controllers
return ApiResult.Fail($"请在飞牛应用设置里面将{dyUserCookies.ImgSavePath}添加读写权限");
}
var checkCk = await httpClientService.CheckCookie(dyUserCookies);
if (!checkCk)
{
return ApiResult.Fail("Cookie无效,请按照文档提示重新获取有效Cookie,不要使用插件获取cookie");
}
var result = await dyCookieService.Add(dyUserCookies);
if (result)
{
return ApiResult.Success();
}
return ApiResult.Fail("添加失败");
}
/// <summary>
///
/// </summary>
/// <returns></returns>
[HttpGet("appport")]
[AllowAnonymous]
public async Task<IActionResult> GetAppPort()
{
//return ApiResult.Success(10105);
return ApiResult.Success(string.IsNullOrWhiteSpace(Appsettings.Get("appPort")) ? 10101 : Convert.ToInt32(Appsettings.Get("appPort")));
}
/// <summary>
/// 快速开启或停止
@@ -248,6 +238,11 @@ namespace dy.net.Controllers
[HttpPost("update")]
public async Task<IActionResult> UpdateAsync([FromBody] DouyinCookie dyUserCookies)
{
var checkCk = await httpClientService.CheckCookie(dyUserCookies);
if (!checkCk)
{
return ApiResult.Fail("Cookie无效,请按照文档提示重新获取有效Cookie,不要使用插件获取cookie");
}
if (dyUserCookies.Id == "0")
{
+2 -2
View File
@@ -1,5 +1,5 @@
using dy.net.dto;
using dy.net.model;
using dy.net.model.dto;
using dy.net.model.entity;
using dy.net.service;
using dy.net.utils;
using Microsoft.AspNetCore.Authorization;
+1 -1
View File
@@ -1,4 +1,4 @@
using dy.net.dto;
using dy.net.model.dto;
using dy.net.service;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
+2 -2
View File
@@ -1,5 +1,5 @@
using dy.net.dto;
using dy.net.model;
using dy.net.model.dto;
using dy.net.model.entity;
using dy.net.service;
using dy.net.utils;
using Microsoft.AspNetCore.Authorization;