爱智 Web-SDK 简介,让物联网开发不再繁琐

leecactus0 leecactus0 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

从之前的文章中我们了解到 EdgerOS 为 APP 设定了一个完全隔离的沙盒环境,应用都是独立运行的。EdgerOS 为前端应用提供了一个工具包,可以使用这些接口更好地进行应用交互。今天我们来看一下 EdgerOS 应用前端开发中比较关心的几个点。

 

1. Web-SDK 的引用及使用

2. APP 安全区域的设定

 

 

Web-SDK 的引用及使用

Web-SDK 的安装比较简单,只需要在前端项目根目录下执行以下命令:


npm install @edgeros/web-sdk

安装成功之后我们可以在 node_modules/@edgeros 目录中看到已安装的 web-sdk 文件夹

 

这里我们可以有两种方式来引用 Web-SDK。

 

第一种是在使用了前端框架(Vue/React 等)的情况下:


import { edger } from '@edgeros/web-sdk';
// 之后我们就可以正常在应用通过 edger 调用相应 API

第二种是使用 script 标签方式引用 Web-SDK,将node_modules/@edgeros/web-sdk/sdk.min.js单独复制出来添加到我们的入口 index.html 中。如果有条件也可以将此文件放入到 CDN 环境下来引用。


<html>
  <script src="./sdk.min.js"></script>
  <body style="background: #fff;">Hello world!</body>
</html>

需要注意的是在使用 script 标签引用时,edger 对象是挂载在 window 对象上的。

    
    <script src="./sdk.min.js"></script>
    <script>
    // 为了方便,可以将 edger 对象提出来使用
    const edger = window.edger
    ......
    </script>

     在成功引用 Web-SDK 之后我们就可以根据官网提供的各种接口来进行交互了。

    
    edger.version().then(data => {
      // 获取 SDK 版本
      console.log('Version:', data.version);
    }).catch(error => {
      console.error(error);
    });

     

    关于 Web-SDK 中更多的 API 可以参考官网。

    官网链接:https://www.edgeros.com/edgeros/api/FRONT-END%20SDK/frontend.html

    安全区域

    EdgerOS APP 在手机设备中是满屏显示的,当在有刘海屏的手机上,我们就需要添加安全区域适配,否则会导致显示区域与顶部(状态栏)和底部(iOS 中操作条)的显示区域重叠。

     

    以下是给出适配了安全区域和没有适配安全区域的对比(以 iOS 设备为例)。

     

    通过对比,就显而易见了。爱智贴心地为我们解决了这个问题,只需要简单两步就可以完成。

     

    首先在 index.html 中添加viewport-fit属性的meta标签。

     

    
    <html>
      <meta name="viewport" content="width=device-width, viewport-fit=cover">
      <script src="./sdk.min.js"></script>
      <body style="background: #fff;">Hello world!</body>
    </html>

    其次在 css 文件中添加--edger-safe-area-inset-top和--edger-safe-area-inset-bottom的显示支持,如果不设置这个值,可能存在小黑条遮挡页面最底部内容的情况。

    <style>
    /* 这里的 .page 只是示例,根据自己的应用选择对应标签 */
    .page {
        ...
        bottom: 50px(假设值);
        padding-top: 0;
        ...
        /* 适配安全区 */
        bottom: calc(50px(假设值) + var(--edger-safe-area-inset-bottom));
        padding-top: var(--edger-safe-area-inset-top);
    }
    </style>

     另外需要注意的是,如果应用存在横竖屏切换,那么我们可以在应用中监听屏幕方向的变化,然后动态去修改这个安全属性。修改方法也很简单:

    
    import { edger } from "@edgeros/web-sdk";
    
    // 监听屏幕方向的变化,动态修改安全区的属性值
    edger.onAction("orientation", (data) => {
       // 屏幕方向变化,执行 `edger.layout.safeArea` 方法
       edger.layout.safeArea();
    });

     到这里我们就已经完成了适配的步骤,接下来就是放心大胆地开发应用了,EdgerOS 通过 Web-SDK 注入到应用的属性会为我们处理安全区域的问题,是不是 so easy!

    ...全文

    相关推荐

    阿里云IoT物联网平台 MQTT 2路开关+三路数据(Web).zip

    阿里云物联网源码

    One Piece&

    使用Arduino开发ESP8266物联网项目指南

    ESP8266模块是一款由乐鑫信息科技有限公司开发的低成本、低功耗的Wi-Fi芯片,拥有强大的处理能力和丰富的外设接口。它集成了完整的TCP/IP协议栈,能直接通过Wi-Fi连接互联网。ESP8266模块支持多种工作模式,包括作为主控芯片运行用户代码的STA(Station)模式,作为无线接入点的AP(Access Point)模式,以及两者同时进行的STA+AP模式。模块还支持多种低功耗模式,非常适合需要长期运行的物联网(IoT)项目。

    史愿

    远程控制智能灯,air202模块+web网页基于阿里云物联网平台开发(全套)

    本资源主要是想告诉大家用luat开发air模块是如何接入阿里云物联网云平台,本地服务器是如何应用阿里云物联网云平台,以及整个系统的构架。适合刚学习luat、air、阿里云以及想做项目开发的人群。具体软硬件代码文件里都有,注释清晰明了。

    隔壁家的老婆饼

    C# 开发 实例 物联网

    C# 开发 这是一个关于C#的开发实例 想学C#的多看看 很容易理解的 比视频教程什么的都都好 希望能帮上大家

    Fengfreelyy

    第三章 第三节:使用Linkkit C-SDK和TLS通过MQTT协议直连阿里云IoT平台.pdf

    基于STM32节点和阿里云IoT平台 的物联网应用开发 系列课程 第三章 基于STM32的节点设备接入阿里云IoT平台 课程内容下载、观看 • 视频观看:AI电堂、阿里云大学IoT课堂 • 课件胶片下载:STMCU中文官网、阿里云大学IoT课堂 • 课件项目下载:STMCU中文官网、阿里云大学IoT课堂 2 STM32公众号 阿里云大学 电堂公众号STM 中文官网 第三章内容简介 • 第一节:基于STM32的节点端介绍 • 硬件平台,软件开发环境 • 第二节:使用Paho MQTT客户端协议栈直连阿里云IoT平台 • 适用于资源受限的节点设备 • 第三节:使用Linkkit C-SDK和TLS通过MQTT协议直连阿里云IoT平台 • 适用于资源丰富的节点设备 3 STM32-阿里云IoT 联合课件开发 第三章 . 第三节 基于阿里Linkkit C-SDK通过MQTT直连阿里云IoT平台 第三章.第三节 内容简介 • 项目例程演示 • 项目例程流程图 • 演示视频 • Linkkit C-SDK介绍 • Linkkit C-SDK • Linkkit C-SDK如何适配到STM32平台 • Linkkit C-SDK的使用

    神圣雅诗人
    评论 1
    收藏 已收藏
    分享
    返回顶部