autojs实现的百度云网盘登录上传下载创建文件夹重命名删除文件等功能

说明

本文提供的代码仅供参考。不建议用于生产环境。
可能有些地方在最新版本的Auto.js上面需要做修改,才能运行。

Auto.js简介

Auto.js是利用安卓系统的“辅助功能”实现类似于按键精灵一样,可以通过代码模拟一系列界面动作的辅助工作。
与“按键精灵”不同的是,它的模拟动作并不是简单的使用在界面定坐标点来实现,而是类似与win一般,找窗口句柄来实现的。

Auto.js使用JavaScript作为脚本语言,目前使用Rhino 1.7.7.2作为脚本引擎,支持ES5与部分ES6特性。

推荐教程

Auto.js Pro安卓全分辨率免ROOT引流脚本开发视频教程(HD超清1080p)

开发文档

Auto.js Pro开发文档
文档尚在完善中,可能有文档描述和代码实际行为有出入的情况。

为什么要使用Auto.js Pro开发脚本,有什么特点?

吸引我使用Auto.js Pro的原因有很多。最主要的几个原因是:

  • Auto.js Pro能开发免ROOT的安卓脚本
  • Auto.js Pro基于节点操作,能开发全分辨率的脚本,自动适配各种安卓机型
  • Auto.js Pro丰富的UI组件,能自定义各种样式的安卓界面
  • Auto.js Pro使用的javascript的语法比较优雅,代码可读性强
  • Auto.js Pro的命令库非常的丰富,接口比较多
  • Auto.js Pro脚本文件体积比较小。1000行的代码,打包后的apk文件只有3-5M,还没有广告

示例代码

/*********************
 //此代码由飞云脚本圈整理提供(www.feiyunjs.com)
//说明文档

百度云.登录()      => ""    //填写BDUSS实现登录
     .列表("目录/")      => ("目录/") or ("目录/目录/") //获取当前目录文件,文件夹列表 返回数组
     .上传("图片.jpg","我的资源/")   => ("文件名","网盘存储路径")
     .下载("我的资源/图片.jpg")     => ("路径/文件名")
     .创建文件夹("相册")    =>  ("相册/宠物")  
     .重命名("我的资源","你的资源")   =>  ("更名前名称","更名后名称")
     .删除("照片1.jpg")  =>  (相册/宠物/狗狗.jpg)


*///******************
var BDUSSk = storages.create("BDUSS库");
var cookie = BDUSSk.get("BDUSS")
var SD=files.getSdcardPath();
files.create(SD+"/网盘");
files.create(SD+"/网盘/上传");
files.create(SD+"/网盘/下载");


