feat: sync mixly root files and common folder
This commit is contained in:
108
mixly/common/modules/mixly-modules/web-socket/ampy.js
Normal file
108
mixly/common/modules/mixly-modules/web-socket/ampy.js
Normal file
@@ -0,0 +1,108 @@
|
||||
goog.loadJs('web', () => {
|
||||
|
||||
goog.require('path');
|
||||
goog.require('Mustache');
|
||||
goog.require('Mixly.Ampy');
|
||||
goog.require('Mixly.Env');
|
||||
goog.require('Mixly.Serial');
|
||||
goog.require('Mixly.WebSocket');
|
||||
goog.provide('Mixly.WebSocket.Ampy');
|
||||
|
||||
const {
|
||||
Ampy,
|
||||
Env,
|
||||
Serial,
|
||||
WebSocket
|
||||
} = Mixly;
|
||||
|
||||
|
||||
class AmpyExt extends Ampy {
|
||||
static {
|
||||
this.mixlySocket = null;
|
||||
this.socket = null;
|
||||
|
||||
this.getSocket = function () {
|
||||
return this.socket;
|
||||
}
|
||||
|
||||
this.getMixlySocket = function () {
|
||||
return this.mixlySocket;
|
||||
}
|
||||
|
||||
this.init = function (mixlySocket) {
|
||||
this.mixlySocket = mixlySocket;
|
||||
this.socket = mixlySocket.getSocket();
|
||||
}
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
async ls(port, baud, folderPath) {
|
||||
return this.exec('ampy.ls', port, baud, folderPath);
|
||||
}
|
||||
|
||||
async get(port, baud, filePath) {
|
||||
return this.exec('ampy.get', port, baud, filePath);
|
||||
}
|
||||
|
||||
async mkdir(port, baud, folderPath) {
|
||||
return this.exec('ampy.mkdir', port, baud, folderPath);
|
||||
}
|
||||
|
||||
async mkfile(port, baud, filePath) {
|
||||
return this.exec('ampy.mkfile', port, baud, filePath);
|
||||
}
|
||||
|
||||
async isdir(port, baud, folderPath) {
|
||||
return this.exec('ampy.isdir', port, baud, folderPath);
|
||||
}
|
||||
|
||||
async isfile(port, baud, filePath) {
|
||||
return this.exec('ampy.isfile', port, baud, filePath);
|
||||
}
|
||||
|
||||
async put(port, baud, filePath, data) {
|
||||
return this.exec('ampy.put', port, baud, filePath, data);
|
||||
}
|
||||
|
||||
async rm(port, baud, filePath) {
|
||||
return this.exec('ampy.rm', port, baud, filePath);
|
||||
}
|
||||
|
||||
async rmdir(port, baud, folderPath) {
|
||||
return this.exec('ampy.rmdir', port, baud, folderPath);
|
||||
}
|
||||
|
||||
async rename(port, baud, oldPath, newPath) {
|
||||
return this.exec('ampy.rename', port, baud, oldPath, newPath);
|
||||
}
|
||||
|
||||
async run(port, baud, filePath) {
|
||||
return this.exec('ampy.run', port, baud, filePath);
|
||||
}
|
||||
|
||||
async exec(eventType, port, ...args) {
|
||||
const portsName = Serial.getCurrentPortsName();
|
||||
if (!portsName.includes(port)) {
|
||||
throw new Error('无可用串口');
|
||||
return;
|
||||
}
|
||||
const { mainStatusBarTabs } = Mixly;
|
||||
const statusBarSerial = mainStatusBarTabs.getStatusBarById(port);
|
||||
if (statusBarSerial) {
|
||||
await statusBarSerial.close();
|
||||
}
|
||||
const mixlySocket = AmpyExt.getMixlySocket();
|
||||
const output = await mixlySocket.emitAsync(eventType, port, ...args);
|
||||
if (output[0]) {
|
||||
throw new Error(output[0]);
|
||||
}
|
||||
return output[1];
|
||||
}
|
||||
}
|
||||
|
||||
WebSocket.Ampy = AmpyExt;
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user