This commit is contained in:
menxipeng
2025-09-13 12:03:17 +08:00
parent e4be0b6795
commit b9dabf0382
6 changed files with 89 additions and 27 deletions

View File

@@ -63,6 +63,9 @@ public class MusicController extends BaseController {
startPage(); startPage();
Long userId = SecurityUtils.getUserId(); Long userId = SecurityUtils.getUserId();
List<MusicInfo> list = musicService.findLikeMusicByUser(userId); List<MusicInfo> list = musicService.findLikeMusicByUser(userId);
for (MusicInfo musicInfo : list) {
musicInfo.setLike(true);
}
//musicService.createPlaylist(); //musicService.createPlaylist();
return getDataTableData(list); return getDataTableData(list);
} }

View File

@@ -73,7 +73,6 @@ public class UserCollectController extends BaseController
/** /**
* 获取用户收藏音乐详细信息 * 获取用户收藏音乐详细信息
*/ */
@PreAuthorize("@ss.hasPermi('system:collect:query')")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {

View File

@@ -13,5 +13,7 @@ public class MusicMaxReq extends MusicInfo{
private String sourceMusicId; private String sourceMusicId;
private String collectId;
} }

View File

@@ -19,7 +19,7 @@
:show-file-list="false" :show-file-list="false"
:on-success="handleBannerSuccess" :on-success="handleBannerSuccess"
:before-upload="beforeUpload"> :before-upload="beforeUpload">
<img v-if="form.bannerImg" :src="form.bannerImg" class="avatar"> <img v-if="form.bannerImg" :src="getBannerImageUrl(form.bannerImg)" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
<div class="el-upload__tip">建议上传尺寸: 750px × 400px大小不超过2MB</div> <div class="el-upload__tip">建议上传尺寸: 750px × 400px大小不超过2MB</div>
@@ -135,7 +135,7 @@ export default {
this.rotaFileList = rotaImages.map((url, index) => { this.rotaFileList = rotaImages.map((url, index) => {
return { return {
name: `轮播图${index + 1}`, name: `轮播图${index + 1}`,
url: url url: this.getImageUrl(url)
}; };
}); });
} }
@@ -174,9 +174,9 @@ export default {
// 封面图片上传成功处理 // 封面图片上传成功处理
handleBannerSuccess(res, file) { handleBannerSuccess(res, file) {
if (res.code === 200) { if (res.code === 200) {
// 直接使用返回的URL路径 // 只保存接口返回的原始数据,不添加访问路径
this.form.bannerImg = process.env.VUE_APP_BASE_API + res.data; this.form.bannerImg = res.data;
console.log('封面图片URL:', this.form.bannerImg); console.log('封面图片原始路径:', this.form.bannerImg);
} else { } else {
this.$message.error('上传失败'); this.$message.error('上传失败');
} }
@@ -187,28 +187,32 @@ export default {
// 打印上传响应,帮助调试 // 打印上传响应,帮助调试
console.log('上传响应:', res); console.log('上传响应:', res);
// 直接使用返回的URL路径 // 只在展示时添加访问路径,这里为了预览需要添加完整URL
const fileUrl = process.env.VUE_APP_BASE_API + res.data; const fileUrl = process.env.VUE_APP_BASE_API + res.data;
// 更新当前上传的文件URL // 更新当前上传的文件URL(用于预览)
file.url = fileUrl; file.url = fileUrl;
this.rotaFileList = fileList; this.rotaFileList = fileList;
// 更新表单中的轮播图片数据 // 更新表单中的轮播图片数据 - 只保存原始路径
this.form.rotaImg = fileList.map(item => { this.form.rotaImg = fileList.map(item => {
// 如果是新上传的文件,使用返回的URL // 如果是新上传的文件,只保存原始路径
if (item.response && item.response.data) { 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:')) { 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 item.url;
} }
return ''; return '';
}).filter(url => url).join(','); }).filter(url => url).join(',');
console.log('最终保存的轮播图片URL:', this.form.rotaImg); console.log('最终保存的轮播图片原始路径:', this.form.rotaImg);
} else { } else {
this.$message.error('上传失败'); this.$message.error('上传失败');
} }
@@ -236,6 +240,26 @@ export default {
handlePictureCardPreview(file) { handlePictureCardPreview(file) {
this.dialogImageUrl = file.url || file.response.url; this.dialogImageUrl = file.url || file.response.url;
this.dialogVisible = true; 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;
} }
} }
}; };

