按键精灵更新思路

Import "shanhai.lua"
Import "Cjson.lua"
dim 版本=获取参数("版本")
Dim 安装包路径=GetSdcardDir()&"/update.apk"
Dim 版本号=1.0

检测更新()

Do
	ShowMessage "Version 1.0"
Loop

Function 检测更新()
    If 版本(0) = 版本号 Then //对比云端版本号是否一致
        ShowMessage "已是最新版本,无需更新"
        delay 1000
    Else 
        UI.NewLayout ("检测到新版本")//更新公告
        UI.AddTextView "检测到新版本", "更新提示", "需更新请点击确定,无需更新点继续进入脚本界面"
        UI.NewRow "检测到新版本", "1"
        UI.AddTextView "检测到新版本", "更新内容", "1.新增XXX功能"
        UI.NewRow "检测到新版本", "2"
        UI.AddTextView "检测到新版本", "更新内容", "2.修复XXXBUG"
        UI.NewRow "检测到新版本", "3"
        UI.AddButton("检测到新版本","更新","确认更新")
        UI.SetOnClick "更新", 在线更新 //按钮点击事件
        UI.Show("检测到新版本")
    End If
End Function

Function 在线更新()
    UI.SetEnabled "更新", false //按钮点击后禁止再次点击,防止反复调用此函数
    If Dir.Exist(安装包路径) <> 0 Then //判断该路径下是否存在此安装包 
        ShowMessage "检测到旧安装包,删除后下载"
        delay 1000
        Dir.Delete(安装包路径)//删除旧的安装包
    End If
    ShanHai.GetHttpFile(版本(1),安装包路径)//删除后重新下载新的安装包
    Dim t=time()//时间标记
    While true 
        If File.Bytes(安装包路径) = 版本(2) Then //文件大小与云端一致后,确认下载完成
            ShowMessage "下载完毕,准备安装"
            Delay 1000
            Exit While
        Else 
            ShowMessage "下载中,请稍后"
        End If
        Delay 500
        If Time() - t >= 60 Then //超时后退出程序
            ShowMessage "下载超时,请检查网络!"
            Exit Function
        End If
    Wend
    Shanhai.Install(安装包路径)//安装更新包
    ShowMessage "安装完毕,请重新打开脚本"
    UI.close("检测到新版本")//关闭UI界面
    Delay  1000
End Function

Function 获取参数(参数)
    dim 返回值 = Url.Get("https://starcheng.xyz/chengsu.html")
//    TracePrint 返回值
    Dim 起始位置=UTF8.InStr(1,返回值,参数&"=")
    Dim 终点位置=UTF8.InStr(起始位置,返回值,"}")
    Dim 长度=UTF8.Len(参数&"=")
    TracePrint 起始位置,终点位置
    dim 字符串=UTF8.Mid(返回值,起始位置+长度,终点位置-起始位置-长度+1)
    TracePrint 字符串
    dim table = Cjson.Decode(字符串)
    Dim 数组()
    For Each k , v In table
        数组(k)=v
    Next
    获取参数=数组
End Function
 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

转载请注明出处橙苏博客 » 按键精灵更新思路
分享到: 生成海报

本站接广告推广、脚本定制、付费咨询

联系微信:Saynothing2020
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活