feat: 为歌曲同步功能添加元数据记录和日志

在前后端添加日志记录和元数据传递,包括歌曲名称、艺术家和专辑信息
This commit is contained in:
史悦
2026-01-08 14:50:27 +08:00
parent 8948df45ba
commit 76003d4bcd
5 changed files with 29 additions and 7 deletions

View File

@@ -12,18 +12,21 @@ export const qrLoginCheck = qrKey => get("/account/qrlogin-check", {qrKey});
export const getAllPlaylist = data => get("/playlists", data);
export const getPlaylistDetail = playlistId => get(`/playlists/netease/${playlistId}/songs`);
export const getJobDetail = jobId => get(`/sync-jobs/${jobId}`);
export const createSyncSongFromUrlJob = (url, songId = "") => {
export const createSyncSongFromUrlJob = (url, songId = "", meta = {}) => {
return post("/sync-jobs", {
"jobType": "SyncSongFromUrl",
"urlJob": {
"url": url,
"meta": {
"songId": songId
"songId": songId,
"songName": meta.songName || "",
"artist": meta.artist || "",
"album": meta.album || ""
}
}
});
};
export const createDownloadSongFromUrlJob = (url, songId = "") => {
export const createDownloadSongFromUrlJob = (url, songId = "", meta = {}) => {
return post("/sync-jobs", {
"jobType": "DownloadSongFromUrl",
"urlJob": {

View File

@@ -184,10 +184,18 @@ export default {
}
return "";
},
async uploadToCloud(pageUrl) {
async uploadToCloud(item) {
const pageUrl = this.getSourceUrl(item);
const meta = {
songName: item.songName || "",
artist: item.artist || "",
album: item.album || ""
};
console.log(`[SearchResultListForMobile] uploadToCloud: pageUrl=${pageUrl}, meta=${JSON.stringify(meta)}`);
const ret = await createSyncSongFromUrlJob(
pageUrl,
this.suggestMatchSongId
this.suggestMatchSongId,
meta
);
console.log(ret);
@@ -232,7 +240,7 @@ export default {
console.log(currentSong);
switch (actionItem.action) {
case ActionUpload:
this.uploadToCloud(pageUrl);
this.uploadToCloud(currentSong);
break;
case ActionDownloadToLocalService:
this.downloadToLocalService(pageUrl);

View File

@@ -295,9 +295,16 @@ export default {
},
async uploadToCloud(row) {
const pageUrl = this.getSourceUrl(row);
const meta = {
songName: row.songName || "",
artist: row.artist || "",
album: row.album || ""
};
logger.info(`[SearchResultTable] uploadToCloud: pageUrl=${pageUrl}, meta=${JSON.stringify(meta)}`);
const ret = await createSyncSongFromUrlJob(
pageUrl,
this.suggestMatchSongId
this.suggestMatchSongId,
meta
);
console.log(ret);