ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## JS引入 ``` <script type="text/javascript" src="https://public.immmmmm.com/api/src/app_api.js"></script> ``` #### 0.apiready 初始化窗口 ``` apiready = function() { //code } 此事件是在api对象准备完毕后产生,在每个Window或Frame的HTML代码中都需要监听此事件,以确定扩展对象已经准备完毕,可以调用了。 ``` #### 1.使用新窗口打开网页 ``` openWinUrl(url,title) url:链接地址(不能为空) 类型: 字符串 title: 网页标题 类型: 字符串 默认:不传 为自动获取 示例:openWinUrl("http://www.baidu.com","百度") ``` #### 2.使用新窗口打开商品页 ``` openWinGoods(id,quan,quanhou,yuanjia,xiaoliang) id:商品ID(不能为空) 类型: 数字 quan: 券额 类型: 字符串 quanhou: 券后价 类型: 字符串 yuanjia: 原价 类型: 字符串 xiaoliang: 销量 类型: 字符串 默认:不传 为自动获取 示例:openWinGoods("559042650051","25","12.8","37.80","83000") ``` #### 3.关闭当前窗口 ``` fnClose() ``` #### 4.ajax网络访问 跨域异步请求,支持标准HTTP协议,支持HTTPS单向/双向认证请求,支持文件上传,支持缓存。 HTTPS需要向国际受信任的CA证书颁发机构购买CA证书,否则将可能请求失败,请务必使用api.ajax,避免使用JQ等框架的ajax,否则将引起请求失败。 ``` ajax({params}, callback(ret, err)) ``` ``` url: 类型:字符串 默认值:无 描述:请求地址 encode: 类型:布尔 默认值:true 描述:(可选项)是否对url进行编码。默认或传true时,Android将始终对url编码,而iOS只有在url不合法(如存在中文字符)的时候才进行编码。如果url中有特殊字符需要编码的,建议先在js层进行编码,然后此参数传false。 tag: 类型:字符串 默认值:无 描述:(可选项)该字段用于传给cancelAjax方法来取消请求,如果传入该字段,请保证各个ajax的tag字段唯一 method: 类型:字符串 默认值:get 描述:(可选项)异步请求方法类型 取值范围: get post put delete head options trace patch cache: 类型:布尔 默认值:true 描述:(可选项)是否缓存,若缓存,下次没网络时请求则会使用缓存,仅在get请求有效 timeout: 类型:数字 默认值:30 描述:(可选项)超时时间,单位秒 dataType: 类型:字符串 默认值:json 描述:(可选项)返回数据类型。若该字段传json,接收到服务器返回的数据后会尝试将其转换成JSON对象,如果无法转成JSON对象,将返回数据类型错误 取值范围: json //返回数据为 JSON 对象 text //返回数据为字符串类型 charset: 类型:字符串 默认值:utf-8 描述:(可选项)当响应头里面没有返回字符集编码时,使用此编码来解析数据 headers: 类型:JSON 对象 默认值:无 描述:(可选项)设置请求头数据。建议里面的key使用首字母大写的形式,如 User-Agent report: 类型:布尔 默认值:false 描述:(可选项)是否实时返回上传文件进度 returnAll: 类型:布尔 默认值:false 描述:(可选项)是否需要返回所有 response 信息(包括响应头、消息体、状态码),为 true 时,返回的头信息获取方法(ret.headers),消息体信息获取方法(ret.body),状态码获取方法(ret.statusCode) data: 类型:JSON 对象 默认值:无 描述:(可选项)POST 数据,method 为 get 时不传。以下字段除了 values 和 files 可以同时使用,其它参数都不能同时使用。 内部字段: { stream:"", //以二进制流的方式提交文件。stream为文件路径(字符串类型),支持绝对路径,以及fs://、cache://、box://等文件路径协议。可直接使用其他端API返回的结果,如api.getPicture回调的ret.data等 body:"", //以纯文本的方式提交数据,body支持字符串及JSON对象。提交JSON对象时,需设置application/json类型的Content-Type头 values:{}, //以表单方式提交参数(JSON对象), 如 {"field1": "value1", "field1": "value2"} (直接传JSON对像.) files:{} //以表单方式提交文件,支持多文件上传(JSON对象),如 {"file": "path"},也支持同一字段对应多文件:{"file":["path1","path2"]}。文件路径,支持绝对路径,以及fs://、cache://、box://等文件路径协议。可直接使用其他端API返回的结果,如api.getPicture回调的ret.data等. } callback(ret, err) ret: 类型:JSON对象或字符串 描述:通常情况下直接为服务器返回的数据,在一些情况下则会有所不同,依赖于传入的dataType、returnAll参数,以及上传文件时是否返回上传进度。 // returnAll参数传true时,内部字段为: { statusCode: //状态码,数字类型 headers: {}, //响应头,JSON对象 body: '' //消息体,即服务器返回的数据。若dataType为json,那么body为JSON对象,否则为字符串 } // 上传文件时,若report字段传true返回上传进度时,原服务器返回数据会被放在body字段里面,内部字段为: { progress: 100, //上传进度,0.00-100.00 status: '', //上传状态,数字类型。(0:上传中、1:上传完成、2:上传失败) body: '' //上传完成时,服务器返回的数据。若dataType为json,那么body为JSON对象,否则为字符串 } err: 类型:JSON 对象 内部字段: { statusCode: 400, //网络请求状态码,数字类型 code:0, //错误码,数字类型。(0:连接错误、1:超时、2:授权错误、3:数据类型错误、4:不安全的数据) msg:'' //错误描述,字符串类型 body: //服务器返回的原始数据 } 示例: api.ajax({ url:'https://public.immmmmm.com/wxapp/xiangqing.php', method: 'get', data:{ values: { id:'20056534435' } } }, function(res, err) { alert(JSON.stringify(res)); } ) ``` #### 5.cancelAjax取消网络请求 ``` tag: 类型:字符串 默认值:无 描述:请求标识 示例代码 api.cancelAjax({ tag: 'publish' }); ``` #### 6.上拉检测 ``` api.addEventListener({ name:'scrolltobottom', extra:{ threshold:0 } },function(ret,err){ alert(JSON.stringify(ret)); }); 设置距离底部多少距离时触发事件,默认值为0,数字类型,需要在apiready初始化函数内使用 ```