| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- const {
- DEFAULT_DEVICE_FILTER,
- getState: getHomeFeatureState,
- init: initHomeFeature,
- subscribeState: subscribeHomeState,
- ...homeService
- } = require('../../features/home/service.js')
- const {
- createPageToast
- } = require('../../utils/page-toast.js')
- Page({
- data: getHomeFeatureState(),
- noop() {},
- onLoad() {
- this.pageToast = createPageToast(this, this.data)
- initHomeFeature()
- this.unsubscribeHomeState = subscribeHomeState(() => this.data.deviceFilterMode, (nextState) => {
- this.setData(nextState)
- this.pageToast.showFromState(nextState)
- })
- },
- onShow() {
- if (this.pageToast) {
- this.pageToast.setActive(true)
- }
- },
- onHide() {
- if (this.pageToast) {
- this.pageToast.setActive(false)
- }
- },
- onUnload() {
- if (this.pageToast) {
- this.pageToast.destroy()
- this.pageToast = null
- }
- if (this.unsubscribeHomeState) {
- this.unsubscribeHomeState()
- this.unsubscribeHomeState = null
- }
- },
- onCommandChange(event) {
- homeService.setCommandIndex(event.detail.value)
- },
- onSlaveAddressInput(event) {
- homeService.setProtocolInput({
- slaveAddress: event.detail.value
- })
- },
- onRegisterAddressInput(event) {
- homeService.setProtocolInput({
- registerAddress: event.detail.value
- })
- },
- onCommandValueInput(event) {
- homeService.setProtocolInput({
- commandValue: event.detail.value
- })
- },
- onCommandRegisterQuantityInput(event) {
- homeService.setProtocolMultipleQuantity(event.detail.value)
- },
- openProtocolMultipleDialog() {
- homeService.openProtocolMultipleDialog()
- },
- closeProtocolMultipleDialog() {
- homeService.closeProtocolMultipleDialog()
- },
- onProtocolMultipleTypeChange(event) {
- homeService.setProtocolMultipleType(
- event.currentTarget.dataset.index,
- event.detail.value
- )
- },
- onProtocolMultipleTextLengthInput(event) {
- homeService.setProtocolMultipleTextLength(
- event.currentTarget.dataset.index,
- event.detail.value
- )
- },
- onProtocolMultipleValueInput(event) {
- homeService.setProtocolMultipleValue(
- event.currentTarget.dataset.index,
- event.detail.value
- )
- },
- onProtocolMultipleValueBlur(event) {
- try {
- homeService.validateProtocolMultipleValue(
- event.currentTarget.dataset.index,
- event.detail.value
- )
- } catch (error) {
- if (this.pageToast) this.pageToast.show(error.message || '输入值无效', 'error')
- }
- },
- onCoilValueChange(event) {
- homeService.setProtocolInput({
- coilEnabled: !!event.detail.value
- })
- },
- sendGeneratedFrame() {
- if (!this.data.connectedDevice || !this.data.generatedHex) return
- homeService.sendGeneratedFrame()
- },
- onHexInput(event) {
- homeService.setSendHex(event.detail.value)
- },
- clearInput() {
- homeService.clearInput()
- },
- sendHexFrame() {
- if (!this.data.connectedDevice) return
- homeService.sendHexFrame()
- },
- startScan() {
- if (!this.data.canStartScan) return
- homeService.toggleScan(this.data.isDiscovering)
- },
- syncRegisters() {
- if (!this.data.canSyncRegisters) return
- homeService.syncRegisters()
- },
- clearDevices() {
- if (!this.data.canClearDevices) return
- homeService.clearDevices()
- },
- onDeviceFilterTap(event) {
- const deviceFilterMode = event.currentTarget.dataset.filter || DEFAULT_DEVICE_FILTER
- this.setData(getHomeFeatureState(deviceFilterMode))
- },
- connectDevice(event) {
- homeService.connectDeviceById(event.currentTarget.dataset.deviceId)
- },
- disconnectDevice() {
- if (!this.data.canDisconnectDevice) return
- homeService.disconnectDevice()
- },
- clearLogs() {
- homeService.clearLogs()
- }
- })
|