AWTK-WEB 快速入门(4) - JS Http 应用程序

server/2025/2/13 17:50:13/
http://www.w3.org/2000/svg" style="display: none;">

XMLHttpRequest 改变了 Web 应用程序与服务器交换数据的方式,fetch 是 XMLHttpRequest 继任者,具有更简洁的语法和更好的 Promise 集成。本文介绍一下如何使用 JS 语言开发 AWTK-WEB 应用程序,并用 fetch 访问远程数据。

用 AWTK Designer 新建一个应用程序

先安装 AWTK Designer

2.1. 新建应用程序

这里假设应用程序的名称为 AwtkApplicationJSHttp,后面会用到,如果使用其它名称,后面要做相应修改。

https://i-blog.csdnimg.cn/direct/f95ff3bf42f2445d9038dee8b9c8827a.png#pic_center" alt="在这里插入图片描述" />

2.2. 为按钮编写代码

  • 删除 src 目录下全部文件(留着也可以,只是看起来比较乱),在 src 目录创建 js 目录。

  • 在 src/js 下创建 application.js ,内容如下

function applicationInit() {home_page_open();
}applicationInit()
  • 在 src/js 下创建 home_page.js,内容如下
async function on_update_clicked(evt) {var e = TPointerEvent.cast(evt);var widget = TButton.cast(e.target); const win = widget.getWindow();const url = "http://localhost:8080/AwtkApplicationJSHttp/res/assets/default/raw/data/weather.json";try {const response = await fetch(url);if (!response.ok) {throw new Error("Network response was not ok " + response.statusText);}const json = await response.json();win.setChildText("city", json.cityInfo.city);win.setChildText("wendu", json.data.wendu);win.setChildText("ganmao", json.data.ganmao);win.setChildText("quality", json.data.quality);win.setChildText("shidu", json.data.shidu);win.setChildTextWithDouble("pm25", "%.0f", json.data.pm25);} catch (error) {console.error("There was a problem with the fetch operation:", error);}
}function home_page_open() {var win = TWindow.open("home_page");var update = win.lookup("update", true);update.on(TEventType.CLICK, on_update_clicked);win.layout();
}

注意:控件的名称一定要和 home_page.xml 保持一致。

2.3. 在 AWTK Designer 中,执行“打包” “编译” “模拟运行”

https://i-blog.csdnimg.cn/direct/00e10bb9225d4fcda2d710380c6bbaa6.png#pic_center" alt="在这里插入图片描述" />

正常情况下可以看到如下界面:

https://i-blog.csdnimg.cn/direct/e53f726efa174652b209f23d05af4f7c.png#pic_center" alt="在这里插入图片描述" />

点击“关闭”按钮,退出应用程序。

3. 编写配置文件

  • 具体格式请参考 特殊平台编译配置

这里给出一个例子,可以在此基础上进行修改(该文件位于 examples/AwtkApplicationJSHttp/build.json ):

{"name": "AwtkApplicationJSHttp","version": "1.0","app_type":"js","author": "xianjimli@hotmail.com","copyright": "Guangzhou ZHIYUAN Electronics Co.,Ltd.","themes":["default"],"sources": ["src/js/*.js"]
}

4. 编译 WEB 应用程序

进入 awtk-web 目录,不同平台使用不同的脚本编译:

  • Windows 平台
./build_win32.sh examples/AwtkApplicationJSHttp/build.json release
  • Linux 平台
./build_linux.sh examples/AwtkApplicationJSHttp/build.json release
  • MacOS 平台
./build_mac.sh examples/AwtkApplicationJSHttp/build.json release

请根据应用程序所在目录,修改配置文件的路径。

5 运行

  • 正常启动
./start_web.sh
  • 调试启动
start_web_debug.sh
  • 用浏览器打开 URL:http://localhost:8080/AwtkApplicationJSHttp

https://i-blog.csdnimg.cn/direct/501d8332ce694a35833255ee33efc5fa.png#pic_center" alt="在这里插入图片描述" />

点击 “更新” 按钮,可以看到数据更新。

https://i-blog.csdnimg.cn/direct/04cd4e0847d7411799dfd2b62dcf5853.png#pic_center" alt="在这里插入图片描述" />


http://www.ppmy.cn/server/167386.html

相关文章

Go SiliconFlow API 语言实现多模态图像描述服务

Go SiliconFlow API 语言实现多模态图像描述服务 项目背景 本项目使用 Go 语言实现一个基于 SiliconFlow API 的图像描述微服务,展示 Go 在多模态 AI 应用中的强大能力。 项目依赖 # 初始化项目 go mod init image-description-service# 添加依赖 go get github…

【uniapp-小程序】实现方法调用的全局tips弹窗

【uniapp-小程序】实现方法调用的全局tips弹窗 开发背景弹窗组件全局调用封装配置项入参全局注入使用 附带:如何在uniapp-H5项目中实现全局自定义弹窗组件定义定义vue插件引入 笑死,只有在想找工作的时候才会想更新博客。 开发背景 本来是个uniapp开发…

SAP-ABAP:SAP中REPORT程序和online程序的区别对比

在SAP中,REPORT程序和Online程序(通常指Dialog程序)是两种常见的ABAP程序类型,它们在用途、结构和用户交互方式上有显著区别。以下是它们的详细对比: 1. 用途 REPORT程序Online程序主要用于数据查询、报表生成和批量数…

基于脚本的modelsim自动化仿真笔记

一、基本介绍 这里介绍一下如何利用脚本调用modelsim进行自动化仿真,随笔前面先介绍一下前仿真,随笔结尾处介绍后仿真。前仿真的基本介绍如下所示,由于我的笔记是写在.do文件中,因此我这里也给代码的格式,如下所示&am…

Python 鼠标轨迹 - 防止游戏检测

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…

【STM32】通过L496的HAL库Flash建立FatFS文件系统(CubeMX自动配置R0.12C版本)

【STM32】通过L496的HAL库Flash建立FatFS文件系统(CubeMX自动配置R0.12C版本) 文章目录 FlashFlash地址写Flash地址读 FatFS文件系统配置FatFS移植驱动函数时间戳函数 文件操作函数工作区缓存文件挂载和格式化测试文件读写测试其他文件操作函数 测试附录…

网络安全架构分层 网络安全组织架构

1.1.4 网络安全系统的基本组成 上节介绍到了,网络安全系统是一个相对完整的安全保障体系。那么这些安全保障措施具体包括哪些,又如何体现呢?这可以从OSI/RM的7层网络结构来一一分析。因为计算机的网络通信,都离不开OSIR/RM的这7层…

Spring Boot应用开发

Spring Boot 是一个用于简化 Spring 应用程序开发的框架,它提供了一种快速、方便的方式来创建独立的、生产级的 Spring 应用。以下是 Spring Boot 应用开发的基本步骤和一些重要概念。 1. 环境准备 JDK: 确保安装了 JDK 8 或更高版本。 IDE: 推荐使用 IntelliJ IDEA、Eclips…