集成 Web SDK

更新时间:
2024-07-03
下载文档

集成 Web SDK

本章节介绍 Web-SDK 的常用功能和集成方法。

概述

Web-SDK 是 EdgerOS 提供的前端开发工具包,为开发者提供一系列与爱智应用交互的接口,支持 JavaScript 和 TypeScript 语言,更多信息请参考 Web-SDK API 文档

使用说明

安装方法

在开发环境中执行以下命令,安装 Web-SDK。

npm install @edgeros/web-sdk

集成方法

Web-SDK 在 TypeScript 和 JavaScript 中的集成方法如下:

  • TypeScript
import { edger } from "@edgeros/web-sdk";
  • JavaScript
<script src="\\PATH/sdk.min.js"></script>
<script>
  const edger = window.edger
  ......
</script>

常用功能

Web-SDK 为开发者提供便捷的开发接口,以下列举部分常用功能:

  1. 获取用户信息

    通过 edger.user() 接口,获取当前登录者的翼辉 ID、昵称和头像信息。

    edger
      .user()
      .then((data) => {
        var { acoid, nickname, profile } = data;
        console.log("User:", acoid, nickname, profile);
      })
      .catch((error) => {
        console.error(error);
      });
    
  2. 添加扫码功能

    调用 API 为爱智应用添加扫码功能。

    edger.mobile
      .qrscan()
      .then((data) => {
        var { format, text } = data;
      })
      .catch((error) => {
        // Maybe the user cancelled this scan.
        console.error(error);
      });
    
  3. 权限功能

    • 查询权限

    通过 edger.permission.fetch() 接口,查询当前用户权限,具体请参考 权限详情

    edger.permission
      .fetch()
      .then((data) => {
        // data contains a complete permission table
        if (data.share) {
          console.log("We have share permission");
        }
        if (data.mediacenter.readable) {
          console.log("We have mediacenter.readable permission");
        }
        if (data.devices.includes("xxxx")) {
          console.log("We have device xxx permission");
        }
      })
      .catch((error) => {
        console.error(error);
      });
    
    • 申请权限

    以下代码将在应用界面弹出权限申请对话框,要求使用者赋予对应权限。

    edger.permission
      .request({
        code: ["network"],
        type: "permissions",
      })
      .then((data) => {
        // data.success is 'true' means pops up successfully
      })
      .catch((error) => {
        console.error(error);
      });
    
    • 权限变更

    监听当前权限,在权限发生变化时触发此事件,以下两种代码方式均可实现:

    edger.onAction("permission", (data) => {
      // This data is same with edger.permission.fetch()
      if (data.share) {
        console.log("We have share permission");
      }
    });
    
    edger.addEventListener("permission", (data) => {
      // This data is same with edger.permission.fetch()
      if (data.share) {
        console.log("We have share permission");
      }
    });
    
文档内容是否对您有所帮助?
有帮助
没帮助