Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@ekidpro/bridge

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ekidpro/bridge

Bridge between ekidpro app with website

  • 1.0.18
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-92.59%
Maintainers
1
Weekly downloads
 
Created
Source

ekidpro

Bridge to communicate with mobile application.

Code Style: Google npm version

Mục lục

  • Tạo application trong app
  • Cấu hình CRA
  • Cài đặt SDK
  • Test tích hợp với app
  • Usage

Tạo application trong app

// TODO

  1. Cho phép tạo workspace với cms
  2. Cho phép tạo, invite, assign role cho new user
  3. Gắn application cho workspace
  4. Tạo application, set app public hoặc visible cho các workspace cụ thể
  5. ...

Cấu hình CRA

  1. Tạo mới project
  • Tạo mới project với CRA theo LINK

  • Thêm homepage vào trong package.json thành:

    {
      ...
      "homepage": "."
      ...
    }
    
  • Nếu trong project đang sử dụng React Router vui lòng sử dụng HashRouter thay cho BrowserRouter

$ import { HashRouter } from "react-router-dom";
  • Xuất project để upload lên cms:
$ npm run build

OR

$ yarn build

Sau đó zip folder build rồi up lên CMS

// TODO: Hướng dẫn up build lên cms

Cài đặt SDK

$ npm install --save @ekidpro/web

Hoặc

$ yarn add @ekidpro/web

Test tích hợp với app

// TODO:

  • Download application từ AppStore/PlayStore
  • Nhập link đường dẫn vào trong app

Usage

  1. Lắng nghe sự kiện từ app truyền vào
import { controller } from '@ekidpro/web'
...
controller.start()

...
controller.stop()

...

Example:

useEffect(() => {
  controller.start();

  return () => {
    controller.stop();
  };
}, []);
  1. Lắng nghe event

// TODO: Danh sách event sẽ được cập nhật sau

import {Listener} from '@ekidpro/web';

const listener = Listener.start();

listener.onNetworkChange = e => {
  console.log(e);
};

listener.onOrientationChange = e => {
  console.log(e);
};

Example:

useEffect(() => {
  const listener = Listener.start();

  listener.onNetworkChange = (e) => {
    console.log(e);
  };

  listener.onOrientationChange = (e) => {
    console.log(e);
  };

  return () => listener.stop();
}, []);
  1. Gửi yêu cầu lấy dữ liệu
import {command} from '@ekidpro/web';
  • command.device.getDeviceInfo() => Promise

  • command.userinfo.getUserInfo() => Promise

  • command.userinfo.scanQr() => Promise

  • command.device.setButtonStatus(type: 'show' | 'hidden') => Promise<'show' | 'hidden'>

  • command.device.setStatusBarStyle(type: 'default' | 'light-content' | 'dark-content') => Promise<'default' | 'light-content' | 'dark-content'>

  • command.device.goBack() => Promise

  • Mini web function


- Đăng nhập, lấy token và thông tin user
command.remote.login(username: string, password: string) => Promise<UserInfo>

- Lấy thông tin mới nhất của user. Nếu forceNew thì sẽ gọi từ api, còn ko lấy dữ liệu từ localStorage
command.remote.fetchUserInfo(forceNew : boolean) => Promise<UserInfo>

- Xoá dữ liệu đã lưu tại localStorage. Clear cache
command.remote.reset()

  • // TODO: getUserInfo()
  1. Lắng nghe thay đổi từ trong app
window.ekp.emitter;

Đây là object Emitter dành cho việc giao tiếp. Nếu như khó trong việc quản lý state, việc thay đổi emitter thành object|events khác hoàn toàn khả thi.

First example:

const handler = data => console.log(data);

window.ekp.emitter.add('INSETS_CHANGE', handler);

// Later
// IMPORTANT: do not forget to remove handler
window.ekp.emitter.remove('INSETS_CHANGE', handler);

FAQs

Package last updated on 15 Aug 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc