diff --git a/backend/IMTest/bin/Debug/net8.0/IMTest.deps.json b/backend/IMTest/bin/Debug/net8.0/IMTest.deps.json
index 8a8287e..f45fecd 100644
--- a/backend/IMTest/bin/Debug/net8.0/IMTest.deps.json
+++ b/backend/IMTest/bin/Debug/net8.0/IMTest.deps.json
@@ -1002,6 +1002,14 @@
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
+ "SixLabors.ImageSharp/3.1.12": {
+ "runtime": {
+ "lib/net6.0/SixLabors.ImageSharp.dll": {
+ "assemblyVersion": "3.0.0.0",
+ "fileVersion": "3.1.12.0"
+ }
+ }
+ },
"StackExchange.Redis/2.9.32": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.2",
@@ -1692,6 +1700,7 @@
"Newtonsoft.Json": "13.0.4",
"Pomelo.EntityFrameworkCore.MySql": "8.0.3",
"RedLock.net": "2.3.2",
+ "SixLabors.ImageSharp": "3.1.12",
"StackExchange.Redis": "2.9.32",
"Swashbuckle.AspNetCore": "6.6.2",
"System.IdentityModel.Tokens.Jwt": "8.14.0"
@@ -2362,6 +2371,13 @@
"path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
"hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
},
+ "SixLabors.ImageSharp/3.1.12": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-iAg6zifihXEFS/t7fiHhZBGAdCp3FavsF4i2ZIDp0JfeYeDVzvmlbY1CNhhIKimaIzrzSi5M/NBFcWvZT2rB/A==",
+ "path": "sixlabors.imagesharp/3.1.12",
+ "hashPath": "sixlabors.imagesharp.3.1.12.nupkg.sha512"
+ },
"StackExchange.Redis/2.9.32": {
"type": "package",
"serviceable": true,
diff --git a/backend/IMTest/bin/Debug/net8.0/IMTest.dll b/backend/IMTest/bin/Debug/net8.0/IMTest.dll
index a0cda45..044ea8a 100644
Binary files a/backend/IMTest/bin/Debug/net8.0/IMTest.dll and b/backend/IMTest/bin/Debug/net8.0/IMTest.dll differ
diff --git a/backend/IMTest/bin/Debug/net8.0/IMTest.pdb b/backend/IMTest/bin/Debug/net8.0/IMTest.pdb
index f9575cb..a3d1b90 100644
Binary files a/backend/IMTest/bin/Debug/net8.0/IMTest.pdb and b/backend/IMTest/bin/Debug/net8.0/IMTest.pdb differ
diff --git a/backend/IMTest/bin/Debug/net8.0/IM_API.deps.json b/backend/IMTest/bin/Debug/net8.0/IM_API.deps.json
index 5086600..a5796bf 100644
--- a/backend/IMTest/bin/Debug/net8.0/IM_API.deps.json
+++ b/backend/IMTest/bin/Debug/net8.0/IM_API.deps.json
@@ -20,6 +20,7 @@
"Newtonsoft.Json": "13.0.4",
"Pomelo.EntityFrameworkCore.MySql": "8.0.3",
"RedLock.net": "2.3.2",
+ "SixLabors.ImageSharp": "3.1.12",
"StackExchange.Redis": "2.9.32",
"Swashbuckle.AspNetCore": "6.6.2",
"System.IdentityModel.Tokens.Jwt": "8.14.0"
@@ -870,6 +871,14 @@
}
}
},
+ "SixLabors.ImageSharp/3.1.12": {
+ "runtime": {
+ "lib/net6.0/SixLabors.ImageSharp.dll": {
+ "assemblyVersion": "3.0.0.0",
+ "fileVersion": "3.1.12.0"
+ }
+ }
+ },
"StackExchange.Redis/2.9.32": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.2",
@@ -1564,6 +1573,13 @@
"path": "redlock.net/2.3.2",
"hashPath": "redlock.net.2.3.2.nupkg.sha512"
},
+ "SixLabors.ImageSharp/3.1.12": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-iAg6zifihXEFS/t7fiHhZBGAdCp3FavsF4i2ZIDp0JfeYeDVzvmlbY1CNhhIKimaIzrzSi5M/NBFcWvZT2rB/A==",
+ "path": "sixlabors.imagesharp/3.1.12",
+ "hashPath": "sixlabors.imagesharp.3.1.12.nupkg.sha512"
+ },
"StackExchange.Redis/2.9.32": {
"type": "package",
"serviceable": true,
diff --git a/backend/IMTest/bin/Debug/net8.0/IM_API.dll b/backend/IMTest/bin/Debug/net8.0/IM_API.dll
index a3b4ee9..317926a 100644
Binary files a/backend/IMTest/bin/Debug/net8.0/IM_API.dll and b/backend/IMTest/bin/Debug/net8.0/IM_API.dll differ
diff --git a/backend/IMTest/bin/Debug/net8.0/IM_API.exe b/backend/IMTest/bin/Debug/net8.0/IM_API.exe
index d0ffae4..598449d 100644
Binary files a/backend/IMTest/bin/Debug/net8.0/IM_API.exe and b/backend/IMTest/bin/Debug/net8.0/IM_API.exe differ
diff --git a/backend/IMTest/bin/Debug/net8.0/IM_API.pdb b/backend/IMTest/bin/Debug/net8.0/IM_API.pdb
index 4d12f0b..3ee5a3b 100644
Binary files a/backend/IMTest/bin/Debug/net8.0/IM_API.pdb and b/backend/IMTest/bin/Debug/net8.0/IM_API.pdb differ
diff --git a/backend/IMTest/bin/Debug/net8.0/appsettings.json b/backend/IMTest/bin/Debug/net8.0/appsettings.json
index fc895fb..3211965 100644
--- a/backend/IMTest/bin/Debug/net8.0/appsettings.json
+++ b/backend/IMTest/bin/Debug/net8.0/appsettings.json
@@ -14,7 +14,7 @@
"RefreshTokenDays": 30
},
"ConnectionStrings": {
- "DefaultConnection": "Server=frp-era.com;Port=26582;Database=IM;User=product;Password=12345678;",
+ "DefaultConnection": "Server=192.168.5.100;Port=3306;Database=IM;User=product;Password=12345678;",
"Redis": "192.168.5.100:6379"
},
"RabbitMQOptions": {
@@ -22,5 +22,9 @@
"Port": 5672,
"Username": "test",
"Password": "123456"
+ },
+ "FileUploadOptions": {
+ "DefaultStorage": "Local",
+ "ChunkSize": 5000000,
}
}
diff --git a/backend/IMTest/obj/Debug/net8.0/IMTest.AssemblyInfo.cs b/backend/IMTest/obj/Debug/net8.0/IMTest.AssemblyInfo.cs
index 2a2b83e..29b15fd 100644
--- a/backend/IMTest/obj/Debug/net8.0/IMTest.AssemblyInfo.cs
+++ b/backend/IMTest/obj/Debug/net8.0/IMTest.AssemblyInfo.cs
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("IMTest")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+dc6ecf224df4e8714171e8b5d23afaa90b3a1f81")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2ecaa28091b41de707825db3628d380b62fa727f")]
[assembly: System.Reflection.AssemblyProductAttribute("IMTest")]
[assembly: System.Reflection.AssemblyTitleAttribute("IMTest")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/backend/IMTest/obj/Debug/net8.0/IMTest.AssemblyInfoInputs.cache b/backend/IMTest/obj/Debug/net8.0/IMTest.AssemblyInfoInputs.cache
index 3735720..d02a3dc 100644
--- a/backend/IMTest/obj/Debug/net8.0/IMTest.AssemblyInfoInputs.cache
+++ b/backend/IMTest/obj/Debug/net8.0/IMTest.AssemblyInfoInputs.cache
@@ -1 +1 @@
-1b9e709aa84e0b4f6260cd10cf25bfc3a30c60e75a3966fc7d4cdf489eae898b
+ed4980dfc7aff253176b260ed9015f9a80b52e92cbf3095eff3ed06865ea6e0d
diff --git a/backend/IMTest/obj/Debug/net8.0/IMTest.assets.cache b/backend/IMTest/obj/Debug/net8.0/IMTest.assets.cache
index b61f83e..f6caa4d 100644
Binary files a/backend/IMTest/obj/Debug/net8.0/IMTest.assets.cache and b/backend/IMTest/obj/Debug/net8.0/IMTest.assets.cache differ
diff --git a/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.AssemblyReference.cache b/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.AssemblyReference.cache
index 278b1a7..2932c7a 100644
Binary files a/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.AssemblyReference.cache and b/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.AssemblyReference.cache differ
diff --git a/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.CoreCompileInputs.cache b/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.CoreCompileInputs.cache
index c05b415..6242309 100644
--- a/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.CoreCompileInputs.cache
+++ b/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-6e6df2b3d9fe8d3830882bef146134864f65ca58bc5ea4bac684eaec55cfd628
+a18d4d5688b125e6729fd465f09e267a2a7532eadaaca930389969ac369409ce
diff --git a/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.FileListAbsolute.txt b/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.FileListAbsolute.txt
index 6a24730..9b395c6 100644
--- a/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.FileListAbsolute.txt
+++ b/backend/IMTest/obj/Debug/net8.0/IMTest.csproj.FileListAbsolute.txt
@@ -151,3 +151,4 @@ C:\Users\nanxun\Documents\IM\backend\IMTest\bin\Debug\net8.0\Microsoft.Extension
C:\Users\nanxun\Documents\IM\backend\IMTest\bin\Debug\net8.0\Microsoft.Extensions.Caching.StackExchangeRedis.dll
C:\Users\nanxun\Documents\IM\backend\IMTest\bin\Debug\net8.0\Microsoft.Extensions.Primitives.dll
C:\Users\nanxun\Documents\IM\backend\IMTest\bin\Debug\net8.0\System.Diagnostics.DiagnosticSource.dll
+C:\Users\nanxun\Documents\IM\backend\IMTest\bin\Debug\net8.0\SixLabors.ImageSharp.dll
diff --git a/backend/IMTest/obj/Debug/net8.0/IMTest.dll b/backend/IMTest/obj/Debug/net8.0/IMTest.dll
index a0cda45..044ea8a 100644
Binary files a/backend/IMTest/obj/Debug/net8.0/IMTest.dll and b/backend/IMTest/obj/Debug/net8.0/IMTest.dll differ
diff --git a/backend/IMTest/obj/Debug/net8.0/IMTest.pdb b/backend/IMTest/obj/Debug/net8.0/IMTest.pdb
index f9575cb..a3d1b90 100644
Binary files a/backend/IMTest/obj/Debug/net8.0/IMTest.pdb and b/backend/IMTest/obj/Debug/net8.0/IMTest.pdb differ
diff --git a/backend/IMTest/obj/Debug/net8.0/ref/IMTest.dll b/backend/IMTest/obj/Debug/net8.0/ref/IMTest.dll
index 9f9bfd6..2793b43 100644
Binary files a/backend/IMTest/obj/Debug/net8.0/ref/IMTest.dll and b/backend/IMTest/obj/Debug/net8.0/ref/IMTest.dll differ
diff --git a/backend/IMTest/obj/Debug/net8.0/refint/IMTest.dll b/backend/IMTest/obj/Debug/net8.0/refint/IMTest.dll
index 9f9bfd6..2793b43 100644
Binary files a/backend/IMTest/obj/Debug/net8.0/refint/IMTest.dll and b/backend/IMTest/obj/Debug/net8.0/refint/IMTest.dll differ
diff --git a/backend/IMTest/obj/IMTest.csproj.nuget.dgspec.json b/backend/IMTest/obj/IMTest.csproj.nuget.dgspec.json
index 7422270..038561f 100644
--- a/backend/IMTest/obj/IMTest.csproj.nuget.dgspec.json
+++ b/backend/IMTest/obj/IMTest.csproj.nuget.dgspec.json
@@ -96,7 +96,7 @@
"privateAssets": "all"
}
},
- "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.304/PortableRuntimeIdentifierGraph.json"
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.311/PortableRuntimeIdentifierGraph.json"
}
}
},
@@ -199,6 +199,10 @@
"target": "Package",
"version": "[2.3.2, )"
},
+ "SixLabors.ImageSharp": {
+ "target": "Package",
+ "version": "[3.1.12, )"
+ },
"StackExchange.Redis": {
"target": "Package",
"version": "[2.9.32, )"
@@ -231,7 +235,7 @@
"privateAssets": "all"
}
},
- "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.304/PortableRuntimeIdentifierGraph.json"
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.311/PortableRuntimeIdentifierGraph.json"
}
}
}
diff --git a/backend/IMTest/obj/IMTest.csproj.nuget.g.props b/backend/IMTest/obj/IMTest.csproj.nuget.g.props
index a72789c..831aa67 100644
--- a/backend/IMTest/obj/IMTest.csproj.nuget.g.props
+++ b/backend/IMTest/obj/IMTest.csproj.nuget.g.props
@@ -7,7 +7,7 @@
$(UserProfile)\.nuget\packages\
C:\Users\nanxun\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages
PackageReference
- 6.14.1
+ 6.14.2
diff --git a/backend/IMTest/obj/project.assets.json b/backend/IMTest/obj/project.assets.json
index 4e1d539..de30454 100644
--- a/backend/IMTest/obj/project.assets.json
+++ b/backend/IMTest/obj/project.assets.json
@@ -1679,6 +1679,22 @@
}
}
},
+ "SixLabors.ImageSharp/3.1.12": {
+ "type": "package",
+ "compile": {
+ "lib/net6.0/SixLabors.ImageSharp.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/SixLabors.ImageSharp.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "build/_._": {}
+ }
+ },
"StackExchange.Redis/2.9.32": {
"type": "package",
"dependencies": {
@@ -3027,6 +3043,7 @@
"Newtonsoft.Json": "13.0.4",
"Pomelo.EntityFrameworkCore.MySql": "8.0.3",
"RedLock.net": "2.3.2",
+ "SixLabors.ImageSharp": "3.1.12",
"StackExchange.Redis": "2.9.32",
"Swashbuckle.AspNetCore": "6.6.2",
"System.IdentityModel.Tokens.Jwt": "8.14.0"
@@ -5363,6 +5380,22 @@
"runtimes/ubuntu.16.10-x64/native/System.Security.Cryptography.Native.OpenSsl.so"
]
},
+ "SixLabors.ImageSharp/3.1.12": {
+ "sha512": "iAg6zifihXEFS/t7fiHhZBGAdCp3FavsF4i2ZIDp0JfeYeDVzvmlbY1CNhhIKimaIzrzSi5M/NBFcWvZT2rB/A==",
+ "type": "package",
+ "path": "sixlabors.imagesharp/3.1.12",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "build/SixLabors.ImageSharp.props",
+ "lib/net6.0/SixLabors.ImageSharp.dll",
+ "lib/net6.0/SixLabors.ImageSharp.xml",
+ "sixlabors.imagesharp.128.png",
+ "sixlabors.imagesharp.3.1.12.nupkg.sha512",
+ "sixlabors.imagesharp.nuspec"
+ ]
+ },
"StackExchange.Redis/2.9.32": {
"sha512": "j5Rjbf7gWz5izrn0UWQy9RlQY4cQDPkwJfVqATnVsOa/+zzJrps12LOgacMsDl/Vit2f01cDiDkG/Rst8v2iGw==",
"type": "package",
@@ -8962,7 +8995,7 @@
"privateAssets": "all"
}
},
- "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.304/PortableRuntimeIdentifierGraph.json"
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.311/PortableRuntimeIdentifierGraph.json"
}
}
}
diff --git a/backend/IMTest/obj/project.nuget.cache b/backend/IMTest/obj/project.nuget.cache
index e5a6826..0841100 100644
--- a/backend/IMTest/obj/project.nuget.cache
+++ b/backend/IMTest/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "ueA0djhC8vQ=",
+ "dgSpecHash": "E2DnflEnEuk=",
"success": true,
"projectFilePath": "C:\\Users\\nanxun\\Documents\\IM\\backend\\IMTest\\IMTest.csproj",
"expectedPackageFiles": [
@@ -97,6 +97,7 @@
"C:\\Users\\nanxun\\.nuget\\packages\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\nanxun\\.nuget\\packages\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\nanxun\\.nuget\\packages\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
+ "C:\\Users\\nanxun\\.nuget\\packages\\sixlabors.imagesharp\\3.1.12\\sixlabors.imagesharp.3.1.12.nupkg.sha512",
"C:\\Users\\nanxun\\.nuget\\packages\\stackexchange.redis\\2.9.32\\stackexchange.redis.2.9.32.nupkg.sha512",
"C:\\Users\\nanxun\\.nuget\\packages\\swashbuckle.aspnetcore\\6.6.2\\swashbuckle.aspnetcore.6.6.2.nupkg.sha512",
"C:\\Users\\nanxun\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\6.6.2\\swashbuckle.aspnetcore.swagger.6.6.2.nupkg.sha512",
diff --git a/backend/IM_API/.gitignore b/backend/IM_API/.gitignore
index 3e16852..8914895 100644
--- a/backend/IM_API/.gitignore
+++ b/backend/IM_API/.gitignore
@@ -1,3 +1,4 @@
bin/
obj/
-.vs/
\ No newline at end of file
+.vs/
+uploads/
\ No newline at end of file
diff --git a/backend/IM_API/Application/EventHandlers/MessageCreatedHandler/SignalREventHandler.cs b/backend/IM_API/Application/EventHandlers/MessageCreatedHandler/SignalREventHandler.cs
index 8166f2f..cfbb2af 100644
--- a/backend/IM_API/Application/EventHandlers/MessageCreatedHandler/SignalREventHandler.cs
+++ b/backend/IM_API/Application/EventHandlers/MessageCreatedHandler/SignalREventHandler.cs
@@ -17,11 +17,13 @@ namespace IM_API.Application.EventHandlers.MessageCreatedHandler
private readonly IHubContext _hub;
private readonly IMapper _mapper;
private readonly IUserService _userService;
- public SignalREventHandler(IHubContext hub, IMapper mapper,IUserService userService)
+ public SignalREventHandler(IHubContext hub, IMapper mapper,
+ IUserService userService)
{
_hub = hub;
_mapper = mapper;
_userService = userService;
+
}
public async Task Consume(ConsumeContext context)
@@ -35,6 +37,10 @@ namespace IM_API.Application.EventHandlers.MessageCreatedHandler
var senderinfo = await _userService.GetUserInfoAsync(@event.MsgSenderId);
messageBaseVo.SenderName = senderinfo.NickName;
messageBaseVo.SenderAvatar = senderinfo.Avatar ?? "";
+ if (messageBaseVo.Type != MessageMsgType.Text)
+ {
+ messageBaseVo.Content = UrlTools.ProcessMessageUrl(messageBaseVo.Content, @event.BaseUrl);
+ }
await _hub.Clients.Group(@event.StreamKey).SendAsync("ReceiveMessage", new HubResponse("Event", messageBaseVo));
}
catch (Exception ex)
diff --git a/backend/IM_API/Application/EventHandlers/UploadEventHandler/MergeEventHandler.cs b/backend/IM_API/Application/EventHandlers/UploadEventHandler/MergeEventHandler.cs
new file mode 100644
index 0000000..72539bd
--- /dev/null
+++ b/backend/IM_API/Application/EventHandlers/UploadEventHandler/MergeEventHandler.cs
@@ -0,0 +1,21 @@
+using IM_API.Domain.Events;
+using IM_API.Interface.Services;
+using MassTransit;
+
+namespace IM_API.Application.EventHandlers.UploadEventHandler
+{
+ public class MergeEventHandler : IConsumer
+ {
+ private readonly IStorageService _storage;
+ public MergeEventHandler(IStorageService storage)
+ {
+ _storage = storage;
+ }
+
+ public async Task Consume(ConsumeContext context)
+ {
+ var @event = context.Message;
+ await _storage.MergeAsync(@event.TaskId, @event.ObjectName, @event.ChunckCount, @event.Parts);
+ }
+ }
+}
diff --git a/backend/IM_API/Configs/MQConfig.cs b/backend/IM_API/Configs/MQConfig.cs
index bcac5d6..745e2b0 100644
--- a/backend/IM_API/Configs/MQConfig.cs
+++ b/backend/IM_API/Configs/MQConfig.cs
@@ -7,6 +7,7 @@ using IM_API.Application.EventHandlers.GroupRequestHandler;
using IM_API.Application.EventHandlers.GroupRequestUpdateHandler;
using IM_API.Application.EventHandlers.MessageCreatedHandler;
using IM_API.Application.EventHandlers.RequestFriendHandler;
+using IM_API.Application.EventHandlers.UploadEventHandler;
using IM_API.Configs.Options;
using IM_API.Domain.Events;
using MassTransit;
@@ -37,6 +38,7 @@ namespace IM_API.Configs
x.AddConsumer();
x.AddConsumer();
x.AddConsumer();
+ x.AddConsumer();
x.UsingRabbitMq((ctx,cfg) =>
{
cfg.Host(options.Host, "/", h =>
diff --git a/backend/IM_API/Configs/MapperConfig.cs b/backend/IM_API/Configs/MapperConfig.cs
index 9ba80cc..431657e 100644
--- a/backend/IM_API/Configs/MapperConfig.cs
+++ b/backend/IM_API/Configs/MapperConfig.cs
@@ -4,10 +4,14 @@ using IM_API.Dtos;
using IM_API.Dtos.Auth;
using IM_API.Dtos.Friend;
using IM_API.Dtos.Group;
+using IM_API.Dtos.Message;
using IM_API.Dtos.User;
using IM_API.Models;
+using IM_API.Models.Upload;
using IM_API.Tools;
+using IM_API.VOs;
using IM_API.VOs.Conversation;
+using IM_API.VOs.Group;
using IM_API.VOs.Message;
namespace IM_API.Configs
@@ -171,6 +175,46 @@ namespace IM_API.Configs
.ForMember(dest => dest.AuhorityEnum, opt => opt.MapFrom(src => GroupAuhority.REQUIRE_CONSENT))
.ForMember(dest => dest.StatusEnum, opt => opt.MapFrom(src => GroupStatus.Normal))
;
+
+ //上传任务模型转换
+ CreateMap()
+ .ForMember(dest => dest.FileName, opt => opt.MapFrom(src => src.FileName))
+ .ForMember(dest => dest.Status, opt => opt.MapFrom(src => UploadStatus.Created))
+ .ForMember(dest => dest.Id, opt => opt.MapFrom(src => Guid.NewGuid()))
+ .ForMember(dest => dest.FileSize, opt => opt.MapFrom(src => src.FileSize))
+ .ForMember(dest => dest.FileHash, opt => opt.MapFrom(src => src.FileHash))
+ .ForMember(dest => dest.ContentType, opt => opt.MapFrom(src => src.ContentType))
+ .ForMember(dest => dest.CreatedAt, opt => opt.MapFrom(src => DateTime.UtcNow))
+ ;
+
+ CreateMap()
+ .ForMember(dest => dest.TaskId, opt => opt.MapFrom(src => src.Id))
+ .ForMember(dest => dest.ChunkSize, opt => opt.MapFrom(src => src.ChunkSize))
+ .ForMember(dest => dest.TotalChunks, opt => opt.MapFrom(src => src.TotalChunks))
+ .ForMember(dest => dest.Concurrency, opt => opt.MapFrom(src => 5))
+ .ForMember(dest => dest.Skip, opt => opt.MapFrom(src => false))
+ .ForMember(dest => dest.Url, opt => opt.MapFrom(src => src.ObjectName))
+ ;
+
+ CreateMap()
+ .ForMember(dest => dest.Url, opt => opt.MapFrom(src => src.ObjectName))
+ .ForMember(dest => dest.FileId, opt => opt.MapFrom(src => src.Id))
+ .ForMember(dest => dest.Provider, opt => opt.MapFrom(src => src.StorageProvider))
+ .ForMember(dest => dest.Format, opt => opt.MapFrom(src => src.ContentType))
+ .ForMember(dest => dest.Size, opt => opt.MapFrom(src => src.FileSize));
+
+ CreateMap();
+
+ //群成员模型
+ CreateMap()
+ .ForMember(dest => dest.Nickname, opt => opt.MapFrom(src => src.NickName))
+ .ForMember(dest => dest.Username, opt => opt.MapFrom(src => src.Username))
+ .ForMember(dest => dest.UserId, opt => opt.MapFrom(src => src.Id))
+ .ForMember(dest => dest.Avatar, opt => opt.MapFrom(src => src.Avatar));
+
+ CreateMap()
+ .ForMember(dest => dest.Created, opt => opt.MapFrom(src => src.Created))
+ .ForMember(dest => dest.Role, opt => opt.MapFrom(src => src.RoleEnum));
}
}
}
diff --git a/backend/IM_API/Configs/Options/FileUploadOptions.cs b/backend/IM_API/Configs/Options/FileUploadOptions.cs
new file mode 100644
index 0000000..65554b1
--- /dev/null
+++ b/backend/IM_API/Configs/Options/FileUploadOptions.cs
@@ -0,0 +1,8 @@
+namespace IM_API.Configs.Options
+{
+ public class FileUploadOptions
+ {
+ public string DefaultStorage { get; set; }
+ public int ChunkSize { get; set; }
+ }
+}
diff --git a/backend/IM_API/Configs/ServiceCollectionExtensions.cs b/backend/IM_API/Configs/ServiceCollectionExtensions.cs
index 4823103..57c6753 100644
--- a/backend/IM_API/Configs/ServiceCollectionExtensions.cs
+++ b/backend/IM_API/Configs/ServiceCollectionExtensions.cs
@@ -29,7 +29,8 @@ namespace IM_API.Configs
services.AddScoped();
services.AddScoped();
services.AddScoped();
- services.AddScoped();
+ services.AddScoped();
+ services.AddScoped();
services.AddSingleton();
services.AddSingleton();
services.AddSingleton(sp =>
diff --git a/backend/IM_API/Controllers/GroupController.cs b/backend/IM_API/Controllers/GroupController.cs
index 0f7582f..6dfdf8f 100644
--- a/backend/IM_API/Controllers/GroupController.cs
+++ b/backend/IM_API/Controllers/GroupController.cs
@@ -1,6 +1,7 @@
using IM_API.Dtos;
using IM_API.Dtos.Group;
using IM_API.Interface.Services;
+using IM_API.VOs.Group;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
@@ -67,5 +68,14 @@ namespace IM_API.Controllers
var res = new BaseResponse