aj-nativescript
aj-nativescript 面向 NativeScript 应用提供公共工具、密钥管理、AES-GCM 加解密和 MQTT 通讯组件。业务通过独立 npm 插件的 TypeScript 接口调用原生能力,与 Vue 视图层无关。
Android 原生组件使用 Java 实现,JAR 随 npm 包发布并由 NativeScript 纳入构建。iOS common 使用独立 Xcode Framework 工程,XCFramework 随 npm 包发布,由现有 NativeScript App 加载。
common 的原生 AES 能力支持 Android 8.0(API 26)及以上、iOS 15 及以上;MQTT v3 和 v5 原生组件目前仅支持 Android。
组件概览
| npm 插件 | 主要能力 | 平台 / 状态 |
|---|---|---|
@ajax-js/nativescript-common |
公共工具、Token/MQTT 凭据安全存储、Android Keystore / iOS Keychain、AES-GCM JSON 与 AAD 加解密、机器人 HKDF 设备密钥派生 | Android / iOS;已实现 |
@ajax-js/nativescript-mqtt-v3 |
基于 Eclipse Paho 的 MQTT 3.1.1 通讯 | Android;已实现 |
@ajax-js/nativescript-mqtt-v5 |
基于 Eclipse Paho 的 MQTT 5.0 通讯 | Android;已实现 |
各组件 README 分别维护安装、API、宿主配置、构建与打包说明:
文档导航
| 文档 | 内容与使用对象 |
|---|---|
| 通用工具 | Android / iOS 一致的 TS API:Confirm、Toast、剪贴板与 Token/MQTT 凭据安全存储 |
| 安卓工具类 | 面向业务 TS 调用的 Helper、MarketRedirect:网络、语言、主题、版本和应用市场跳转 |
| 安卓原生工具 | 面向 Java 原生代码的 HttpRequest、Utils,以及 Android JAR 构建 |
| iOS 工具类 | iOS Helper 的应用版本、App Store 跳转、界面方向与原生桥接 |
| KeyStore 与 AES | 密钥导入、检查、删除,AES-GCM / AAD,HKDF 一机一密协议与 ESP32 修改提示词 |
通用工具优先用于跨平台业务;平台专用工具按对应系统调用。密钥与加密协议统一维护在专题页中。
工程结构
| 目录 | 内容 |
|---|---|
android/ |
独立 Java / Gradle 原生工程,包含 common、MQTT v3 和 MQTT v5 |
ios/ |
独立 Xcode Framework 工程,当前包含 common |
nativescript-plugin/ |
各组件对应的 npm 插件、统一 TS 接口、类型声明及原生产物集成 |
demo-app/ |
NativeScript 9 + Vue 3 + Vite 演示与组件测试 App |
docs-src/ |
当前文档站的 Markdown 源码与页面模板 |
docs/ |
文档目录 |
目录名中的 nativescipt 为工程当前使用的名称,查找源码或配置路径时请沿用该拼写。各 Java 工程和 npm 插件独立构建,iOS 原生产物通过 XCFramework 集成到插件的 platforms/ios。
使用与演示
先按所需组件的 README 安装插件并完成宿主配置,再通过 TS 接口调用。Android JAR 和 iOS XCFramework 的更新都需要重新构建宿主 App,刷新 JS 不能替换原生组件。
demo-app 沿用 NativeScript + Vue + Vite 工程,底部“测试”tab 提供 Confirm、Toast、剪贴板、安全存储、AES 加解密及 MQTT v3 / v5 测试入口。模拟器或设备运行、依赖准备与完整构建步骤见 demo-app README。
Android 原生组件的构建入口见 安卓原生工具;iOS Framework 构建与桥接说明见 iOS 工具类。npm 打包、版本升级与发布流程见 common 组件 README。
仓库与许可证
本项目采用 Apache License 2.0。