diff --git a/mini-program/src/services/epicScript.js b/mini-program/src/services/epicScript.js index 93c313e..a002481 100644 --- a/mini-program/src/services/epicScript.js +++ b/mini-program/src/services/epicScript.js @@ -198,6 +198,39 @@ export const transformListToFrontend = (backendList) => { return backendList.map(transformToFrontendFormat) } +/** + * 切换剧本收藏状态(收藏/取消收藏) + * @param {string} scriptId 剧本ID + * @returns {Promise<{success: boolean, isFavorited: boolean}>} + */ +export const toggleFavoriteScript = async (scriptId) => { + const res = await post('/epicScript/favorite/toggle', { scriptId }) + return { + success: true, + isFavorited: res.data?.isFavorited ?? false, + favoriteTime: res.data?.favoriteTime ?? null + } +} + +/** + * 获取收藏剧本列表 + * @param {number} current 当前页 + * @param {number} size 每页大小 + */ +export const getFavoriteScriptPage = async (current = 1, size = 10) => { + return get('/epicScript/favorite/page', { current, size }) +} + +/** + * 检查剧本是否已收藏 + * @param {string} scriptId 剧本ID + * @returns {Promise} + */ +export const checkFavoriteScript = async (scriptId) => { + const res = await get('/epicScript/favorite/check', { scriptId }) + return res.data?.isFavorited ?? false +} + export default { getScriptList, getScriptPage, @@ -212,5 +245,8 @@ export default { buildCharacterInfo, buildLifeEventsSummary, transformToFrontendFormat, - transformListToFrontend + transformListToFrontend, + toggleFavoriteScript, + getFavoriteScriptPage, + checkFavoriteScript, }