141 lines
4.6 KiB
Plaintext
Raw Normal View History

2025-04-10 10:28:07 +08:00
import TopLogo from './compontents/TopLogo'
import { registrationDeviceNo } from '../api/checkCar'
import deviceManager from '@ohos.distributedHardware.deviceManager'
import common from '@ohos.app.ability.common'
import { ApiResponseType, DeviceParamType } from '../model'
import dayTs from '../utils/Date'
import FileUtils from '../utils/FileUtils'
import Prompt from '@system.prompt'
2025-06-23 17:08:25 +08:00
import { dConsole } from '../utils/LogWorker'
2025-04-10 10:28:07 +08:00
@Entry
@Component
2025-06-24 10:58:43 +08:00
struct RegisterPage {
2025-04-10 10:28:07 +08:00
@State ratio: number = 1700 / 960
@State ip: string = ''
@State deviceNo: string = ''
@State deviceName: string = ''
@State checked: string = '0'
@State plateNo: string = ''
@State @Watch('outClick') outFlag: boolean = false;
@State subType: string = '2';
private context = getContext(this) as common.UIAbilityContext;
onPageShow() {
2025-06-23 17:08:25 +08:00
dConsole.log('createDeviceManagerstart')
2025-04-10 10:28:07 +08:00
try {
deviceManager.createDeviceManager('com.oh.dts', (error: string, value: deviceManager.DeviceManager) => {
if (error) {
2025-06-23 17:08:25 +08:00
dConsole.error('createDeviceManager failed.');
2025-04-10 10:28:07 +08:00
return;
}
this.deviceName = value.getLocalDeviceInfoSync().deviceName
this.deviceNo = value.getLocalDeviceInfoSync().deviceId.substring(0, 10).toUpperCase()
this.ip = 'MAC-' + this.deviceNo
AppStorage.SetOrCreate('deviceNo', 'MAC-' + this.deviceNo)
});
} catch (error) {
2025-06-23 17:08:25 +08:00
dConsole.log('createDeviceManagererror', error)
2025-04-10 10:28:07 +08:00
}
}
build() {
Column() {
TopLogo({ outFlag: $outFlag })
Column() {
Row() {
Row() {
Radio({ value: '0', group: 'radioGroup' }).checked(this.subType == '2' ? true : false)
.height(50)
.width(50).onChange((isChecked: boolean) => {
if (isChecked) {
this.subType = '2'
}
this.ip = 'MAC-' + this.deviceNo
AppStorage.setOrCreate('deviceNo', this.ip)
})
Text('网卡').fontSize(34 * this.ratio).fontColor('#FFE0B2').margin({ right: 98.5 * this.ratio })
}
Row() {
Radio({ value: '1', group: 'radioGroup' }).checked(this.subType == '3' ? true : false)
.height(50)
.width(50).onChange((isChecked: boolean) => {
if (isChecked) {
this.subType = '3'
}
this.ip = 'DISK-' + this.deviceNo
AppStorage.setOrCreate('deviceNo', this.ip)
// this.ip = ip
})
Text('硬盘').fontSize(34 * this.ratio).fontColor('#FFE0B2').margin({ right: 83 * this.ratio })
}
}.margin({ top: 35 * this.ratio })
Row() {
Column() {
Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
Text(this.ip).fontColor('#fff')
.fontSize(33.6 * this.ratio)
}
.width('100%')
.height('100%')
.padding({ left: 30 * this.ratio, right: 30 * this.ratio })
}
.backgroundImage($r('app.media.xk'))
.backgroundImageSize({ width: '100%', height: '100%' })
.width(610 * this.ratio)
.height(108 * this.ratio)
.margin({ left: 22 * this.ratio })
}.margin({ top: 30 * this.ratio })
}
.width(720 * this.ratio)
.height(310 * this.ratio)
.backgroundColor('#333230')
.margin({ top: 37 * this.ratio })
.borderRadius(19 * this.ratio)
Image($r('app.media.zhuce_nor'))
.width(320 * this.ratio)
.height(92 * this.ratio)
.margin({ top: 30 * this.ratio })
.onClick(() => {
this.registrationDeviceNoFn()
})
}
.height('100%')
.width('100%')
.backgroundImage($r('app.media.bg'))
.backgroundImageSize({ width: '100%', height: '100%' })
}
outClick() {
}
async registrationDeviceNoFn() {
const date = new Date()
const param: DeviceParamType = {
time: dayTs(date).format("YYYY-MM-DD HH:mm:ss"),
deviceName: this.ip,
type: '1'
}
const fileUtil = new FileUtils(this.context)
const folderPath = await fileUtil.initFolder(`/config`);
fileUtil.addFile(`${folderPath}/deviceNo.txt`, JSON.stringify(param))
2025-04-14 18:13:34 +08:00
AppStorage.setOrCreate<string>('deviceNo', this.ip)
2025-04-10 10:28:07 +08:00
registrationDeviceNo(param).then((res: ApiResponseType) => {
if (res.registrationDeviceNoRsp && res.registrationDeviceNoRsp.head &&
res.registrationDeviceNoRsp.head.resultCode == '0') {
Prompt.showToast({
message: decodeURIComponent(res.registrationDeviceNoRsp.head.resultMessage),
duration: 3000
});
}
})
}
}