1
This commit is contained in:
parent
7c02a122a2
commit
b3b332aed9
62
entry/src/main/ets/common/utils/SerialPortClient.ts
Normal file
62
entry/src/main/ets/common/utils/SerialPortClient.ts
Normal file
@ -0,0 +1,62 @@
|
||||
import buffer from '@ohos.buffer';
|
||||
import testNapi from '@ohos.hiserialsdk'
|
||||
|
||||
const TAG = '[TcpDemo.TcpClient]'
|
||||
import prompt from '@ohos.prompt'
|
||||
/**
|
||||
* devPath
|
||||
*j36--ttyS5
|
||||
* j37--ttyS7
|
||||
* j38--ttyS9
|
||||
*/
|
||||
|
||||
export default class SerialPortClient {
|
||||
private devPath: string = ''
|
||||
private len: any = ''
|
||||
private fd: number = -1
|
||||
private speed: number = 115200 //波特率
|
||||
private databits: number = 8 //数据位
|
||||
private flow_ctrl:number=0 //流控制
|
||||
private stopbits:number=1 //停止位
|
||||
private parity:number=0x4e //停止位
|
||||
|
||||
constructor(devPath?:string) {
|
||||
this.devPath = devPath || '/dev/ttyS5'
|
||||
|
||||
}
|
||||
|
||||
openSerial() {
|
||||
this.fd = testNapi.SerialOpen(this.devPath);
|
||||
}
|
||||
|
||||
SerialSet(param?) {
|
||||
this.speed = param?.speed || 115200
|
||||
this.flow_ctrl=param?.flow_ctrl||0
|
||||
this.databits = param?.databits||8
|
||||
this.stopbits=param?.stopbits||1
|
||||
this.parity=param?.parity || 0x4e
|
||||
testNapi.SerialSet(this.fd, this.speed , this.flow_ctrl, this.databits, this.stopbits,this.parity);
|
||||
}
|
||||
|
||||
SerialSend(data?) {
|
||||
const sendArr = data || [0x61, 0xAA, 0x0A, 0X15, 0X00] //档位查询
|
||||
testNapi.SerialSend(this.fd, sendArr);
|
||||
}
|
||||
|
||||
SerialRecv(timeout?: number) {
|
||||
let revTestInfo = testNapi.SerialRecv(this.fd, timeout);
|
||||
|
||||
//let revTestInfo = testNapi.SerialRecv(this.fd, timeout, 6);
|
||||
const message = revTestInfo?.recevedBuf?.toString()
|
||||
console.log('revTestInfo.recevedBuf.toString()',revTestInfo.recevedBuf)
|
||||
console.log('revTestInfo.recevedBuf.toString()',revTestInfo.recevedBuf.toString())
|
||||
this.len = revTestInfo.recevedLen
|
||||
return {
|
||||
msg: message, recevedLen: this.len
|
||||
}
|
||||
}
|
||||
|
||||
SerialClose(callback) {
|
||||
testNapi.SerialClose(this.fd);
|
||||
}
|
||||
}
|
||||
96
entry/src/main/ets/common/utils/http.ets
Normal file
96
entry/src/main/ets/common/utils/http.ets
Normal file
@ -0,0 +1,96 @@
|
||||
import Prompt from '@system.prompt';
|
||||
import http from '@ohos.net.http';
|
||||
|
||||
enum RequestMethod {
|
||||
OPTIONS = "OPTIONS",
|
||||
GET = "GET",
|
||||
HEAD = "HEAD",
|
||||
POST = "POST",
|
||||
PUT = "PUT",
|
||||
DELETE = "DELETE",
|
||||
TRACE = "TRACE",
|
||||
CONNECT = "CONNECT"
|
||||
}
|
||||
|
||||
const BaseUrl = ""
|
||||
|
||||
interface Response {
|
||||
code: number,
|
||||
data: any,
|
||||
msg: string
|
||||
}
|
||||
|
||||
export async function request<T>(
|
||||
url: string,
|
||||
config: {
|
||||
method: string;
|
||||
params?: any;
|
||||
data?: any
|
||||
|
||||
[key: string]: any
|
||||
}
|
||||
): Promise<T> {
|
||||
const httpRequest = http.createHttp();
|
||||
return new Promise((resolve, reject) => {
|
||||
console.info("start request url: ", url, "request params: ", JSON.stringify(config.params || config.data || {}))
|
||||
httpRequest.request(BaseUrl + url,
|
||||
{
|
||||
method: config.method as RequestMethod,
|
||||
header: {
|
||||
...config.header,
|
||||
},
|
||||
extraData: {
|
||||
...(config.params || {}),
|
||||
...(config.data || {})
|
||||
},
|
||||
expectDataType: http.HttpDataType.OBJECT,
|
||||
connectTimeout: 60000, //超时时间
|
||||
}).then(async (data) => {
|
||||
let result = data.result as Response
|
||||
if (result.code === 1) {
|
||||
console.info("success request url: ", url)
|
||||
console.info(JSON.stringify(result))
|
||||
resolve(data.result as T)
|
||||
} else if (result.code === 401) {
|
||||
// console.error("401 request", url)
|
||||
// let user = await PreferenceUtils.getUserModel()
|
||||
// if (user?.isLogin) {
|
||||
// userLoginUsingPost({
|
||||
// account: user.account,
|
||||
// psd: user.password,
|
||||
// }).then(res => {
|
||||
// let newUser: UserModel = new UserModel(res.data)
|
||||
// newUser.account = user.account
|
||||
// newUser.password = user.password
|
||||
// newUser.isLogin = true
|
||||
// PreferenceUtils.writeUserData(newUser)
|
||||
// request(url, config)
|
||||
// }).catch(() => {
|
||||
// PreferenceUtils.writeUserData(new UserModel())
|
||||
// if (router.getState().name !== "Login") {
|
||||
// router.pushUrl({ url: "pages/Login" })
|
||||
// }
|
||||
// })
|
||||
// } else {
|
||||
// PreferenceUtils.writeUserData(new UserModel())
|
||||
// if (router.getState().name !== "Login") {
|
||||
// router.pushUrl({ url: "pages/Login" })
|
||||
// }
|
||||
// }
|
||||
} else {
|
||||
console.error("error request url: ", url)
|
||||
console.error(result.msg)
|
||||
reject(result.msg)
|
||||
Prompt.showToast({
|
||||
message: result.msg,
|
||||
duration: 2000,
|
||||
})
|
||||
}
|
||||
}).catch((err) => {
|
||||
console.error("error request url: ", BaseUrl + url)
|
||||
console.error(err)
|
||||
reject(err)
|
||||
})
|
||||
|
||||
});
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user