novel-service.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. // 小说数据服务
  2. // 引入 uni-app API
  3. // import uni from "@dcloudio/uni-app"
  4. export default {
  5. // 获取小说章节列表
  6. getChapterList(novelId) {
  7. // 这里应该从API获取数据,这里使用模拟数据
  8. return new Promise((resolve) => {
  9. setTimeout(() => {
  10. resolve([{
  11. id: 1,
  12. title: "题记与引"
  13. },
  14. {
  15. id: 2,
  16. title: "第一章 命理之源"
  17. },
  18. {
  19. id: 3,
  20. title: "第二章 八字基础"
  21. },
  22. {
  23. id: 4,
  24. title: "第三章 五行生克"
  25. },
  26. {
  27. id: 5,
  28. title: "第四章 十神详解"
  29. },
  30. // 更多章节...
  31. ])
  32. }, 300)
  33. })
  34. },
  35. // 获取章节内容
  36. getChapterContent(chapterId) {
  37. // 这里应该从API获取数据,这里使用模拟数据
  38. return new Promise((resolve) => {
  39. setTimeout(() => {
  40. let content = ""
  41. if (chapterId === 1) {
  42. content = `子平书,宋徐公东斋已详明矣。传有《渊海》、《渊源》之集,其理则一,篇句俱同。今之用者,惟宗《渊海》。而《渊源》亦有妙用,或未之集。今将二书合并参考,遗失总归一轨。加之诗诀、起例,增解字义。後学识之,则二书了然在目,无遗矣。谨白。
  43. 子平渊海之理,始自唐大夫李公虚中,以人生年月日时,生克旺相,休囚制化,决人生之祸福,其验神矣。及公薨,昌黎韩炉为之作墓志,以记之後。经吕大夫才又裁定之,并无述作之由,但云得之于师,不敢私传,恐后人妄加穿凿,遂秘其说。`
  44. } else if (chapterId === 2) {
  45. content = `命理之源,始于先天。人生于世,皆有定数。八字者,乃年月日时四柱,每柱一字,故曰八字。此八字包含天干地支,阴阳五行,生克制化,无所不包。
  46. 古人云:"一命二运三风水,四积阴德五读书。"命为先天,乃父母所生;运为后天,乃时运所至;风水为居住环境;积德为善行义举;读书为增长智慧。五者相辅相成,缺一不可。
  47. 然而,命理之学,重在明理,不在迷信。知命而不认命,顺应天时而不违背人伦。明白此理,方能趋吉避凶,改善人生。`
  48. } else {
  49. content = `这是第${chapterId}章的内容,正在加载中...`
  50. }
  51. resolve({
  52. id: chapterId,
  53. title: `第${chapterId}章`,
  54. content: content,
  55. })
  56. }, 300)
  57. })
  58. },
  59. // 保存阅读进度
  60. saveReadingProgress(novelId, chapterId, position) {
  61. return new Promise((resolve) => {
  62. // 保存到本地存储
  63. uni.setStorageSync(`novel_progress_${novelId}`, {
  64. chapterId,
  65. position,
  66. })
  67. resolve(true)
  68. })
  69. },
  70. // 获取阅读进度
  71. getReadingProgress(novelId) {
  72. return new Promise((resolve) => {
  73. const progress = uni.getStorageSync(`novel_progress_${novelId}`)
  74. resolve(progress || {
  75. chapterId: 1,
  76. position: 0
  77. })
  78. })
  79. },
  80. // 添加书签
  81. addBookmark(novelId, chapterId, position, text) {
  82. return new Promise((resolve) => {
  83. // 获取现有书签
  84. const bookmarksKey = `novel_bookmarks_${novelId}`
  85. const bookmarks = uni.getStorageSync(bookmarksKey) || []
  86. // 添加新书签
  87. bookmarks.push({
  88. id: Date.now(),
  89. chapterId,
  90. position,
  91. text,
  92. createTime: new Date().toISOString(),
  93. })
  94. // 保存书签
  95. uni.setStorageSync(bookmarksKey, bookmarks)
  96. resolve(true)
  97. })
  98. },
  99. // 获取书签列表
  100. getBookmarks(novelId) {
  101. return new Promise((resolve) => {
  102. const bookmarks = uni.getStorageSync(`novel_bookmarks_${novelId}`) || []
  103. resolve(bookmarks)
  104. })
  105. },
  106. }