5830 4 0 3

q.js文档

      q.js已经发布了,想要使用可前往轻仓库下载即可,主要功能与m.js大体相同,不过与m.js相比q.js更加简单易用,可以看成是m.js的升级版,下面介绍一下q.js封装的接口。如果你对JavaScript还不了解可以点击此处

1.文件相关

      下面是一些与文件有关的方法

//读写文件,其中content是字符串,filename是文件名。两者均为string类型
_.write(content, filename)
_.read(filename)

//以下方法为私有文件
 //以键值对的形式存储  key,value均为string类型
_.putSp(key,value)
 //根据key获取存储的value值 其中defaultValue是如果获取不到设置的默认值
_.getSp(key,defaultValue)
 //根据key删除对应的value
_.clearSp(key)
//删除所有文件
_.removeSp()

      其中write,read方法与Sp方法区别在于

      前者适用于大文件的读写,而后者适合保存一下用户常用值

2.网络相关

      下面是一些与网络有关的方法
你可以通过以下方法获取一个res对象,其中参数o是一个对象 可接受参数如下
var o= {
  url: '', //url网址必填
  header: { referer: 'www.baidu.com' }, //header参数 选填 默认为空
  params: { a: 'b' }, //请求参数 选填 默认为空
  method: 'post', //请求方法 选填 默认get
  json: true, //以post请求的方式把参数以json的格式发送 选填 默认false 
  re: false, //是否允许url被重定向  选填 默认为true
};

var res=_.http(o)

在获取res对象后你可以进行以下操作

//以utf8编码获取网页源码 
//在获取源码之后你就可以尽情调用e2Rex表达式了
var code=res.body() 

//通过下列方法你可以指定网页源码的编码
_.bd(res,endcoding)
//如指定返回网页编码为gbk
var code=_.bd(res,"gbk")

//根据res获取指定cookie
var token=_.ck(res,"token") //获取了名称为token的cookie
//根据res获取全部cookie
var cookies=_.cks(res)

//根据res获取的指定header
var header=_.hd(res,"content-type") //获取了header中的content-type
//根据res获取全部headers
var headers=_.hds(res)

简写
var code=_.http({url:"https://www.bilibili.com/"}).body()

var ctp=_.head(_.http({url:"https://www.bilibili.com/"}),"content-type")

下载文件
_.download(o)
这个o对象继承了http的o对象,除此之外还多了两个参数
var o={
tips:false,   //设置下载完成之后不提示   默认为提示
 setpath:""  //设置文件下载路径    默认为q.js内置路径
}

一般而言你只需要如下调用即可

简单调用(大部分情况)
_.download({url:"https://api.ixiaowai.cn/api/api.php"})
 
复杂调用
_.download({
  url: 'https://pixiv-image-tc.pwp.link/img-original/img/2021/12/14/00/00/14/94763568_p0.png',
  header: { referer: 'https://pixiviz.pwp.app/' },
  setpath: '/storage/emulated/0/Android/data/cn.nr19.mbrowser/files/a',
});

3.多线程

      多线程比较复杂,不做细致讲解,想用的话直接套用如下模板即可。

d = [];
var urls = []; //网址列表
for (let index = 0; index < urls.length; index++) {
  function fn(i) {
    return function () {
         //这里改成你想要进行的操作
       var title = e2Rex(getHttp(urls[i]), '.get(mip-img).i(1).a(src)'); 
       return title //这里改成你自己想要的返回 没有返回删掉这行就行
    };
  }
  d.push(fn(index));
}
var result = []; //result为每个线程运行后返回的结果集
var s = _.submit(d, n); //n 改为你想开启的线程数
for (let i = 0; i < s.length; i++) {
  for (let z of s[i].get()) {
    result.push(z);
  }
}
JSON.stringify(result);

4.快捷方法

      q.js封装了如下快捷方法


_.sleep(n) //延迟n毫秒执行

var code=_.$()//获取当前轻站模块的源码
var a=_.$(name) //获取当前轻站模块的变量
_.$(name,value) //声明一个轻站模块变量

 _.error(msg) //抛出异常信息

_.toast(msg) //toast提示

_.back() //调用返回键

var info=_.info()//获取轻站info对象
具体用法如下
var name =info.name //轻站名称
var version =info.version //轻站版本
var sign=info.sign //轻站标识
最新回复 (4)
  • 0 引用
    建议带列子+源码讲解,不然太干了
    2022-1-12 只看Ta 收起回复
    漂泊的小猫: 本来就是写给少数人用的,看不懂只能说明你js没入门
    2022-1-12回复
  • 0 引用
    大佬牛逼,学习了
    2022-1-12 只看Ta 回复
  • 0 引用
    大佬,大佬
    2022-1-13 只看Ta 回复
  • 0 引用
    能问一下,这个文件该怎么调用?想用这个获取帐号密码的登录cookie
    2022-1-29 只看Ta 收起回复
    漂泊的小猫: 这个用起来挺麻烦的,有这样的需求还是直接去写海阔规则吧
    2022-1-31回复
    • 轻创社区 - 有源软件体验中心
      6
        登录 注册
返回