View File

@@ -19,7 +19,7 @@
:show-file-list="false" :show-file-list="false"
:on-success="handleBannerSuccess" :on-success="handleBannerSuccess"
:before-upload="beforeUpload"> :before-upload="beforeUpload">
<img v-if="form.bannerImg" :src="form.bannerImg" class="avatar"> <img v-if="form.bannerImg" :src="getBannerImageUrl(form.bannerImg)" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
<div class="el-upload__tip">建议上传尺寸: 750px × 400px大小不超过2MB</div> <div class="el-upload__tip">建议上传尺寸: 750px × 400px大小不超过2MB</div>
@@ -128,7 +128,7 @@ export default {
this.rotaFileList = rotaImages.map((url, index) => { this.rotaFileList = rotaImages.map((url, index) => {
return { return {
name: `轮播图${index + 1}`, name: `轮播图${index + 1}`,
url: url url: this.getImageUrl(url)
}; };
}); });
} }
@@ -160,9 +160,9 @@ export default {
// 封面图片上传成功处理 // 封面图片上传成功处理
handleBannerSuccess(res, file) { handleBannerSuccess(res, file) {
if (res.code === 200) { if (res.code === 200) {
// 直接使用返回的URL路径 // 只保存接口返回的原始数据,不添加访问路径
this.form.bannerImg = process.env.VUE_APP_BASE_API + res.data; this.form.bannerImg = res.data;
console.log('封面图片URL:', this.form.bannerImg); console.log('封面图片原始路径:', this.form.bannerImg);
} else { } else {
this.$message.error('上传失败'); this.$message.error('上传失败');
} }
@@ -173,28 +173,32 @@ export default {
// 打印上传响应,帮助调试 // 打印上传响应,帮助调试
console.log('上传响应:', res); console.log('上传响应:', res);
// 直接使用返回的URL路径 // 只在展示时添加访问路径,这里为了预览需要添加完整URL
const fileUrl = process.env.VUE_APP_BASE_API + res.data; const fileUrl = process.env.VUE_APP_BASE_API + res.data;
// 更新当前上传的文件URL // 更新当前上传的文件URL(用于预览)
file.url = fileUrl; file.url = fileUrl;
this.rotaFileList = fileList; this.rotaFileList = fileList;
// 更新表单中的轮播图片数据 // 更新表单中的轮播图片数据 - 只保存原始路径
this.form.rotaImg = fileList.map(item => { this.form.rotaImg = fileList.map(item => {
// 如果是新上传的文件,使用返回的URL // 如果是新上传的文件,只保存原始路径
if (item.response && item.response.data) { 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:')) { 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 item.url;
} }
return ''; return '';
}).filter(url => url).join(','); }).filter(url => url).join(',');
console.log('最终保存的轮播图片URL:', this.form.rotaImg); console.log('最终保存的轮播图片原始路径:', this.form.rotaImg);
} else { } else {
this.$message.error('上传失败'); this.$message.error('上传失败');
} }
@@ -222,6 +226,26 @@ export default {
handlePictureCardPreview(file) { handlePictureCardPreview(file) {
this.dialogImageUrl = file.url || file.response.url; this.dialogImageUrl = file.url || file.response.url;
this.dialogVisible = true; 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;
} }
} }
}; };

View File

@@ -85,8 +85,8 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-image <el-image
style="width: 80px; height: 50px" style="width: 80px; height: 50px"
:src="scope.row.bannerImg" :src="getImageUrl(scope.row.bannerImg)"
:preview-src-list="[scope.row.bannerImg]"> :preview-src-list="[getImageUrl(scope.row.bannerImg)]">
</el-image> </el-image>
</template> </template>
</el-table-column> </el-table-column>
@@ -237,6 +237,16 @@ export default {
this.download('system/info/export', { this.download('system/info/export', {
...this.queryParams ...this.queryParams
}, `info_${new Date().getTime()}.xlsx`) }, `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;
} }
} }
} }