更新记录
0.1.1(2024-02-28) 下载此版本
添加executeFunction函数可执行悬浮窗内js代码,具体看示例
0.1.0(2023-11-12) 下载此版本
首次发布
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 12.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
SuspendeWindow
简介
该Android悬浮窗插件是一款强大的工具, 它可以让开发者在他们的应用程序中添加自定义的悬浮窗, 并且能够与uni-app进行通信。通过使用这个插件,开发者可以创建各种形状和大小的悬浮窗,并在其中添加各种自定义内容,如按钮、文本框、图像等。 此外,该插件还支持与uni-app的集成,这意味着开发者可以通过uni-app发送消息或数据,以实现与悬浮窗的交互。 使用该插件可以帮助开发者提高应用程序的用户体验和交互性,让应用程序更加智能化和个性化。无论你是希望在应用程序中添加自定义悬浮窗,还是希望与uni-app进行通信
使用教程
- 首先,调用suspendedWindow.applyPermission()函数获取悬浮窗权限。
suspendedWindow.applyPermission(()=>{ //调用成功的方法 })
- 对'window'进行初始化,并使用setHtml方法设置其HTML内容,使用setJavaScript设置其JavaScript行为,使用setCallback设置回调函数以处理来自悬浮窗的数据,使用setData设置悬浮窗内需要的数据。
suspendedWindow.applyPermission(()=>{ suspendedWindow.init('window1'); suspendedWindow.setHtml('window1', '<h1>这是一个新窗口</h1>'); })
- 使用end方法结束对'window'的设置。
suspendedWindow.applyPermission(()=>{ suspendedWindow.init('window1'); suspendedWindow.setHtml('window1', '<h1>这是一个新窗口</h1>'); suspendedWindow.end("window1"); })
- 使用togglePopup可显示或隐藏悬浮窗
suspendedWindow.togglePopup('window1');
API文档
uniapp方法
init
开始创建一个悬浮窗
参数说明
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 标识符每个悬浮窗唯一 |
setHtml
设置悬浮窗的html
参数说明
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 标识符每个悬浮窗唯一 |
html | String | 是 | 悬浮窗的html |
setCss
设置悬浮窗css样式
参数名称
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 标识符每个悬浮窗唯一 |
css | String | 是 | 悬浮窗的css |
setJavaScript
设置悬浮窗的javaScirpt
参数名称
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 标识符每个悬浮窗唯一 |
javaScirpt | String | 是 | 悬浮窗的javaScirpt |
setData
设置悬浮窗需要用到的数据
参数名称
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 标识符每个悬浮窗唯一 |
data | Ojbect | 是 | 悬浮窗用到的数据 |
setCallback
设置在悬浮窗内触发方法的回调
由于使用JSON序列化,data内的key和value都是字符传类型
参数名称
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 标识符每个悬浮窗唯一 |
callback | function callback(data) | 是 | 悬浮窗内事件的回调方法,data为事件的参数 |
setPosition
设置悬浮窗的位置
参数名称
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 标识符每个悬浮窗唯一 |
x | Number | 是 | 设置悬浮窗的x坐标 |
y | Number | 是 | 设置悬浮窗的y坐标 |
setSettings
设置悬浮窗的配置
参数名称
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 标识符每个悬浮窗唯一 |
settings | Ojbect | 是 | 设置悬浮窗的配置 |
悬浮窗配置项
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
x | Number | 否 | 设置悬浮窗的x坐标 |
y | Number | 否 | 设置悬浮窗的y坐标 |
width | Number | 否 | 设置悬浮窗宽度 |
height | Number | 否 | 设置悬浮窗高度 |
transparent | Boolean | 否 | 设置悬浮窗背景是否透明 |
toolbar | Boolean | 否 | 设置悬浮窗是否显示toolbar |
debug | Boolean | 否 | 设置悬浮窗内webview是否是调试模式 |
applyPermission
当传入成功回调或失败回调任意一个函数时作用是获取应用的悬浮窗权限
当不传入任何参数时函数作用是获取应用悬浮窗权限是否开启
参数名称
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
successCallback | function | 否 | 成功回调 |
failCallback | function | 否 | 失败回调 |
返回值 | 类型 | 说明 |
---|---|---|
Boolean | 应用悬浮窗权限是否开启当传入回调方法时永远为true |
togglePopup
不传goggle时切换悬浮窗的显示与隐藏 传goggle时goggle为true时为先显示为false时隐藏
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 标识符每个悬浮窗唯一 |
goggle | Boolean | 否 | 设置悬浮窗的显示与隐藏 |
WebView方法
putCallback
向Callback发送一个事件
可通过setCallback内的data获取到
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
key | String | 是 | 事件的key |
value | Object | 是 | 事件的value |
getData
获取setData函数设置的对象
返回值
类型 | 说明 |
---|---|
Object | setData函数设置的对象 |