更新个人资料页实现评估会议记录,明确展示与编辑页字段一致性要求,补充技能字段的展示与编辑需求。优化小程序页面,增加联系方式完善弹窗,确保用户在使用找伙伴功能前填写手机号或微信号。调整相关文档以反映最新进展,提升用户体验与功能一致性。

This commit is contained in:
Alex-larget
2026-02-28 15:16:23 +08:00
parent 244fe98591
commit 41e5b1258b
57 changed files with 3451 additions and 1740 deletions

View File

@@ -212,6 +212,7 @@ Page({
navBarHeight: app.globalData.navBarHeight
})
this.updateUserStatus()
this.loadBookDataFromServer()
this.loadDailyChapters()
this.loadTotalFromServer()
},
@@ -219,12 +220,64 @@ Page({
async loadTotalFromServer() {
try {
const res = await app.request({ url: '/api/miniprogram/book/all-chapters', silent: true })
if (res && res.total) {
this.setData({ totalSections: res.total })
if (res && (res.total || (res.data && res.data.length))) {
this.setData({ totalSections: res.total || (res.data || []).length })
}
} catch (e) {}
},
// stitch_soul P0-8从服务端加载目录按 part 聚合,带 isNew、免费/¥1
async loadBookDataFromServer() {
try {
const res = await app.request({ url: '/api/miniprogram/book/all-chapters', silent: true })
const rows = (res && res.data) || (res && res.chapters) || []
if (rows.length === 0) return
const partMap = new Map()
const numbers = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二']
rows.forEach((r, idx) => {
const pid = r.partId || r.part_id || 'part-1'
const cid = r.chapterId || r.chapter_id || 'chapter-1'
if (!partMap.has(pid)) {
const partIdx = partMap.size
partMap.set(pid, {
id: pid,
number: numbers[partIdx] || String(partIdx + 1),
title: r.partTitle || r.part_title || '未分类',
subtitle: r.chapterTitle || r.chapter_title || '',
chapters: new Map()
})
}
const part = partMap.get(pid)
if (!part.chapters.has(cid)) {
part.chapters.set(cid, {
id: cid,
title: r.chapterTitle || r.chapter_title || '未分类',
sections: []
})
}
const ch = part.chapters.get(cid)
ch.sections.push({
id: r.id,
mid: r.mid ?? r.MID ?? 0,
title: r.sectionTitle || r.section_title || r.title || '',
isFree: r.isFree === true || (r.price !== undefined && r.price === 0),
price: r.price ?? 1,
isNew: r.isNew === true || r.is_new === true
})
})
const bookData = Array.from(partMap.values()).map(p => ({
...p,
chapters: Array.from(p.chapters.values())
}))
const firstPart = bookData[0] && bookData[0].id
this.setData({
bookData,
totalSections: rows.length,
expandedPart: firstPart || this.data.expandedPart
})
} catch (e) { console.log('[Chapters] 加载目录失败:', e) }
},
onShow() {
// 设置TabBar选中状态
if (typeof this.getTabBar === 'function' && this.getTabBar()) {