Commit dd618fb1 authored by Skye Yu's avatar Skye Yu

add jensen.d.ts

parent e0f23995
declare module 'Jensen' {
type DeviceInfo = {
sn: string;
versionNumber: number;
versionCode: string;
};
type ReturnStruct = {
common: { result: 'failed' | 'success' };
};
export type FileInfo = {
name: string;
createDate: string;
createTime: string;
time: string;
duration: number;
length: number;
signature: string;
};
export default class Jensen {
onconnect: Function;
onmessage: (data: any) => void | null;
constructor();
connect(): Promise<void>;
init(): Promise<boolean>;
getDeviceInfo: (time?: number) => Promise<DeviceInfo>;
listFiles: (time?: number) => Promise<FileInfo[]>;
tryconnect: () => Promise<boolean>;
getFile: (
fileName: string,
length: number,
on?: (msg: Uint8Array | 'fail') => void,
onprogress?: (size: number) => void
) => void;
getFileBlock: (
fileName: string,
length: number,
on?: (msg: Uint8Array | 'fail') => void
) => Promise<ReturnStruct['common']>;
requestFirmwareUpgrade: (
vn: number,
length: number,
time?: number
) => Promise<{
result: 'accepted' | 'fail';
}>;
beginBNC: (time?: number) => Promise<ReturnStruct['common']>;
endBNC: (time?: number) => Promise<ReturnStruct['common']>;
setTime: (date: Date, timeout?: number) => Promise<ReturnStruct['common']>;
deleteFile: (fileName: string) => Promise<{ result: string }>;
uploadFirmware: (
data: number[],
seconds?: number,
onProgress?: (cur: number, total: number) => void
) => Promise<ReturnStruct['common']>;
getTime: (time?: number) => Promise<{
time: string;
}>;
getSettings: (
time?: number
) => Promise<{ autoRecord: boolean; autoPlay: boolean; notification?: boolean } | null>;
setAutoRecord: (enable: boolean, time?: number) => Promise<ReturnStruct['common']>;
setAutoPlay: (enable: boolean, time?: number) => Promise<ReturnStruct['common']>;
isConnected: () => boolean;
setNotification: (state: boolean, time?: number) => Promise<ReturnStruct['common']>;
ondisconnect?: Function;
isStopConnectionCheck: boolean;
getRecordingFile: () => Promise<{
recording: null | string;
createTime: string;
createDate: string;
}>;
getCardInfo: (
seconds?: number
) => Promise<{ used: number; capacity: number; status: string }>;
formatCard: (seconds?: number) => Promise<ReturnStruct['common']>;
factoryReset: (seconds?: number) => Promise<ReturnStruct['common']>;
getModel: () => Promise<string>;
getFileCount: (seconds?: number) => Promise<{ count: number } | null>;
recordTestStart: (type: number, seconds?: number) => Promise<ReturnStruct['common']>;
recordTestEnd: (type: number, seconds?: number) => Promise<ReturnStruct['common']>;
test: (seconds?: number) => Promise<ReturnStruct['common']>;
setBluetoothPromptPlay: (
state: boolean,
seconds?: number
) => Promise<ReturnStruct['common']>;
}
}
...@@ -66,7 +66,7 @@ function Jensen() { ...@@ -66,7 +66,7 @@ function Jensen() {
this.timewait = 1; this.timewait = 1;
this.ondisconnect = null; this.ondisconnect = null;
this.isStopConnctionCheck = false; this.isStopConnectionCheck = false;
this.onconnect = null; this.onconnect = null;
this.onreceive = null; this.onreceive = null;
...@@ -76,7 +76,7 @@ function Jensen() { ...@@ -76,7 +76,7 @@ function Jensen() {
if (device?.opened == false) { if (device?.opened == false) {
try { try {
clearTimeout(statusTimeout); clearTimeout(statusTimeout);
if (this.ondisconnect && !this.isStopConnctionCheck) this.ondisconnect(); if (this.ondisconnect && !this.isStopConnectionCheck) this.ondisconnect();
} catch (e) { } catch (e) {
console.log(e); console.log(e);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment