@ledvance/ui-biz-bundle 1.1.69 → 1.1.71
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.
- package/.babelrc +31 -31
- package/.eslintignore +5 -5
- package/.eslintrc.js +27 -27
- package/.prettierrc.js +1 -1
- package/.versionrc +5 -5
- package/package.json +74 -74
- package/rn-cli.config.js +8 -8
- package/src/hooks/DeviceDpStateHooks.d.ts +14 -14
- package/src/hooks/DeviceDpStateHooks.ts +50 -50
- package/src/modules/biorhythm/BiorhythmActions.d.ts +8 -8
- package/src/modules/biorhythm/BiorhythmActions.ts +324 -324
- package/src/modules/biorhythm/BiorhythmBean.d.ts +58 -58
- package/src/modules/biorhythm/BiorhythmBean.ts +230 -230
- package/src/modules/biorhythm/BiorhythmEditPage.d.ts +14 -14
- package/src/modules/biorhythm/BiorhythmEditPage.tsx +324 -324
- package/src/modules/biorhythm/BiorhythmPage.d.ts +10 -10
- package/src/modules/biorhythm/BiorhythmPage.tsx +796 -796
- package/src/modules/biorhythm/IconSelect.d.ts +2 -2
- package/src/modules/biorhythm/IconSelect.tsx +81 -81
- package/src/modules/biorhythm/Router.ts +34 -34
- package/src/modules/biorhythm/circular/ItemIcon.d.ts +22 -22
- package/src/modules/biorhythm/circular/ItemIcon.tsx +172 -172
- package/src/modules/biorhythm/circular/Progress.d.ts +24 -24
- package/src/modules/biorhythm/circular/Progress.tsx +411 -411
- package/src/modules/biorhythm/circular/TimeCircular.d.ts +11 -11
- package/src/modules/biorhythm/circular/TimeCircular.tsx +70 -70
- package/src/modules/biorhythm/iconListData.d.ts +7 -7
- package/src/modules/biorhythm/iconListData.ts +29 -29
- package/src/modules/biorhythm/pIdList.d.ts +2 -2
- package/src/modules/biorhythm/pIdList.ts +35 -35
- package/src/modules/biorhythm/res/BiologicalRes.d.ts +43 -43
- package/src/modules/biorhythm/res/BiologicalRes.ts +41 -41
- package/src/modules/config/ldvConfig.d.ts +2 -2
- package/src/modules/config/ldvConfig.tsx +18 -18
- package/src/modules/fixedTime/FixedTimeActions.ts +173 -173
- package/src/modules/fixedTime/FixedTimeDetailPage.tsx +372 -372
- package/src/modules/fixedTime/FixedTimePage.tsx +213 -213
- package/src/modules/fixedTime/Router.ts +26 -26
- package/src/modules/flags/FlagActions.ts +267 -267
- package/src/modules/flags/FlagEditPage.tsx +441 -441
- package/src/modules/flags/FlagInfo.tsx +563 -563
- package/src/modules/flags/FlagItem.tsx +90 -90
- package/src/modules/flags/FlagPage.tsx +277 -277
- package/src/modules/flags/Router.ts +25 -25
- package/src/modules/history/HistoryPage.d.ts +2 -2
- package/src/modules/history/HistoryPage.tsx +261 -261
- package/src/modules/history/Router.ts +16 -16
- package/src/modules/history/SwitchHistoryPageActions.d.ts +14 -14
- package/src/modules/history/SwitchHistoryPageActions.ts +76 -76
- package/src/modules/mood/AddMoodPage.d.ts +10 -10
- package/src/modules/mood/AddMoodPage.tsx +792 -792
- package/src/modules/mood/DynamicMoodEditorPage.d.ts +6 -6
- package/src/modules/mood/DynamicMoodEditorPage.tsx +561 -561
- package/src/modules/mood/FantasyMood.tsx +176 -176
- package/src/modules/mood/FantasyMoodEditPage.tsx +582 -582
- package/src/modules/mood/FantasyMoodItem.tsx +104 -104
- package/src/modules/mood/FantasyRouter.ts +35 -35
- package/src/modules/mood/MixMood/AddMixMoodPage.tsx +247 -247
- package/src/modules/mood/MixMood/MixMoodActions.ts +128 -128
- package/src/modules/mood/MixMood/MixMoodEditPage.tsx +721 -721
- package/src/modules/mood/MixMood/MixMoodItem.tsx +134 -134
- package/src/modules/mood/MixMood/MixMoodPage.tsx +326 -326
- package/src/modules/mood/MixMood/MixSceneBeans.ts +364 -364
- package/src/modules/mood/MixMood/RecommendMixMoodItem.tsx +69 -69
- package/src/modules/mood/MixMood/Router.ts +44 -44
- package/src/modules/mood/MoodItem.d.ts +11 -11
- package/src/modules/mood/MoodItem.tsx +114 -114
- package/src/modules/mood/MoodPage.d.ts +16 -16
- package/src/modules/mood/MoodPage.tsx +296 -296
- package/src/modules/mood/RecommendMoodItem.d.ts +13 -13
- package/src/modules/mood/RecommendMoodItem.tsx +74 -74
- package/src/modules/mood/Router.ts +53 -53
- package/src/modules/mood/StaticMoodEditorPage.d.ts +16 -16
- package/src/modules/mood/StaticMoodEditorPage.tsx +320 -320
- package/src/modules/mood/tools.d.ts +3 -3
- package/src/modules/mood/tools.ts +11 -11
- package/src/modules/music/MusicDataBean.d.ts +47 -47
- package/src/modules/music/MusicDataBean.ts +167 -167
- package/src/modules/music/MusicManager.d.ts +27 -27
- package/src/modules/music/MusicManager.ts +207 -207
- package/src/modules/music/MusicPage.d.ts +10 -10
- package/src/modules/music/MusicPage.tsx +347 -347
- package/src/modules/music/MusicPageActions.d.ts +35 -35
- package/src/modules/music/MusicPageActions.ts +317 -317
- package/src/modules/music/Router.ts +16 -16
- package/src/modules/music/SelecetGenre.d.ts +7 -7
- package/src/modules/music/SelecetGenre.tsx +63 -63
- package/src/modules/music/color.d.ts +2 -2
- package/src/modules/music/color.ts +73 -73
- package/src/modules/music/res/index.d.ts +10 -10
- package/src/modules/music/res/index.ts +9 -9
- package/src/modules/powerOnBehavior/PowerOnBehaviorActions.ts +11 -11
- package/src/modules/powerOnBehavior/PowerOnBehaviorPage.tsx +173 -173
- package/src/modules/powerOnBehavior/Router.ts +16 -16
- package/src/modules/randomTime/RandomTimeActions.ts +160 -160
- package/src/modules/randomTime/RandomTimeDetailPage.tsx +337 -337
- package/src/modules/randomTime/RandomTimePage.tsx +214 -214
- package/src/modules/randomTime/Router.ts +25 -25
- package/src/modules/randomTime/Summary.tsx +122 -122
- package/src/modules/scene/SceneAction.d.ts +13 -13
- package/src/modules/scene/SceneAction.ts +473 -473
- package/src/modules/scene/SceneDetailPage.d.ts +1 -1
- package/src/modules/scene/SceneDetailPage.tsx +421 -421
- package/src/modules/scene/SceneInfo.d.ts +72 -72
- package/src/modules/scene/SceneInfo.ts +1059 -1059
- package/src/modules/scene/ScenePage.d.ts +7 -7
- package/src/modules/scene/ScenePage.tsx +147 -147
- package/src/modules/select/SelectPage.d.ts +12 -12
- package/src/modules/select/SelectPage.tsx +137 -137
- package/src/modules/sleepWakeup/DeviceState.d.ts +9 -9
- package/src/modules/sleepWakeup/DeviceState.tsx +99 -99
- package/src/modules/sleepWakeup/LdvScheduleItem.d.ts +15 -15
- package/src/modules/sleepWakeup/LdvScheduleItem.tsx +176 -176
- package/src/modules/sleepWakeup/Router.ts +25 -25
- package/src/modules/sleepWakeup/SleepWakeUpActions.d.ts +2 -2
- package/src/modules/sleepWakeup/SleepWakeUpActions.ts +180 -180
- package/src/modules/sleepWakeup/SleepWakeUpDetailPage.d.ts +2 -2
- package/src/modules/sleepWakeup/SleepWakeUpDetailPage.tsx +616 -616
- package/src/modules/sleepWakeup/SleepWakeUpPage.d.ts +13 -13
- package/src/modules/sleepWakeup/SleepWakeUpPage.tsx +424 -424
- package/src/modules/sleepWakeup/utils.d.ts +44 -44
- package/src/modules/sleepWakeup/utils.ts +253 -253
- package/src/modules/timeSchedule/DeviceState.d.ts +17 -17
- package/src/modules/timeSchedule/DeviceState.tsx +94 -94
- package/src/modules/timeSchedule/LdvScheduleItem.d.ts +15 -15
- package/src/modules/timeSchedule/LdvScheduleItem.tsx +130 -130
- package/src/modules/timeSchedule/ManualSetting.d.ts +14 -14
- package/src/modules/timeSchedule/ManualSetting.tsx +219 -219
- package/src/modules/timeSchedule/MoodSetting.d.ts +11 -11
- package/src/modules/timeSchedule/MoodSetting.tsx +228 -228
- package/src/modules/timeSchedule/Router.ts +25 -25
- package/src/modules/timeSchedule/ScheduleScene.d.ts +6 -6
- package/src/modules/timeSchedule/ScheduleScene.tsx +144 -144
- package/src/modules/timeSchedule/SingleLightView.d.ts +12 -12
- package/src/modules/timeSchedule/SingleLightView.tsx +175 -175
- package/src/modules/timeSchedule/TimeScheduleBean.d.ts +14 -14
- package/src/modules/timeSchedule/TimeScheduleBean.ts +18 -18
- package/src/modules/timeSchedule/TimeScheduleEditpage.d.ts +6 -6
- package/src/modules/timeSchedule/TimeScheduleEditpage.tsx +765 -765
- package/src/modules/timeSchedule/TimeSchedulePage.d.ts +13 -13
- package/src/modules/timeSchedule/TimeSchedulePage.tsx +358 -358
- package/src/modules/timeSchedule/components/ColorList.ts +23 -23
- package/src/modules/timeSchedule/components/LampSwitchCard.tsx +106 -106
- package/src/modules/timeSchedule/mix/MixLightActions.d.ts +3 -3
- package/src/modules/timeSchedule/mix/MixLightActions.ts +49 -49
- package/src/modules/timeSchedule/mix/MixLightBean.d.ts +10 -10
- package/src/modules/timeSchedule/mix/MixLightBean.ts +9 -9
- package/src/modules/timeSchedule/mix/MixLightView.d.ts +7 -7
- package/src/modules/timeSchedule/mix/MixLightView.tsx +197 -197
- package/src/modules/timeSchedule/utils.d.ts +1 -1
- package/src/modules/timeSchedule/utils.ts +6 -6
- package/src/modules/timer/Router.ts +16 -16
- package/src/modules/timer/TimerPage.d.ts +11 -11
- package/src/modules/timer/TimerPage.tsx +384 -384
- package/src/modules/timer/TimerPageAction.d.ts +22 -22
- package/src/modules/timer/TimerPageAction.ts +131 -131
- package/src/navigation/Routers.d.ts +15 -15
- package/src/navigation/Routers.ts +46 -46
- package/src/navigation/tools.d.ts +9 -9
- package/src/navigation/tools.ts +21 -21
- package/src/newModules/biorhythm/BiorhythmActions.ts +62 -11
- package/src/newModules/biorhythm/BiorhythmPage.tsx +1 -4
- package/src/newModules/childLock/ChildLockPage.tsx +97 -97
- package/src/newModules/childLock/Router.ts +16 -16
- package/src/newModules/energyConsumption/EnergyConsumptionActions.ts +23 -23
- package/src/newModules/energyConsumption/EnergyConsumptionChart.tsx +84 -84
- package/src/newModules/energyConsumption/EnergyConsumptionDetail.tsx +322 -322
- package/src/newModules/energyConsumption/EnergyConsumptionPage.tsx +393 -393
- package/src/newModules/energyConsumption/Router.ts +34 -34
- package/src/newModules/energyConsumption/co2Data.ts +23655 -23655
- package/src/newModules/energyConsumption/component/BarChart.tsx +93 -93
- package/src/newModules/energyConsumption/component/EnergyModal.tsx +284 -284
- package/src/newModules/energyConsumption/component/Overview.tsx +118 -118
- package/src/newModules/fixedTime/FixedTimeActions.ts +241 -241
- package/src/newModules/fixedTime/FixedTimeDetailPage.tsx +345 -345
- package/src/newModules/fixedTime/FixedTimePage.tsx +302 -302
- package/src/newModules/fixedTime/Router.ts +25 -25
- package/src/newModules/lightMode/LightModePage.tsx +204 -204
- package/src/newModules/lightMode/Router.ts +16 -16
- package/src/newModules/mood/Interface.ts +5 -0
- package/src/newModules/mood/MixDynamicMoodEditor.tsx +8 -5
- package/src/newModules/mood/MoodActions.ts +32 -20
- package/src/newModules/mood/MoodItem.tsx +3 -3
- package/src/newModules/mood/MoodPage.tsx +31 -15
- package/src/newModules/mood/MoodParse.ts +5 -6
- package/src/newModules/mood/RecommendMoodItem.tsx +3 -3
- package/src/newModules/mood/Router.ts +9 -0
- package/src/newModules/overchargeSwitch/OverchargeSwitchPage.tsx +96 -96
- package/src/newModules/overchargeSwitch/Router.ts +16 -16
- package/src/newModules/powerOnBehavior/LightBehaviorPage.tsx +266 -266
- package/src/newModules/powerOnBehavior/PlugBehaviorPage.tsx +173 -173
- package/src/newModules/powerOnBehavior/PowerOnBehaviorActions.ts +106 -106
- package/src/newModules/powerOnBehavior/Router.ts +27 -27
- package/src/newModules/randomTime/RandomTimeActions.ts +238 -238
- package/src/newModules/randomTime/RandomTimeDetailPage.tsx +325 -325
- package/src/newModules/randomTime/RandomTimePage.tsx +299 -299
- package/src/newModules/randomTime/Router.ts +25 -25
- package/src/newModules/randomTime/Summary.tsx +116 -116
- package/src/newModules/remoteControl/RemoteControlActions.ts +5 -5
- package/src/newModules/remoteControl/RemoteControlPage.tsx +51 -51
- package/src/newModules/remoteControl/Router.ts +15 -15
- package/src/newModules/select/Route.ts +16 -16
- package/src/newModules/select/SelectPage.d.ts +12 -12
- package/src/newModules/select/SelectPage.tsx +137 -137
- package/src/newModules/sleepWakeUp/Interface.ts +69 -69
- package/src/newModules/sleepWakeUp/Router.ts +24 -24
- package/src/newModules/sleepWakeUp/SleepWakeUpActions.ts +317 -317
- package/src/newModules/sleepWakeUp/SleepWakeUpDetailPage.tsx +661 -661
- package/src/newModules/sleepWakeUp/SleepWakeUpPage.tsx +455 -455
- package/src/newModules/sleepWakeUp/utils.ts +253 -253
- package/src/newModules/swithInching/Router.ts +16 -16
- package/src/newModules/swithInching/SwithInching.tsx +231 -231
- package/src/newModules/swithInching/SwithInchingAction.ts +55 -55
- package/src/newModules/swithInching/pickerView.tsx +91 -91
- package/src/newModules/timeSchedule/Interface.ts +142 -142
- package/src/newModules/timeSchedule/Router.ts +25 -25
- package/src/newModules/timeSchedule/TimeScheduleActions.ts +53 -53
- package/src/newModules/timeSchedule/TimeScheduleDetailPage.tsx +648 -648
- package/src/newModules/timeSchedule/TimeSchedulePage.tsx +253 -253
- package/src/newModules/timeSchedule/components/ManuaSettings.tsx +460 -460
- package/src/newModules/timeSchedule/components/ScheduleCard.tsx +125 -125
- package/tsconfig.json +50 -50
|
@@ -1,254 +1,254 @@
|
|
|
1
|
-
import { Utils } from "tuya-panel-kit";
|
|
2
|
-
import { getArray, getWeek } from '@ledvance/base/src/utils/common';
|
|
3
|
-
import { cloneDeep } from "lodash";
|
|
4
|
-
const { hexStringToNumber } = Utils.StringUtils;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
//// 入睡计划
|
|
8
|
-
export function decodeSleepString(allSleep: string) {
|
|
9
|
-
if (!allSleep || allSleep === '') {
|
|
10
|
-
return [];
|
|
11
|
-
}
|
|
12
|
-
const version = allSleep.substring(0, 2)
|
|
13
|
-
const count = parseInt(allSleep.substring(2, 4))
|
|
14
|
-
if (count === 0 || version !== '00') {
|
|
15
|
-
return []
|
|
16
|
-
}
|
|
17
|
-
const contentString = allSleep.substring(4)
|
|
18
|
-
const list = getArray(contentString, 11 * 2)
|
|
19
|
-
const sleepList = list.map((item, index) => {
|
|
20
|
-
return {
|
|
21
|
-
...decodeSingleSleepString(item),
|
|
22
|
-
index: index,
|
|
23
|
-
name: `sleepPlan ${index + 1}`
|
|
24
|
-
}
|
|
25
|
-
})
|
|
26
|
-
|
|
27
|
-
return sleepList
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// 通过云端获取数据并渲染 sleep
|
|
31
|
-
export function highInTheCloudsSleepString(featureList) {
|
|
32
|
-
if (!!!featureList) {
|
|
33
|
-
return [];
|
|
34
|
-
}
|
|
35
|
-
const sleepList = featureList.map((item, index) => {
|
|
36
|
-
const data = decodeSingleSleepString(item?.startTime)
|
|
37
|
-
return {
|
|
38
|
-
...data,
|
|
39
|
-
loops: data?.loops?.reverse(),
|
|
40
|
-
index: index,
|
|
41
|
-
name: item?.name || `sleepPlan ${index}`
|
|
42
|
-
}
|
|
43
|
-
})
|
|
44
|
-
return sleepList
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export function decodeSingleSleepString(sleep: string) {
|
|
48
|
-
const numbers = hexStringToNumber(sleep)
|
|
49
|
-
const enable = numbers[0]
|
|
50
|
-
const week = getWeek(sleep.substring(2, 4))
|
|
51
|
-
const fade = numbers[2] * 5
|
|
52
|
-
const time = numbers.slice(3, 5)
|
|
53
|
-
const hue = numbers[5] * 100 + numbers[6]
|
|
54
|
-
const sat = numbers[7]
|
|
55
|
-
const value = numbers[8]
|
|
56
|
-
const brightness = numbers[9]
|
|
57
|
-
const temperature = numbers[10]
|
|
58
|
-
const name = numbers[11]
|
|
59
|
-
|
|
60
|
-
const result = {
|
|
61
|
-
isSleep: true,
|
|
62
|
-
enable,
|
|
63
|
-
loops: week,
|
|
64
|
-
fade,
|
|
65
|
-
time,
|
|
66
|
-
hue,
|
|
67
|
-
sat,
|
|
68
|
-
value,
|
|
69
|
-
brightness,
|
|
70
|
-
temperature,
|
|
71
|
-
name
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return result
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export function encodeSleep(sleepList: any) {
|
|
79
|
-
const targetList = sleepList
|
|
80
|
-
let allHex = ''
|
|
81
|
-
allHex = allHex + '00' + targetList.length.toString().padStart(2, '0')
|
|
82
|
-
targetList.forEach(item => {
|
|
83
|
-
allHex = allHex + encodeSingleSleepPlan(item)
|
|
84
|
-
})
|
|
85
|
-
return allHex
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
export function encodeSingleSleepPlan(item) {
|
|
90
|
-
const enableHex = getEnableHex(item.enable)
|
|
91
|
-
const loopHex = getLoopHex(item.loops)
|
|
92
|
-
const fadeHex = getFadeHex(item.fade)
|
|
93
|
-
const timeHex = getTimeHex(item.time)
|
|
94
|
-
|
|
95
|
-
const colorHex = getHueHex(item.hue)
|
|
96
|
-
const satHex = getSatHex(item.sat)
|
|
97
|
-
const valueHex = getValueHex(item.value)
|
|
98
|
-
|
|
99
|
-
const brightnessHex = getBrightnessHex(item.brightness)
|
|
100
|
-
const temperatureHex = getTemperatureHex(item.temperature)
|
|
101
|
-
let hex = enableHex + loopHex + fadeHex + timeHex + colorHex + satHex + valueHex + brightnessHex + temperatureHex
|
|
102
|
-
|
|
103
|
-
return hex
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export function getEnableHex(enable) {
|
|
107
|
-
const enableNumber = enable ? 1 : 0
|
|
108
|
-
return enableNumber.toString().padStart(2, '0')
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
export function getLoopHex(loop) {
|
|
112
|
-
const cloneLoop = cloneDeep(loop)
|
|
113
|
-
return parseInt(cloneLoop.reverse().join('').padStart(8, '0'), 2).toString(16).padStart(2, '0')
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
export function getFadeHex(fade) {
|
|
117
|
-
return (fade / 5).toString(16).padStart(2, '0')
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export function getTimeHex(time) {
|
|
121
|
-
return time[0].toString(16).padStart(2, '0') + time[1].toString(16).padStart(2, '0')
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
export function getBrightnessHex(b: number) {
|
|
125
|
-
return b.toString(16).padStart(2, '0')
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export function getTemperatureHex(t: number) {
|
|
129
|
-
return t.toString(16).padStart(2, '0')
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export function getHueHex(h: number) {
|
|
133
|
-
return Math.trunc(h / 100).toString(16).padStart(2, '0') + (h % 100).toString(16).padStart(2, '0')
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
export function getSatHex(s: number) {
|
|
137
|
-
return s.toString(16).padStart(2, '0')
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
export function getValueHex(v: number) {
|
|
141
|
-
return v.toString(16).padStart(2, '0')
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
//// 唤醒计划
|
|
145
|
-
export function decodeWakeUpString(allString: string) {
|
|
146
|
-
if (!allString || allString === '') {
|
|
147
|
-
return [];
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
const version = allString.substring(0, 2)
|
|
151
|
-
const count = parseInt(allString.substring(2, 4))
|
|
152
|
-
if (count === 0 || version !== '00') {
|
|
153
|
-
return []
|
|
154
|
-
}
|
|
155
|
-
const contentString = allString.substring(4)
|
|
156
|
-
const list = getArray(contentString, 12 * 2)
|
|
157
|
-
|
|
158
|
-
const weekList = list.map((item, index) => {
|
|
159
|
-
return {
|
|
160
|
-
...decodeSingleWakeUpString(item),
|
|
161
|
-
index: index,
|
|
162
|
-
name: `wakeUpPlan ${index + 1}`
|
|
163
|
-
}
|
|
164
|
-
})
|
|
165
|
-
|
|
166
|
-
return weekList
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
// 通过云端获取数据并渲染 wakeUp
|
|
170
|
-
export function highInTheCloudsWakeString(featureList) {
|
|
171
|
-
if (!!!featureList) {
|
|
172
|
-
return [];
|
|
173
|
-
}
|
|
174
|
-
const wakeUpList = featureList.map((item, index) => {
|
|
175
|
-
const data = decodeSingleWakeUpString(item?.startTime)
|
|
176
|
-
return {
|
|
177
|
-
...data,
|
|
178
|
-
loops: data?.loops?.reverse(),
|
|
179
|
-
index: index,
|
|
180
|
-
name: item?.name || `wakeUpPlan ${index}`
|
|
181
|
-
}
|
|
182
|
-
})
|
|
183
|
-
return wakeUpList
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
export function decodeSingleWakeUpString(string: string) {
|
|
187
|
-
const numbers = hexStringToNumber(string)
|
|
188
|
-
const enable = numbers[0]
|
|
189
|
-
const week = getWeek(string.substring(2, 4))
|
|
190
|
-
const fade: number = numbers[2] * 5
|
|
191
|
-
const time = numbers.slice(3, 5)
|
|
192
|
-
const hue = numbers[5] * 100 + numbers[6]
|
|
193
|
-
const sat = numbers[7]
|
|
194
|
-
const value = numbers[8]
|
|
195
|
-
const brightness = numbers[9]
|
|
196
|
-
const temperature = numbers[10]
|
|
197
|
-
const duration = numbers[11] * 5
|
|
198
|
-
|
|
199
|
-
const result = {
|
|
200
|
-
isSleep: false,
|
|
201
|
-
enable,
|
|
202
|
-
loops: week,
|
|
203
|
-
fade,
|
|
204
|
-
time,
|
|
205
|
-
hue,
|
|
206
|
-
sat,
|
|
207
|
-
value,
|
|
208
|
-
brightness,
|
|
209
|
-
temperature,
|
|
210
|
-
duration,
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
return result
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
export function encodeWakeUp(wakeUpList: any) {
|
|
218
|
-
const targetList = wakeUpList
|
|
219
|
-
|
|
220
|
-
let allHex = ''
|
|
221
|
-
allHex = allHex + '00' + targetList.length.toString().padStart(2, '0')
|
|
222
|
-
|
|
223
|
-
targetList.forEach(item => {
|
|
224
|
-
allHex = allHex + encodeSingleWakeUpPlan(item)
|
|
225
|
-
})
|
|
226
|
-
// return allHex;
|
|
227
|
-
return allHex
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
export function encodeSingleWakeUpPlan(item) {
|
|
232
|
-
|
|
233
|
-
const enableHex = getEnableHex(item.enable)
|
|
234
|
-
const loopHex = getLoopHex(item.loops)
|
|
235
|
-
const fadeHex = getFadeHex(item.fade)
|
|
236
|
-
const timeHex = getTimeHex(item.time)
|
|
237
|
-
|
|
238
|
-
const hueHex = getHueHex(item.hue)
|
|
239
|
-
const satHex = getSatHex(item.sat)
|
|
240
|
-
const valueHex = getValueHex(item.value)
|
|
241
|
-
|
|
242
|
-
const brightnessHex = getBrightnessHex(item.brightness)
|
|
243
|
-
const temperatureHex = getTemperatureHex(item.temperature)
|
|
244
|
-
const durationHex = getDurationHex(item.duration)
|
|
245
|
-
|
|
246
|
-
let hex = enableHex + loopHex + fadeHex + timeHex + hueHex + satHex + valueHex + brightnessHex + temperatureHex + durationHex
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
return hex
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
export function getDurationHex(d) {
|
|
253
|
-
return (d / 5).toString(16).padStart(2, '0')
|
|
1
|
+
import { Utils } from "tuya-panel-kit";
|
|
2
|
+
import { getArray, getWeek } from '@ledvance/base/src/utils/common';
|
|
3
|
+
import { cloneDeep } from "lodash";
|
|
4
|
+
const { hexStringToNumber } = Utils.StringUtils;
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
//// 入睡计划
|
|
8
|
+
export function decodeSleepString(allSleep: string) {
|
|
9
|
+
if (!allSleep || allSleep === '') {
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
const version = allSleep.substring(0, 2)
|
|
13
|
+
const count = parseInt(allSleep.substring(2, 4))
|
|
14
|
+
if (count === 0 || version !== '00') {
|
|
15
|
+
return []
|
|
16
|
+
}
|
|
17
|
+
const contentString = allSleep.substring(4)
|
|
18
|
+
const list = getArray(contentString, 11 * 2)
|
|
19
|
+
const sleepList = list.map((item, index) => {
|
|
20
|
+
return {
|
|
21
|
+
...decodeSingleSleepString(item),
|
|
22
|
+
index: index,
|
|
23
|
+
name: `sleepPlan ${index + 1}`
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
return sleepList
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// 通过云端获取数据并渲染 sleep
|
|
31
|
+
export function highInTheCloudsSleepString(featureList) {
|
|
32
|
+
if (!!!featureList) {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
const sleepList = featureList.map((item, index) => {
|
|
36
|
+
const data = decodeSingleSleepString(item?.startTime)
|
|
37
|
+
return {
|
|
38
|
+
...data,
|
|
39
|
+
loops: data?.loops?.reverse(),
|
|
40
|
+
index: index,
|
|
41
|
+
name: item?.name || `sleepPlan ${index}`
|
|
42
|
+
}
|
|
43
|
+
})
|
|
44
|
+
return sleepList
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function decodeSingleSleepString(sleep: string) {
|
|
48
|
+
const numbers = hexStringToNumber(sleep)
|
|
49
|
+
const enable = numbers[0]
|
|
50
|
+
const week = getWeek(sleep.substring(2, 4))
|
|
51
|
+
const fade = numbers[2] * 5
|
|
52
|
+
const time = numbers.slice(3, 5)
|
|
53
|
+
const hue = numbers[5] * 100 + numbers[6]
|
|
54
|
+
const sat = numbers[7]
|
|
55
|
+
const value = numbers[8]
|
|
56
|
+
const brightness = numbers[9]
|
|
57
|
+
const temperature = numbers[10]
|
|
58
|
+
const name = numbers[11]
|
|
59
|
+
|
|
60
|
+
const result = {
|
|
61
|
+
isSleep: true,
|
|
62
|
+
enable,
|
|
63
|
+
loops: week,
|
|
64
|
+
fade,
|
|
65
|
+
time,
|
|
66
|
+
hue,
|
|
67
|
+
sat,
|
|
68
|
+
value,
|
|
69
|
+
brightness,
|
|
70
|
+
temperature,
|
|
71
|
+
name
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
return result
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function encodeSleep(sleepList: any) {
|
|
79
|
+
const targetList = sleepList
|
|
80
|
+
let allHex = ''
|
|
81
|
+
allHex = allHex + '00' + targetList.length.toString().padStart(2, '0')
|
|
82
|
+
targetList.forEach(item => {
|
|
83
|
+
allHex = allHex + encodeSingleSleepPlan(item)
|
|
84
|
+
})
|
|
85
|
+
return allHex
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
export function encodeSingleSleepPlan(item) {
|
|
90
|
+
const enableHex = getEnableHex(item.enable)
|
|
91
|
+
const loopHex = getLoopHex(item.loops)
|
|
92
|
+
const fadeHex = getFadeHex(item.fade)
|
|
93
|
+
const timeHex = getTimeHex(item.time)
|
|
94
|
+
|
|
95
|
+
const colorHex = getHueHex(item.hue)
|
|
96
|
+
const satHex = getSatHex(item.sat)
|
|
97
|
+
const valueHex = getValueHex(item.value)
|
|
98
|
+
|
|
99
|
+
const brightnessHex = getBrightnessHex(item.brightness)
|
|
100
|
+
const temperatureHex = getTemperatureHex(item.temperature)
|
|
101
|
+
let hex = enableHex + loopHex + fadeHex + timeHex + colorHex + satHex + valueHex + brightnessHex + temperatureHex
|
|
102
|
+
|
|
103
|
+
return hex
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export function getEnableHex(enable) {
|
|
107
|
+
const enableNumber = enable ? 1 : 0
|
|
108
|
+
return enableNumber.toString().padStart(2, '0')
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export function getLoopHex(loop) {
|
|
112
|
+
const cloneLoop = cloneDeep(loop)
|
|
113
|
+
return parseInt(cloneLoop.reverse().join('').padStart(8, '0'), 2).toString(16).padStart(2, '0')
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export function getFadeHex(fade) {
|
|
117
|
+
return (fade / 5).toString(16).padStart(2, '0')
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export function getTimeHex(time) {
|
|
121
|
+
return time[0].toString(16).padStart(2, '0') + time[1].toString(16).padStart(2, '0')
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export function getBrightnessHex(b: number) {
|
|
125
|
+
return b.toString(16).padStart(2, '0')
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export function getTemperatureHex(t: number) {
|
|
129
|
+
return t.toString(16).padStart(2, '0')
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export function getHueHex(h: number) {
|
|
133
|
+
return Math.trunc(h / 100).toString(16).padStart(2, '0') + (h % 100).toString(16).padStart(2, '0')
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export function getSatHex(s: number) {
|
|
137
|
+
return s.toString(16).padStart(2, '0')
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export function getValueHex(v: number) {
|
|
141
|
+
return v.toString(16).padStart(2, '0')
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
//// 唤醒计划
|
|
145
|
+
export function decodeWakeUpString(allString: string) {
|
|
146
|
+
if (!allString || allString === '') {
|
|
147
|
+
return [];
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
const version = allString.substring(0, 2)
|
|
151
|
+
const count = parseInt(allString.substring(2, 4))
|
|
152
|
+
if (count === 0 || version !== '00') {
|
|
153
|
+
return []
|
|
154
|
+
}
|
|
155
|
+
const contentString = allString.substring(4)
|
|
156
|
+
const list = getArray(contentString, 12 * 2)
|
|
157
|
+
|
|
158
|
+
const weekList = list.map((item, index) => {
|
|
159
|
+
return {
|
|
160
|
+
...decodeSingleWakeUpString(item),
|
|
161
|
+
index: index,
|
|
162
|
+
name: `wakeUpPlan ${index + 1}`
|
|
163
|
+
}
|
|
164
|
+
})
|
|
165
|
+
|
|
166
|
+
return weekList
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// 通过云端获取数据并渲染 wakeUp
|
|
170
|
+
export function highInTheCloudsWakeString(featureList) {
|
|
171
|
+
if (!!!featureList) {
|
|
172
|
+
return [];
|
|
173
|
+
}
|
|
174
|
+
const wakeUpList = featureList.map((item, index) => {
|
|
175
|
+
const data = decodeSingleWakeUpString(item?.startTime)
|
|
176
|
+
return {
|
|
177
|
+
...data,
|
|
178
|
+
loops: data?.loops?.reverse(),
|
|
179
|
+
index: index,
|
|
180
|
+
name: item?.name || `wakeUpPlan ${index}`
|
|
181
|
+
}
|
|
182
|
+
})
|
|
183
|
+
return wakeUpList
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export function decodeSingleWakeUpString(string: string) {
|
|
187
|
+
const numbers = hexStringToNumber(string)
|
|
188
|
+
const enable = numbers[0]
|
|
189
|
+
const week = getWeek(string.substring(2, 4))
|
|
190
|
+
const fade: number = numbers[2] * 5
|
|
191
|
+
const time = numbers.slice(3, 5)
|
|
192
|
+
const hue = numbers[5] * 100 + numbers[6]
|
|
193
|
+
const sat = numbers[7]
|
|
194
|
+
const value = numbers[8]
|
|
195
|
+
const brightness = numbers[9]
|
|
196
|
+
const temperature = numbers[10]
|
|
197
|
+
const duration = numbers[11] * 5
|
|
198
|
+
|
|
199
|
+
const result = {
|
|
200
|
+
isSleep: false,
|
|
201
|
+
enable,
|
|
202
|
+
loops: week,
|
|
203
|
+
fade,
|
|
204
|
+
time,
|
|
205
|
+
hue,
|
|
206
|
+
sat,
|
|
207
|
+
value,
|
|
208
|
+
brightness,
|
|
209
|
+
temperature,
|
|
210
|
+
duration,
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
return result
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export function encodeWakeUp(wakeUpList: any) {
|
|
218
|
+
const targetList = wakeUpList
|
|
219
|
+
|
|
220
|
+
let allHex = ''
|
|
221
|
+
allHex = allHex + '00' + targetList.length.toString().padStart(2, '0')
|
|
222
|
+
|
|
223
|
+
targetList.forEach(item => {
|
|
224
|
+
allHex = allHex + encodeSingleWakeUpPlan(item)
|
|
225
|
+
})
|
|
226
|
+
// return allHex;
|
|
227
|
+
return allHex
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
export function encodeSingleWakeUpPlan(item) {
|
|
232
|
+
|
|
233
|
+
const enableHex = getEnableHex(item.enable)
|
|
234
|
+
const loopHex = getLoopHex(item.loops)
|
|
235
|
+
const fadeHex = getFadeHex(item.fade)
|
|
236
|
+
const timeHex = getTimeHex(item.time)
|
|
237
|
+
|
|
238
|
+
const hueHex = getHueHex(item.hue)
|
|
239
|
+
const satHex = getSatHex(item.sat)
|
|
240
|
+
const valueHex = getValueHex(item.value)
|
|
241
|
+
|
|
242
|
+
const brightnessHex = getBrightnessHex(item.brightness)
|
|
243
|
+
const temperatureHex = getTemperatureHex(item.temperature)
|
|
244
|
+
const durationHex = getDurationHex(item.duration)
|
|
245
|
+
|
|
246
|
+
let hex = enableHex + loopHex + fadeHex + timeHex + hueHex + satHex + valueHex + brightnessHex + temperatureHex + durationHex
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
return hex
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export function getDurationHex(d) {
|
|
253
|
+
return (d / 5).toString(16).padStart(2, '0')
|
|
254
254
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {NavigationRoute} from "tuya-panel-kit";
|
|
2
|
-
import SwitchInching from "./SwithInching";
|
|
3
|
-
import {ui_biz_routerKey} from "../../navigation/Routers";
|
|
4
|
-
|
|
5
|
-
const SwitchInchingPageRouters: NavigationRoute[] = [
|
|
6
|
-
{
|
|
7
|
-
name: ui_biz_routerKey.ui_biz_switch_inching,
|
|
8
|
-
component: SwitchInching,
|
|
9
|
-
options:{
|
|
10
|
-
hideTopbar: true,
|
|
11
|
-
showOfflineView: false,
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
]
|
|
15
|
-
|
|
16
|
-
export default SwitchInchingPageRouters
|
|
1
|
+
import {NavigationRoute} from "tuya-panel-kit";
|
|
2
|
+
import SwitchInching from "./SwithInching";
|
|
3
|
+
import {ui_biz_routerKey} from "../../navigation/Routers";
|
|
4
|
+
|
|
5
|
+
const SwitchInchingPageRouters: NavigationRoute[] = [
|
|
6
|
+
{
|
|
7
|
+
name: ui_biz_routerKey.ui_biz_switch_inching,
|
|
8
|
+
component: SwitchInching,
|
|
9
|
+
options:{
|
|
10
|
+
hideTopbar: true,
|
|
11
|
+
showOfflineView: false,
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
export default SwitchInchingPageRouters
|