# autojsModuleAndDemo **Repository Path**: yuenshui/autojsModuleAndDemo ## Basic Information - **Project Name**: autojsModuleAndDemo - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-09-01 - **Last Updated**: 2024-11-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README > 收录平时写的或其他朋友的代码,封装整理,方便开发使用。也希望有同样想法的朋友提供代码模块 ## 模块 ### http模块 > `/modules/http.js` > demo: `/demo/http.js` > 此模块主要针对`auto.js`提供的`http`模块没有超时选项,可能导致进程卡死的问题 > `auto.js`原有`http`模块文档:`http://docs.autojs.org/#/http` ```javascript /** * 对auto.js原有http模块简单封装 * request、get、post、postJson、postMultipart方法的使用参考auto.js的http模块文档;options增加了timeout选项,缺省10000毫秒 * put方法: * httpclient.put(url, options, callback) * url {string} 请求URL地址 * options {Object} 请求选项,参考request方法的options说明 * options.method设置无效,强制为PUT * options.timeout 超时时间,可选,单位毫秒缺省为10000 * options.file PUT上传的文件,可选,由此选项,options.body选项将无效 * options.fileName 文件名,可选,发送到接口的文件名,和options.file的文件名无关,也可以相同 * * 1、options增加timeout可选项,缺省10000(10秒) * 2、增加put方法 * @author Mustang (yuenshui@126.com) * @license MIT */ ``` > 无意间发现设置http模块超时的方法。上面模块仅做留念吧,能用auto.js原生模块还是不要封装的好。方法如下: ```js // 时间单位毫秒 http.__okhttp__.setTimeout(10000); ``` > ### cookie模块 > `/modules/Cookie.js` > 此模块针对auto.js的http类,对cookie进行解析和组织操作 ```javascript const CookieElfin = require("./Cookie"); // 订阅指定key值,当解析到该值时 CookieElfin.on("sessionid", sessionid => { console.log("sessionid:", sessionid); // 此处可以吧sessionid保存到storages }); let options = {headers:{}}; // 将CookieElfin对象中保存的cookie内容,写入options,用于提交http请求 CookieElfin.setCookie(options.headers); let response = http.get(url, options); // 解析response.headers里的cookie,如果没有cookie不进行任何操作。如果想处理指定key的值,用42行代码的方法订阅 CookieElfin.parse(response.headers); // 向CookieElfin对象存入cookie内容 CookieElfin.set("sessionid", sessionid); // 引用CookieElfin对象里的内容 console.log(CookieElfin.sessionid); ```