diff --git a/admin/src/views/Banners.vue b/admin/src/views/Banners.vue index 823a83a..a517729 100644 --- a/admin/src/views/Banners.vue +++ b/admin/src/views/Banners.vue @@ -35,17 +35,25 @@ - - 上传图片 + + 选择图片 +
+ 移除图片 +
@@ -86,6 +94,27 @@ const formRef = ref(null) const uploadHeaders = { Authorization: `Bearer ${localStorage.getItem('admin_token')}` } +/** 上传成功回调 */ +function onUploadSuccess(res) { + form.imageUrl = res.url + ElMessage.success('图片上传成功') +} + +/** 上传前校验 */ +function beforeUpload(file) { + const isImage = file.type.startsWith('image/') + const isLt5M = file.size / 1024 / 1024 < 5 + if (!isImage) { + ElMessage.error('只能上传图片文件') + return false + } + if (!isLt5M) { + ElMessage.error('图片大小不能超过 5MB') + return false + } + return true +} + const defaultForm = () => ({ imageUrl: '', linkType: 'External', diff --git a/admin/src/views/ServiceEntries.vue b/admin/src/views/ServiceEntries.vue index d3fc2a3..15a69dc 100644 --- a/admin/src/views/ServiceEntries.vue +++ b/admin/src/views/ServiceEntries.vue @@ -1,12 +1,15 @@ - + - - + + - - + + + + - - + - 上传图片 + + 选择图片 +
+ 移除图片 +
+
+ + @@ -59,23 +82,65 @@ diff --git a/miniapp/pages.json b/miniapp/pages.json index 946fde9..c52e987 100644 --- a/miniapp/pages.json +++ b/miniapp/pages.json @@ -3,7 +3,7 @@ { "path": "pages/index/index", "style": { - "navigationBarTitleText": "首页" + "navigationStyle": "custom" } }, { diff --git a/miniapp/pages/index/index.vue b/miniapp/pages/index/index.vue index 6a08a9a..34ba5a1 100644 --- a/miniapp/pages/index/index.vue +++ b/miniapp/pages/index/index.vue @@ -1,35 +1,28 @@ + .service-bg { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + } + + .service-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + } + + .service-name { + font-size: 48rpx; + font-weight: bold; + color: #363636; + text-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.3); + letter-spacing: 8rpx; + } + \ No newline at end of file diff --git a/server/CampusErrand.csproj b/server/CampusErrand.csproj index 16e8ac6..23d991a 100644 --- a/server/CampusErrand.csproj +++ b/server/CampusErrand.csproj @@ -15,6 +15,7 @@ + diff --git a/server/Models/Dtos/ServiceEntryDtos.cs b/server/Models/Dtos/ServiceEntryDtos.cs index 7ae0070..48f6995 100644 --- a/server/Models/Dtos/ServiceEntryDtos.cs +++ b/server/Models/Dtos/ServiceEntryDtos.cs @@ -2,6 +2,33 @@ using System.ComponentModel.DataAnnotations; namespace CampusErrand.Models.Dtos; +/// +/// 服务入口创建请求 +/// +public class ServiceEntryCreateRequest +{ + /// 服务名称 + [Required(ErrorMessage = "服务名称不能为空")] + [MaxLength(32)] + public string Name { get; set; } = string.Empty; + + /// 背景图片地址 + [Required(ErrorMessage = "背景图片不能为空")] + [MaxLength(512)] + public string IconUrl { get; set; } = string.Empty; + + /// 跳转页面路径 + [Required(ErrorMessage = "跳转路径不能为空")] + [MaxLength(256)] + public string PagePath { get; set; } = string.Empty; + + /// 排序权重 + public int SortOrder { get; set; } + + /// 是否启用 + public bool IsEnabled { get; set; } = true; +} + /// /// 服务入口更新请求 /// diff --git a/server/Program.cs b/server/Program.cs index f352181..1437cf7 100644 --- a/server/Program.cs +++ b/server/Program.cs @@ -428,6 +428,51 @@ app.MapPut("/api/admin/service-entries/{id}", async (int id, ServiceEntryUpdateR }); }).RequireAuthorization("AdminOnly"); +// 创建服务入口 +app.MapPost("/api/admin/service-entries", async (ServiceEntryCreateRequest request, AppDbContext db) => +{ + if (string.IsNullOrWhiteSpace(request.Name)) + return Results.BadRequest(new { code = 400, message = "服务名称不能为空" }); + if (string.IsNullOrWhiteSpace(request.IconUrl)) + return Results.BadRequest(new { code = 400, message = "背景图片不能为空" }); + if (string.IsNullOrWhiteSpace(request.PagePath)) + return Results.BadRequest(new { code = 400, message = "跳转路径不能为空" }); + + var entry = new ServiceEntry + { + Name = request.Name, + IconUrl = request.IconUrl, + PagePath = request.PagePath, + SortOrder = request.SortOrder, + IsEnabled = request.IsEnabled + }; + + db.ServiceEntries.Add(entry); + await db.SaveChangesAsync(); + + return Results.Created($"/api/admin/service-entries/{entry.Id}", new ServiceEntryResponse + { + Id = entry.Id, + Name = entry.Name, + IconUrl = entry.IconUrl, + PagePath = entry.PagePath, + SortOrder = entry.SortOrder, + IsEnabled = entry.IsEnabled + }); +}).RequireAuthorization("AdminOnly"); + +// 删除服务入口 +app.MapDelete("/api/admin/service-entries/{id}", async (int id, AppDbContext db) => +{ + var entry = await db.ServiceEntries.FindAsync(id); + if (entry == null) + return Results.NotFound(new { code = 404, message = "服务入口不存在" }); + + db.ServiceEntries.Remove(entry); + await db.SaveChangesAsync(); + return Results.NoContent(); +}).RequireAuthorization("AdminOnly"); + // ========== 订单接口 ========== // 创建订单 @@ -2426,33 +2471,43 @@ app.MapPost("/api/upload/image", async (IFormFile file, IConfiguration config) = if (!allowedExtensions.Contains(ext)) return Results.BadRequest(new { code = 400, message = $"不支持的图片格式,仅支持 {string.Join(", ", allowedExtensions)}" }); - // 保存文件 - var uploadDir = config.GetValue("Upload:Directory") ?? "uploads"; - var fullDir = Path.Combine(Directory.GetCurrentDirectory(), uploadDir); - Directory.CreateDirectory(fullDir); + // 上传到腾讯云 COS + var cosConfig = new COSXML.CosXmlConfig.Builder() + .IsHttps(true) + .SetRegion(config["COS:Region"]) + .Build(); + var credential = new COSXML.Auth.DefaultQCloudCredentialProvider( + config["COS:SecretId"], config["COS:SecretKey"], 600); + var cosXml = new COSXML.CosXmlServer(cosConfig, credential); - var fileName = $"{Guid.NewGuid()}{ext}"; - var filePath = Path.Combine(fullDir, fileName); + var bucket = config["COS:Bucket"]!; + var cosKey = $"uploads/{DateTime.UtcNow:yyyyMMdd}/{Guid.NewGuid()}{ext}"; - using (var stream = new FileStream(filePath, FileMode.Create)) + // 将上传文件写入临时文件 + var tempPath = Path.GetTempFileName(); + try { - await file.CopyToAsync(stream); - } + using (var stream = new FileStream(tempPath, FileMode.Create)) + { + await file.CopyToAsync(stream); + } - var url = $"/{uploadDir}/{fileName}"; - return Results.Ok(new UploadImageResponse { Url = url }); + var putRequest = new COSXML.Model.Object.PutObjectRequest(bucket, cosKey, tempPath); + var putResult = cosXml.PutObject(putRequest); + + if (putResult.httpCode != 200) + return Results.BadRequest(new { code = 400, message = "图片上传失败" }); + + var url = $"{config["COS:BaseUrl"]}/{cosKey}"; + return Results.Ok(new UploadImageResponse { Url = url }); + } + finally + { + if (File.Exists(tempPath)) File.Delete(tempPath); + } }).RequireAuthorization() .DisableAntiforgery(); -// 静态文件服务(上传的图片) -var uploadPath = Path.Combine(Directory.GetCurrentDirectory(), - builder.Configuration.GetValue("Upload:Directory") ?? "uploads"); -Directory.CreateDirectory(uploadPath); -app.UseStaticFiles(new StaticFileOptions -{ - FileProvider = new Microsoft.Extensions.FileProviders.PhysicalFileProvider(uploadPath), - RequestPath = "/" + (builder.Configuration.GetValue("Upload:Directory") ?? "uploads") -}); // ========== 系统配置接口 ========== diff --git a/server/appsettings.json b/server/appsettings.json index e4572c1..08ce14e 100644 --- a/server/appsettings.json +++ b/server/appsettings.json @@ -23,10 +23,16 @@ "AppSecret": "your_wechat_appsecret" }, "Upload": { - "Directory": "uploads", "MaxFileSizeBytes": 5242880, "AllowedExtensions": [ ".jpg", ".jpeg", ".png", ".gif", ".webp" ] }, + "COS": { + "SecretId": "AKIDPioO4YovwtfMrwrYJq8CNN9qT4c0IyQd", + "SecretKey": "1nLfLp44pOxUsKe1AmS8gFoBLH0Vloco", + "Region": "ap-nanjing", + "Bucket": "xypt-1410898760", + "BaseUrl": "https://xypt-1410898760.cos.ap-nanjing.myqcloud.com" + }, "Admin": { "Username": "admin", "Password": "admin123" diff --git a/server/bin/Debug/net10.0/CampusErrand.deps.json b/server/bin/Debug/net10.0/CampusErrand.deps.json index a6c3900..4c105f5 100644 --- a/server/bin/Debug/net10.0/CampusErrand.deps.json +++ b/server/bin/Debug/net10.0/CampusErrand.deps.json @@ -13,7 +13,8 @@ "Microsoft.EntityFrameworkCore.Design": "10.0.3", "Microsoft.EntityFrameworkCore.SqlServer": "10.0.3", "Microsoft.Extensions.Caching.StackExchangeRedis": "10.0.3", - "Swashbuckle.AspNetCore": "10.1.4" + "Swashbuckle.AspNetCore": "10.1.4", + "Tencent.QCloud.Cos.Sdk": "5.4.51" }, "runtime": { "CampusErrand.dll": {} @@ -846,6 +847,14 @@ "fileVersion": "9.0.425.16305" } } + }, + "Tencent.QCloud.Cos.Sdk/5.4.51": { + "runtime": { + "lib/netstandard2.0/COSXML.dll": { + "assemblyVersion": "5.4.51.0", + "fileVersion": "5.4.51.0" + } + } } } }, @@ -1225,6 +1234,13 @@ "sha512": "sha512-o94k2RKuAce3GeDMlUvIXlhVa1kWpJw95E6C9LwW0KlG0nj5+SgCiIxJ2Eroqb9sLtG1mEMbFttZIBZ13EJPvQ==", "path": "system.security.cryptography.protecteddata/9.0.4", "hashPath": "system.security.cryptography.protecteddata.9.0.4.nupkg.sha512" + }, + "Tencent.QCloud.Cos.Sdk/5.4.51": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZLU6XX7vyLaVFN0i+fcFbiXSN2BENKxlTe7inIRT4JibuzhU9cZxGj+PfSIib46+uJM6HSRJE2ynnGLCMtTt1Q==", + "path": "tencent.qcloud.cos.sdk/5.4.51", + "hashPath": "tencent.qcloud.cos.sdk.5.4.51.nupkg.sha512" } } } \ No newline at end of file diff --git a/server/bin/Debug/net10.0/CampusErrand.dll b/server/bin/Debug/net10.0/CampusErrand.dll index f1f96d9..44a6d08 100644 Binary files a/server/bin/Debug/net10.0/CampusErrand.dll and b/server/bin/Debug/net10.0/CampusErrand.dll differ diff --git a/server/bin/Debug/net10.0/CampusErrand.exe b/server/bin/Debug/net10.0/CampusErrand.exe index effe9c7..60c10bf 100644 Binary files a/server/bin/Debug/net10.0/CampusErrand.exe and b/server/bin/Debug/net10.0/CampusErrand.exe differ diff --git a/server/bin/Debug/net10.0/CampusErrand.pdb b/server/bin/Debug/net10.0/CampusErrand.pdb index 64570c9..d706ef1 100644 Binary files a/server/bin/Debug/net10.0/CampusErrand.pdb and b/server/bin/Debug/net10.0/CampusErrand.pdb differ diff --git a/server/bin/Debug/net10.0/appsettings.json b/server/bin/Debug/net10.0/appsettings.json index e4572c1..08ce14e 100644 --- a/server/bin/Debug/net10.0/appsettings.json +++ b/server/bin/Debug/net10.0/appsettings.json @@ -23,10 +23,16 @@ "AppSecret": "your_wechat_appsecret" }, "Upload": { - "Directory": "uploads", "MaxFileSizeBytes": 5242880, "AllowedExtensions": [ ".jpg", ".jpeg", ".png", ".gif", ".webp" ] }, + "COS": { + "SecretId": "AKIDPioO4YovwtfMrwrYJq8CNN9qT4c0IyQd", + "SecretKey": "1nLfLp44pOxUsKe1AmS8gFoBLH0Vloco", + "Region": "ap-nanjing", + "Bucket": "xypt-1410898760", + "BaseUrl": "https://xypt-1410898760.cos.ap-nanjing.myqcloud.com" + }, "Admin": { "Username": "admin", "Password": "admin123" diff --git a/server/obj/CampusErrand.csproj.nuget.dgspec.json b/server/obj/CampusErrand.csproj.nuget.dgspec.json index f04a3ca..6155b11 100644 --- a/server/obj/CampusErrand.csproj.nuget.dgspec.json +++ b/server/obj/CampusErrand.csproj.nuget.dgspec.json @@ -73,6 +73,10 @@ "Swashbuckle.AspNetCore": { "target": "Package", "version": "[10.1.4, )" + }, + "Tencent.QCloud.Cos.Sdk": { + "target": "Package", + "version": "[5.4.*, )" } }, "imports": [ diff --git a/server/obj/Debug/net10.0/CampusErrand.AssemblyInfo.cs b/server/obj/Debug/net10.0/CampusErrand.AssemblyInfo.cs index c1bf2e0..29b2b71 100644 --- a/server/obj/Debug/net10.0/CampusErrand.AssemblyInfo.cs +++ b/server/obj/Debug/net10.0/CampusErrand.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("CampusErrand")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8245a67b883c1c90d3366fdad3ae6571b49fb874")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1bc7e4a09873a38e8ff83966dc378b341abe98ad")] [assembly: System.Reflection.AssemblyProductAttribute("CampusErrand")] [assembly: System.Reflection.AssemblyTitleAttribute("CampusErrand")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/server/obj/Debug/net10.0/CampusErrand.AssemblyInfoInputs.cache b/server/obj/Debug/net10.0/CampusErrand.AssemblyInfoInputs.cache index c0b41f5..3f6e198 100644 --- a/server/obj/Debug/net10.0/CampusErrand.AssemblyInfoInputs.cache +++ b/server/obj/Debug/net10.0/CampusErrand.AssemblyInfoInputs.cache @@ -1 +1 @@ -98518d7bd93239cba34464b0a48bacbdc87dd10aa86c7d87d6cac18429a41da5 +96b198ea2f78751f1455d36835312860960c974f190b06da8b6cfc34bed4d63b diff --git a/server/obj/Debug/net10.0/CampusErrand.assets.cache b/server/obj/Debug/net10.0/CampusErrand.assets.cache index cf4053c..1c904c3 100644 Binary files a/server/obj/Debug/net10.0/CampusErrand.assets.cache and b/server/obj/Debug/net10.0/CampusErrand.assets.cache differ diff --git a/server/obj/Debug/net10.0/CampusErrand.csproj.AssemblyReference.cache b/server/obj/Debug/net10.0/CampusErrand.csproj.AssemblyReference.cache index f94f491..4f82245 100644 Binary files a/server/obj/Debug/net10.0/CampusErrand.csproj.AssemblyReference.cache and b/server/obj/Debug/net10.0/CampusErrand.csproj.AssemblyReference.cache differ diff --git a/server/obj/Debug/net10.0/CampusErrand.csproj.CoreCompileInputs.cache b/server/obj/Debug/net10.0/CampusErrand.csproj.CoreCompileInputs.cache index dba0b87..e04ad5f 100644 --- a/server/obj/Debug/net10.0/CampusErrand.csproj.CoreCompileInputs.cache +++ b/server/obj/Debug/net10.0/CampusErrand.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -44792c73e656d5f2a97e5c9b6b8ce93c50dcddc8336f696a305446e8c692ccef +78df5ed8d99d8eb59d9966deec229e9c6198cae7cafc5e797e106a95bd2f5937 diff --git a/server/obj/Debug/net10.0/CampusErrand.csproj.FileListAbsolute.txt b/server/obj/Debug/net10.0/CampusErrand.csproj.FileListAbsolute.txt index 7860589..12d3a3e 100644 --- a/server/obj/Debug/net10.0/CampusErrand.csproj.FileListAbsolute.txt +++ b/server/obj/Debug/net10.0/CampusErrand.csproj.FileListAbsolute.txt @@ -163,3 +163,4 @@ F:\gitCode\uniapp\campus-errand\server\bin\Debug\net10.0\runtimes\win-x86\native F:\gitCode\uniapp\campus-errand\server\bin\Debug\net10.0\Microsoft.Extensions.Caching.StackExchangeRedis.dll F:\gitCode\uniapp\campus-errand\server\bin\Debug\net10.0\Pipelines.Sockets.Unofficial.dll F:\gitCode\uniapp\campus-errand\server\bin\Debug\net10.0\StackExchange.Redis.dll +F:\gitCode\uniapp\campus-errand\server\bin\Debug\net10.0\COSXML.dll diff --git a/server/obj/Debug/net10.0/CampusErrand.dll b/server/obj/Debug/net10.0/CampusErrand.dll index f1f96d9..44a6d08 100644 Binary files a/server/obj/Debug/net10.0/CampusErrand.dll and b/server/obj/Debug/net10.0/CampusErrand.dll differ diff --git a/server/obj/Debug/net10.0/CampusErrand.pdb b/server/obj/Debug/net10.0/CampusErrand.pdb index 64570c9..d706ef1 100644 Binary files a/server/obj/Debug/net10.0/CampusErrand.pdb and b/server/obj/Debug/net10.0/CampusErrand.pdb differ diff --git a/server/obj/Debug/net10.0/apphost.exe b/server/obj/Debug/net10.0/apphost.exe index effe9c7..60c10bf 100644 Binary files a/server/obj/Debug/net10.0/apphost.exe and b/server/obj/Debug/net10.0/apphost.exe differ diff --git a/server/obj/Debug/net10.0/ref/CampusErrand.dll b/server/obj/Debug/net10.0/ref/CampusErrand.dll index cec2750..0ab51bb 100644 Binary files a/server/obj/Debug/net10.0/ref/CampusErrand.dll and b/server/obj/Debug/net10.0/ref/CampusErrand.dll differ diff --git a/server/obj/Debug/net10.0/refint/CampusErrand.dll b/server/obj/Debug/net10.0/refint/CampusErrand.dll index cec2750..0ab51bb 100644 Binary files a/server/obj/Debug/net10.0/refint/CampusErrand.dll and b/server/obj/Debug/net10.0/refint/CampusErrand.dll differ diff --git a/server/obj/Debug/net10.0/rjsmcshtml.dswa.cache.json b/server/obj/Debug/net10.0/rjsmcshtml.dswa.cache.json index 06b96f6..cb8a8fd 100644 --- a/server/obj/Debug/net10.0/rjsmcshtml.dswa.cache.json +++ b/server/obj/Debug/net10.0/rjsmcshtml.dswa.cache.json @@ -1 +1 @@ -{"GlobalPropertiesHash":"FvzDiEs0EAZdBI8Qwd38I/qGfErxBHzrnzacDdp9C+k=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["GK5QIP/XYYWUmh4Y3T9pQ7nr7hLlrhu9WxJOHJg3jys=","z/gGq5d2i3Bdu2Yx2tEtdvNdI2DMCuO1Loennep6rpA=","SoTqP58euSfouOt\u002BChgsmMST1TEMY1s4SX8M5\u002BcSaTw=","2QszdUJOx7XR0BbgOxnwnj2CMLTUOxSCfW9scid9JZc=","Fnoznyra3P\u002BfAr4\u002B9jhnDM6hctHw/2GK9WTw8eHJKVU="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file +{"GlobalPropertiesHash":"FvzDiEs0EAZdBI8Qwd38I/qGfErxBHzrnzacDdp9C+k=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["GK5QIP/XYYWUmh4Y3T9pQ7nr7hLlrhu9WxJOHJg3jys=","7O1biPThQ/Mx8/A74Cld5MaMED9jut8kLikNlVczxp0=","SoTqP58euSfouOt\u002BChgsmMST1TEMY1s4SX8M5\u002BcSaTw=","2QszdUJOx7XR0BbgOxnwnj2CMLTUOxSCfW9scid9JZc=","kZStffijBiMuyyJSjpIXxXHAqVzgrSRDWd\u002BAbED3Bw0="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file diff --git a/server/obj/Debug/net10.0/rjsmrazor.dswa.cache.json b/server/obj/Debug/net10.0/rjsmrazor.dswa.cache.json index 41d4ca9..a88229f 100644 --- a/server/obj/Debug/net10.0/rjsmrazor.dswa.cache.json +++ b/server/obj/Debug/net10.0/rjsmrazor.dswa.cache.json @@ -1 +1 @@ -{"GlobalPropertiesHash":"xZi1R2Spy0ovDkIJOzs1I1YG/hzfBSNqDGLZKXuVfgw=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["GK5QIP/XYYWUmh4Y3T9pQ7nr7hLlrhu9WxJOHJg3jys=","z/gGq5d2i3Bdu2Yx2tEtdvNdI2DMCuO1Loennep6rpA=","SoTqP58euSfouOt\u002BChgsmMST1TEMY1s4SX8M5\u002BcSaTw=","2QszdUJOx7XR0BbgOxnwnj2CMLTUOxSCfW9scid9JZc=","Fnoznyra3P\u002BfAr4\u002B9jhnDM6hctHw/2GK9WTw8eHJKVU="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file +{"GlobalPropertiesHash":"xZi1R2Spy0ovDkIJOzs1I1YG/hzfBSNqDGLZKXuVfgw=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["GK5QIP/XYYWUmh4Y3T9pQ7nr7hLlrhu9WxJOHJg3jys=","7O1biPThQ/Mx8/A74Cld5MaMED9jut8kLikNlVczxp0=","SoTqP58euSfouOt\u002BChgsmMST1TEMY1s4SX8M5\u002BcSaTw=","2QszdUJOx7XR0BbgOxnwnj2CMLTUOxSCfW9scid9JZc=","kZStffijBiMuyyJSjpIXxXHAqVzgrSRDWd\u002BAbED3Bw0="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file diff --git a/server/obj/Debug/net10.0/rpswa.dswa.cache.json b/server/obj/Debug/net10.0/rpswa.dswa.cache.json index 303abd1..676d1fc 100644 --- a/server/obj/Debug/net10.0/rpswa.dswa.cache.json +++ b/server/obj/Debug/net10.0/rpswa.dswa.cache.json @@ -1 +1 @@ -{"GlobalPropertiesHash":"UIXRzOYtQqecH7DZRES/B1ooBYuqqrRO0PLf2qdAYiY=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["GK5QIP/XYYWUmh4Y3T9pQ7nr7hLlrhu9WxJOHJg3jys=","z/gGq5d2i3Bdu2Yx2tEtdvNdI2DMCuO1Loennep6rpA="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file +{"GlobalPropertiesHash":"UIXRzOYtQqecH7DZRES/B1ooBYuqqrRO0PLf2qdAYiY=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["GK5QIP/XYYWUmh4Y3T9pQ7nr7hLlrhu9WxJOHJg3jys=","7O1biPThQ/Mx8/A74Cld5MaMED9jut8kLikNlVczxp0="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file diff --git a/server/obj/project.assets.json b/server/obj/project.assets.json index b4d548a..4e3dc3a 100644 --- a/server/obj/project.assets.json +++ b/server/obj/project.assets.json @@ -1198,6 +1198,15 @@ "build": { "buildTransitive/net8.0/_._": {} } + }, + "Tencent.QCloud.Cos.Sdk/5.4.51": { + "type": "package", + "compile": { + "lib/netstandard2.0/COSXML.dll": {} + }, + "runtime": { + "lib/netstandard2.0/COSXML.dll": {} + } } } }, @@ -3669,6 +3678,19 @@ "system.security.cryptography.protecteddata.nuspec", "useSharedDesignerContext.txt" ] + }, + "Tencent.QCloud.Cos.Sdk/5.4.51": { + "sha512": "ZLU6XX7vyLaVFN0i+fcFbiXSN2BENKxlTe7inIRT4JibuzhU9cZxGj+PfSIib46+uJM6HSRJE2ynnGLCMtTt1Q==", + "type": "package", + "path": "tencent.qcloud.cos.sdk/5.4.51", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/COSXML.dll", + "lib/netstandard2.0/COSXML.dll", + "tencent.qcloud.cos.sdk.5.4.51.nupkg.sha512", + "tencent.qcloud.cos.sdk.nuspec" + ] } }, "projectFileDependencyGroups": { @@ -3678,7 +3700,8 @@ "Microsoft.EntityFrameworkCore.Design >= 10.0.3", "Microsoft.EntityFrameworkCore.SqlServer >= 10.0.3", "Microsoft.Extensions.Caching.StackExchangeRedis >= 10.0.3", - "Swashbuckle.AspNetCore >= 10.1.4" + "Swashbuckle.AspNetCore >= 10.1.4", + "Tencent.QCloud.Cos.Sdk >= 5.4.*" ] }, "packageFolders": { @@ -3754,6 +3777,10 @@ "Swashbuckle.AspNetCore": { "target": "Package", "version": "[10.1.4, )" + }, + "Tencent.QCloud.Cos.Sdk": { + "target": "Package", + "version": "[5.4.*, )" } }, "imports": [ diff --git a/server/obj/project.nuget.cache b/server/obj/project.nuget.cache index f37207c..9ab2441 100644 --- a/server/obj/project.nuget.cache +++ b/server/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "bN2gwtm/FeU=", + "dgSpecHash": "1DPzBxf0SFk=", "success": true, "projectFilePath": "F:\\gitCode\\uniapp\\campus-errand\\server\\CampusErrand.csproj", "expectedPackageFiles": [ @@ -60,7 +60,8 @@ "C:\\Users\\HJL\\.nuget\\packages\\system.identitymodel.tokens.jwt\\8.0.1\\system.identitymodel.tokens.jwt.8.0.1.nupkg.sha512", "C:\\Users\\HJL\\.nuget\\packages\\system.memory.data\\8.0.1\\system.memory.data.8.0.1.nupkg.sha512", "C:\\Users\\HJL\\.nuget\\packages\\system.security.cryptography.pkcs\\9.0.4\\system.security.cryptography.pkcs.9.0.4.nupkg.sha512", - "C:\\Users\\HJL\\.nuget\\packages\\system.security.cryptography.protecteddata\\9.0.4\\system.security.cryptography.protecteddata.9.0.4.nupkg.sha512" + "C:\\Users\\HJL\\.nuget\\packages\\system.security.cryptography.protecteddata\\9.0.4\\system.security.cryptography.protecteddata.9.0.4.nupkg.sha512", + "C:\\Users\\HJL\\.nuget\\packages\\tencent.qcloud.cos.sdk\\5.4.51\\tencent.qcloud.cos.sdk.5.4.51.nupkg.sha512" ], "logs": [] } \ No newline at end of file