|
|
@@ -166,10 +166,64 @@ export default {
|
|
166
|
166
|
}
|
|
167
|
167
|
},
|
|
168
|
168
|
openNovel(novel) {
|
|
169
|
|
- // 使用uni.navigateTo替代this.$tab.navigateTo
|
|
170
|
|
- uni.navigateTo({
|
|
171
|
|
- url: `/pages/novel/reader?novelId=${novel.id}`
|
|
172
|
|
- });
|
|
|
169
|
+ try {
|
|
|
170
|
+ console.log('openNovel被调用,参数:', novel);
|
|
|
171
|
+
|
|
|
172
|
+ // 检查novel对象是否存在
|
|
|
173
|
+ if (!novel || typeof novel !== 'object') {
|
|
|
174
|
+ console.error('novel对象无效:', novel);
|
|
|
175
|
+ uni.showToast({
|
|
|
176
|
+ title: '小说信息错误',
|
|
|
177
|
+ icon: 'none'
|
|
|
178
|
+ });
|
|
|
179
|
+ return;
|
|
|
180
|
+ }
|
|
|
181
|
+
|
|
|
182
|
+ // 检查novel.id是否存在且有效
|
|
|
183
|
+ const novelId = novel.id || novel.novelId || novel.bookId;
|
|
|
184
|
+ if (!novelId) {
|
|
|
185
|
+ console.error('无法获取小说ID:', novel);
|
|
|
186
|
+ uni.showToast({
|
|
|
187
|
+ title: '小说ID不存在',
|
|
|
188
|
+ icon: 'none'
|
|
|
189
|
+ });
|
|
|
190
|
+ return;
|
|
|
191
|
+ }
|
|
|
192
|
+
|
|
|
193
|
+ // 确保ID是数字
|
|
|
194
|
+ const id = Number(novelId);
|
|
|
195
|
+ if (isNaN(id)) {
|
|
|
196
|
+ console.error('小说ID不是有效数字:', novelId);
|
|
|
197
|
+ uni.showToast({
|
|
|
198
|
+ title: '小说ID格式错误',
|
|
|
199
|
+ icon: 'none'
|
|
|
200
|
+ });
|
|
|
201
|
+ return;
|
|
|
202
|
+ }
|
|
|
203
|
+
|
|
|
204
|
+ console.log('准备跳转到阅读页面,小说ID:', id);
|
|
|
205
|
+
|
|
|
206
|
+ // 使用uni.navigateTo进行跳转
|
|
|
207
|
+ uni.navigateTo({
|
|
|
208
|
+ url: `/pages/novel/reader?novelId=${id}`,
|
|
|
209
|
+ success: (res) => {
|
|
|
210
|
+ console.log('跳转成功', res);
|
|
|
211
|
+ },
|
|
|
212
|
+ fail: (err) => {
|
|
|
213
|
+ console.error('跳转失败', err);
|
|
|
214
|
+ uni.showToast({
|
|
|
215
|
+ title: '跳转失败,请重试',
|
|
|
216
|
+ icon: 'none'
|
|
|
217
|
+ });
|
|
|
218
|
+ }
|
|
|
219
|
+ });
|
|
|
220
|
+ } catch (error) {
|
|
|
221
|
+ console.error('openNovel方法执行异常:', error);
|
|
|
222
|
+ uni.showToast({
|
|
|
223
|
+ title: '发生未知错误',
|
|
|
224
|
+ icon: 'none'
|
|
|
225
|
+ });
|
|
|
226
|
+ }
|
|
173
|
227
|
},
|
|
174
|
228
|
// 修复响应解析方法
|
|
175
|
229
|
parseResponse(res) {
|
|
|
@@ -371,6 +425,23 @@ openNovel(novel) {
|
|
371
|
425
|
} finally {
|
|
372
|
426
|
this.loading = false;
|
|
373
|
427
|
}
|
|
|
428
|
+ if (newNovels.length > 0) {
|
|
|
429
|
+ this.novels = [...this.novels, ...newNovels];
|
|
|
430
|
+ this.hasMore = this.novels.length < total;
|
|
|
431
|
+ this.page++;
|
|
|
432
|
+
|
|
|
433
|
+ // 确保每个novel对象都有有效的id
|
|
|
434
|
+ this.novels.forEach((novel, index) => {
|
|
|
435
|
+ if (!novel.id) {
|
|
|
436
|
+ console.warn(`小说 ${index} 缺少ID,使用索引作为临时ID`);
|
|
|
437
|
+ novel.id = index + 1; // 使用索引作为临时ID
|
|
|
438
|
+ }
|
|
|
439
|
+
|
|
|
440
|
+ if (novel.coverImg) {
|
|
|
441
|
+ novel.coverImg = this.getCoverUrl(novel.coverImg);
|
|
|
442
|
+ }
|
|
|
443
|
+ });
|
|
|
444
|
+ }
|
|
374
|
445
|
},
|
|
375
|
446
|
|
|
376
|
447
|
// 暂时禁用广告加载,避免404错误
|