auto.js 调用云端代码里的函数 以及热更新,免除每次更新发布的麻烦

1 篇文章 0 订阅
1 篇文章 0 订阅

最新技术,最新成品↓ 2023-7

​​​按键精灵、auto.js等一些移动端脚本 如何连接云服务器的数据库, 进行读写操作

一、前期准备

1.需要有一个云服务器,windows环境,并发不是太高的话 最基本的1核就够了

腾讯云双11活动链接   1核2G 88元/年

阿里云双11活动链接   1核2G 84/年

2.任意版本auto.js

二、大概原理

↓调用云端代码里的函数的原理↓

1.先把js文件放到服务器,映射个路径

2.脚本用http.get将js文件下载到本地目录

3.脚本模块的 require 方法 加载这个js文件

↓热更新的原理↓ 

1.http.get获取云端js文件对象

2. 脚本引擎 直接执行整个js文件           

   这句可复制到aj里运行看效果  ==》               engines.execScript("云代码", http.get('http://121.43.41.227:125/js/云代码.js').body.string() );

需要技术支持可通过文章底部联系方式咨询

三、调用云端代码里的函数示例

 1.首先将公共函数的js文件放到服务器上 

公共函数代码↓

var 公共函数 = {};

公共函数.加法 = function (a,b) {
  return a + b;
}

公共函数.日期年月日 = function () {
  var 时间 = new Date();
  var 年 = 时间.getFullYear(), 月 = 时间.getMonth() + 1, 日 = 时间.getDate();
  var 当前时间 = 年 + "-" + 月 + "-" + 日;
  return 当前时间;
}

公共函数.获取外网IP和归属地 = function () {
  var getIp_api = http.get('http://pv.sohu.com/cityjson?ie=utf-8');
  var InetIP = getIp_api.body.string();
  eval(InetIP);
  return returnCitySN.cip + '|' + returnCitySN.cname
};


module.exports = 公共函数;

 

2.然后将这个路径 用IIS映射成网站路径

   就可以通过    http://121.43.41.227:125/js/公共函数.js      打开下载该文件 。 IP是你服务器IP    125是自己设置的端口

本地调用的代码示例↓

var 抖音公共前置路径 = "/sdcard/抖音/";
files.ensureDir(抖音公共前置路径);//创建路径

云端下载js文件("公共函数.js");

公共函数 = require(抖音公共前置路径 + '公共函数.js'); //获取公共函数对象  后面可以点出里面的函数使用

toastLog('加法计算结果:' + 公共函数.加法(1,2));  //计算1 + 2
toastLog('日期:' + 公共函数.日期年月日());  //获取年月日
toastLog('IP和归属地:' + 公共函数.获取外网IP和归属地());  //获取外网IP和归属地




function 云端下载js文件(文件名称){
    let url = "http://121.43.41.227:125/js/" + 文件名称;
    let res = http.get(url);
    if (res.statusCode != 200) {
        toastLog("云代码下载失败,请检查网络");
    } else {
        
        files.write(抖音公共前置路径 + 文件名称, res.body.string());
        toastLog("云代码下载成功");
    }

}

运行效果↓

四、热更新示例

每次启动脚本时, 都运行服务器上的js文件,  那么修改服务器上的js文件就可以达到热更新的效果, 无需重新生成APK安装
 

var url = "http://121.43.41.227:125/js/云代码.js"//你要运行的js云端源码
var res = http.get(url);
var Source = res.body.string();
// log(Source)
if (Source != "") {
    

    while(true){
        sleep(500);
        engines.execScript("云代码", Source);
        sleep(2000);
    }

} else {
    toast("似乎出了点问题,请联系作者解决");
}


上面写法可以简化成

engines.execScript("云代码", http.get('http://121.43.41.227:125/js/云代码.js').body.string() );

五、联系方式

服务器环境安装不会的可以咨询↓

QQ 463392823

微信可用QQ搜索或扫码

  • 9
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要实现自动更新代码的功能,可以使用以下步骤: 1. 首先,你需要在你的项目中添加一个版本管理的功能,可以使用 Git 或者其他类似的工具。确保你的代码能够被版本控制。 2. 在你的代码中添加一个检查更新函数。这个函数可以连接到你的代码仓库,比如 GitHub,然后检查是否有新的代码提交。 3. 如果有新的代码提交,你可以使用 Git 的命令行或者其他方法来拉取最新的代码。如果使用 Auto.js 进行开发,你可以使用 `shell` 对象来执行命令行操作。 4. 在拉取到最新代码之后,你需要重新运行你的脚本。这可以通过调用 `engines.execScriptFile()` 函数来实现。 下面是一个简单的示例代码,用于演示自动更新功能: ```javascript var versionCode = 1; // 当前版本号 function checkUpdate() { var latestCode = getLatestCode(); // 从远程仓库获取最新代码的版本号 if (latestCode > versionCode) { downloadLatestCode(); // 下载最新代码 restartApp(); // 重新运行脚本 } else { toastLog("已是最新版本"); // 输出提示信息 } } function getLatestCode() { // 从远程仓库获取最新代码的版本号 // 这可以使用网络请求库,比如 Http.get() 方法发送 GET 请求 // 返回最新代码的版本号 } function downloadLatestCode() { // 使用 Git 命令行或其他方法拉取最新代码 // 这可以使用 shell 对象执行命令行操作 } function restartApp() { // 重新运行脚本 engines.execScriptFile("./main.js"); } checkUpdate(); // 执行检查更新函数 ``` 请注意,上述示例代码仅提供了一个基本的思路,具体实现方式可能因项目的不同而有所差异。你需要根据自己的需求进行适当地修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值