@10yun/cv-mobile-ui 0.5.61 → 0.5.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/package.json +1 -1
  2. package/plugins/uni-extend.js +109 -0
  3. package/ui-cv/components/cv-dialog-bottom/cv-dialog-bottom.vue +71 -47
  4. package/ui-cv/components/cv-dialog-full/cv-dialog-full.vue +20 -17
  5. package/ui-cv/components/cv-upload-avatar/cv-upload-avatar.vue +0 -1
  6. package/ui-cv/components/cv-upload-image/cv-upload-image.vue +0 -1
  7. package/ui-fireui/components/u-action-sheet/u-action-sheet.vue +46 -16
  8. package/ui-fireui/components/u-alert/u-alert.vue +11 -5
  9. package/ui-fireui/components/u-badge/u-badge.vue +52 -69
  10. package/ui-fireui/components/u-bottom-navigation/u-bottom-navigation.vue +28 -20
  11. package/ui-fireui/components/u-bottom-popup/u-bottom-popup.vue +40 -11
  12. package/ui-fireui/components/u-bubble-popup/u-bubble-popup.vue +3 -6
  13. package/ui-fireui/components/u-button/u-button.vue +262 -259
  14. package/ui-fireui/components/u-calendar/u-calendar.vue +227 -44
  15. package/ui-fireui/components/u-calendar/u-calendar2.js +562 -0
  16. package/ui-fireui/components/u-card/u-card.vue +50 -32
  17. package/ui-fireui/components/u-cascade-selection/u-cascade-selection.vue +197 -74
  18. package/ui-fireui/components/u-circular-progress/u-circular-progress.vue +324 -0
  19. package/ui-fireui/components/u-clipboard2/tui-clipboard.js +53 -0
  20. package/ui-fireui/components/u-collapse/u-collapse.vue +8 -8
  21. package/ui-fireui/components/u-config/index.js +129 -0
  22. package/ui-fireui/components/u-count-down/u-count-down.vue +124 -19
  23. package/ui-fireui/components/u-datetime/u-datetime.vue +416 -176
  24. package/ui-fireui/components/u-divider/u-divider.vue +3 -3
  25. package/ui-fireui/components/u-drawer/u-drawer.vue +55 -12
  26. package/ui-fireui/components/u-dropdown-list/u-dropdown-list.vue +103 -0
  27. package/ui-fireui/components/u-fab/u-fab.vue +344 -0
  28. package/ui-fireui/components/u-footer/u-footer.vue +148 -0
  29. package/ui-fireui/components/u-grid/u-grid.vue +2 -8
  30. package/ui-fireui/components/u-grid-item/u-grid-item.vue +22 -5
  31. package/ui-fireui/components/u-icon/u-icon-new.js +190 -0
  32. package/ui-fireui/components/u-icon/u-icon-new.vue +100 -0
  33. package/ui-fireui/components/u-image-cropper/u-image-cropper.vue +1144 -0
  34. package/ui-fireui/components/u-image-group/u-image-group.vue +164 -0
  35. package/ui-fireui/components/u-keyboard/u-keyboard.vue +3 -2
  36. package/ui-fireui/components/u-keyboard-input/u-keyboard-input.vue +1 -1
  37. package/ui-fireui/components/u-list-cell/u-list-cell.vue +82 -72
  38. package/ui-fireui/components/u-list-view/u-list-view.vue +33 -8
  39. package/ui-fireui/components/u-loading/u-loading.vue +107 -27
  40. package/ui-fireui/components/u-loadmore/u-loadmore.vue +21 -3
  41. package/ui-fireui/components/u-modal/u-modal.vue +140 -176
  42. package/ui-fireui/components/u-navigation-bar/u-navigation-bar.vue +121 -28
  43. package/ui-fireui/components/u-no-data/u-no-data.vue +58 -20
  44. package/ui-fireui/components/u-nomore/u-nomore.vue +5 -4
  45. package/ui-fireui/components/u-numberbox/u-numberbox.vue +88 -45
  46. package/ui-fireui/components/u-picture-cropper/u-picture-cropper.vue +94 -36
  47. package/ui-fireui/components/u-picture-cropper/u-picture-cropper.wxs +27 -17
  48. package/ui-fireui/components/u-rate/u-rate.vue +197 -0
  49. package/ui-fireui/components/u-round-progress/u-round-progress.vue +62 -42
  50. package/ui-fireui/components/u-scroll-top/u-scroll-top.vue +4 -3
  51. package/ui-fireui/components/u-section/u-section.vue +149 -0
  52. package/ui-fireui/components/u-skeleton/u-skeleton.vue +37 -6
  53. package/ui-fireui/components/u-steps/u-steps.vue +110 -27
  54. package/ui-fireui/components/u-sticky/u-sticky.vue +35 -21
  55. package/ui-fireui/components/u-sticky-wxs/u-sticky-wxs.vue +7 -4
  56. package/ui-fireui/components/u-sticky-wxs/u-sticky.wxs +39 -36
  57. package/ui-fireui/components/u-swipe-action/u-swipe-action.vue +76 -19
  58. package/ui-fireui/components/u-tabbar/u-tabbar.vue +71 -38
  59. package/ui-fireui/components/u-tabs/u-tabs.vue +133 -51
  60. package/ui-fireui/components/u-tag/u-tag.vue +109 -226
  61. package/ui-fireui/components/u-time-axis/u-time-axis.vue +1 -1
  62. package/ui-fireui/components/u-timeaxis-item/u-timeaxis-item.vue +1 -1
  63. package/ui-fireui/components/u-tips/u-tips.vue +35 -15
  64. package/ui-fireui/components/u-toast/u-toast.vue +9 -5
  65. package/ui-fireui/components/u-top-dropdown/u-top-dropdown.vue +8 -6
  66. package/ui-fireui/components/u-upload/u-upload-old.vue +462 -0
  67. package/ui-fireui/components/u-upload/u-upload.vue +648 -446
  68. package/ui-fireui/components/u-white-space/u-white-space.vue +68 -0
  69. package/ui-fireui/components/u-wing-blank/u-wing-blank.vue +100 -0
  70. package/uview-plus/changelog-v2.md +77 -6
  71. package/uview-plus/changelog-wu.md +41 -14
  72. package/uview-plus/changelog.md +375 -59
  73. package/uview-plus/libs/ctocode/index.js +1 -0
  74. package/{plugins/uni-richText.js → uview-plus/libs/ctocode/richText.js} +28 -32
  75. package/uview-plus/package-wu.json +5 -37
  76. package/uview-plus/package.json +13 -14
  77. package/plugins/tui-validation.js +0 -279
  78. package/plugins/uni-scanCode.js +0 -76
  79. package/plugins/uni-socket.js +0 -174
  80. package/plugins/uniMap.js +0 -48
  81. package/plugins/utils.js +0 -13
  82. package/uview-plus/changelog-wu-tool.md +0 -21
  83. package/uview-plus/package-wu-tool.json +0 -84
