78 lines
2.0 KiB
JavaScript
78 lines
2.0 KiB
JavaScript
const { calculatePlumBlossom, calculateBoneWeight, HEAVEN_STEMS, EARTH_BRANCHES, LUNAR_MONTH_NAMES, LUNAR_DAY_NAMES, HOUR_NAMES } = require('../../utils/core/index.js');
|
|
|
|
Page({
|
|
data: {
|
|
plumDate: new Date().toISOString().split('T')[0],
|
|
plumTime: '12:00',
|
|
plumResult: null,
|
|
yearGanzhiList: [],
|
|
monthList: LUNAR_MONTH_NAMES,
|
|
dayList: LUNAR_DAY_NAMES,
|
|
hourList: HOUR_NAMES,
|
|
boneYearIndex: 0,
|
|
boneMonthIndex: 0,
|
|
boneDayIndex: 0,
|
|
boneHourIndex: 0,
|
|
boneResult: null
|
|
},
|
|
|
|
onLoad() {
|
|
const yearGanzhiList = [];
|
|
for (let i = 0; i < 60; i++) {
|
|
yearGanzhiList.push(HEAVEN_STEMS[i % 10] + EARTH_BRANCHES[i % 12]);
|
|
}
|
|
this.setData({ yearGanzhiList });
|
|
},
|
|
|
|
onPlumDateChange(e) {
|
|
this.setData({ plumDate: e.detail.value });
|
|
},
|
|
|
|
onPlumTimeChange(e) {
|
|
this.setData({ plumTime: e.detail.value });
|
|
},
|
|
|
|
calcPlum() {
|
|
const { plumDate, plumTime } = this.data;
|
|
const [year, month, day] = plumDate.split('-').map(Number);
|
|
const [hour] = plumTime.split(':').map(Number);
|
|
const result = calculatePlumBlossom(year, month, day, hour);
|
|
this.setData({ plumResult: result });
|
|
},
|
|
|
|
onBoneYearChange(e) {
|
|
this.setData({ boneYearIndex: e.detail.value });
|
|
},
|
|
|
|
onBoneMonthChange(e) {
|
|
this.setData({ boneMonthIndex: e.detail.value });
|
|
},
|
|
|
|
onBoneDayChange(e) {
|
|
this.setData({ boneDayIndex: e.detail.value });
|
|
},
|
|
|
|
onBoneHourChange(e) {
|
|
this.setData({ boneHourIndex: e.detail.value });
|
|
},
|
|
|
|
calcBone() {
|
|
const { boneYearIndex, boneMonthIndex, boneDayIndex, boneHourIndex } = this.data;
|
|
const result = calculateBoneWeight(boneYearIndex, boneMonthIndex + 1, boneDayIndex + 1, boneHourIndex);
|
|
this.setData({ boneResult: result });
|
|
},
|
|
|
|
onShareAppMessage() {
|
|
return {
|
|
title: '占卜工具 - 梅花易数称骨算命',
|
|
path: '/pages/divination/divination'
|
|
};
|
|
},
|
|
|
|
onShareTimeline() {
|
|
return {
|
|
title: '占卜工具 - 梅花易数称骨算命'
|
|
};
|
|
}
|
|
});
|