use new event channel for mobile and web

This commit is contained in:
csf
2022-05-17 19:59:37 +08:00
parent 85a2a7cd44
commit a7af7967f6
26 changed files with 1875 additions and 480 deletions

View File

@@ -0,0 +1 @@
nodeLinker: node-modules

View File

@@ -7,7 +7,6 @@ import { initZstd, translate } from "./common";
import PCMPlayer from "pcm-player";
var currentFrame = undefined;
var events = [];
window.curConn = undefined;
window.getRgba = () => {
@@ -25,11 +24,10 @@ export function isDesktop() {
}
export function msgbox(type, title, text) {
if (!events) return;
if (!type || (type == 'error' && !text)) return;
const text2 = text.toLowerCase();
var hasRetry = checkIfRetry(type, title, text) ? 'true' : '';
events.push({ name: 'msgbox', type, title, text, hasRetry });
onGlobalEvent(JSON.stringify({ name: 'msgbox', type, title, text, hasRetry }));
}
function jsonfyForDart(payload) {
@@ -42,10 +40,9 @@ function jsonfyForDart(payload) {
}
export function pushEvent(name, payload) {
if (!events) return;
payload = jsonfyForDart(payload);
payload.name = name;
events.push(payload);
onGlobalEvent(JSON.stringify(payload));
}
let yuvWorker;
@@ -120,7 +117,6 @@ export function getConn() {
export async function startConn(id) {
currentFrame = undefined;
events = [];
setByName('remote_id', id);
await curConn.start(id);
}
@@ -129,7 +125,6 @@ export function close() {
getConn()?.close();
setConn(undefined);
currentFrame = undefined;
events = undefined;
}
export function newConn() {
@@ -310,13 +305,6 @@ function _getByName(name, arg) {
return localStorage.getItem('remote-id');
case 'remember':
return curConn.getRemember();
case 'event':
if (events && events.length) {
const e = events[0];
events.splice(0, 1);
return JSON.stringify(e);
}
break;
case 'toggle_option':
return curConn.getOption(arg) || false;
case 'option':

View File

@@ -0,0 +1,14 @@
import { defineConfig } from 'vite';
export default defineConfig({
build: {
manifest: false,
rollupOptions: {
output: {
entryFileNames: `[name].js`,
chunkFileNames: `[name].js`,
assetFileNames: `[name].[ext]`,
}
}
},
})

File diff suppressed because it is too large Load Diff