|
@@ -1,16 +1,25 @@
|
|
-
|
|
|
|
|
|
+import CommonConstants from '../common/constants/CommonConstants'
|
|
|
|
+import AssistantSet from '../model/AssistantSet'
|
|
|
|
+import AssistantSetModel from '../model/database/AssistantSetModel'
|
|
|
|
|
|
@Component
|
|
@Component
|
|
export struct AssistantSetView {
|
|
export struct AssistantSetView {
|
|
- @State selectTimbre: number = 0
|
|
|
|
|
|
+ @State assistantSet: AssistantSet = null
|
|
|
|
|
|
editTimbreDialogController: CustomDialogController = new CustomDialogController({
|
|
editTimbreDialogController: CustomDialogController = new CustomDialogController({
|
|
- builder: EditTimbreDialog({ selectTimbre: this.selectTimbre }),
|
|
|
|
|
|
+ builder: EditTimbreDialog({
|
|
|
|
+ assistantSet: this.assistantSet
|
|
|
|
+ }),
|
|
alignment: DialogAlignment.Center,
|
|
alignment: DialogAlignment.Center,
|
|
customStyle: true,
|
|
customStyle: true,
|
|
autoCancel: true,
|
|
autoCancel: true,
|
|
})
|
|
})
|
|
|
|
|
|
|
|
+ async aboutToAppear() {
|
|
|
|
+ this.assistantSet = await AssistantSetModel.getByUserId(CommonConstants.USER_ID)
|
|
|
|
+ console.log('testTag', JSON.stringify(this.assistantSet))
|
|
|
|
+ }
|
|
|
|
+
|
|
build() {
|
|
build() {
|
|
Column() {
|
|
Column() {
|
|
Text('智汇助手')
|
|
Text('智汇助手')
|
|
@@ -34,10 +43,16 @@ export struct AssistantSetView {
|
|
}
|
|
}
|
|
.alignItems(HorizontalAlign.Start)
|
|
.alignItems(HorizontalAlign.Start)
|
|
|
|
|
|
- Toggle({ type: ToggleType.Switch, isOn: true })
|
|
|
|
|
|
+ Toggle({ type: ToggleType.Switch, isOn: this.assistantSet && this.assistantSet.voiceWakeUp === 1 ? true : false})
|
|
.selectedColor('#007DFF')
|
|
.selectedColor('#007DFF')
|
|
.switchPointColor('#FFFFFF')
|
|
.switchPointColor('#FFFFFF')
|
|
.onChange((isOn: boolean) => {
|
|
.onChange((isOn: boolean) => {
|
|
|
|
+ if (isOn) {
|
|
|
|
+ this.assistantSet.voiceWakeUp = 1
|
|
|
|
+ } else {
|
|
|
|
+ this.assistantSet.voiceWakeUp = 2
|
|
|
|
+ }
|
|
|
|
+ AssistantSetModel.updateAssistantSet(this.assistantSet)
|
|
})
|
|
})
|
|
}
|
|
}
|
|
.borderRadius($r('app.float.general_border_radius'))
|
|
.borderRadius($r('app.float.general_border_radius'))
|
|
@@ -54,7 +69,7 @@ export struct AssistantSetView {
|
|
.fontSize($r('app.float.set_card_font_size'))
|
|
.fontSize($r('app.float.set_card_font_size'))
|
|
.fontWeight(FontWeight.Medium)
|
|
.fontWeight(FontWeight.Medium)
|
|
.opacity(0.9)
|
|
.opacity(0.9)
|
|
- Text(this.selectTimbre ? "男声" : "女声")
|
|
|
|
|
|
+ Text(this.assistantSet && this.assistantSet.timbre === 1 ? "男声" : "女声")
|
|
.fontSize($r('app.float.robot_state_font_size'))
|
|
.fontSize($r('app.float.robot_state_font_size'))
|
|
.fontColor($r('app.color.general_font_color'))
|
|
.fontColor($r('app.color.general_font_color'))
|
|
.fontWeight(FontWeight.Medium)
|
|
.fontWeight(FontWeight.Medium)
|
|
@@ -62,7 +77,6 @@ export struct AssistantSetView {
|
|
}
|
|
}
|
|
.alignItems(HorizontalAlign.Start)
|
|
.alignItems(HorizontalAlign.Start)
|
|
|
|
|
|
-
|
|
|
|
Row() {
|
|
Row() {
|
|
Image($r('app.media.subscript'))
|
|
Image($r('app.media.subscript'))
|
|
.height($r('app.float.card_subscript_size'))
|
|
.height($r('app.float.card_subscript_size'))
|
|
@@ -102,10 +116,16 @@ export struct AssistantSetView {
|
|
}
|
|
}
|
|
.alignItems(HorizontalAlign.Start)
|
|
.alignItems(HorizontalAlign.Start)
|
|
|
|
|
|
- Toggle({ type: ToggleType.Switch, isOn: false })
|
|
|
|
|
|
+ Toggle({ type: ToggleType.Switch, isOn: this.assistantSet && this.assistantSet.wakeFree === 1 ? true : false})
|
|
.selectedColor('#007DFF')
|
|
.selectedColor('#007DFF')
|
|
.switchPointColor('#FFFFFF')
|
|
.switchPointColor('#FFFFFF')
|
|
.onChange((isOn: boolean) => {
|
|
.onChange((isOn: boolean) => {
|
|
|
|
+ if (isOn) {
|
|
|
|
+ this.assistantSet.wakeFree = 1
|
|
|
|
+ } else {
|
|
|
|
+ this.assistantSet.wakeFree = 2
|
|
|
|
+ }
|
|
|
|
+ AssistantSetModel.updateAssistantSet(this.assistantSet)
|
|
})
|
|
})
|
|
}
|
|
}
|
|
.borderRadius($r('app.float.general_border_radius'))
|
|
.borderRadius($r('app.float.general_border_radius'))
|
|
@@ -136,10 +156,16 @@ export struct AssistantSetView {
|
|
}
|
|
}
|
|
.alignItems(HorizontalAlign.Start)
|
|
.alignItems(HorizontalAlign.Start)
|
|
|
|
|
|
- Toggle({ type: ToggleType.Switch, isOn: true })
|
|
|
|
|
|
+ Toggle({ type: ToggleType.Switch, isOn: this.assistantSet && this.assistantSet.promptBroadcast === 1 ?true : false})
|
|
.selectedColor('#007DFF')
|
|
.selectedColor('#007DFF')
|
|
.switchPointColor('#FFFFFF')
|
|
.switchPointColor('#FFFFFF')
|
|
.onChange((isOn: boolean) => {
|
|
.onChange((isOn: boolean) => {
|
|
|
|
+ if (isOn) {
|
|
|
|
+ this.assistantSet.promptBroadcast = 1
|
|
|
|
+ } else {
|
|
|
|
+ this.assistantSet.promptBroadcast = 2
|
|
|
|
+ }
|
|
|
|
+ AssistantSetModel.updateAssistantSet(this.assistantSet)
|
|
})
|
|
})
|
|
}
|
|
}
|
|
.borderRadius($r('app.float.general_border_radius'))
|
|
.borderRadius($r('app.float.general_border_radius'))
|
|
@@ -168,8 +194,12 @@ export struct AssistantSetView {
|
|
.height($r('app.float.volume_image_size'))
|
|
.height($r('app.float.volume_image_size'))
|
|
Text()
|
|
Text()
|
|
.width('3%')
|
|
.width('3%')
|
|
- Slider({ min: 100, max: 200, step: 1 })
|
|
|
|
|
|
+ Slider({value: this.assistantSet ? this.assistantSet.voiceVolume : 0, min: 0, max: 30, step: 1 })
|
|
.layoutWeight(1)
|
|
.layoutWeight(1)
|
|
|
|
+ .onChange((value: number)=>{
|
|
|
|
+ this.assistantSet.voiceVolume = value
|
|
|
|
+ AssistantSetModel.updateAssistantSet(this.assistantSet)
|
|
|
|
+ })
|
|
}
|
|
}
|
|
.justifyContent(FlexAlign.SpaceBetween)
|
|
.justifyContent(FlexAlign.SpaceBetween)
|
|
.layoutWeight(1)
|
|
.layoutWeight(1)
|
|
@@ -194,7 +224,7 @@ export struct AssistantSetView {
|
|
//弹窗组件
|
|
//弹窗组件
|
|
@CustomDialog
|
|
@CustomDialog
|
|
struct EditTimbreDialog {
|
|
struct EditTimbreDialog {
|
|
- @Link selectTimbre: number
|
|
|
|
|
|
+ @Link assistantSet: AssistantSet
|
|
controller: CustomDialogController
|
|
controller: CustomDialogController
|
|
cancel: () => void = () => { }
|
|
cancel: () => void = () => { }
|
|
confirm: () => void = () => { }
|
|
confirm: () => void = () => { }
|
|
@@ -217,19 +247,19 @@ struct EditTimbreDialog {
|
|
.borderRadius($r('app.float.general_border_radius'))
|
|
.borderRadius($r('app.float.general_border_radius'))
|
|
.objectFit(ImageFit.Fill)
|
|
.objectFit(ImageFit.Fill)
|
|
.onClick(() => {
|
|
.onClick(() => {
|
|
- this.selectTimbre = 0
|
|
|
|
|
|
+ this.assistantSet.timbre = 2
|
|
|
|
+ AssistantSetModel.updateAssistantSet(this.assistantSet)
|
|
this.controller.close()
|
|
this.controller.close()
|
|
- console.log("现在是女声")
|
|
|
|
})
|
|
})
|
|
Radio({ value: 'radio0', group: 'voiceRadio' })
|
|
Radio({ value: 'radio0', group: 'voiceRadio' })
|
|
- .checked(this.selectTimbre ? false : true)
|
|
|
|
|
|
+ .checked(this.assistantSet && this.assistantSet.timbre === 1 ? false : true)
|
|
.width($r('app.float.general_icon_size'))
|
|
.width($r('app.float.general_icon_size'))
|
|
.height($r('app.float.general_icon_size'))
|
|
.height($r('app.float.general_icon_size'))
|
|
.margin(10)
|
|
.margin(10)
|
|
.onChange((isChecked: boolean) => {
|
|
.onChange((isChecked: boolean) => {
|
|
if (isChecked) {
|
|
if (isChecked) {
|
|
- this.selectTimbre = 0
|
|
|
|
- console.log("现在是女声")
|
|
|
|
|
|
+ this.assistantSet.timbre = 2
|
|
|
|
+ AssistantSetModel.updateAssistantSet(this.assistantSet)
|
|
this.controller.close()
|
|
this.controller.close()
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -244,19 +274,19 @@ struct EditTimbreDialog {
|
|
.borderRadius($r('app.float.general_border_radius'))
|
|
.borderRadius($r('app.float.general_border_radius'))
|
|
.objectFit(ImageFit.Fill)
|
|
.objectFit(ImageFit.Fill)
|
|
.onClick(() => {
|
|
.onClick(() => {
|
|
- this.selectTimbre = 1
|
|
|
|
|
|
+ this.assistantSet.timbre = 1
|
|
|
|
+ AssistantSetModel.updateAssistantSet(this.assistantSet)
|
|
this.controller.close()
|
|
this.controller.close()
|
|
- console.log("现在是男声")
|
|
|
|
})
|
|
})
|
|
Radio({ value: 'radio1', group: 'voiceRadio' })
|
|
Radio({ value: 'radio1', group: 'voiceRadio' })
|
|
- .checked(this.selectTimbre ? true : false)
|
|
|
|
|
|
+ .checked(this.assistantSet && this.assistantSet.timbre === 1 ? true : false)
|
|
.width($r('app.float.general_icon_size'))
|
|
.width($r('app.float.general_icon_size'))
|
|
.height($r('app.float.general_icon_size'))
|
|
.height($r('app.float.general_icon_size'))
|
|
.margin(10)
|
|
.margin(10)
|
|
.onChange((isChecked: boolean) => {
|
|
.onChange((isChecked: boolean) => {
|
|
if (isChecked) {
|
|
if (isChecked) {
|
|
- this.selectTimbre = 1
|
|
|
|
- console.log("现在是男声")
|
|
|
|
|
|
+ this.assistantSet.timbre = 1
|
|
|
|
+ AssistantSetModel.updateAssistantSet(this.assistantSet)
|
|
this.controller.close()
|
|
this.controller.close()
|
|
}
|
|
}
|
|
})
|
|
})
|