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

eva980636 初心 PMP  2021-09-24 09:51:24

Web-SDK 集成简介

Web-SDK 是一个由EdgerOS提供的前端开发工具包,提供一系列与爱智应用交互的接口。Web-SDK 支持 JavaScript 和 TypeScript

目标

本章节旨在介绍 Web-SDK 常用功能和集成方法,详细 API 文档请参考 Web-SDK API 文档

  1. 安装

npm install @edgeros/web-sdk
  1. 集成方式

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

注意

当使用script 标签直接引入的方式,edger对象会挂载在window 对象上.

  1. 常见功能介绍

  • 获取当前登录用户信息
edger.user().then(data => {
  var { acoid, nickname, profile } = data;
  console.log('User:', acoid, nickname, profile);
}).catch(error => {
  console.error(error);
});

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

  • 扫码功能支持
edger.mobile.qrscan().then((data) => {
  var { format, text } = data;
}).catch(error => {
  // Maybe the user cancelled this scan.
  console.error(error);
});

扫码,作为当前常见的操作方式,Web-SDK 给与了支持,爱智应用开发者可以方便的调用API进行扫码操作。

  • 权限功能支持

    • 查询所具有的权限

      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.fetch() 接口,可以获取当前所具有的权限。具体权限项详情,参考

    • 申请权限

      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');
        }
      });
      

      当爱智应用运行时,可能由其他人对其进行了权限的赋予或回收操作,均会触发此事件,应用应能根据此事件的数据,进行针对性的操作。

结语

本章节,仅仅以常见功能作为引子,讲解 Web-SDK 的集成方式和常见功能。更多详情参见Web-SDK

...全文
964 1 收藏 回复
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复

还没有回复,快来抢沙发~

相关推荐
发帖
爱智开发者社区
创建于2021-08-16

94

社区成员

爱智开发者平台是一个开放的物联网平台,通过爱智世界,应用开发者可以把自己的应用分发到亿万用户的设备上,硬件开发者能够把设备能力开放给海量的开发者,让优质的应用脱颖而出,为用户提供更优秀的使用体验。
帖子事件
创建了帖子
2021-09-24 09:51
编辑了帖子
2021-09-24 09:51
社区公告
暂无公告