Files
2026-09-09 14:47:29 +08:00

120 lines
3.8 KiB
JavaScript

const rawCast = require('../../data/cast')
const {
getSettings,
saveSettings,
} = require('../../utils/storage')
const readerDetails = {
'tang-shouan': {
relationship: '唐明远的父亲、乐乐的爷爷,也是桂香老邻居信得过的唐大夫。',
visual: '常穿素色深靛蓝外套,背着旧棕布卫生包。衣着朴素,像每天都会遇见的邻家大夫。',
poseCount: 5,
},
'qin-zhicheng': {
relationship: '秦小满的长辈,桂香食堂和饭店里掌勺多年的秦师傅。',
visual: '宽头、粗颈、宽肩,前臂厚实;穿中式粗棉厨工褂、白围裙和低矮布帽。',
poseCount: 5,
},
'lin-xiulan': {
relationship: '桂香厂老工友,也是饭票、账本和旧物的保管人。',
visual: '常穿枣红或深棕工作外套。她不急着训人,更愿意用行动把事情说明白。',
poseCount: 5,
},
'zhao-jianguo': {
relationship: '大家叫他赵伯,是桂香厂出了名的劳动骨干和老工友。',
visual: '青年时穿结实工装,老年戴深蓝便帽、捧盖碗茶;豪爽有劲,也保留普通人的体面。',
poseCount: 5,
},
'tang-mingyuan': {
relationship: '唐守安的儿子、乐乐的父亲,和许多中年人一样忙工作也顾家。',
visual: '衣着随年代变化,腰腹和颈围也慢慢有了变化。这是多年生活留下的痕迹,不拿他的身形开玩笑。',
poseCount: 4,
},
'qin-xiaoman': {
relationship: '秦师傅的晚辈,如今接手照看桂香饭店。',
visual: '穿简洁的现代中式工作装,常带着软尺、纸质座位单和调台记录。',
poseCount: 4,
},
lele: {
relationship: '唐明远的儿子、唐守安的孙子,是家里最敢把问题问出来的人。',
visual: '圆润、活泼、讨人喜欢。大人从家庭习惯上找原因,不把责任推给孩子。',
poseCount: 4,
},
xiaozhen: {
relationship: '在现代生活里陪大家整理健康信息的人,需要时提醒大家联系专业医护。',
visual: '灰绿色开衫、白衬衫、低马尾,手里拿着记录夹;总在需要时陪一程,不抢别人的故事。',
poseCount: 4,
},
}
const cast = rawCast.map((character) => ({
...character,
relationship: readerDetails[character.id].relationship,
readerRole: character.id === 'xiaozhen'
? '在故事需要回顾生活习惯时陪大家理一理;遇到拿不准的健康问题,会提醒大家联系专业医护,不替医生作决定。'
: character.role,
readerVisual: readerDetails[character.id].visual,
poseCount: readerDetails[character.id].poseCount,
}))
Page({
data: {
cast,
selected: null,
fontScale: 'large',
castListEnded: false,
},
onLoad() {
const settings = getSettings()
this.setData({
fontScale: settings.fontScale === 'xlarge' ? 'xlarge' : 'large',
castListEnded: false,
})
},
selectCharacter(event) {
const id = event.currentTarget.dataset.id
const selected = cast.find((character) => character.id === id)
this.setData({ selected })
},
closeCharacter() {
this.setData({ selected: null })
},
markListEnd() {
if (!this.data.castListEnded) {
this.setData({ castListEnded: true })
}
},
toggleFont() {
const fontScale = this.data.fontScale === 'large' ? 'xlarge' : 'large'
const settings = getSettings()
settings.fontScale = fontScale
saveSettings(settings)
this.setData({ fontScale })
},
noop() {},
goBack() {
wx.reLaunch({ url: '/pages/home/home' })
},
onShareAppMessage() {
return {
title: '唐侦探人物画谱:认识桂香故事里的人',
path: '/pages/cast/cast',
}
},
onShareTimeline() {
return {
title: '唐侦探人物画谱:认识桂香故事里的人',
query: '',
}
},
})