diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java index 99b666f..88e0b3e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java @@ -63,6 +63,9 @@ public class MusicController extends BaseController { startPage(); Long userId = SecurityUtils.getUserId(); List list = musicService.findLikeMusicByUser(userId); + for (MusicInfo musicInfo : list) { + musicInfo.setLike(true); + } //musicService.createPlaylist(); return getDataTableData(list); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserCollectController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserCollectController.java index 87127fd..1b6d6c1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserCollectController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserCollectController.java @@ -73,7 +73,6 @@ public class UserCollectController extends BaseController /** * 获取用户收藏音乐详细信息 */ - @PreAuthorize("@ss.hasPermi('system:collect:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicMaxReq.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicMaxReq.java index 86737e5..ac6b5c1 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicMaxReq.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicMaxReq.java @@ -13,5 +13,7 @@ public class MusicMaxReq extends MusicInfo{ private String sourceMusicId; + private String collectId; + } diff --git a/ruoyi-ui/src/views/consult/add.vue b/ruoyi-ui/src/views/consult/add.vue index dcf1097..1aee56c 100644 --- a/ruoyi-ui/src/views/consult/add.vue +++ b/ruoyi-ui/src/views/consult/add.vue @@ -19,7 +19,7 @@ :show-file-list="false" :on-success="handleBannerSuccess" :before-upload="beforeUpload"> - +
建议上传尺寸: 750px × 400px,大小不超过2MB
@@ -135,7 +135,7 @@ export default { this.rotaFileList = rotaImages.map((url, index) => { return { name: `轮播图${index + 1}`, - url: url + url: this.getImageUrl(url) }; }); } @@ -174,9 +174,9 @@ export default { // 封面图片上传成功处理 handleBannerSuccess(res, file) { if (res.code === 200) { - // 直接使用返回的URL路径 - this.form.bannerImg = process.env.VUE_APP_BASE_API + res.data; - console.log('封面图片URL:', this.form.bannerImg); + // 只保存接口返回的原始数据,不添加访问路径 + this.form.bannerImg = res.data; + console.log('封面图片原始路径:', this.form.bannerImg); } else { this.$message.error('上传失败'); } @@ -187,28 +187,32 @@ export default { // 打印上传响应,帮助调试 console.log('上传响应:', res); - // 直接使用返回的URL路径 + // 只在展示时添加访问路径,这里为了预览需要添加完整URL const fileUrl = process.env.VUE_APP_BASE_API + res.data; - // 更新当前上传的文件URL + // 更新当前上传的文件URL(用于预览) file.url = fileUrl; this.rotaFileList = fileList; - // 更新表单中的轮播图片数据 + // 更新表单中的轮播图片数据 - 只保存原始路径 this.form.rotaImg = fileList.map(item => { - // 如果是新上传的文件,使用返回的URL + // 如果是新上传的文件,只保存原始路径 if (item.response && item.response.data) { - return process.env.VUE_APP_BASE_API + item.response.data; + return item.response.data; } - // 如果已经有URL,直接使用 + // 如果已经有URL,需要去掉前缀保存原始路径 else if (item.url && !item.url.startsWith('blob:')) { + // 如果URL包含API前缀,去掉前缀 + if (item.url.startsWith(process.env.VUE_APP_BASE_API)) { + return item.url.replace(process.env.VUE_APP_BASE_API, ''); + } return item.url; } return ''; }).filter(url => url).join(','); - console.log('最终保存的轮播图片URL:', this.form.rotaImg); + console.log('最终保存的轮播图片原始路径:', this.form.rotaImg); } else { this.$message.error('上传失败'); } @@ -236,6 +240,26 @@ export default { handlePictureCardPreview(file) { this.dialogImageUrl = file.url || file.response.url; this.dialogVisible = true; + }, + // 获取封面图片完整URL + getBannerImageUrl(imagePath) { + if (!imagePath) return ''; + // 如果已经是完整URL,直接返回 + if (imagePath.startsWith('http')) { + return imagePath; + } + // 否则添加API前缀 + return process.env.VUE_APP_BASE_API + imagePath; + }, + // 获取图片完整URL + getImageUrl(imagePath) { + if (!imagePath) return ''; + // 如果已经是完整URL,直接返回 + if (imagePath.startsWith('http')) { + return imagePath; + } + // 否则添加API前缀 + return process.env.VUE_APP_BASE_API + imagePath; } } }; diff --git a/ruoyi-ui/src/views/consult/edit.vue b/ruoyi-ui/src/views/consult/edit.vue index 87af093..203a58c 100644 --- a/ruoyi-ui/src/views/consult/edit.vue +++ b/ruoyi-ui/src/views/consult/edit.vue @@ -19,7 +19,7 @@ :show-file-list="false" :on-success="handleBannerSuccess" :before-upload="beforeUpload"> - +
建议上传尺寸: 750px × 400px,大小不超过2MB
@@ -128,7 +128,7 @@ export default { this.rotaFileList = rotaImages.map((url, index) => { return { name: `轮播图${index + 1}`, - url: url + url: this.getImageUrl(url) }; }); } @@ -160,9 +160,9 @@ export default { // 封面图片上传成功处理 handleBannerSuccess(res, file) { if (res.code === 200) { - // 直接使用返回的URL路径 - this.form.bannerImg = process.env.VUE_APP_BASE_API + res.data; - console.log('封面图片URL:', this.form.bannerImg); + // 只保存接口返回的原始数据,不添加访问路径 + this.form.bannerImg = res.data; + console.log('封面图片原始路径:', this.form.bannerImg); } else { this.$message.error('上传失败'); } @@ -173,28 +173,32 @@ export default { // 打印上传响应,帮助调试 console.log('上传响应:', res); - // 直接使用返回的URL路径 + // 只在展示时添加访问路径,这里为了预览需要添加完整URL const fileUrl = process.env.VUE_APP_BASE_API + res.data; - // 更新当前上传的文件URL + // 更新当前上传的文件URL(用于预览) file.url = fileUrl; this.rotaFileList = fileList; - // 更新表单中的轮播图片数据 + // 更新表单中的轮播图片数据 - 只保存原始路径 this.form.rotaImg = fileList.map(item => { - // 如果是新上传的文件,使用返回的URL + // 如果是新上传的文件,只保存原始路径 if (item.response && item.response.data) { - return process.env.VUE_APP_BASE_API + item.response.data; + return item.response.data; } - // 如果已经有URL,直接使用 + // 如果已经有URL,需要去掉前缀保存原始路径 else if (item.url && !item.url.startsWith('blob:')) { + // 如果URL包含API前缀,去掉前缀 + if (item.url.startsWith(process.env.VUE_APP_BASE_API)) { + return item.url.replace(process.env.VUE_APP_BASE_API, ''); + } return item.url; } return ''; }).filter(url => url).join(','); - console.log('最终保存的轮播图片URL:', this.form.rotaImg); + console.log('最终保存的轮播图片原始路径:', this.form.rotaImg); } else { this.$message.error('上传失败'); } @@ -222,6 +226,26 @@ export default { handlePictureCardPreview(file) { this.dialogImageUrl = file.url || file.response.url; this.dialogVisible = true; + }, + // 获取封面图片完整URL + getBannerImageUrl(imagePath) { + if (!imagePath) return ''; + // 如果已经是完整URL,直接返回 + if (imagePath.startsWith('http')) { + return imagePath; + } + // 否则添加API前缀 + return process.env.VUE_APP_BASE_API + imagePath; + }, + // 获取图片完整URL + getImageUrl(imagePath) { + if (!imagePath) return ''; + // 如果已经是完整URL,直接返回 + if (imagePath.startsWith('http')) { + return imagePath; + } + // 否则添加API前缀 + return process.env.VUE_APP_BASE_API + imagePath; } } }; diff --git a/ruoyi-ui/src/views/consult/index.vue b/ruoyi-ui/src/views/consult/index.vue index 4301b72..32b825f 100644 --- a/ruoyi-ui/src/views/consult/index.vue +++ b/ruoyi-ui/src/views/consult/index.vue @@ -85,8 +85,8 @@ @@ -237,6 +237,16 @@ export default { this.download('system/info/export', { ...this.queryParams }, `info_${new Date().getTime()}.xlsx`) + }, + // 获取图片完整URL + getImageUrl(imagePath) { + if (!imagePath) return ''; + // 如果已经是完整URL,直接返回 + if (imagePath.startsWith('http')) { + return imagePath; + } + // 否则添加API前缀 + return process.env.VUE_APP_BASE_API + imagePath; } } }