猛牛哥
记录网络点滴生活

快手(AAU)更新记录v2.9.2.01

关于新版REST 客户端的实现细节, 请参考教程:使用 web.rest 调用 REST API

重点改进以下库、优化代码: inet.http; inet.whttp; web.rest.client web.rest.jsonClient; web.rest.xmlClient com.picture; gdip; gdip.bitmap; wsock; wsock.tcp.client;
新增以下函数: fsys.list() //列出当前目录下文件,目录列表,支持模式匹配语法 com.picture.snapClient() //前台抓屏客户区 com.picture.printWindow() //后台抓图 com.picture.printClient() //后台抓图客户区 web.rest.client().lastResponseHeaders() //用于head方法获取HTTP头 web.rest.client().lastResponse() //显示最后一次输出(JSON格式化后输出) web.rest.client().lastStatusMessage() //读取HTTP状态码文本描述 inet.whttp().head() //读取HTTP头 inet.http().head() //读取HTTP头 console.varDump()  //输出变量信息 table.eachName() //用于遍历表中的名值对 wsock.tcp.client().readTo() //读取到指定字符 wsock.tcp.client().readAll() //读取所有字符 inet.url.encode, inet.url.stringifyParameters //改进符合 RFC 3986标准 inet.url.stringifyParameters() //改进支持自动排序

新增以下库process.command //类似thread.command,不同的是可跨进程方便的交互调用函数 web.multipartFormData //用于更方便的构建上传文件数据包 win.taskScheduler //用于创建计划任务, fsys.partFile //文件拆分合并

新增触发器、回调事件

inet.http inet.whttp 分别增加 beforeSend,afterSend,onSend,onSendBegin 等触发器。
beforeSend 在发送请求以前触发,afterSend 在发送以后触发,onSend,onSendBegin 用于自定义上传文件实现。 web.rest.client 也同时增加 beforeSend,afterSend 这两个触发器。

 

试试运行下面的代码,仔细看输出结果:

import fsys; import console;
var files,dirs = fsys.list(“/”); console.varDump( files,dirs )

 

processcommand 跨进程交互演示:

import win.ui; /*DSG{{*/ mainForm = ..win.form( right=581;bottom=373;text=“跨进程命令” ) mainForm.add( button={ bottom=355;right=519;left=297;top=309;z=1;text=“发送跨进程命令”;cls=“button” }; edit={ bottom=298;right=555;left=28;multiline=1;top=17;z=2;edge=1;cls=“edit” } ) /*}}*/
import process.command;
//加入进程群组,使用GUID名字区分不同的进程群组 process.command.join(“{870819C0-D702-4508-BB0A-5F09E514E23E}”)
//注册进程命令对象 var processObserver = process.command(); processObserver.testCmd = function(a,b,c){     mainForm.edit.appendText( “testCmd被调用,参数:”,a,b,c,‘\r\n’ );     return 123; }
//发送进程命令 mainForm.button.oncommand = function(id,event){     process.command.testCmd(1,2,“,进程命令参数” ) } mainForm.show() win.loopMessage();

 

 

附:创建计划任务范例

import win.ui; /*DSG{{*/var winform = ..win.form( bottom=399;right=599;text=“计划任务演示” ) winform.add( edit={ bottom=361;right=574;left=21;multiline=1;top=22;z=1;edge=1;cls=“edit” } ) /*}}*/
import win.taskScheduler; var taskScheduler = win.taskScheduler()
var task = taskScheduler.create(“任务X”,function(){     winform.edit.appendText(“任务X,每2秒执行一次”,‘\r\n’) }) task.interval = {     second = 2 ; } task.beginTime = time().addsecond( 2 ) //1 秒后开始 task.expirationTime = time().addsecond( 20 ) //20秒后结束 var task = taskScheduler.create(“任务Y”,function(){     winform.edit.appendText(“任务Y,定时于每小时第59分执行”,‘\r\n’) }) task.time = {      minute = 59 ;  }
//运行计划任务 taskScheduler.start();
winform.show() win.loopMessage();

赞(0) 打赏
猛牛哥原创:猛牛哥的博客 » 快手(AAU)更新记录v2.9.2.01

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