// 小说数据服务 // 引入 uni-app API // import uni from "@dcloudio/uni-app" export default { // 获取小说章节列表 getChapterList(novelId) { // 这里应该从API获取数据,这里使用模拟数据 return new Promise((resolve) => { setTimeout(() => { resolve([{ id: 1, title: "题记与引" }, { id: 2, title: "第一章 命理之源" }, { id: 3, title: "第二章 八字基础" }, { id: 4, title: "第三章 五行生克" }, { id: 5, title: "第四章 十神详解" }, // 更多章节... ]) }, 300) }) }, // 获取章节内容 getChapterContent(chapterId) { // 这里应该从API获取数据,这里使用模拟数据 return new Promise((resolve) => { setTimeout(() => { let content = "" if (chapterId === 1) { content = `子平书,宋徐公东斋已详明矣。传有《渊海》、《渊源》之集,其理则一,篇句俱同。今之用者,惟宗《渊海》。而《渊源》亦有妙用,或未之集。今将二书合并参考,遗失总归一轨。加之诗诀、起例,增解字义。後学识之,则二书了然在目,无遗矣。谨白。 引 子平渊海之理,始自唐大夫李公虚中,以人生年月日时,生克旺相,休囚制化,决人生之祸福,其验神矣。及公薨,昌黎韩炉为之作墓志,以记之後。经吕大夫才又裁定之,并无述作之由,但云得之于师,不敢私传,恐后人妄加穿凿,遂秘其说。` } else if (chapterId === 2) { content = `命理之源,始于先天。人生于世,皆有定数。八字者,乃年月日时四柱,每柱一字,故曰八字。此八字包含天干地支,阴阳五行,生克制化,无所不包。 古人云:"一命二运三风水,四积阴德五读书。"命为先天,乃父母所生;运为后天,乃时运所至;风水为居住环境;积德为善行义举;读书为增长智慧。五者相辅相成,缺一不可。 然而,命理之学,重在明理,不在迷信。知命而不认命,顺应天时而不违背人伦。明白此理,方能趋吉避凶,改善人生。` } else { content = `这是第${chapterId}章的内容,正在加载中...` } resolve({ id: chapterId, title: `第${chapterId}章`, content: content, }) }, 300) }) }, // 保存阅读进度 saveReadingProgress(novelId, chapterId, position) { return new Promise((resolve) => { // 保存到本地存储 uni.setStorageSync(`novel_progress_${novelId}`, { chapterId, position, }) resolve(true) }) }, // 获取阅读进度 getReadingProgress(novelId) { return new Promise((resolve) => { const progress = uni.getStorageSync(`novel_progress_${novelId}`) resolve(progress || { chapterId: 1, position: 0 }) }) }, // 添加书签 addBookmark(novelId, chapterId, position, text) { return new Promise((resolve) => { // 获取现有书签 const bookmarksKey = `novel_bookmarks_${novelId}` const bookmarks = uni.getStorageSync(bookmarksKey) || [] // 添加新书签 bookmarks.push({ id: Date.now(), chapterId, position, text, createTime: new Date().toISOString(), }) // 保存书签 uni.setStorageSync(bookmarksKey, bookmarks) resolve(true) }) }, // 获取书签列表 getBookmarks(novelId) { return new Promise((resolve) => { const bookmarks = uni.getStorageSync(`novel_bookmarks_${novelId}`) || [] resolve(bookmarks) }) }, }