diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/AssessmentType.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/AssessmentType.cs index a15d4e2..9b6666f 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/AssessmentType.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/AssessmentType.cs @@ -36,6 +36,12 @@ public class AssessmentType [MaxLength(500)] public string? ImageUrl { get; set; } + /// + /// 跳转链接URL + /// + [MaxLength(500)] + public string? LinkUrl { get; set; } + /// /// 详情横幅图URL /// diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/AssessmentTypeDto.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/AssessmentTypeDto.cs index 5a48868..693120e 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/AssessmentTypeDto.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/AssessmentTypeDto.cs @@ -25,6 +25,11 @@ public class AssessmentTypeDto /// public string? ImageUrl { get; set; } + /// + /// 跳转链接URL + /// + public string? LinkUrl { get; set; } + /// /// 详情横幅图URL /// diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/CreateAssessmentTypeRequest.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/CreateAssessmentTypeRequest.cs index 038a6ed..8e89f88 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/CreateAssessmentTypeRequest.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/CreateAssessmentTypeRequest.cs @@ -27,6 +27,12 @@ public class CreateAssessmentTypeRequest [MaxLength(500, ErrorMessage = "图片URL不能超过500个字符")] public string? ImageUrl { get; set; } + /// + /// 跳转链接URL + /// + [MaxLength(500, ErrorMessage = "跳转链接URL不能超过500个字符")] + public string? LinkUrl { get; set; } + /// /// 详情横幅图URL /// diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/UpdateAssessmentTypeRequest.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/UpdateAssessmentTypeRequest.cs index 51601aa..9295f24 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/UpdateAssessmentTypeRequest.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Assessment/UpdateAssessmentTypeRequest.cs @@ -33,6 +33,12 @@ public class UpdateAssessmentTypeRequest [MaxLength(500, ErrorMessage = "图片URL不能超过500个字符")] public string? ImageUrl { get; set; } + /// + /// 跳转链接URL + /// + [MaxLength(500, ErrorMessage = "跳转链接URL不能超过500个字符")] + public string? LinkUrl { get; set; } + /// /// 详情横幅图URL /// diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentService.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentService.cs index 01e97e3..fd0167d 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentService.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentService.cs @@ -83,6 +83,7 @@ public class AssessmentService : IAssessmentService Name = t.Name, Code = t.Code, ImageUrl = t.ImageUrl, + LinkUrl = t.LinkUrl, DetailImageUrl = t.DetailImageUrl, IntroContent = t.IntroContent, Price = t.Price, @@ -109,6 +110,7 @@ public class AssessmentService : IAssessmentService Name = t.Name, Code = t.Code, ImageUrl = t.ImageUrl, + LinkUrl = t.LinkUrl, DetailImageUrl = t.DetailImageUrl, IntroContent = t.IntroContent, Price = t.Price, @@ -161,6 +163,7 @@ public class AssessmentService : IAssessmentService Name = request.Name, Code = request.Code, ImageUrl = request.ImageUrl, + LinkUrl = request.LinkUrl, DetailImageUrl = request.DetailImageUrl, IntroContent = request.IntroContent, Price = request.Price, @@ -222,6 +225,7 @@ public class AssessmentService : IAssessmentService assessmentType.Name = request.Name; assessmentType.Code = request.Code; assessmentType.ImageUrl = request.ImageUrl; + assessmentType.LinkUrl = request.LinkUrl; assessmentType.DetailImageUrl = request.DetailImageUrl; assessmentType.IntroContent = request.IntroContent; assessmentType.Price = request.Price; diff --git a/server/MiAssessment/src/MiAssessment.Core/Services/HomeService.cs b/server/MiAssessment/src/MiAssessment.Core/Services/HomeService.cs index ddb38d1..53249a3 100644 --- a/server/MiAssessment/src/MiAssessment.Core/Services/HomeService.cs +++ b/server/MiAssessment/src/MiAssessment.Core/Services/HomeService.cs @@ -66,6 +66,7 @@ public class HomeService : IHomeService Name = a.Name, Code = a.Code, ImageUrl = a.ImageUrl ?? string.Empty, + LinkUrl = a.LinkUrl, Price = a.Price, Status = a.Status }) diff --git a/server/MiAssessment/src/MiAssessment.Model/Entities/AssessmentType.cs b/server/MiAssessment/src/MiAssessment.Model/Entities/AssessmentType.cs index efcb949..bc20938 100644 --- a/server/MiAssessment/src/MiAssessment.Model/Entities/AssessmentType.cs +++ b/server/MiAssessment/src/MiAssessment.Model/Entities/AssessmentType.cs @@ -36,6 +36,12 @@ public class AssessmentType [MaxLength(500)] public string? ImageUrl { get; set; } + /// + /// 跳转链接URL + /// + [MaxLength(500)] + public string? LinkUrl { get; set; } + /// /// 详情横幅图URL /// diff --git a/server/MiAssessment/src/MiAssessment.Model/Models/Home/AssessmentTypeDto.cs b/server/MiAssessment/src/MiAssessment.Model/Models/Home/AssessmentTypeDto.cs index ecfea5b..35ad622 100644 --- a/server/MiAssessment/src/MiAssessment.Model/Models/Home/AssessmentTypeDto.cs +++ b/server/MiAssessment/src/MiAssessment.Model/Models/Home/AssessmentTypeDto.cs @@ -25,6 +25,11 @@ public class AssessmentTypeDto /// public string ImageUrl { get; set; } = null!; + /// + /// 跳转链接URL + /// + public string? LinkUrl { get; set; } + /// /// 价格 /// diff --git a/uniapp/pages/index/index.vue b/uniapp/pages/index/index.vue index 1f522a2..c379542 100644 --- a/uniapp/pages/index/index.vue +++ b/uniapp/pages/index/index.vue @@ -216,9 +216,22 @@ function handleAssessmentClick(item) { return } - // 跳转到测评信息填写页 + // 根据后台配置的跳转链接进行导航 + if (!item.linkUrl) return + + // 如果是测评页面,自动拼接 typeId 和 typeName 参数 + let url = item.linkUrl + if (url.includes('/pages/assessment/')) { + const separator = url.includes('?') ? '&' : '?' + url = `${url}${separator}typeId=${item.id}&typeName=${encodeURIComponent(item.name || '')}` + } + uni.navigateTo({ - url: `/pages/assessment/info/index?typeId=${item.id}&typeName=${encodeURIComponent(item.name || '')}` + url, + fail: () => { + // 如果是tabBar页面,使用switchTab + uni.switchTab({ url }) + } }) }