reader-component.js 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537
  1. (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/school/reader/reader-component"],{
  2. /***/ 257:
  3. /*!************************************************************************************!*\
  4. !*** D:/baozhida/baozhida-figure-platter/pages/school/reader/reader-component.vue ***!
  5. \************************************************************************************/
  6. /*! no static exports found */
  7. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8. "use strict";
  9. __webpack_require__.r(__webpack_exports__);
  10. /* harmony import */ var _reader_component_vue_vue_type_template_id_1cf64f5d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reader-component.vue?vue&type=template&id=1cf64f5d&scoped=true& */ 258);
  11. /* harmony import */ var _reader_component_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reader-component.vue?vue&type=script&lang=js& */ 260);
  12. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _reader_component_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _reader_component_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  13. /* harmony import */ var _reader_component_vue_vue_type_style_index_0_id_1cf64f5d_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reader-component.vue?vue&type=style&index=0&id=1cf64f5d&scoped=true&lang=css& */ 263);
  14. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 32);
  15. var renderjs
  16. /* normalize component */
  17. var component = Object(_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
  18. _reader_component_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
  19. _reader_component_vue_vue_type_template_id_1cf64f5d_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
  20. _reader_component_vue_vue_type_template_id_1cf64f5d_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
  21. false,
  22. null,
  23. "1cf64f5d",
  24. null,
  25. false,
  26. _reader_component_vue_vue_type_template_id_1cf64f5d_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
  27. renderjs
  28. )
  29. component.options.__file = "pages/school/reader/reader-component.vue"
  30. /* harmony default export */ __webpack_exports__["default"] = (component.exports);
  31. /***/ }),
  32. /***/ 258:
  33. /*!*******************************************************************************************************************************!*\
  34. !*** D:/baozhida/baozhida-figure-platter/pages/school/reader/reader-component.vue?vue&type=template&id=1cf64f5d&scoped=true& ***!
  35. \*******************************************************************************************************************************/
  36. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  37. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  38. "use strict";
  39. __webpack_require__.r(__webpack_exports__);
  40. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_template_id_1cf64f5d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./reader-component.vue?vue&type=template&id=1cf64f5d&scoped=true& */ 259);
  41. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_template_id_1cf64f5d_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
  42. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_template_id_1cf64f5d_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  43. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_template_id_1cf64f5d_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  44. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_template_id_1cf64f5d_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
  45. /***/ }),
  46. /***/ 259:
  47. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  48. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/baozhida/baozhida-figure-platter/pages/school/reader/reader-component.vue?vue&type=template&id=1cf64f5d&scoped=true& ***!
  49. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  50. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  51. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  52. "use strict";
  53. __webpack_require__.r(__webpack_exports__);
  54. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  55. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  56. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  57. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  58. var components
  59. var render = function () {
  60. var _vm = this
  61. var _h = _vm.$createElement
  62. var _c = _vm._self._c || _h
  63. }
  64. var recyclableRender = false
  65. var staticRenderFns = []
  66. render._withStripped = true
  67. /***/ }),
  68. /***/ 260:
  69. /*!*************************************************************************************************************!*\
  70. !*** D:/baozhida/baozhida-figure-platter/pages/school/reader/reader-component.vue?vue&type=script&lang=js& ***!
  71. \*************************************************************************************************************/
  72. /*! no static exports found */
  73. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  74. "use strict";
  75. __webpack_require__.r(__webpack_exports__);
  76. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./reader-component.vue?vue&type=script&lang=js& */ 261);
  77. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
  78. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  79. /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
  80. /***/ }),
  81. /***/ 261:
  82. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  83. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/baozhida/baozhida-figure-platter/pages/school/reader/reader-component.vue?vue&type=script&lang=js& ***!
  84. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  85. /*! no static exports found */
  86. /***/ (function(module, exports, __webpack_require__) {
  87. "use strict";
  88. /* WEBPACK VAR INJECTION */(function(uni) {
  89. var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
  90. Object.defineProperty(exports, "__esModule", {
  91. value: true
  92. });
  93. exports.default = void 0;
  94. var _novelService = _interopRequireDefault(__webpack_require__(/*! ./novel-service.js */ 262));
  95. var ReaderHeader = function ReaderHeader() {
  96. __webpack_require__.e(/*! require.ensure | pages/school/reader/reader-header */ "pages/school/reader/reader-header").then((function () {
  97. return resolve(__webpack_require__(/*! ./reader-header.vue */ 332));
  98. }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
  99. };
  100. var ReaderFooter = function ReaderFooter() {
  101. __webpack_require__.e(/*! require.ensure | pages/school/reader/reader-footer */ "pages/school/reader/reader-footer").then((function () {
  102. return resolve(__webpack_require__(/*! ./reader-footer.vue */ 339));
  103. }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
  104. };
  105. var ReaderSettings = function ReaderSettings() {
  106. __webpack_require__.e(/*! require.ensure | pages/school/reader/reader-settings */ "pages/school/reader/reader-settings").then((function () {
  107. return resolve(__webpack_require__(/*! ./reader-settings.vue */ 346));
  108. }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
  109. };
  110. var ReaderCatalog = function ReaderCatalog() {
  111. __webpack_require__.e(/*! require.ensure | pages/school/reader/reader-catalog */ "pages/school/reader/reader-catalog").then((function () {
  112. return resolve(__webpack_require__(/*! ./reader-catalog.vue */ 353));
  113. }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
  114. };
  115. var SlidingContainer = function SlidingContainer() {
  116. __webpack_require__.e(/*! require.ensure | pages/school/reader/sliding-container */ "pages/school/reader/sliding-container").then((function () {
  117. return resolve(__webpack_require__(/*! ./sliding-container.vue */ 360));
  118. }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
  119. };
  120. var _default = {
  121. name: 'ReaderComponent',
  122. components: {
  123. ReaderHeader: ReaderHeader,
  124. ReaderFooter: ReaderFooter,
  125. ReaderSettings: ReaderSettings,
  126. ReaderCatalog: ReaderCatalog,
  127. SlidingContainer: SlidingContainer
  128. },
  129. props: {
  130. novelId: {
  131. type: Number,
  132. required: true
  133. }
  134. },
  135. data: function data() {
  136. return {
  137. currentChapterId: 1,
  138. chapters: [],
  139. currentChapter: {
  140. title: '',
  141. content: '加载中...'
  142. },
  143. showControls: false,
  144. showSettingsPanel: false,
  145. showCatalogPanel: false,
  146. showNotesPanel: false,
  147. showProgressPanel: false,
  148. fontSize: 18,
  149. margin: 20,
  150. lineHeight: 1.8,
  151. themeIndex: 0,
  152. bgColors: [{
  153. bg: '#f8f4e9',
  154. text: '#3e3d3b'
  155. }, {
  156. bg: '#ffffff',
  157. text: '#333333'
  158. }, {
  159. bg: '#e9e9e9',
  160. text: '#333333'
  161. }, {
  162. bg: '#cce8cf',
  163. text: '#333333'
  164. }, {
  165. bg: '#333333',
  166. text: '#c4c4c4'
  167. }],
  168. touchStartX: 0,
  169. touchEndX: 0,
  170. showPageTip: false,
  171. pageTipText: '',
  172. capsuleInfo: {
  173. height: 0,
  174. top: 0,
  175. right: 0,
  176. statusBarHeight: 0
  177. },
  178. headerHeight: 90,
  179. prevChapter: null,
  180. nextChapter: null
  181. };
  182. },
  183. computed: {
  184. containerStyle: function containerStyle() {
  185. var theme = this.bgColors[this.themeIndex];
  186. return {
  187. backgroundColor: theme.bg,
  188. color: theme.text,
  189. // padding: `0 ${this.margin}px`,
  190. minHeight: '100vh'
  191. };
  192. },
  193. contentStyle: function contentStyle() {
  194. return {
  195. fontSize: "".concat(this.fontSize, "px"),
  196. lineHeight: String(this.lineHeight) // 确保 lineHeight 是字符串
  197. };
  198. },
  199. contentAreaStyle: function contentAreaStyle() {
  200. var topPadding = this.capsuleInfo.statusBarHeight + this.headerHeight / 2;
  201. return {
  202. paddingTop: "".concat(topPadding, "px"),
  203. paddingBottom: '120rpx',
  204. minHeight: '100vh',
  205. boxSizing: 'border-box'
  206. };
  207. }
  208. },
  209. methods: {
  210. initPage: function initPage() {
  211. this.getCapsuleInfo();
  212. this.loadSettings();
  213. this.loadChapterList();
  214. this.loadReadingProgress();
  215. },
  216. toggleControls: function toggleControls() {
  217. this.showControls = !this.showControls;
  218. if (!this.showControls) {
  219. this.closeAllPanels();
  220. }
  221. },
  222. closeAllPanels: function closeAllPanels() {
  223. this.showSettingsPanel = false;
  224. this.showCatalogPanel = false;
  225. this.showNotesPanel = false;
  226. this.showProgressPanel = false;
  227. },
  228. goBack: function goBack() {
  229. this.$emit('back');
  230. },
  231. handleSearch: function handleSearch() {
  232. this.$emit('search');
  233. },
  234. handleAddToShelf: function handleAddToShelf() {
  235. this.$emit('add-to-shelf');
  236. },
  237. handleAddBookmark: function handleAddBookmark() {
  238. var _this = this;
  239. _novelService.default.addBookmark(this.novelId, this.currentChapterId, 0, this.currentChapter.content.substring(0, 50)).then(function () {
  240. uni.showToast({
  241. title: '已添加书签',
  242. icon: 'success'
  243. });
  244. _this.$emit('add-bookmark');
  245. });
  246. },
  247. toggleCatalog: function toggleCatalog() {
  248. this.showCatalogPanel = !this.showCatalogPanel;
  249. this.showSettingsPanel = false;
  250. this.showNotesPanel = false;
  251. this.showProgressPanel = false;
  252. },
  253. toggleNotes: function toggleNotes() {
  254. this.showNotesPanel = !this.showNotesPanel;
  255. this.showSettingsPanel = false;
  256. this.showCatalogPanel = false;
  257. this.showProgressPanel = false;
  258. this.$emit('show-notes');
  259. },
  260. toggleProgress: function toggleProgress() {
  261. this.showProgressPanel = !this.showProgressPanel;
  262. this.showSettingsPanel = false;
  263. this.showCatalogPanel = false;
  264. this.showNotesPanel = false;
  265. this.$emit('show-progress');
  266. },
  267. toggleSettings: function toggleSettings() {
  268. this.showSettingsPanel = !this.showSettingsPanel;
  269. },
  270. changeTheme: function changeTheme(index) {
  271. this.themeIndex = index;
  272. // 强制更新视图
  273. this.$forceUpdate();
  274. // 保存设置
  275. uni.setStorageSync('reader_theme', index);
  276. this.$emit('theme-change', index);
  277. },
  278. changeFontSize: function changeFontSize(value) {
  279. this.fontSize = Number(value);
  280. uni.setStorageSync('reader_font_size', this.fontSize);
  281. this.$emit('font-size-change', this.fontSize);
  282. },
  283. changeMargin: function changeMargin(value) {
  284. this.margin = Number(value);
  285. uni.setStorageSync('reader_margin', this.margin);
  286. this.$emit('margin-change', this.margin);
  287. },
  288. changeLineHeight: function changeLineHeight(value) {
  289. this.lineHeight = Number(value);
  290. uni.setStorageSync('reader_line_height', this.lineHeight);
  291. this.$emit('line-height-change', this.lineHeight);
  292. },
  293. touchStart: function touchStart(e) {
  294. this.touchStartX = e.changedTouches[0].clientX;
  295. },
  296. touchEnd: function touchEnd(e) {
  297. this.touchEndX = e.changedTouches[0].clientX;
  298. var diffX = this.touchEndX - this.touchStartX;
  299. if (this.showControls) return;
  300. if (diffX > 100) {
  301. this.prevPage();
  302. } else if (diffX < -100) {
  303. this.nextPage();
  304. }
  305. },
  306. prevPage: function prevPage() {
  307. var _this2 = this;
  308. if (this.currentChapterId <= 1) {
  309. this.showPageTip = true;
  310. this.pageTipText = '已经是第一章了';
  311. setTimeout(function () {
  312. _this2.showPageTip = false;
  313. }, 1500);
  314. return;
  315. }
  316. this.loadChapter(this.currentChapterId - 1);
  317. this.showPageTip = true;
  318. this.pageTipText = '上一章';
  319. setTimeout(function () {
  320. _this2.showPageTip = false;
  321. }, 1500);
  322. this.$emit('prev-page');
  323. },
  324. nextPage: function nextPage() {
  325. var _this3 = this;
  326. if (this.currentChapterId >= this.chapters.length) {
  327. this.showPageTip = true;
  328. this.pageTipText = '已经是最后一章了';
  329. setTimeout(function () {
  330. _this3.showPageTip = false;
  331. }, 1500);
  332. return;
  333. }
  334. this.loadChapter(this.currentChapterId + 1);
  335. this.showPageTip = true;
  336. this.pageTipText = '下一章';
  337. setTimeout(function () {
  338. _this3.showPageTip = false;
  339. }, 1500);
  340. this.$emit('next-page');
  341. },
  342. selectChapter: function selectChapter(chapter) {
  343. this.loadChapter(chapter.id);
  344. this.showCatalogPanel = false;
  345. this.$emit('chapter-change', chapter);
  346. },
  347. loadChapter: function loadChapter(chapterId) {
  348. var _this4 = this;
  349. this.currentChapter = {
  350. title: '',
  351. content: '加载中...'
  352. };
  353. _novelService.default.getChapterContent(chapterId).then(function (chapter) {
  354. _this4.currentChapter = chapter;
  355. _this4.currentChapterId = chapterId;
  356. // 预加载相邻章节
  357. _this4.preloadAdjacentChapters();
  358. _novelService.default.saveReadingProgress(_this4.novelId, chapterId, 0);
  359. _this4.$emit('chapter-loaded', chapter);
  360. });
  361. },
  362. loadChapterList: function loadChapterList() {
  363. var _this5 = this;
  364. _novelService.default.getChapterList(this.novelId).then(function (chapters) {
  365. _this5.chapters = chapters;
  366. _this5.$emit('chapters-loaded', chapters);
  367. });
  368. },
  369. loadReadingProgress: function loadReadingProgress() {
  370. var _this6 = this;
  371. _novelService.default.getReadingProgress(this.novelId).then(function (progress) {
  372. if (progress && progress.chapterId) {
  373. _this6.loadChapter(progress.chapterId);
  374. } else {
  375. _this6.loadChapter(1);
  376. }
  377. });
  378. },
  379. loadSettings: function loadSettings() {
  380. var theme = uni.getStorageSync('reader_theme');
  381. var fontSize = uni.getStorageSync('reader_font_size');
  382. var margin = uni.getStorageSync('reader_margin');
  383. var lineHeight = uni.getStorageSync('reader_line_height');
  384. this.themeIndex = theme !== '' ? Number(theme) : 0;
  385. this.fontSize = fontSize !== '' ? Number(fontSize) : 18;
  386. this.margin = margin !== '' ? Number(margin) : 20;
  387. this.lineHeight = lineHeight !== '' ? Number(lineHeight) : 1.8;
  388. },
  389. getCapsuleInfo: function getCapsuleInfo() {
  390. var systemInfo = uni.getSystemInfoSync();
  391. var menuButtonInfo = uni.getMenuButtonBoundingClientRect();
  392. this.capsuleInfo = {
  393. height: menuButtonInfo.height,
  394. top: menuButtonInfo.top,
  395. right: systemInfo.windowWidth - menuButtonInfo.right,
  396. statusBarHeight: systemInfo.statusBarHeight
  397. };
  398. this.headerHeight = (menuButtonInfo.top - systemInfo.statusBarHeight) * 2 + menuButtonInfo.height + 10;
  399. },
  400. // 处理滑动到上一章
  401. handleSlidePrev: function handleSlidePrev() {
  402. var _this7 = this;
  403. if (this.currentChapterId <= 1) {
  404. this.showPageTip = true;
  405. this.pageTipText = '已经是第一章了';
  406. setTimeout(function () {
  407. _this7.showPageTip = false;
  408. }, 1500);
  409. return;
  410. }
  411. var targetChapterId = this.currentChapterId - 1;
  412. this.loadChapter(targetChapterId);
  413. this.$emit('prev-page');
  414. },
  415. // 处理滑动到下一章
  416. handleSlideNext: function handleSlideNext() {
  417. var _this8 = this;
  418. if (this.currentChapterId >= this.chapters.length) {
  419. this.showPageTip = true;
  420. this.pageTipText = '已经是最后一章了';
  421. setTimeout(function () {
  422. _this8.showPageTip = false;
  423. }, 1500);
  424. return;
  425. }
  426. var targetChapterId = this.currentChapterId + 1;
  427. this.loadChapter(targetChapterId);
  428. this.$emit('next-page');
  429. },
  430. // 预加载相邻章节
  431. preloadAdjacentChapters: function preloadAdjacentChapters() {
  432. var _this9 = this;
  433. // 预加载上一章
  434. if (this.currentChapterId > 1) {
  435. _novelService.default.getChapterContent(this.currentChapterId - 1).then(function (chapter) {
  436. _this9.prevChapter = chapter;
  437. });
  438. } else {
  439. this.prevChapter = null;
  440. }
  441. // 预加载下一章
  442. if (this.currentChapterId < this.chapters.length) {
  443. _novelService.default.getChapterContent(this.currentChapterId + 1).then(function (chapter) {
  444. _this9.nextChapter = chapter;
  445. });
  446. } else {
  447. this.nextChapter = null;
  448. }
  449. }
  450. },
  451. created: function created() {
  452. this.initPage();
  453. },
  454. onShow: function onShow() {
  455. this.getCapsuleInfo();
  456. },
  457. onResize: function onResize() {
  458. this.getCapsuleInfo();
  459. }
  460. };
  461. exports.default = _default;
  462. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
  463. /***/ }),
  464. /***/ 263:
  465. /*!*********************************************************************************************************************************************!*\
  466. !*** D:/baozhida/baozhida-figure-platter/pages/school/reader/reader-component.vue?vue&type=style&index=0&id=1cf64f5d&scoped=true&lang=css& ***!
  467. \*********************************************************************************************************************************************/
  468. /*! no static exports found */
  469. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  470. "use strict";
  471. __webpack_require__.r(__webpack_exports__);
  472. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_style_index_0_id_1cf64f5d_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./reader-component.vue?vue&type=style&index=0&id=1cf64f5d&scoped=true&lang=css& */ 264);
  473. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_style_index_0_id_1cf64f5d_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_style_index_0_id_1cf64f5d_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
  474. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_style_index_0_id_1cf64f5d_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_style_index_0_id_1cf64f5d_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  475. /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_reader_component_vue_vue_type_style_index_0_id_1cf64f5d_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
  476. /***/ }),
  477. /***/ 264:
  478. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  479. !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/baozhida/baozhida-figure-platter/pages/school/reader/reader-component.vue?vue&type=style&index=0&id=1cf64f5d&scoped=true&lang=css& ***!
  480. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  481. /*! no static exports found */
  482. /***/ (function(module, exports, __webpack_require__) {
  483. // extracted by mini-css-extract-plugin
  484. if(false) { var cssReload; }
  485. /***/ })
  486. }]);
  487. //# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/school/reader/reader-component.js.map
  488. ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
  489. 'pages/school/reader/reader-component-create-component',
  490. {
  491. 'pages/school/reader/reader-component-create-component':(function(module, exports, __webpack_require__){
  492. __webpack_require__('2')['createComponent'](__webpack_require__(257))
  493. })
  494. },
  495. [['pages/school/reader/reader-component-create-component']]
  496. ]);