const { resolveScene } = require('../../../../utils/static-ux/shared') const { ROUTES, openStaticRoute } = require('../../../../utils/static-ux/route-map') const BOOK_SURFACES = Object.freeze({ 'classic-a': { coverText: '滴', title: '滴天髓', subtitle: '命理经典研习入口', route: `${ROUTES.mingli.section}?scene=reader-a`, catalog: ['总论', '天干地支', '格局取法'], recommends: [{ key: 'classic-b', title: '穷通宝鉴', route: `${ROUTES.mingli.bookDetail}?scene=classic-b` }] }, 'classic-b': { coverText: '穷', title: '穷通宝鉴', subtitle: '格局与用神的静态阅读入口', route: `${ROUTES.mingli.section}?scene=reader-b`, catalog: ['四时旺衰', '五行喜忌', '命局评析'], recommends: [{ key: 'classic-a', title: '滴天髓', route: `${ROUTES.mingli.bookDetail}?scene=classic-a` }] } }) function createMingliBookDetailPageData(rawScene) { const scene = resolveScene(rawScene, ['classic-a', 'classic-b'], 'classic-a') const surface = BOOK_SURFACES[scene] return { title: '易学典籍详情', scene, coverText: surface.coverText, book: { title: surface.title, subtitle: surface.subtitle }, catalog: [...surface.catalog], primaryRoute: surface.route, recommends: surface.recommends.map(item => ({ ...item })) } } function showNavigate(route) { openStaticRoute(route, wx) } Page({ data: createMingliBookDetailPageData('classic-a'), onLoad(options) { this.setData(createMingliBookDetailPageData(options.scene)) }, handlePrimaryTap() { showNavigate(this.data.primaryRoute) }, handleRecommendTap(event) { showNavigate(event.currentTarget.dataset.route) } }) module.exports = { createMingliBookDetailPageData }