@ledvance/ui-biz-bundle 1.0.85 → 1.0.87
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/package.json +1 -1
- package/src/modules/fixedTime/FixedTimeActions.ts +9 -0
- package/src/modules/mood/FantasyMood.tsx +2 -2
- package/src/modules/mood/FantasyMoodEditPage.tsx +5 -4
- package/src/modules/powerOnBehavior/PowerOnBehaviorActions.ts +12 -0
- package/src/modules/powerOnBehavior/PowerOnBehaviorPage.tsx +173 -0
- package/src/modules/randomTime/RandomTimeActions.ts +12 -0
- package/src/modules/scene/SceneAction.ts +6 -5
- package/src/modules/sleepWakeup/SleepWakeUpDetailPage.tsx +6 -4
- package/src/navigation/Routers.ts +28 -2
package/package.json
CHANGED
|
@@ -34,6 +34,15 @@ export interface CycleTimerItem extends CycleTimer {
|
|
|
34
34
|
name: string
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
export interface PlugFixedTimer {
|
|
38
|
+
power: boolean;
|
|
39
|
+
channel: number;
|
|
40
|
+
weeks: number[];
|
|
41
|
+
startTime: number;
|
|
42
|
+
endTime: number;
|
|
43
|
+
openTime: number;
|
|
44
|
+
closeTime: number;
|
|
45
|
+
}
|
|
37
46
|
|
|
38
47
|
type UseFixedTimeType = (dpKey: string, disableFeature?: boolean) => [CycleTimerItem[], (fixedTimeList: CycleTimerItem[], manualEdit?: boolean) => Promise<{ success: boolean }>]
|
|
39
48
|
|
|
@@ -41,7 +41,7 @@ const FantasyMoodPage = () => {
|
|
|
41
41
|
const params: FantasyMoodPageProps = {
|
|
42
42
|
...routeParams,
|
|
43
43
|
}
|
|
44
|
-
const [sceneId, setScene] = useFantasyScene(params.sceneDpCode, params.workModeDpCode, params.isStringLight)
|
|
44
|
+
const [sceneId, setScene] = useFantasyScene(params.sceneDpCode, params.workModeDpCode, params.switchLedDpCode, params.isStringLight)
|
|
45
45
|
const [workMode] = useWorkMode(params.workModeDpCode)
|
|
46
46
|
const deviceInfo = useDeviceInfo()
|
|
47
47
|
const navigation = useNavigation()
|
|
@@ -80,7 +80,7 @@ const FantasyMoodPage = () => {
|
|
|
80
80
|
state.flag = Symbol()
|
|
81
81
|
},
|
|
82
82
|
})
|
|
83
|
-
}, [])
|
|
83
|
+
}, [state.scenes])
|
|
84
84
|
|
|
85
85
|
const getSwitchEnable = useCallback((id: number) => {
|
|
86
86
|
return state.currentScene?.id === id && workMode === SCENE
|
|
@@ -50,7 +50,7 @@ const FantasyMoodEditPage = () => {
|
|
|
50
50
|
const moduleParams = params.moduleParams
|
|
51
51
|
const deviceId = useDeviceId()
|
|
52
52
|
const [, setWorkMode] = useWorkMode(moduleParams.workModeDpCode)
|
|
53
|
-
const [, setFantasyScene] = useFantasyScene(params.moduleParams.sceneDpCode, params.moduleParams.workModeDpCode, moduleParams.isStringLight)
|
|
53
|
+
const [, setFantasyScene] = useFantasyScene(params.moduleParams.sceneDpCode, params.moduleParams.workModeDpCode, params.moduleParams.switchLedDpCode, moduleParams.isStringLight)
|
|
54
54
|
const role = useRole()
|
|
55
55
|
const state = useReactive<FantasyMoodEditPageState>({
|
|
56
56
|
headline: '',
|
|
@@ -83,7 +83,7 @@ const FantasyMoodEditPage = () => {
|
|
|
83
83
|
}, [])
|
|
84
84
|
|
|
85
85
|
const onPost = useCallback(async (isDelete: boolean) => {
|
|
86
|
-
const maxModeObject = maxBy(params.moods, '
|
|
86
|
+
const maxModeObject = maxBy(params.moods, 'id');
|
|
87
87
|
const currentMood = {
|
|
88
88
|
...state.mood,
|
|
89
89
|
nodes: state.mood.nodes.map(node => {
|
|
@@ -97,8 +97,9 @@ const FantasyMoodEditPage = () => {
|
|
|
97
97
|
}
|
|
98
98
|
return node
|
|
99
99
|
}),
|
|
100
|
-
id: params.mode === 'add' ? maxModeObject && maxModeObject.
|
|
100
|
+
id: params.mode === 'add' ? maxModeObject && maxModeObject.id > 200 ? maxModeObject.id + 1 : 201 : state.mood.id
|
|
101
101
|
}
|
|
102
|
+
|
|
102
103
|
const list = params.mode === 'add' ? [currentMood,...params.moods] :
|
|
103
104
|
isDelete ? params.moods.filter(mood => mood.id !== currentMood.id) :
|
|
104
105
|
params.moods.map(mood => {
|
|
@@ -118,7 +119,7 @@ const FantasyMoodEditPage = () => {
|
|
|
118
119
|
}
|
|
119
120
|
navigation.navigate(ui_biz_routerKey.ui_biz_fantasy_mood)
|
|
120
121
|
routeParams.onSave()
|
|
121
|
-
}, [])
|
|
122
|
+
}, [params.moods])
|
|
122
123
|
|
|
123
124
|
const createSelectModeData = useCallback(() => {
|
|
124
125
|
return Object.values(state.sceneMode).map(scene => {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useDp } from "@ledvance/base/src/models/modules/NativePropsSlice"
|
|
2
|
+
import { Result } from "@ledvance/base/src/models/modules/Result"
|
|
3
|
+
|
|
4
|
+
export interface PowerBehaviorPageParams {
|
|
5
|
+
powerBehaviorCode: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
type PowerBehaviorType = 'off' | 'on' | 'memory'
|
|
9
|
+
|
|
10
|
+
export const usePowerBehavior = (code: string): [PowerBehaviorType, (v: PowerBehaviorType) => Promise<Result<any>>] => {
|
|
11
|
+
return useDp(code)
|
|
12
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import React, { PropsWithChildren } from 'react'
|
|
2
|
+
import { Image, ScrollView, StyleSheet, Text, TouchableOpacity, View, ViewProps } from 'react-native'
|
|
3
|
+
import { useRoute } from '@react-navigation/core'
|
|
4
|
+
import Page from '@ledvance/base/src/components/Page'
|
|
5
|
+
import { useDeviceInfo } from '@ledvance/base/src/models/modules/NativePropsSlice'
|
|
6
|
+
import I18n from '@ledvance/base/src/i18n'
|
|
7
|
+
import { PowerBehaviorPageParams, usePowerBehavior } from './PowerOnBehaviorActions'
|
|
8
|
+
import { Utils } from 'tuya-panel-kit'
|
|
9
|
+
import Spacer from '@ledvance/base/src/components/Spacer'
|
|
10
|
+
import Card from '@ledvance/base/src/components/Card'
|
|
11
|
+
import res from '@ledvance/base/src/res'
|
|
12
|
+
import { useReactive, useUpdateEffect } from 'ahooks'
|
|
13
|
+
|
|
14
|
+
const { convertX: cx } = Utils.RatioUtils
|
|
15
|
+
|
|
16
|
+
const RELAY_STATUS_OFF = 'off'
|
|
17
|
+
const RELAY_STATUS_ON = 'on'
|
|
18
|
+
const RELAY_STATUS_MEMORY = 'memory'
|
|
19
|
+
|
|
20
|
+
const PowerOnBehaviorPage = () => {
|
|
21
|
+
const params = useRoute().params as PowerBehaviorPageParams
|
|
22
|
+
const deviceInfo = useDeviceInfo()
|
|
23
|
+
const [powerMemory, setPowerMemory] = usePowerBehavior(params.powerBehaviorCode)
|
|
24
|
+
|
|
25
|
+
const state = useReactive({
|
|
26
|
+
powerMemory,
|
|
27
|
+
loading: false,
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
useUpdateEffect(() => {
|
|
31
|
+
state.powerMemory = powerMemory
|
|
32
|
+
}, [powerMemory])
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<Page
|
|
36
|
+
backText={deviceInfo.name}
|
|
37
|
+
headlineText={I18n.getLang('light_sources_specific_settings_power_off')}
|
|
38
|
+
loading={state.loading}>
|
|
39
|
+
<ScrollView style={styles.root} nestedScrollEnabled={true}>
|
|
40
|
+
<Spacer />
|
|
41
|
+
<View style={styles.modeSelectGroup}>
|
|
42
|
+
<Spacer height={cx(8)} />
|
|
43
|
+
<Text style={styles.modeTip}>
|
|
44
|
+
{I18n.getLang('socket_settings_firstbox_topic')}
|
|
45
|
+
</Text>
|
|
46
|
+
<Spacer height={cx(8)} />
|
|
47
|
+
<Card style={styles.modeSelectCard}>
|
|
48
|
+
<Spacer height={cx(12)} />
|
|
49
|
+
<PowerOnBehaviorModeItem
|
|
50
|
+
enable={state.powerMemory === RELAY_STATUS_OFF}
|
|
51
|
+
title={I18n.getLang('feature_summary_action_txt_2')}
|
|
52
|
+
content={I18n.getLang('socket_settings_firstbox_status1_description')}
|
|
53
|
+
onPress={async () => {
|
|
54
|
+
state.powerMemory = RELAY_STATUS_OFF
|
|
55
|
+
await setPowerMemory(state.powerMemory)
|
|
56
|
+
}} />
|
|
57
|
+
<View style={styles.line} />
|
|
58
|
+
<Spacer height={cx(8)} />
|
|
59
|
+
<PowerOnBehaviorModeItem
|
|
60
|
+
enable={state.powerMemory === RELAY_STATUS_ON}
|
|
61
|
+
title={I18n.getLang('feature_summary_action_txt_1')}
|
|
62
|
+
content={I18n.getLang('socket_settings_firstbox_status2_description')}
|
|
63
|
+
onPress={async () => {
|
|
64
|
+
state.powerMemory = RELAY_STATUS_ON
|
|
65
|
+
await setPowerMemory(state.powerMemory)
|
|
66
|
+
}} />
|
|
67
|
+
<View style={styles.line} />
|
|
68
|
+
<Spacer height={cx(8)} />
|
|
69
|
+
<PowerOnBehaviorModeItem
|
|
70
|
+
enable={state.powerMemory === RELAY_STATUS_MEMORY}
|
|
71
|
+
title={I18n.getLang('sockets_specific_settings_relay_status_remember')}
|
|
72
|
+
content={I18n.getLang('socket_settings_firstbox_status3_description')}
|
|
73
|
+
onPress={async () => {
|
|
74
|
+
state.powerMemory = RELAY_STATUS_MEMORY
|
|
75
|
+
await setPowerMemory(state.powerMemory)
|
|
76
|
+
}} />
|
|
77
|
+
<Spacer height={cx(4)} />
|
|
78
|
+
</Card>
|
|
79
|
+
<Spacer height={cx(8)} />
|
|
80
|
+
</View>
|
|
81
|
+
</ScrollView>
|
|
82
|
+
</Page>
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
interface PowerOnBehaviorModeItemProps extends PropsWithChildren<ViewProps> {
|
|
87
|
+
onPress: () => void
|
|
88
|
+
title: string
|
|
89
|
+
content: string
|
|
90
|
+
enable: boolean
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function PowerOnBehaviorModeItem(props: PowerOnBehaviorModeItemProps) {
|
|
94
|
+
return (
|
|
95
|
+
<TouchableOpacity onPress={props.onPress}>
|
|
96
|
+
<View style={styles.itemRoot}>
|
|
97
|
+
<View style={styles.itemTextGroup}>
|
|
98
|
+
<Text style={styles.itemTitle}>{props.title}</Text>
|
|
99
|
+
<Spacer height={cx(4)} />
|
|
100
|
+
<Text style={styles.itemContent}>{props.content}</Text>
|
|
101
|
+
</View>
|
|
102
|
+
<Image
|
|
103
|
+
source={{ uri: res.ic_check }}
|
|
104
|
+
style={[
|
|
105
|
+
styles.itemCheckedIcon,
|
|
106
|
+
{
|
|
107
|
+
display: props.enable ? 'flex' : 'none',
|
|
108
|
+
},
|
|
109
|
+
]} />
|
|
110
|
+
</View>
|
|
111
|
+
</TouchableOpacity>
|
|
112
|
+
)
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const styles = StyleSheet.create({
|
|
116
|
+
root: {
|
|
117
|
+
flex: 1,
|
|
118
|
+
},
|
|
119
|
+
tipText: {
|
|
120
|
+
marginHorizontal: cx(24),
|
|
121
|
+
color: '#000',
|
|
122
|
+
fontSize: cx(14),
|
|
123
|
+
fontFamily: 'helvetica_neue_lt_std_roman',
|
|
124
|
+
},
|
|
125
|
+
modeSelectGroup: {
|
|
126
|
+
marginHorizontal: cx(24),
|
|
127
|
+
backgroundColor: '#f6f6f6',
|
|
128
|
+
borderRadius: cx(4),
|
|
129
|
+
},
|
|
130
|
+
modeTip: {
|
|
131
|
+
marginHorizontal: cx(8),
|
|
132
|
+
color: '#000',
|
|
133
|
+
fontSize: cx(14),
|
|
134
|
+
fontWeight: 'bold',
|
|
135
|
+
fontFamily: 'helvetica_neue_lt_std_bd',
|
|
136
|
+
},
|
|
137
|
+
modeSelectCard: {
|
|
138
|
+
marginHorizontal: cx(8),
|
|
139
|
+
},
|
|
140
|
+
line: {
|
|
141
|
+
height: cx(1),
|
|
142
|
+
marginHorizontal: cx(12),
|
|
143
|
+
backgroundColor: '#3C3C435B',
|
|
144
|
+
},
|
|
145
|
+
itemRoot: {
|
|
146
|
+
flexDirection: 'row',
|
|
147
|
+
alignItems: 'center',
|
|
148
|
+
paddingHorizontal: cx(12),
|
|
149
|
+
paddingBottom: cx(8),
|
|
150
|
+
},
|
|
151
|
+
itemTextGroup: {
|
|
152
|
+
flex: 1,
|
|
153
|
+
marginEnd: cx(12),
|
|
154
|
+
justifyContent: 'center',
|
|
155
|
+
},
|
|
156
|
+
itemTitle: {
|
|
157
|
+
color: '#000',
|
|
158
|
+
fontSize: cx(14),
|
|
159
|
+
fontFamily: 'helvetica_neue_lt_std_roman',
|
|
160
|
+
},
|
|
161
|
+
itemContent: {
|
|
162
|
+
color: '#666',
|
|
163
|
+
fontSize: cx(14),
|
|
164
|
+
fontFamily: 'helvetica_neue_lt_std_roman',
|
|
165
|
+
},
|
|
166
|
+
itemCheckedIcon: {
|
|
167
|
+
width: cx(32),
|
|
168
|
+
height: cx(32),
|
|
169
|
+
marginEnd: cx(4),
|
|
170
|
+
},
|
|
171
|
+
})
|
|
172
|
+
|
|
173
|
+
export default PowerOnBehaviorPage
|
|
@@ -29,6 +29,18 @@ export interface RandomTimerItem extends RandomTimer{
|
|
|
29
29
|
name: string
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
export interface PlugRandomTimer {
|
|
33
|
+
power: boolean;
|
|
34
|
+
weeks: number[];
|
|
35
|
+
startTime: number;
|
|
36
|
+
endTime: number;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface PlugRandomTimerItem extends PlugRandomTimer {
|
|
40
|
+
index: number | string
|
|
41
|
+
name: string
|
|
42
|
+
}
|
|
43
|
+
|
|
32
44
|
|
|
33
45
|
type UseFixedTimeType = (dpKey: string, disableFeature?: boolean) => [RandomTimerItem[], (randomTimeList: RandomTimerItem[], manualEdit?: boolean) => Promise<{ success: boolean}>]
|
|
34
46
|
|
|
@@ -401,7 +401,7 @@ export function stripObj2Dp(scene: StripSceneInfo, isStringLight: boolean = fals
|
|
|
401
401
|
return versionHex + idHex + modeHex + intervalTimeHex + changeTimeHex + optionAHex + optionBHex + optionCHex + nodeHex
|
|
402
402
|
}
|
|
403
403
|
|
|
404
|
-
export function useFantasyScene(sceneDp: string, workModeDp: string, isStringLight?: boolean): [number, (scene: StripSceneInfo) => Promise<Result<any>>] {
|
|
404
|
+
export function useFantasyScene(sceneDp: string, workModeDp: string, switchDp: string, isStringLight?: boolean): [number, (scene: StripSceneInfo) => Promise<Result<any>>] {
|
|
405
405
|
const [dps, setDps]: [any, (v: any) => Promise<Result<any>>] = useDps()
|
|
406
406
|
const dp = dps[sceneDp]
|
|
407
407
|
const [sceneState, setSceneState] = useState<StripSceneInfo>(stripDp2Obj(dp, isStringLight))
|
|
@@ -414,7 +414,8 @@ export function useFantasyScene(sceneDp: string, workModeDp: string, isStringLig
|
|
|
414
414
|
const sceneHex = stripObj2Dp(scene, isStringLight)
|
|
415
415
|
return setDps({
|
|
416
416
|
[sceneDp]: sceneHex,
|
|
417
|
-
[workModeDp]: SCENE
|
|
417
|
+
[workModeDp]: SCENE,
|
|
418
|
+
[switchDp]: true
|
|
418
419
|
})
|
|
419
420
|
}
|
|
420
421
|
return [sceneState.id, setFantasyScene]
|
|
@@ -426,14 +427,14 @@ type LampType = {
|
|
|
426
427
|
}
|
|
427
428
|
export async function getRemoteFantasyScene(featureId: string, devId: string, lampType: LampType) {
|
|
428
429
|
const res = await NativeApi.getJson(devId, featureId)
|
|
429
|
-
const
|
|
430
|
-
if (res.success &&
|
|
430
|
+
const isNormalData = Array.isArray(parseJSON(res?.data))
|
|
431
|
+
if (res.success && isNormalData) {
|
|
431
432
|
return {
|
|
432
433
|
success: true,
|
|
433
434
|
data: JSON.parse(res.data)?.map(item => remoteFantasySceneInfo2SceneUIState(item, lampType.isStringLight)),
|
|
434
435
|
}
|
|
435
436
|
} else {
|
|
436
|
-
if (res.msg?.includes('资源未找到') ||
|
|
437
|
+
if (res.msg?.includes('资源未找到') || !isNormalData) {
|
|
437
438
|
const defaultScene = getDefFantasyScene(lampType)
|
|
438
439
|
const res = await NativeApi.putJson(devId, featureId, JSON.stringify(defaultScene))
|
|
439
440
|
if (res.success) {
|
|
@@ -126,19 +126,19 @@ const SleepWakeUpDetailPage = () => {
|
|
|
126
126
|
}, [])
|
|
127
127
|
|
|
128
128
|
useUpdateEffect(() => {
|
|
129
|
-
const min = state.fadeOutHour === '02' ? '00' : (state.fadeOutHour === '00' && state.fadeOutMinute === '00'
|
|
129
|
+
const min = state.fadeOutHour === '02' ? '00' : (state.fadeOutHour === '00' && state.fadeOutMinute === '00') ? '05' : state.fadeOutMinute
|
|
130
130
|
state.fadeOutMinute = min
|
|
131
131
|
state.fadeOut = (Number(state.fadeOutHour) * 60) + Number(min)
|
|
132
132
|
}, [state.fadeOutHour, state.fadeOutMinute])
|
|
133
133
|
|
|
134
134
|
useUpdateEffect(() => {
|
|
135
|
-
const min = state.fadeInHour === '02' ? '00' : (state.fadeInHour === '00' && state.fadeInMinute === '00'
|
|
135
|
+
const min = state.fadeInHour === '02' ? '00' : (state.fadeInHour === '00' && state.fadeInMinute === '00') ? '05' : state.fadeInMinute
|
|
136
136
|
state.fadeInMinute = min
|
|
137
137
|
state.fadeIn = (Number(state.fadeInHour) * 60) + Number(min)
|
|
138
138
|
}, [state.fadeInHour, state.fadeInMinute])
|
|
139
139
|
|
|
140
140
|
useUpdateEffect(() => {
|
|
141
|
-
const min = state.durationHour === '02' ? '00' : (state.durationHour === '00' && state.durationMinute === '00'
|
|
141
|
+
const min = state.durationHour === '02' ? '00' : (state.durationHour === '00' && state.durationMinute === '00') ? '05' : state.durationMinute
|
|
142
142
|
state.durationMinute = min
|
|
143
143
|
state.duration = (Number(state.durationHour) * 60) + Number(min)
|
|
144
144
|
}, [state.durationHour, state.durationMinute])
|
|
@@ -386,7 +386,7 @@ const SleepWakeUpDetailPage = () => {
|
|
|
386
386
|
<LdvPickerView
|
|
387
387
|
style={styles.picker}
|
|
388
388
|
hour={props.isSleep ? state.fadeOutHour : state.fadeInHour}
|
|
389
|
-
minute={props.isSleep ? state.fadeOutMinute : state.
|
|
389
|
+
minute={props.isSleep ? state.fadeOutMinute : state.fadeInMinute}
|
|
390
390
|
minutesStep={5}
|
|
391
391
|
setHour={v => {
|
|
392
392
|
if (props.isSleep) {
|
|
@@ -403,6 +403,7 @@ const SleepWakeUpDetailPage = () => {
|
|
|
403
403
|
}
|
|
404
404
|
}}
|
|
405
405
|
unit={['h', 'min']}
|
|
406
|
+
maxHour={3}
|
|
406
407
|
/>
|
|
407
408
|
<Text>{I18n.formatValue(props.isSleep ? 'add_sleepschedule_one_source_settings_text2' : 'add_wakeupschedule_settings_text2', `${formateTime(props.isSleep ? state.fadeOut : state.fadeIn, props.isSleep)}`)}</Text>
|
|
408
409
|
<Spacer />
|
|
@@ -435,6 +436,7 @@ const SleepWakeUpDetailPage = () => {
|
|
|
435
436
|
setHour={v => (state.durationHour = v)}
|
|
436
437
|
setMinute={v => (state.durationMinute = v)}
|
|
437
438
|
unit={['h', 'min']}
|
|
439
|
+
maxHour={3}
|
|
438
440
|
/>
|
|
439
441
|
<Text>{I18n.formatValue('add_wakeupschedule_settings_text5', `${formateTime(state.duration, !props.isSleep)}`)}</Text>
|
|
440
442
|
<Spacer />
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {NavigationRoute, TransitionPresets} from 'tuya-panel-kit'
|
|
1
|
+
import { NavigationRoute, TransitionPresets } from 'tuya-panel-kit'
|
|
2
2
|
import TimeSchedulePage from '../modules/timeSchedule/TimeSchedulePage'
|
|
3
3
|
import TimeScheduleEditPage from '../modules/timeSchedule/TimeScheduleEditpage'
|
|
4
4
|
import DynamicMoodEditorPage from '../modules/mood/DynamicMoodEditorPage'
|
|
@@ -19,6 +19,8 @@ import FixedTimePage from '../modules/fixedTime/FixedTimePage'
|
|
|
19
19
|
import FixedTimeDetailPage from '../modules/fixedTime/FixedTimeDetailPage'
|
|
20
20
|
import RandomTimePage from 'modules/randomTime/RandomTimePage'
|
|
21
21
|
import RandomTimeDetailPage from '../modules/randomTime/RandomTimeDetailPage'
|
|
22
|
+
import HistoryPage from '../modules/history/HistoryPage'
|
|
23
|
+
import PowerOnBehaviorPage from '../modules/powerOnBehavior/PowerOnBehaviorPage'
|
|
22
24
|
|
|
23
25
|
export const ui_biz_routerKey = {
|
|
24
26
|
'ui_biz_time_schedule': 'ui_biz_time_schedule',
|
|
@@ -40,7 +42,9 @@ export const ui_biz_routerKey = {
|
|
|
40
42
|
'ui_biz_fixed_time': 'ui_biz_fixed_time',
|
|
41
43
|
'ui_biz_fixed_time_edit': 'ui_biz_fixed_time_edit',
|
|
42
44
|
'ui_biz_random_time': 'ui_biz_random_time',
|
|
43
|
-
'ui_biz_random_time_edit': 'ui_biz_random_time_edit'
|
|
45
|
+
'ui_biz_random_time_edit': 'ui_biz_random_time_edit',
|
|
46
|
+
'ui_biz_history': 'ui_biz_history',
|
|
47
|
+
'ui_biz_power_behavior': 'ui_biz_power_behavior'
|
|
44
48
|
}
|
|
45
49
|
|
|
46
50
|
export const BiologicalRouters: NavigationRoute[] = [
|
|
@@ -238,4 +242,26 @@ export const RandomTimePageRouters: NavigationRoute[] = [
|
|
|
238
242
|
showOfflineView: false,
|
|
239
243
|
},
|
|
240
244
|
}
|
|
245
|
+
]
|
|
246
|
+
|
|
247
|
+
export const HistoryPageRouters: NavigationRoute[] = [
|
|
248
|
+
{
|
|
249
|
+
name: ui_biz_routerKey.ui_biz_history,
|
|
250
|
+
component: HistoryPage,
|
|
251
|
+
options: {
|
|
252
|
+
hideTopbar: true,
|
|
253
|
+
showOfflineView: false,
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
]
|
|
257
|
+
|
|
258
|
+
export const PowerOnBehaviorPageRouters: NavigationRoute[] = [
|
|
259
|
+
{
|
|
260
|
+
name: ui_biz_routerKey.ui_biz_power_behavior,
|
|
261
|
+
component: PowerOnBehaviorPage,
|
|
262
|
+
options: {
|
|
263
|
+
hideTopbar: true,
|
|
264
|
+
showOfflineView: false,
|
|
265
|
+
}
|
|
266
|
+
}
|
|
241
267
|
]
|