爱智应用开发基础2-Web-SDK 集成

EdgerOS 2021-09-24 09:51:24

 

爱智应用开发基础共分为三个模块,依次是应用构建Web-SDK集成、使用JSRE开发。学习后可完成爱智应用的基础开发工作。

本次讲解模块二:Web-SDK集成

Web-SDK 集成

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

概述

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

 

# 使用说明

# 安装方法

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

npm install @edgeros/web-sdk

# 集成方法

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

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

注意:

若使用 script 标签引入 Web-SDK,edger 对象将会挂载在 window 对象上,调用时需使用 window.edger 参数。

# 常用功能

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');
      }
    });
...全文
1367 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,582

社区成员

发帖
与我相关
我的任务
社区描述
爱智开发者平台是一个开放的物联网平台,通过爱智世界,应用开发者可以把自己的应用分发到亿万用户的设备上,硬件开发者能够把设备能力开放给海量的开发者,让优质的应用脱颖而出,为用户提供更优秀的使用体验。
边缘计算物联网javascript 企业社区
社区管理员
  • EdgerOS
  • Lumos_zbj
  • dayinfinite
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