• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[郭立员] [按键精灵]打开脚本时跳出公告弹窗,公告内容及是否弹窗远程可控 [复制链接]

1#

大家好,我是公众号3分钟学堂的郭立员~


今天内容是公告弹窗,用于脚本更新后的提示,如下图:




实现这个功能的原理有这么几个:


①下拉框能够自动执行选择响应的函数


这一点是前提条件,就是说打开脚本后,如果有界面有下拉框,那么下拉框写的选择响应函数代码会自动执行,无需手动点击触发,这样能达到自动弹窗的效果。


②读取服务器文本


通过url.get命令获取服务器上的文本内容,在内容中包含指定控制的字符,或者对应的键值对,还有公告信息内容


③“解析”文本内容中的控制字符(键值对)


这一步是代码的核心内容,通过解析文本内容来控公告弹窗的状态


④弹窗命令


Dialog.MsgBox


⑤本地存储来判断是否首次弹窗



原理就是这些,说一下实现步骤


①在界面加一个下拉框,用于自动弹窗代码的启动


②准备一个文本,内容如下


{"onoff":true,"first":true,"msg":"v1.003版本更新内容:\n\n 1.增加了公告弹窗\n 2.公告内容可以远程控制"}


包含3组键值对,分别是控制是否弹窗、相同公告是否只弹出一次、公告的内容。


这个文本放到服务器上,每次只需要修改文本内容,就可以控制脚本弹窗。


③服务器文本内容的解析


读取内容onoff 如果是true,说明脚本运行弹窗


first,如果是true,代表每次更新内容,公告弹窗只弹出一次


msg是公告更新的内容


④判断是否弹窗过


这一步是基于同一更新内容弹窗弹出次数的,如果是只弹出一次,那么就需要设备在本地记录一下,已经弹出过了。


下面直接放我的范例代码:




Function 函数名1()

Dim path="/sdcard/pictures/msg.txt"

Dim json=url.get("http://192.168.1.4/notice.txt")

Dim table=encode.jsontotable(json)

If table["onoff"] Then

If table["first"] Then

If Dir.Exist(path) = 0 Then

file.write path, table["msg"]

Dialog.MsgBox(table["msg"],0)

Else

If file.read(path) <> table["msg"] Then

file.write path, table["msg"]

Dialog.MsgBox(table["msg"],0)

End If

End If

Else

Dialog.MsgBox(table["msg"],0)

End If


End If

End Function


我们公告内容通常都是包含汉字的,但是由于utf8编码的汉字,如果直接用文本保存会有bom头,在读取时会在内容开始位置多一个问号,这个问题会导致读取键值的错误。


解决方法2个思路:


①使用第三方的文本编辑器,比如notepad+


②去掉多出来的问号,比如正则匹配,只保留{}内的东西,或者用删除命令删除首个字符。


还有关于没有服务器的问题,免费的在线文档也行,比如石墨文档、腾讯文档等等,


这期文章主要给大家提供一个“云控”的思路。


好了,内容就这些,又多了一个花里胡哨的功能,如果觉得还行帮忙点个赞~


=正文完=


最后编辑郭立员 最后编辑于 2022-09-15 11:13:09
扫码免费获取我的基础教程【视频教程】
扫码下方二维码关注我的公众号:3分钟学堂

QQ交流群:936858410
2#

学习学习

3#

学习中

4#

的发送到发送到发送到

5#

谢谢

6#

学习

7#

4465645456654

8#

学习一下。

9#

支持一个...

支持一个...

10#

d的顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶大大大

11#

好东西互相学习

12#

好东西互相学习

13#

的发送到发

14#

666666666666666666

15#

谢谢

16#

我去额服务器我发我

17#

5343541351.0152413241020.

18#

想学习学习研究研究谢谢您

19#

学习中

发新话题 回复该主题