一、软件需求



二、页面结构规划
1. 首页(日历主界面)
xml
<!-- 结构示例 -->
<div class="calendar-container">
<!-- 顶部:日期选择触发区 -->
<div class="date-picker-trigger" @click="showPicker">
<span>{{ currentDate }}</span>
<img src="dropdown-icon.png">
</div>
<!-- 日历主体 -->
<div class="calendar-grid">
<!-- 循环生成日期格子 -->
<div
v-for="day in days"
:class="['day-cell', getDayClass(day)]"
@click="selectDay(day)"
>
<span class="day-number">{{ day.date }}</span>
<span class="day-omen">{{ day.omen }}</span> <!-- 显示"吉/凶" -->
</div>
</div>
<!-- 每日神煞详情 -->
<div class="omen-detail">
<h3>{{ selectedDay }}神煞</h3>
<div class="god-list">
<div v-for="god in gods" :class="god.type">
<span>{{ god.name }}</span> <!-- 如"岁德"、"月破" -->
</div>
</div>
<div class="advice">
<p>宜:{{ suitableActions }}</p>
<p>忌:{{ avoidActions }}</p>
</div>
</div>
</div>
2. 我的页面(个人信息设置)
javascript
<div class="profile-page">
<div class="info-card">
<div class="info-item">
<span>姓名</span>
<input v-model="userInfo.name" placeholder="默认读取微信昵称">
</div>
<!-- 其他字段 -->
<div class="info-item">
<span>性别</span>
<radio-group v-model="userInfo.gender">
<radio value="male">男</radio>
<radio value="female">女</radio>
</radio-group>
</div>
<!-- 历法选择 -->
<div class="info-item">
<span>历法</span>
<picker @change="changeCalendarType" :range="['公历', '农历']">
<span>{{ userInfo.calendarType }}</span>
</picker>
</div>
<!-- 出生时间选择器 -->
<datetime-picker
type="datetime"
v-model="userInfo.birthDateTime"
/>
</div>
</div>
三、技术实现要点
1. 核心功能逻辑
日期吉凶算法:
javascript
// 伪代码示例
function calculateOmen(date) {
const gods = getGodsForDate(date); // 获取当日神煞
const凶神Count = gods.filter(g => g.type === '凶').length;
const吉神Count = gods.filter(g => g.type === '吉').length;
if (凶神Count === 0 && 吉神Count > 0) return { omen: '吉', color: 'red' };
if (凶神Count <= 1 && 吉神Count >= 2) return { omen: '良', color: 'yellow' };
// 其他判断规则...
}
2. 数据模型设计
css
// 日历数据
{
date: '2023-10-01',
omen: '吉',
color: 'red',
gods: [
{ name: '岁德', type: '吉' },
{ name: '月破', type: '凶' }
],
suitableActions: '祭祀,出行',
avoidActions: '嫁娶,安葬'
}
// 用户数据
{
name: '微信用户',
gender: 'male',
calendarType: '农历',
birthDateTime: '1990-01-01 08:00',
birthPlace: '北京'
}
3. 关键组件选型
功能
推荐方案
日历组件
定制开发(需支持农历转换)
日期选择器
微信小程序picker组件
神煞数据
对接老黄历API或本地JSON数据库
出生地选择
集成腾讯地图地点搜索
四、视觉与交互效果
1.日历颜色规范:
-
吉:
#FF4D4F
(红) -
良:
#FAAD14
(黄) -
平:
#1890FF
(蓝) -
凶:
#000000
(黑)
2.神煞展示优化:
css
/* 凶神特殊标识 */
.god-list .凶 {
position: relative;
}
.god-list .凶::after {
content: "⚠️";
margin-left: 5px;
}
动效增强:
-
日期切换时添加滑动过渡动画
-
点击凶神时震动反馈(
wx.vibrateShort()
)

五、后续迭代版本
1.数据更新机制:
- 提供手动刷新按钮
2.社交功能预留:
- 分享当日运势卡片
3.商业化模块:
- 大师咨询入口