From 5a5388234a79a93131b579fe565f91c66df69685 Mon Sep 17 00:00:00 2001 From: gouki Date: Thu, 13 Aug 2026 23:37:12 +0000 Subject: [PATCH] =?UTF-8?q?feat(mini):=20=E8=8A=82=E6=B0=94=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E6=8E=92=E7=89=88=E4=BC=98=E5=8C=96=20+=20=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=E5=BC=80=E5=8F=91=E8=BF=9E=E7=BA=BF=E4=B8=8A=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - wiki 页节气详情排版:配图圆角阴影、涵义引言(米黄渐变+红竖条)、 简介两端对齐、结构化字段列表(红点标签)分块展示 - wiki.js 提取 meaning 单独展示,extraList 排除避免重复 - request.js develop 环境指向线上(本地 8080 被占用且 localhost 受域名校验限制) - project.config.json 关闭 urlCheck 便于本地开发连线上调试 --- mini/pages/wiki/wiki.js | 13 ++++++++- mini/pages/wiki/wiki.wxml | 14 ++++++++-- mini/pages/wiki/wiki.wxss | 58 ++++++++++++++++++++++++++++++++------- mini/project.config.json | 2 +- mini/utils/request.js | 4 +-- 5 files changed, 75 insertions(+), 16 deletions(-) diff --git a/mini/pages/wiki/wiki.js b/mini/pages/wiki/wiki.js index 98f2a0c..4438e0c 100644 --- a/mini/pages/wiki/wiki.js +++ b/mini/pages/wiki/wiki.js @@ -56,19 +56,29 @@ const EXTRA_LABELS = [ { key: 'flower', name: '花信' } ]; -// buildExtraList 把服务端 extra JSON 字符串解析为 [{name, value}] 展示列表(仅保留非空项,按定义顺序) +// buildExtraList 把服务端 extra JSON 字符串解析为 [{name, value}] 展示列表(仅保留非空项,按定义顺序;meaning 单独展示故排除) function buildExtraList(extraStr) { if (!extraStr) return []; let obj = {}; try { obj = JSON.parse(extraStr); } catch (e) { return []; } const list = []; EXTRA_LABELS.forEach(f => { + if (f.key === 'meaning') return; // 涵义在引言区单独突出显示 const v = (obj[f.key] || '').trim(); if (v) list.push({ name: f.name, value: v }); }); return list; } +// extractMeaning 从 extra JSON 中提取涵义(用于引言区突出显示) +function extractMeaning(extraStr) { + if (!extraStr) return ''; + try { + const obj = JSON.parse(extraStr); + return (obj.meaning || '').trim(); + } catch (e) { return ''; } +} + function buildEntries() { const entries = []; @@ -168,6 +178,7 @@ Page({ brief: s.brief, content: s.content, image: s.image || '', + meaning: extractMeaning(s.extra), extraList: buildExtraList(s.extra), open: false }; diff --git a/mini/pages/wiki/wiki.wxml b/mini/pages/wiki/wiki.wxml index 11ab28b..1548e2b 100644 --- a/mini/pages/wiki/wiki.wxml +++ b/mini/pages/wiki/wiki.wxml @@ -25,15 +25,25 @@ {{item.catName}} {{item.brief}} - + + + + + {{item.meaning}} + + {{item.content}} + - {{field.name}} + + + {{field.name}} + {{field.value}} diff --git a/mini/pages/wiki/wiki.wxss b/mini/pages/wiki/wiki.wxss index 43e2de7..e9975d2 100644 --- a/mini/pages/wiki/wiki.wxss +++ b/mini/pages/wiki/wiki.wxss @@ -47,35 +47,59 @@ .entry-detail { border-top: 1rpx solid #F0E6DA; - padding-top: 16rpx; - line-height: 1.7; + margin-top: 16rpx; + padding-top: 20rpx; } /* 节气配图 */ .entry-image { width: 100%; - border-radius: 12rpx; - margin-bottom: 16rpx; + border-radius: 16rpx; + margin-bottom: 20rpx; background: #F5F0EA; + box-shadow: 0 4rpx 16rpx rgba(74, 64, 54, 0.08); +} + +/* 涵义引言(突出显示) */ +.entry-meaning { + position: relative; + background: linear-gradient(135deg, #FBF3EC 0%, #F7ECE2 100%); + border-left: 6rpx solid #C41E3A; + border-radius: 8rpx; + padding: 20rpx 24rpx; + margin-bottom: 20rpx; +} + +.meaning-text { + font-size: 28rpx; + color: #8C6D4F; + line-height: 1.6; + font-weight: 500; + letter-spacing: 1rpx; } /* 详细简介 */ .entry-content { display: block; color: #4A4036; + font-size: 28rpx; + line-height: 1.9; + text-align: justify; + letter-spacing: 0.5rpx; } /* 结构化扩展字段列表 */ .extra-list { - margin-top: 16rpx; + margin-top: 24rpx; background: #FBF7F1; - border-radius: 12rpx; - padding: 8rpx 20rpx; + border-radius: 16rpx; + padding: 8rpx 24rpx; } .extra-item { display: flex; - padding: 12rpx 0; + align-items: flex-start; + padding: 16rpx 0; border-bottom: 1rpx solid #F0E6DA; } @@ -85,17 +109,31 @@ .extra-name { flex-shrink: 0; - width: 140rpx; + width: 150rpx; + display: flex; + align-items: center; font-size: 26rpx; color: #A08B76; font-weight: 500; + padding-top: 2rpx; +} + +/* 标签前的小圆点装饰 */ +.extra-dot { + display: inline-block; + width: 8rpx; + height: 8rpx; + border-radius: 50%; + background: #C41E3A; + margin-right: 12rpx; + flex-shrink: 0; } .extra-value { flex: 1; font-size: 26rpx; color: #4A4036; - line-height: 1.6; + line-height: 1.7; } .empty-tip { diff --git a/mini/project.config.json b/mini/project.config.json index 7d646c9..57c1f02 100644 --- a/mini/project.config.json +++ b/mini/project.config.json @@ -7,7 +7,7 @@ "setting": { "bundle": false, "userConfirmedBundleSwitch": false, - "urlCheck": true, + "urlCheck": false, "scopeDataCheck": false, "coverView": true, "es6": true, diff --git a/mini/utils/request.js b/mini/utils/request.js index a900f86..753d1d6 100644 --- a/mini/utils/request.js +++ b/mini/utils/request.js @@ -1,9 +1,9 @@ // 网络请求封装 // 按小程序运行环境自动切换后端地址: -// - develop(开发者工具):本地开发服务 +// - develop(开发者工具):连线上数据(本地 8080 被其他服务占用,且 localhost 受域名校验限制) // - trial/release(体验版/正式版):生产域名(需在微信公众平台配置为 request 合法域名) const API_HOSTS = { - develop: 'http://localhost:8080', + develop: 'https://lunar.neatcn.com', trial: 'https://lunar.neatcn.com', release: 'https://lunar.neatcn.com', };