feat(assessment): 测评类型增加LinkUrl字段,支持可配置跳转
- assessment_types表新增LinkUrl字段 - 后端实体类、DTO、请求模型、服务层全链路支持LinkUrl - 前端首页卡片点击改为读取后台配置的linkUrl跳转 - 测评类页面自动拼接typeId/typeName参数
This commit is contained in:
parent
e33f4ed8f0
commit
38dfd10b43
|
|
@ -36,6 +36,12 @@ public class AssessmentType
|
|||
[MaxLength(500)]
|
||||
public string? ImageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 跳转链接URL
|
||||
/// </summary>
|
||||
[MaxLength(500)]
|
||||
public string? LinkUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 详情横幅图URL
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -25,6 +25,11 @@ public class AssessmentTypeDto
|
|||
/// </summary>
|
||||
public string? ImageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 跳转链接URL
|
||||
/// </summary>
|
||||
public string? LinkUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 详情横幅图URL
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -27,6 +27,12 @@ public class CreateAssessmentTypeRequest
|
|||
[MaxLength(500, ErrorMessage = "图片URL不能超过500个字符")]
|
||||
public string? ImageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 跳转链接URL
|
||||
/// </summary>
|
||||
[MaxLength(500, ErrorMessage = "跳转链接URL不能超过500个字符")]
|
||||
public string? LinkUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 详情横幅图URL
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -33,6 +33,12 @@ public class UpdateAssessmentTypeRequest
|
|||
[MaxLength(500, ErrorMessage = "图片URL不能超过500个字符")]
|
||||
public string? ImageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 跳转链接URL
|
||||
/// </summary>
|
||||
[MaxLength(500, ErrorMessage = "跳转链接URL不能超过500个字符")]
|
||||
public string? LinkUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 详情横幅图URL
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
})
|
||||
|
|
|
|||
|
|
@ -36,6 +36,12 @@ public class AssessmentType
|
|||
[MaxLength(500)]
|
||||
public string? ImageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 跳转链接URL
|
||||
/// </summary>
|
||||
[MaxLength(500)]
|
||||
public string? LinkUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 详情横幅图URL
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -25,6 +25,11 @@ public class AssessmentTypeDto
|
|||
/// </summary>
|
||||
public string ImageUrl { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// 跳转链接URL
|
||||
/// </summary>
|
||||
public string? LinkUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 价格
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -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 })
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user