forked from warrially/BaziGo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bazi.html.go
85 lines (62 loc) · 2.99 KB
/
bazi.html.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package bazi
import (
"fmt"
htmlgo "github.com/yangtizi/htmlgo"
)
// ToHTML 转换成网页形式
func (m *TBazi) ToHTML() string {
html := htmlgo.NewHTML()
html.SetTitle("三清宫八字")
row := htmlgo.NewRow()
row.AddTo(html.GetBody())
ganzhi := func(strText1, strText2 string, pZhu *TZhu) *htmlgo.TDiv {
column := htmlgo.NewColumn().SetFlex(1)
// column.SetBackground(fmt.Sprintf("rgb(%d,%d,%d)", rand.Intn(255), rand.Intn(255), rand.Intn(255)))
div := htmlgo.NewDiv().AddTo(column)
htmlgo.NewFont().P().SetText(strText1).SetSize(2).SetColor("gray").AddTo(div)
htmlgo.NewFont().P().SetText(strText2).SetSize(2).SetColor("gray").AddTo(div)
{
// 天干
row := htmlgo.NewRow().SetPadding("10px").AddTo(column)
htmlgo.NewFont().SetText(pZhu.Gan().String()).SetSize(8).SetColor(pZhu.Gan().ToWuXing().Color()).AddTo(row)
htmlgo.NewFont().SetText(pZhu.ShiShen().String()).SetSize(3).SetColor(pZhu.Gan().ToWuXing().Color()).AddTo(row)
}
{
// 地支
row := htmlgo.NewRow().SetPadding("10px").AddTo(column)
htmlgo.NewFont().SetText(pZhu.Zhi().String()).SetSize(8).SetColor(pZhu.Zhi().ToWuXing().Color()).AddTo(row)
column := htmlgo.NewColumn().AddTo(row)
// 藏干
for j := 0; j < pZhu.CangGan().Size(); j++ {
htmlgo.NewFont().SetText(pZhu.CangGan().ShiShen(j).String()).SetSize(3).SetColor(pZhu.CangGan().Gan(j).ToWuXing().Color()).AddTo(column)
}
}
return column
}
// 四柱
ganzhi(fmt.Sprintf("%d年", m.Date().Year()), m.LunarDate().Year(), m.SiZhu().YearZhu()).AddTo(row)
ganzhi(fmt.Sprintf("%02d月", m.Date().Month()), m.LunarDate().Month(), m.SiZhu().MonthZhu()).AddTo(row)
ganzhi(fmt.Sprintf("%02d日", m.Date().Day()), m.LunarDate().Day(), m.SiZhu().DayZhu()).AddTo(row)
ganzhi(fmt.Sprintf("%02d时", m.Date().Hour()), m.LunarDate().Hour(), m.SiZhu().HourZhu()).AddTo(row)
// 分隔符
htmlgo.NewDiv().SetBackground("rgb(238,238,238)").SetMargin("10px 0px").SetHeight("5px").AddTo(html.GetBody())
// htmlgo.NewDiv().SetMargin("10px").AddChild(
// htmlgo.NewFont().SetText("大运"),
// )
for j := 0; j < 2; j++ {
row = htmlgo.NewRow().SetBackground("lightgray").AddTo(html.GetBody())
for k := 0; k < 5; k++ {
i := j*5 + k
column := htmlgo.NewColumn().SetBackground("white").SetMargin("1px").SetFlex(1).AddTo(row)
htmlgo.NewDiv().SetMargin("10px").AddTo(column).AddChild(
htmlgo.NewFont().SetColor("gray").SetSize(2).SetText(fmt.Sprintf("%d", m.DaYun().Age(i)+m.Date().Year())))
htmlgo.NewDiv().SetMargin("3px").AddTo(column).AddChild(
htmlgo.NewFont().SetColor(m.DaYun().Zhu(i).Gan().ToWuXing().Color()).SetSize(5).SetText(m.DaYun().Zhu(i).Gan().String()))
htmlgo.NewDiv().SetMargin("3px").AddTo(column).AddChild(
htmlgo.NewFont().SetColor(m.DaYun().Zhu(i).Zhi().ToWuXing().Color()).SetSize(5).SetText(m.DaYun().Zhu(i).Zhi().String()))
htmlgo.NewDiv().SetMargin("10px").AddTo(column).AddChild(
htmlgo.NewFont().SetColor("gray").SetSize(2).SetText(fmt.Sprintf("%d", m.DaYun().Age(i))))
}
}
return html.String()
}