@@ -0,0 +1,562 @@
1
+ /**
2
+ * @1900-2100区间内的公历、农历互转
3
+ * @公历转农历:solar2lunar(1987,11,01);
4
+ * @农历转公历:lunar2solar(1987,09,10);
5
+ */
6
+ let calendar = {
7
+ /**
8
+ * 农历1900-2100的润大小信息表
9
+ * @Array Of Property
10
+ * @return Hex
11
+ */
12
+ lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, //1900-1909
13
+ 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, //1910-1919
14
+ 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, //1920-1929
15
+ 0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, //1930-1939
16
+ 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, //1940-1949
17
+ 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, //1950-1959
18
+ 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, //1960-1969
19
+ 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, //1970-1979
20
+ 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, //1980-1989
21
+ 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x055c0, 0x0ab60, 0x096d5, 0x092e0, //1990-1999
22
+ 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, //2000-2009
23
+ 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, //2010-2019
24
+ 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, //2020-2029
25
+ 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, //2030-2039
26
+ 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, //2040-2049
27
+ 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, //2050-2059
28
+ 0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, //2060-2069
29
+ 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, //2070-2079
30
+ 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, //2080-2089
31
+ 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, //2090-2099
32
+ 0x0d520
33
+ ], //2100
34
+ /**
35
+ * 公历每个月份的天数普通表
36
+ * @Array Of Property
37
+ * @return Number
38
+ */
39
+ solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
40
+ /**
41
+ * 天干地支之天干速查表
42
+ * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"]
43
+ * @return Cn string
44
+ */
45
+ Gan: ["\u7532", "\u4e59", "\u4e19", "\u4e01", "\u620a", "\u5df1", "\u5e9a", "\u8f9b", "\u58ec", "\u7678"],
46
+ /**
47
+ * 天干地支之地支速查表
48
+ * @Array Of Property
49
+ * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"]
50
+ * @return Cn string
51
+ */
52
+ Zhi: ["\u5b50", "\u4e11", "\u5bc5", "\u536f", "\u8fb0", "\u5df3", "\u5348", "\u672a", "\u7533", "\u9149", "\u620c",
53
+ "\u4ea5"
54
+ ],
55
+ /**
56
+ * 天干地支之地支速查表<=>生肖
57
+ * @Array Of Property
58
+ * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
59
+ * @return Cn string
60
+ */
61
+ Animals: ["\u9f20", "\u725b", "\u864e", "\u5154", "\u9f99", "\u86c7", "\u9a6c", "\u7f8a", "\u7334", "\u9e21",
62
+ "\u72d7", "\u732a"
63
+ ],
64
+ /**
65
+ * 24节气速查表
66
+ * @Array Of Property
67
+ * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"]
68
+ * @return Cn string
69
+ */
70
+ solarTerm: ["\u5c0f\u5bd2", "\u5927\u5bd2", "\u7acb\u6625", "\u96e8\u6c34", "\u60ca\u86f0", "\u6625\u5206",
71
+ "\u6e05\u660e", "\u8c37\u96e8", "\u7acb\u590f", "\u5c0f\u6ee1", "\u8292\u79cd", "\u590f\u81f3", "\u5c0f\u6691",
72
+ "\u5927\u6691", "\u7acb\u79cb", "\u5904\u6691", "\u767d\u9732", "\u79cb\u5206", "\u5bd2\u9732", "\u971c\u964d",
73
+ "\u7acb\u51ac", "\u5c0f\u96ea", "\u5927\u96ea", "\u51ac\u81f3"
74
+ ],
75
+ /**
76
+ * 1900-2100各年的24节气日期速查表
77
+ * @Array Of Property
78
+ * @return 0x string For splice
79
+ */
80
+ sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f',
81
+ '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
82
+ '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa',
83
+ '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f',
84
+ 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f',
85
+ '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa',
86
+ '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2',
87
+ '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f',
88
+ '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e',
89
+ '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
90
+ '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722',
91
+ '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f',
92
+ '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
93
+ '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
94
+ '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722',
95
+ '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f',
96
+ '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
97
+ '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
98
+ '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722',
99
+ '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
100
+ '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
101
+ '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
102
+ '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722',
103
+ '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
104
+ '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
105
+ '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
106
+ '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722',
107
+ '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
108
+ '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
109
+ '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
110
+ '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
111
+ '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
112
+ '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
113
+ '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
114
+ '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
115
+ '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
116
+ '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
117
+ '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
118
+ '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721',
119
+ '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2',
120
+ '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
121
+ '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
122
+ '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd',
123
+ '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
124
+ '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
125
+ '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
126
+ '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd',
127
+ '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
128
+ '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
129
+ '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721',
130
+ '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5',
131
+ '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722',
132
+ '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
133
+ '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
134
+ '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35',
135
+ '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
136
+ '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721',
137
+ '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd',
138
+ '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35',
139
+ '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
140
+ '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721',
141
+ '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5',
142
+ '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35',
143
+ '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
144
+ '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
145
+ '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35',
146
+ '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'
147
+ ],
148
+ /**
149
+ * 数字转中文速查表
150
+ * @Array Of Property
151
+ * @trans ['日','一','二','三','四','五','六','七','八','九','十']
152
+ * @return Cn string
153
+ */
154
+ nStr1: ["\u65e5", "\u4e00", "\u4e8c", "\u4e09", "\u56db", "\u4e94", "\u516d", "\u4e03", "\u516b", "\u4e5d", "\u5341"],
155
+ /**
156
+ * 日期转农历称呼速查表
157
+ * @Array Of Property
158
+ * @trans ['初','十','廿','卅']
159
+ * @return Cn string
160
+ */
161
+ nStr2: ["\u521d", "\u5341", "\u5eff", "\u5345"],
162
+ /**
163
+ * 月份转农历称呼速查表
164
+ * @Array Of Property
165
+ * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊']
166
+ * @return Cn string
167
+ */
168
+ nStr3: ["\u6b63", "\u4e8c", "\u4e09", "\u56db", "\u4e94", "\u516d", "\u4e03", "\u516b", "\u4e5d", "\u5341", "\u51ac",
169
+ "\u814a"
170
+ ],
171
+ /**
172
+ * 返回农历y年一整年的总天数
173
+ * @param lunar Year
174
+ * @return Number
175
+ * @eg:let count = calendar.lYearDays(1987) ;//count=387
176
+ */
177
+ lYearDays: function(y) {
178
+ let i, sum = 348;
179
+ for (i = 0x8000; i > 0x8; i >>= 1) {
180
+ sum += (calendar.lunarInfo[y - 1900] & i) ? 1 : 0;
181
+ }
182
+ return (sum + calendar.leapDays(y));
183
+ },
184
+ /**
185
+ * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0
186
+ * @param lunar Year
187
+ * @return Number (0-12)
188
+ * @eg:let leapMonth = calendar.leapMonth(1987) ;//leapMonth=6
189
+ */
190
+ leapMonth: function(y) { //闰字编码 \u95f0
191
+ return (calendar.lunarInfo[y - 1900] & 0xf);
192
+ },
193
+ /**
194
+ * 返回农历y年闰月的天数 若该年没有闰月则返回0
195
+ * @param lunar Year
196
+ * @return Number (0、29、30)
197
+ * @eg:let leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29
198
+ */
199
+ leapDays: function(y) {
200
+ if (calendar.leapMonth(y)) {
201
+ return ((calendar.lunarInfo[y - 1900] & 0x10000) ? 30 : 29);
202
+ }
203
+ return (0);
204
+ },
205
+ /**
206
+ * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法
207
+ * @param lunar Year
208
+ * @return Number (-1、29、30)
209
+ * @eg:let MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29
210
+ */
211
+ monthDays: function(y, m) {
212
+ if (m > 12 || m < 1) {
213
+ return -1
214
+ } //月份参数从1至12,参数错误返回-1
215
+ return ((calendar.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29);
216
+ },
217
+ /**
218
+ * 返回公历(!)y年m月的天数
219
+ * @param solar Year
220
+ * @return Number (-1、28、29、30、31)
221
+ * @eg:let solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30
222
+ */
223
+ solarDays: function(y, m) {
224
+ if (m > 12 || m < 1) {
225
+ return -1
226
+ } //若参数错误 返回-1
227
+ let ms = m - 1;
228
+ if (ms == 1) { //2月份的闰平规律测算后确认返回28或29
229
+ return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28);
230
+ } else {
231
+ return (calendar.solarMonth[ms]);
232
+ }
233
+ },
234
+ /**
235
+ * 农历年份转换为干支纪年
236
+ * @param lYear 农历年的年份数
237
+ * @return Cn string
238
+ */
239
+ toGanZhiYear: function(lYear) {
240
+ let ganKey = (lYear - 3) % 10;
241
+ let zhiKey = (lYear - 3) % 12;
242
+ if (ganKey == 0) ganKey = 10; //如果余数为0则为最后一个天干
243
+ if (zhiKey == 0) zhiKey = 12; //如果余数为0则为最后一个地支
244
+ return calendar.Gan[ganKey - 1] + calendar.Zhi[zhiKey - 1];
245
+ },
246
+ /**
247
+ * 公历月、日判断所属星座
248
+ * @param cMonth [description]
249
+ * @param cDay [description]
250
+ * @return Cn string
251
+ */
252
+ toAstro: function(cMonth, cDay) {
253
+ let s =
254
+ "\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf";
255
+ let arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22];
256
+ return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + "\u5ea7"; //座
257
+ },
258
+ /**
259
+ * 传入offset偏移量返回干支
260
+ * @param offset 相对甲子的偏移量
261
+ * @return Cn string
262
+ */
263
+ toGanZhi: function(offset) {
264
+ return calendar.Gan[offset % 10] + calendar.Zhi[offset % 12];
265
+ },
266
+ /**
267
+ * 传入公历(!)y年获得该年第n个节气的公历日期
268
+ * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起
269
+ * @return day Number
270
+ * @eg:let _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春
271
+ */
272
+ getTerm: function(y, n) {
273
+ if (y < 1900 || y > 2100) {
274
+ return -1;
275
+ }
276
+ if (n < 1 || n > 24) {
277
+ return -1;
278
+ }
279
+ let _table = calendar.sTermInfo[y - 1900];
280
+ let _info = [
281
+ parseInt('0x' + _table.substr(0, 5)).toString(),
282
+ parseInt('0x' + _table.substr(5, 5)).toString(),
283
+ parseInt('0x' + _table.substr(10, 5)).toString(),
284
+ parseInt('0x' + _table.substr(15, 5)).toString(),
285
+ parseInt('0x' + _table.substr(20, 5)).toString(),
286
+ parseInt('0x' + _table.substr(25, 5)).toString()
287
+ ];
288
+ let _calday = [
289
+ _info[0].substr(0, 1),
290
+ _info[0].substr(1, 2),
291
+ _info[0].substr(3, 1),
292
+ _info[0].substr(4, 2),
293
+ _info[1].substr(0, 1),
294
+ _info[1].substr(1, 2),
295
+ _info[1].substr(3, 1),
296
+ _info[1].substr(4, 2),
297
+ _info[2].substr(0, 1),
298
+ _info[2].substr(1, 2),
299
+ _info[2].substr(3, 1),
300
+ _info[2].substr(4, 2),
301
+ _info[3].substr(0, 1),
302
+ _info[3].substr(1, 2),
303
+ _info[3].substr(3, 1),
304
+ _info[3].substr(4, 2),
305
+ _info[4].substr(0, 1),
306
+ _info[4].substr(1, 2),
307
+ _info[4].substr(3, 1),
308
+ _info[4].substr(4, 2),
309
+ _info[5].substr(0, 1),
310
+ _info[5].substr(1, 2),
311
+ _info[5].substr(3, 1),
312
+ _info[5].substr(4, 2),
313
+ ];
314
+ return parseInt(_calday[n - 1]);
315
+ },
316
+ /**
317
+ * 传入农历数字月份返回汉语通俗表示法
318
+ * @param lunar month
319
+ * @return Cn string
320
+ * @eg:let cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月'
321
+ */
322
+ toChinaMonth: function(m) { // 月 => \u6708
323
+ if (m > 12 || m < 1) {
324
+ return -1
325
+ } //若参数错误 返回-1
326
+ let s = calendar.nStr3[m - 1];
327
+ s += "\u6708"; //加上月字
328
+ return s;
329
+ },
330
+ /**
331
+ * 传入农历日期数字返回汉字表示法
332
+ * @param lunar day
333
+ * @return Cn string
334
+ * @eg:let cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一'
335
+ */
336
+ toChinaDay: function(d) { //日 => \u65e5
337
+ let s;
338
+ switch (d) {
339
+ case 10:
340
+ s = '\u521d\u5341';
341
+ break;
342
+ case 20:
343
+ s = '\u4e8c\u5341';
344
+ break;
345
+ break;
346
+ case 30:
347
+ s = '\u4e09\u5341';
348
+ break;
349
+ break;
350
+ default:
351
+ s = calendar.nStr2[Math.floor(d / 10)];
352
+ s += calendar.nStr1[d % 10];
353
+ }
354
+ return (s);
355
+ },
356
+ /**
357
+ * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春”
358
+ * @param y year
359
+ * @return Cn string
360
+ * @eg:let animal = calendar.getAnimal(1987) ;//animal='兔'
361
+ */
362
+ getAnimal: function(y) {
363
+ return calendar.Animals[(y - 4) % 12]
364
+ },
365
+ /**
366
+ * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON
367
+ * @param y solar year
368
+ * @param m solar month
369
+ * @param d solar day
370
+ * @return JSON object
371
+ * @eg:console.log(calendar.solar2lunar(1987,11,01));
372
+ */
373
+ solar2lunar: function(y, m, d) { //参数区间1900.1.31~2100.12.31
374
+ if (y < 1900 || y > 2100) {
375
+ return -1;
376
+ } //年份限定、上限
377
+ if (y == 1900 && m == 1 && d < 31) {
378
+ return -1;
379
+ } //下限
380
+ let objDate;
381
+ if (!y) { //未传参 获得当天
382
+ objDate = new Date();
383
+ } else {
384
+ objDate = new Date(y, parseInt(m) - 1, d)
385
+ }
386
+ let i, leap = 0,
387
+ temp = 0;
388
+ //修正ymd参数
389
+ y = objDate.getFullYear();
390
+ m = objDate.getMonth() + 1;
391
+ d = objDate.getDate();
392
+ let offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) /
393
+ 86400000;
394
+ for (i = 1900; i < 2101 && offset > 0; i++) {
395
+ temp = calendar.lYearDays(i);
396
+ offset -= temp;
397
+ }
398
+ if (offset < 0) {
399
+ offset += temp;
400
+ i--;
401
+ }
402
+ //是否今天
403
+ let isTodayObj = new Date(),
404
+ isToday = false;
405
+ if (isTodayObj.getFullYear() == y && isTodayObj.getMonth() + 1 == m && isTodayObj.getDate() == d) {
406
+ isToday = true;
407
+ }
408
+ //星期几
409
+ let nWeek = objDate.getDay(),
410
+ cWeek = calendar.nStr1[nWeek];
411
+ if (nWeek == 0) {
412
+ nWeek = 7;
413
+ } //数字表示周几顺应天朝周一开始的惯例
414
+ //农历年
415
+ let year = i;
416
+ leap = calendar.leapMonth(i); //闰哪个月
417
+ let isLeap = false;
418
+ //效验闰月
419
+ for (i = 1; i < 13 && offset > 0; i++) {
420
+ //闰月
421
+ if (leap > 0 && i == (leap + 1) && isLeap == false) {
422
+ --i;
423
+ isLeap = true;
424
+ temp = calendar.leapDays(year); //计算农历闰月天数
425
+ } else {
426
+ temp = calendar.monthDays(year, i); //计算农历普通月天数
427
+ }
428
+ //解除闰月
429
+ if (isLeap == true && i == (leap + 1)) {
430
+ isLeap = false;
431
+ }
432
+ offset -= temp;
433
+ }
434
+ if (offset == 0 && leap > 0 && i == leap + 1)
435
+ if (isLeap) {
436
+ isLeap = false;
437
+ } else {
438
+ isLeap = true;
439
+ --i;
440
+ }
441
+ if (offset < 0) {
442
+ offset += temp;
443
+ --i;
444
+ }
445
+ //农历月
446
+ let month = i;
447
+ //农历日
448
+ let day = offset + 1;
449
+ //天干地支处理
450
+ let sm = m - 1;
451
+ let gzY = calendar.toGanZhiYear(year);
452
+ //月柱 1900年1月小寒以前为 丙子月(60进制12)
453
+ let firstNode = calendar.getTerm(year, (m * 2 - 1)); //返回当月「节」为几日开始
454
+ let secondNode = calendar.getTerm(year, (m * 2)); //返回当月「节」为几日开始
455
+ //依据12节气修正干支月
456
+ let gzM = calendar.toGanZhi((y - 1900) * 12 + m + 11);
457
+ if (d >= firstNode) {
458
+ gzM = calendar.toGanZhi((y - 1900) * 12 + m + 12);
459
+ }
460
+ //传入的日期的节气与否
461
+ let isTerm = false;
462
+ let Term = null;
463
+ if (firstNode == d) {
464
+ isTerm = true;
465
+ Term = calendar.solarTerm[m * 2 - 2];
466
+ }
467
+ if (secondNode == d) {
468
+ isTerm = true;
469
+ Term = calendar.solarTerm[m * 2 - 1];
470
+ }
471
+ //日柱 当月一日与 1900/1/1 相差天数
472
+ let dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10;
473
+ let gzD = calendar.toGanZhi(dayCyclical + d - 1);
474
+ //该日期所属的星座
475
+ let astro = calendar.toAstro(m, d);
476
+ return {
477
+ 'lYear': year,
478
+ 'lMonth': month,
479
+ 'lDay': day,
480
+ 'Animal': calendar.getAnimal(year),
481
+ 'IMonthCn': (isLeap ? "\u95f0" : '') + calendar.toChinaMonth(month),
482
+ 'IDayCn': calendar.toChinaDay(day),
483
+ 'cYear': y,
484
+ 'cMonth': m,
485
+ 'cDay': d,
486
+ 'gzYear': gzY,
487
+ 'gzMonth': gzM,
488
+ 'gzDay': gzD,
489
+ 'isToday': isToday,
490
+ 'isLeap': isLeap,
491
+ 'nWeek': nWeek,
492
+ 'ncWeek': "\u661f\u671f" + cWeek,
493
+ 'isTerm': isTerm,
494
+ 'Term': Term,
495
+ 'astro': astro
496
+ };
497
+ },
498
+ /**
499
+ * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON
500
+ * @param y lunar year
501
+ * @param m lunar month
502
+ * @param d lunar day
503
+ * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可]
504
+ * @return JSON object
505
+ * @eg:console.log(calendar.lunar2solar(1987,9,10));
506
+ */
507
+ lunar2solar: function(y, m, d, isLeapMonth) { //参数区间1900.1.31~2100.12.1
508
+ isLeapMonth = !!isLeapMonth;
509
+ let leapOffset = 0;
510
+ let leapMonth = calendar.leapMonth(y);
511
+ let leapDay = calendar.leapDays(y);
512
+ if (isLeapMonth && (leapMonth != m)) {
513
+ return -1;
514
+ } //传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同
515
+ if (y == 2100 && m == 12 && d > 1 || y == 1900 && m == 1 && d < 31) {
516
+ return -1;
517
+ } //超出了最大极限值
518
+ let day = calendar.monthDays(y, m);
519
+ let _day = day;
520
+ //bugFix 2016-9-25
521
+ //if month is leap, _day use leapDays method
522
+ if (isLeapMonth) {
523
+ _day = calendar.leapDays(y, m);
524
+ }
525
+ if (y < 1900 || y > 2100 || d > _day) {
526
+ return -1;
527
+ } //参数合法性效验
528
+ //计算农历的时间差
529
+ let offset = 0;
530
+ for (let i = 1900; i < y; i++) {
531
+ offset += calendar.lYearDays(i);
532
+ }
533
+ let leap = 0,
534
+ isAdd = false;
535
+ for (let i = 1; i < m; i++) {
536
+ leap = calendar.leapMonth(y);
537
+ if (!isAdd) { //处理闰月
538
+ if (leap <= i && leap > 0) {
539
+ offset += calendar.leapDays(y);
540
+ isAdd = true;
541
+ }
542
+ }
543
+ offset += calendar.monthDays(y, i);
544
+ }
545
+ //转换闰月农历 需补充该年闰月的前一个月的时差
546
+ if (isLeapMonth) {
547
+ offset += day;
548
+ }
549
+ //1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点)
550
+ let stmap = Date.UTC(1900, 1, 30, 0, 0, 0);
551
+ let calObj = new Date((offset + d - 31) * 86400000 + stmap);
552
+ let cY = calObj.getUTCFullYear();
553
+ let cM = calObj.getUTCMonth() + 1;
554
+ let cD = calObj.getUTCDate();
555
+ return calendar.solar2lunar(cY, cM, cD);
556
+ }
557
+ };
558
+
559
+ export default {
560
+ solar2lunar: calendar.solar2lunar,
561
+ lunar2solar: calendar.lunar2solar
562
+ };