var 正则 = {
    替换: function(str, stra, strb) {
        return str.replace(stra, strb)
    },
    全部替换: function(str, stra, strb) {
        return eval("str.replace(/" + stra + "/g,'" + strb + "')")
    },
    查找: function(str, stra) {
        return str.search(stra)
    },
    截取: function(str, inta, intb) {
        if (intb) {
            return str.substr(inta, intb)
        } else {
            return str.substr(inta)
        }
    },
    提取: function(str, stra, strb) {
        return eval("str.match(/" + stra + "(\\S*)" + strb + "/)[1]")
    }

}
var 百度云 = {
    "验证": function() {
        if (cookie == "" || cookie == null || cookie == "BDUSS=null") {
            toast("请先登录填写BDUSS然后再运行其他项目!");
            exit();
        }
    },
    "登录": function() {
        dialogs.rawInput("请输入BDUSS", "", function(BDUSS) {
           
            if(BDUSS!=null){
            BDUSSk.put("BDUSS", "BDUSS=" + BDUSS)
            alert("BDUSS 保存成功!");
            }else{alert("已取消!");}
        });
        return cookie
        toast("模块正在开发");
    },
    "列表": function(path) {
        百度云.验证()
        if (!path) {
            path = ""
        }

        var url = "http://pcs.baidu.com/rest/2.0/pcs/file?path=/" + path + "&method=list&app_id=266719&by=name&order=asc&limit=0-100"
        var 头 = {
            headers: {
                "Cookie": cookie
            }
        }
        var 返回数据 = http.get(url, 头)
        var 文件 = 返回数据.body.json().list
        var 文件数量 = 文件.length
        var 文件列表 = []
        for (var i = 0; i < 文件数量; i++) {
            if (文件[i].isdir == 1) {
                文件列表.push(文件[i].server_filename + "/")
            } else {
                文件列表.push(文件[i].server_filename)

            }
        }
        return 文件列表
        toast("模块正在开发");


    },
    "上传": function(name, path) {
        百度云.验证()
        if (!path) {
            path = ""
        }
        dialogs.alert("请在内存根目录创建'网盘/上传'文件夹,使用文件名称,网盘存储路径 进行传参上传文件!")

        var fh = http.postMultipart("http://pcs.baidu.com/rest/2.0/pcs/file?method=upload&app_id=266719&type=tmpfile", {
            file: open(SD + "/网盘/上传/" + name)
        }, {
            headers: {
                "Cookie": cookie
            }
        })
        var md5 = fh.body.json().md5;
        //log(md5)

        var sc = http.post("http://pcs.baidu.com/rest/2.0/pcs/file?method=createsuperfile&app_id=266719&path=/" + path + name, {
            'param': '{"block_list":["' + md5 + '"]}'
        }, {
            headers: {
                "Cookie": cookie
            }
        })
        if (sc.statusCode == 200) {
            return "OK"
        } else {
            return sc.body.json().error_msg
        }

        toast("模块正在开发")
    },
    "下载": function(patha) {
        百度云.验证()
        var xzfh = http.get("pcs.baidu.com/rest/2.0/pcs/file?method=download&app_id=266719&path=/" + patha, {
            headers: {
                "Cookie": cookie
            }
        })
        if (xzfh.statusCode != 200) {
            toast("请求失败");
            //return xzfh.body.json().error_msg 
        }

        var name = 正则.提取(xzfh.headers['Content-Disposition'], 'filename="', '"')
        files.writeBytes(SD + "/网盘/下载/" + name, xzfh.body.bytes());
        toast("下载成功");
        return "OK"

        toast("模块正在开发");
    },
    "创建文件夹": function(path) {
        百度云.验证()
        if (!path) {
            path = "新建文件夹"
        }
        var cjfh = http.post("pcs.baidu.com/rest/2.0/pcs/file?method=mkdir&app_id=266719&path=/" + path, {}, {
            headers: {
                Cookie: cookie
            }
        })
        if (cjfh.statusCode == 200) {
            return "OK"
        } else {
            return cjfh.body.json().error_msg
        }

        toast("模块正在开发");

    },
    "重命名": function(namea, nameb) {
        百度云.验证()
        var cmm = http.post("pcs.baidu.com/rest/2.0/pcs/file?method=move&app_id=266719&from=/" + namea + "&to=/" + nameb, {}, {
            headers: {
                "Cookie": cookie
            }
        })
        if (cmm.statusCode == "200") {
            var fh = "OK"
        } else {
            var fh = cmm.body.json().error_msg
        }
        return fh

        toast("模块正在开发");
    },
    "删除": function(name) {
        百度云.验证()
        var scfh = http.post("http://pcs.baidu.com//rest/2.0/pcs/file?method=delete&app_id=266719&path=/" + name, {}, {
            headers: {
                "Cookie": cookie
            }
        })
        if (scfh.statusCode == "200") {
            var fh = "OK"
        } else {
            var fh = scfh.body.json().error_msg
        }
        return fh

        toast("模块正在开发");
    }
}

console.show();
log(
    //百度云.登录(),
    百度云.列表()
    //百度云.上传(),
    //百度云.下载(),
    //创建文件夹,
    //重命名,
    //删除,
)
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值