toca-sdk
v4.0.2
Published
dcube sdk for pro and lite
Readme
toca-sdk
1. Quick start
npm install toca-sdkimport { Network, InternetStatus } from 'toca-sdk';
const network = new Network();
const requestTimeout = 3 * 1000;
network
.getInternetStatus(requestTimeout)
.then((status) => {
switch (status) {
case InternetStatus.Opening:
// Opening
break;
case InternetStatus.Opened:
// Opened
break;
case InternetStatus.Closing:
// Closing
break;
case InternetStatus.Closed:
// Closed
break;
}
})
.catch((err) => {
console.log('error: ', err);
});2. Methods
Instance methods
| Class | Method | Description | | ------- | ------------------------------------ | --------------------------- | | Network | openInternet(openTimeout, timeout) | open internet proxy | | Network | closeInternet(closeTimeout, timeout) | close internet proxy | | Network | getInternetStatus(timeout) | query internet proxy status |
Static methods
| Class | Method | params | Description | | ----------- | ------------ | ------ | ------------------------------------------------- | | Environment | isInElectron | none | bool, webview must be in electron if call methods |
3. Event
| Object | Event | Description | | --------------- | ------- | ------------------------- | | webviewToRender | ready | page loaded | | webviewToRender | message | host send to webview data |
4. How to use ?
1. Node integration must be enabled.
<webview
src="https://example.com"
webpreferences="nodeIntegration=yes, contextIsolation=no, partition=persist:tiexin, allowRunningInsecureContent=true"
></webview>2. Before call any API, check if the current page is in nodeIntegration
import { Environment } from 'toca-sdk';
const isInElectron = Environment.isInElectron();
if (!isInElectron) return;
// do something ....3. Call any API after in ready event
import { Environment, webviewToRender } from 'toca-sdk';
const isInElectron = Environment.isInElectron();
if (!isInElectron) return;
webviewToRender.on('ready', () => {
// call API
});Example
import { Network, InternetStatus } from 'toca-sdk';
import { Environment, webviewToRender } from 'toca-sdk';
const isInElectron = Environment.isInElectron();
if (!isInElectron) return;
webviewToRender.on('ready', () => {
// Query internet proxy status
const network = new Network();
const requestTimeout = 3 * 1000;
network
.getInternetStatus(requestTimeout)
.then((status) => {
switch (status) {
case InternetStatus.Opening:
// Opening
break;
case InternetStatus.Opened:
// Opened
break;
case InternetStatus.Closing:
// Closing
break;
case InternetStatus.Closed:
// Closed
break;
}
})
.catch((err) => {
console.error('error: ', err);
});
// Open internet proxy
const openInternetTimeout = 15 * 1000; // Open internet proxy timeout
const timeout = 15 * 1000; // api timeout
network
.openInternet(openInternetTimeout, timeout)
.then((status) => {
console.log('open internet success: ', status);
})
.catch((err) => {
console.error('open internet error: ', err);
});
});