Commit 7317ba8f authored by martin hou's avatar martin hou

fix: 任务模式适配调整

parent 6117ac6a
...@@ -46,9 +46,17 @@ export function Home() { ...@@ -46,9 +46,17 @@ export function Home() {
// alert(JSON.stringify(dinfo)); // alert(JSON.stringify(dinfo));
}); });
const getJensen = () => { const getJensen = async () => {
if (sn == null) return alert('Please connect to a device first'), null; if (sn == null) return alert('Please connect to a device first'), null;
return mgr.getInstance(sn); const tid = 'jensen-task';
const success = await mgr.registerTask(sn, tid);
if (!success) return alert('Failed to register task'), null;
return mgr.getInstance(sn, tid);
}
const releaseJensen = async () => {
const tid = 'jensen-task';
if (sn) mgr.unregisterTask(sn, tid);
} }
useEffect(() => { useEffect(() => {
...@@ -102,17 +110,18 @@ export function Home() { ...@@ -102,17 +110,18 @@ export function Home() {
const info = async () => { const info = async () => {
// alert(sn); // alert(sn);
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
// console.log('jensen -> ', jensen); // console.log('jensen -> ', jensen);
let info = await jensen?.getDeviceInfo(); let info = await jensen?.getDeviceInfo();
// alert(JSON.stringify(info)); // alert(JSON.stringify(info));
Logger.info('jensen', 'info', 'Device Info: ' + JSON.stringify(info)); Logger.info('jensen', 'info', 'Device Info: ' + JSON.stringify(info));
await releaseJensen();
} }
let bluetoothDevices: BluetoothDevice[] = []; let bluetoothDevices: BluetoothDevice[] = [];
const bluetoothScan = async () => { const bluetoothScan = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
setDevices([]); setDevices([]);
setGreeting('scan started at: ' + new Date().toLocaleString()); setGreeting('scan started at: ' + new Date().toLocaleString());
...@@ -125,10 +134,11 @@ export function Home() { ...@@ -125,10 +134,11 @@ export function Home() {
// console.log(devices); // console.log(devices);
// setDevices(devices); // setDevices(devices);
setGreeting('scanning...'); setGreeting('scanning...');
await releaseJensen();
} }
const scanBluetooth = async () => { const scanBluetooth = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
const scan = async () => { const scan = async () => {
await jensen.startBluetoothScan(10, 5); await jensen.startBluetoothScan(10, 5);
...@@ -145,23 +155,26 @@ export function Home() { ...@@ -145,23 +155,26 @@ export function Home() {
setTimeout(scan, 5000); setTimeout(scan, 5000);
}; };
scan(); scan();
await releaseJensen();
} }
const stopBluetoothScan = async () => { const stopBluetoothScan = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.stopBluetoothScan(5); let rst = await jensen.stopBluetoothScan(5);
if (rst == null || rst.result != 'success') return alert('stop bluetooth scan failed.'); if (rst == null || rst.result != 'success') return alert('stop bluetooth scan failed.');
setGreeting('scan stopped'); setGreeting('scan stopped');
await releaseJensen();
} }
const getScanResults = async () => { const getScanResults = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let devices = await jensen.getScanResults(5); let devices = await jensen.getScanResults(5);
console.log(devices); console.log(devices);
if (devices == null) return alert('get scan results failed.'); if (devices == null) return alert('get scan results failed.');
setDevices(devices); setDevices(devices);
await releaseJensen();
} }
const connect = async () => { const connect = async () => {
...@@ -180,10 +193,11 @@ export function Home() { ...@@ -180,10 +193,11 @@ export function Home() {
} }
const disconnectBTDevice = async () => { const disconnectBTDevice = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let r = await jensen.disconnectBTDevice(); let r = await jensen.disconnectBTDevice();
console.log(r); console.log(r);
await releaseJensen();
} }
const clsBtnConnect: React.CSSProperties = { const clsBtnConnect: React.CSSProperties = {
...@@ -209,36 +223,40 @@ export function Home() { ...@@ -209,36 +223,40 @@ export function Home() {
} }
const doConnectBluetooth = async (mac:string) => { const doConnectBluetooth = async (mac:string) => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.connectBTDevice(mac, 10); let rst = await jensen.connectBTDevice(mac, 10);
alert('connect: ' + rst.result); alert('connect: ' + rst.result);
await releaseJensen();
} }
const getTime = async () => { const getTime = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let time = await jensen.getTime(); let time = await jensen.getTime();
// alert(JSON.stringify(time)); // alert(JSON.stringify(time));
Logger.info('jensen', 'getTime', 'Time: ' + JSON.stringify(time)); Logger.info('jensen', 'getTime', 'Time: ' + JSON.stringify(time));
await releaseJensen();
} }
const listFiles = async () => { const listFiles = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let fc = await jensen.getFileCount(); let fc = await jensen.getFileCount();
// alert(fc?.count); // alert(fc?.count);
let files = await jensen.listFiles(); let files = await jensen.listFiles();
console.log(files); console.log(files);
setFiles(files) setFiles(files)
await releaseJensen();
} }
const getBluetoothStatus = async () => { const getBluetoothStatus = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let info = await jensen.getBluetoothStatus(); let info = await jensen.getBluetoothStatus();
// alert(JSON.stringify(info)); // alert(JSON.stringify(info));
Logger.info('jensen', 'getBluetoothStatus', 'Bluetooth: ' + JSON.stringify(info)); Logger.info('jensen', 'getBluetoothStatus', 'Bluetooth: ' + JSON.stringify(info));
await releaseJensen();
} }
/* /*
...@@ -263,7 +281,7 @@ export function Home() { ...@@ -263,7 +281,7 @@ export function Home() {
*/ */
const updateDeviceTone = async () => { const updateDeviceTone = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let resp = await jensen.requestToneUpdate('826d9bac0b535e7babe02b389327a9f2', 1050688); let resp = await jensen.requestToneUpdate('826d9bac0b535e7babe02b389327a9f2', 1050688);
if (resp.code != 0x00) return alert(resp.result); if (resp.code != 0x00) return alert(resp.result);
...@@ -278,13 +296,14 @@ export function Home() { ...@@ -278,13 +296,14 @@ export function Home() {
if (this.status != 200) return alert('Http Error: ' + this.status); if (this.status != 200) return alert('Http Error: ' + this.status);
jensen.updateTone(new Uint8Array(this.response), 30).then((info) => { jensen.updateTone(new Uint8Array(this.response), 30).then((info) => {
alert(JSON.stringify(info)); alert(JSON.stringify(info));
releaseJensen();
}); });
} }
xhr.send(); xhr.send();
} }
const updateUAC = async () => { const updateUAC = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
const uac_firmwares = { const uac_firmwares = {
...@@ -306,17 +325,19 @@ export function Home() { ...@@ -306,17 +325,19 @@ export function Home() {
if (this.status != 200) return alert('Http Error: ' + this.status); if (this.status != 200) return alert('Http Error: ' + this.status);
jensen.updateUAC(new Uint8Array(this.response), 30).then((info) => { jensen.updateUAC(new Uint8Array(this.response), 30).then((info) => {
alert(JSON.stringify(info)); alert(JSON.stringify(info));
releaseJensen();
}); });
} }
xhr.send(); xhr.send();
} }
const batteryStatus = async () => { const batteryStatus = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let status = await jensen.getBatteryStatus(5); let status = await jensen.getBatteryStatus(5);
// alert(JSON.stringify(status)); // alert(JSON.stringify(status));
Logger.info('jensen', 'batteryStatus', 'Battery: ' + JSON.stringify(status)); Logger.info('jensen', 'batteryStatus', 'Battery: ' + JSON.stringify(status));
await releaseJensen();
} }
let filename = ''; let filename = '';
...@@ -331,12 +352,10 @@ export function Home() { ...@@ -331,12 +352,10 @@ export function Home() {
// 2025Jun24-165914-Wip00.hda, 232704 @ 19392 // 2025Jun24-165914-Wip00.hda, 232704 @ 19392
filename = file.name; filename = file.name;
filelength = file.length; filelength = file.length;
get_file();
} }
const get_file = () => { const get_file = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let recvBytes = 0; let recvBytes = 0;
let stime = new Date().getTime(); let stime = new Date().getTime();
...@@ -346,6 +365,7 @@ export function Home() { ...@@ -346,6 +365,7 @@ export function Home() {
if (recvBytes >= filelength) { if (recvBytes >= filelength) {
let cost = new Date().getTime() - stime; let cost = new Date().getTime() - stime;
alert('File Transfer Complete, Cost: ' + cost + ' ms'); alert('File Transfer Complete, Cost: ' + cost + ' ms');
releaseJensen();
} }
}, function(recvBytes) { }, function(recvBytes) {
let percent = Math.floor(recvBytes / filelength * 100); let percent = Math.floor(recvBytes / filelength * 100);
...@@ -363,7 +383,7 @@ export function Home() { ...@@ -363,7 +383,7 @@ export function Home() {
*/ */
const setWebUSBTimeout = async () => { const setWebUSBTimeout = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let ts = prompt('Please Input the Timeout (ms):', '10000'); let ts = prompt('Please Input the Timeout (ms):', '10000');
if (ts === undefined || ts === null) return; if (ts === undefined || ts === null) return;
...@@ -371,26 +391,29 @@ export function Home() { ...@@ -371,26 +391,29 @@ export function Home() {
if (isNaN(timeout) || timeout <= 0) return alert('Please Input the Correct Timeout'); if (isNaN(timeout) || timeout <= 0) return alert('Please Input the Correct Timeout');
await jensen.setWebUSBTimeout(timeout, 30); await jensen.setWebUSBTimeout(timeout, 30);
Logger.info('jensen', 'setWebUSBTimeout', 'Set Timeout Success'); Logger.info('jensen', 'setWebUSBTimeout', 'Set Timeout Success');
await releaseJensen();
} }
const getWebUSBTimeout = async () => { const getWebUSBTimeout = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.getWebUSBTimeout(5); let rst = await jensen.getWebUSBTimeout(5);
// alert(JSON.stringify(rst)); // alert(JSON.stringify(rst));
Logger.info('jensen', 'getWebUSBTimeout', 'WebUSB Timeout: ' + JSON.stringify(rst)); Logger.info('jensen', 'getWebUSBTimeout', 'WebUSB Timeout: ' + JSON.stringify(rst));
await releaseJensen();
} }
const listFirmwares = async () => { const listFirmwares = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let model = jensen.getModel(); let model = jensen.getModel();
let versions = firmwareVersions.filter((item) => item.model == model); let versions = firmwareVersions.filter((item) => item.model == model);
setFirmwares(versions); setFirmwares(versions);
await releaseJensen();
} }
const updateFirmware = async (version: string, url: string) => { const updateFirmware = async (version: string, url: string) => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
// let rst = await jensen.requestFirmwareUpgrade(version, url); // let rst = await jensen.requestFirmwareUpgrade(version, url);
// alert(JSON.stringify(rst)); // alert(JSON.stringify(rst));
...@@ -404,10 +427,12 @@ export function Home() { ...@@ -404,10 +427,12 @@ export function Home() {
versionNumber = (parseInt(parts[0]) << 16) | (parseInt(parts[1]) << 8) | (parseInt(parts[2])); versionNumber = (parseInt(parts[0]) << 16) | (parseInt(parts[1]) << 8) | (parseInt(parts[2]));
} else { } else {
alert('invalid version number'); alert('invalid version number');
await releaseJensen();
return; return;
} }
} else { } else {
alert('invalid version number'); alert('invalid version number');
await releaseJensen();
return; return;
} }
...@@ -425,6 +450,7 @@ export function Home() { ...@@ -425,6 +450,7 @@ export function Home() {
// alert('firmware upgrade accepted'); // alert('firmware upgrade accepted');
Logger.info('jensen', 'ota', 'firmware transfer start'); Logger.info('jensen', 'ota', 'firmware transfer start');
jensen.uploadFirmware(Array.from(new Uint8Array(this.response)), 30).then((info) => { jensen.uploadFirmware(Array.from(new Uint8Array(this.response)), 30).then((info) => {
releaseJensen();
if (info == null) if (info == null)
{ {
Logger.info('jensen', 'ota', 'firmware transfer timedout'); Logger.info('jensen', 'ota', 'firmware transfer timedout');
...@@ -439,6 +465,7 @@ export function Home() { ...@@ -439,6 +465,7 @@ export function Home() {
else else
{ {
alert('cannot upgrade firmware: ' + info.result); alert('cannot upgrade firmware: ' + info.result);
releaseJensen();
} }
}); });
} }
...@@ -446,41 +473,46 @@ export function Home() { ...@@ -446,41 +473,46 @@ export function Home() {
} }
const turnPopupOn = async () => { const turnPopupOn = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
// await jensen.(); // await jensen.();
let rst = await jensen.setNotification(true, 5); let rst = await jensen.setNotification(true, 5);
Logger.info('jensen', 'popup', 'Turn Popup On: ' + JSON.stringify(rst)); Logger.info('jensen', 'popup', 'Turn Popup On: ' + JSON.stringify(rst));
await releaseJensen();
} }
const turnPopupOff = async () => { const turnPopupOff = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
// await jensen.turnPopupOff(); // await jensen.turnPopupOff();
let rst = await jensen.setNotification(false, 5); let rst = await jensen.setNotification(false, 5);
Logger.info('jensen', 'popup', 'Turn Popup On: ' + JSON.stringify(rst)); Logger.info('jensen', 'popup', 'Turn Popup On: ' + JSON.stringify(rst));
await releaseJensen();
} }
const getSettings = async () => { const getSettings = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.getSettings(5); let rst = await jensen.getSettings(5);
Logger.info('jensen', 'settings', 'Get Settings: ' + JSON.stringify(rst)); Logger.info('jensen', 'settings', 'Get Settings: ' + JSON.stringify(rst));
await releaseJensen();
} }
const getPairedDevices = async () => { const getPairedDevices = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let devices = await jensen.getPairedDevices(5); let devices = await jensen.getPairedDevices(5);
// alert(JSON.stringify(devices)); // alert(JSON.stringify(devices));
Logger.info('jensen', 'bluetooth', 'Paired Devices: ' + JSON.stringify(devices)); Logger.info('jensen', 'bluetooth', 'Paired Devices: ' + JSON.stringify(devices));
await releaseJensen();
} }
const clearPairedDevices = async () => { const clearPairedDevices = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.clearPairedDevices(5); let rst = await jensen.clearPairedDevices(5);
Logger.info('jensen', 'bluetooth', 'Clear Paired Devices: ' + JSON.stringify(rst)); Logger.info('jensen', 'bluetooth', 'Clear Paired Devices: ' + JSON.stringify(rst));
await releaseJensen();
} }
/** /**
...@@ -536,7 +568,7 @@ export function Home() { ...@@ -536,7 +568,7 @@ export function Home() {
const blocksRef = useRef<Uint8Array[]>([]); const blocksRef = useRef<Uint8Array[]>([]);
const scheduleLiveTick = async () => { const scheduleLiveTick = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let live = await jensen.getRealtime(1); let live = await jensen.getRealtime(1);
// 若无数据直接调度下一次 // 若无数据直接调度下一次
...@@ -556,15 +588,16 @@ export function Home() { ...@@ -556,15 +588,16 @@ export function Home() {
// 根据live.rest的值决定timeout的间隔时长,如果>1则为50,否则为100 // 根据live.rest的值决定timeout的间隔时长,如果>1则为50,否则为100
let timeout = live.rest > 1 ? 50 : 100; let timeout = live.rest > 1 ? 50 : 100;
liveTimeoutRef.current = window.setTimeout(scheduleLiveTick, Math.max(0, timeout | 0)); liveTimeoutRef.current = window.setTimeout(scheduleLiveTick, Math.max(0, timeout | 0));
await releaseJensen();
} }
const startSession = async () => { const startSession = async () => {
const jensen = getJensen(); const jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.startRealtime(2, 1); let rst = await jensen.startRealtime(2, 1);
Logger.info('jensen', 'live', 'Start Live: ' + JSON.stringify(rst)); Logger.info('jensen', 'live', 'Start Live: ' + JSON.stringify(rst));
await releaseJensen();
if (liveTimeoutRef.current !== null) { if (liveTimeoutRef.current !== null) {
window.clearTimeout(liveTimeoutRef.current); window.clearTimeout(liveTimeoutRef.current);
} }
...@@ -677,14 +710,15 @@ export function Home() { ...@@ -677,14 +710,15 @@ export function Home() {
} }
const startLive = async () => { const startLive = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
startLiveSession(); startLiveSession();
await releaseJensen();
} }
const stopLive = async () => { const stopLive = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.stopRealtime(1); let rst = await jensen.stopRealtime(1);
Logger.info('jensen', 'live', 'Stop Live: ' + JSON.stringify(rst)); Logger.info('jensen', 'live', 'Stop Live: ' + JSON.stringify(rst));
...@@ -707,6 +741,7 @@ export function Home() { ...@@ -707,6 +741,7 @@ export function Home() {
a.download = 'live.pcm'; a.download = 'live.pcm';
a.click(); a.click();
URL.revokeObjectURL(url); URL.revokeObjectURL(url);
await releaseJensen();
} }
const muteControl = async () => { const muteControl = async () => {
...@@ -718,56 +753,63 @@ export function Home() { ...@@ -718,56 +753,63 @@ export function Home() {
} }
const sendKey = async (mode: number, keyCode: number) => { const sendKey = async (mode: number, keyCode: number) => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.sendKeyCode(mode, keyCode, 5); let rst = await jensen.sendKeyCode(mode, keyCode, 5);
Logger.info('jensen', 'live', 'Send Key: ' + JSON.stringify(rst)); Logger.info('jensen', 'live', 'Send Key: ' + JSON.stringify(rst));
await releaseJensen();
} }
const enterMassStorageMode = async () => { const enterMassStorageMode = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.enterMassStorageMode(5); let rst = await jensen.enterMassStorageMode(5);
Logger.info('jensen', 'live', 'Enter MassStorage Mode: ' + JSON.stringify(rst)); Logger.info('jensen', 'live', 'Enter MassStorage Mode: ' + JSON.stringify(rst));
await releaseJensen();
} }
const getRecordingStatus = async () => { const getRecordingStatus = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.getRecordingStatus(5); let rst = await jensen.getRecordingStatus(5);
Logger.info('jensen', 'recording', 'Get Recording Status: ' + JSON.stringify(rst)); Logger.info('jensen', 'recording', 'Get Recording Status: ' + JSON.stringify(rst));
await releaseJensen();
} }
const switchRecordingQuality = async () => { const switchRecordingQuality = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let current = await jensen.getRecordingQuality(5); let current = await jensen.getRecordingQuality(5);
let next = current.quality == 'normal' ? 'high' : 'normal'; let next = current.quality == 'normal' ? 'high' : 'normal';
let rst = await jensen.setRecordingQuality(next as 'normal' | 'high', 5); let rst = await jensen.setRecordingQuality(next as 'normal' | 'high', 5);
Logger.info('jensen', 'quality', 'Set Recording Quality: ' + JSON.stringify(rst)); Logger.info('jensen', 'quality', 'Set Recording Quality: ' + JSON.stringify(rst));
await releaseJensen();
} }
const getRecordingQuality = async () => { const getRecordingQuality = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.getRecordingQuality(5); let rst = await jensen.getRecordingQuality(5);
Logger.info('jensen', 'quality', 'Get Recording Quality: ' + JSON.stringify(rst)); Logger.info('jensen', 'quality', 'Get Recording Quality: ' + JSON.stringify(rst));
await releaseJensen();
} }
const switchAudioInputDevice = async () => { const switchAudioInputDevice = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let current = await jensen.getAudioInputDevice(5); let current = await jensen.getAudioInputDevice(5);
let next = current.device == 'bt-mic' ? 'mic' : 'bt-mic'; let next = current.device == 'bt-mic' ? 'mic' : 'bt-mic';
let rst = await jensen.setAudioInputDevice(next as 'bt-mic' | 'mic', 5); let rst = await jensen.setAudioInputDevice(next as 'bt-mic' | 'mic', 5);
Logger.info('jensen', 'audio-input', 'Set Audio Input Device: ' + JSON.stringify(rst)); Logger.info('jensen', 'audio-input', 'Set Audio Input Device: ' + JSON.stringify(rst));
await releaseJensen();
} }
const getAudioInputDevice = async () => { const getAudioInputDevice = async () => {
let jensen = getJensen(); let jensen = await getJensen();
if (jensen == null) return; if (jensen == null) return;
let rst = await jensen.getAudioInputDevice(5); let rst = await jensen.getAudioInputDevice(5);
Logger.info('jensen', 'audio-input', 'Get Audio Input Device: ' + JSON.stringify(rst)); Logger.info('jensen', 'audio-input', 'Get Audio Input Device: ' + JSON.stringify(rst));
await releaseJensen();
} }
return ( return (
......
...@@ -17,6 +17,8 @@ export type FileTaskData = { ...@@ -17,6 +17,8 @@ export type FileTaskData = {
export function buildTasks(jensen: Jensen, tm: TaskManager) { export function buildTasks(jensen: Jensen, tm: TaskManager) {
// ===================== 初始化任务 ===================== // ===================== 初始化任务 =====================
return;
// 时间同步 // 时间同步
tm.registerInitializeTask({ tm.registerInitializeTask({
tag: 'time-sync', tag: 'time-sync',
......
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