目录

网络通信

summer.writeConfig()

与服务器服务处理,写配置文件

注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)

Android需申请的权限:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE

语法

  1. summer.writeConfig({
  2. "host" : "10.2.112.58", //向configure中写入host键值
  3. "port" : "8080" //向configure中写入ip键值
  4. })

参数:

  • host:主机地址
  • port:主机端口

示例代码:

  1. summer.writeConfig({
  2. "host" : "10.2.112.58",
  3. "port" : "8080"
  4. })

summer.readConfig()

与服务器服务处理,读配置文件。

注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)

Android需申请的权限:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE

语法:

  1. summer.readConfig(key) //获取Configure中key的键值

参数:

  • key:key值

示例代码:

  1. var host = summer.readConfig("host");

summer.setAppContext()

设置应用上下文信息,通常用于调用MAServer或EMM转发请求时

注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)

Android需申请的权限:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE

语法

  1. summer.setAppContext({
  2. "appid" : "应用或子应用ID",
  3. "version" : "应用或子应用版本",
  4. "userid" : "EMM用户ID"
  5. })

参数(其中可选参数根据NC需要设置):

  • appid:应用或子应用ID,存在子应用调用MAServer时必需设置
  • version:应用或子应用版本,存在子应用调用MAServer时必需设置
  • userid:用户ID,调用EMM向MAServer转发请求时必需设置
  • password:用户密码 (可选)
  • token:NC token (可选)
  • groupid:NC groupid (可选)
  • devid:NC devid (可选)
  • massotoken:NC massotoken (可选)
  • funcid:NC funcid (可选)
  • tabid:NC tabid (可选)
  • platform:NC platform (可选)
  • sessionid:NC sessionid (可选)

示例代码:

  1. summer.setAppContext({
  2. "appid" : "应用或子应用ID",
  3. "version" : "应用或子应用版本",
  4. "userid" : "EMM用户ID"
  5. })

summer.openHTTPS()

开启HTTPS,通常在调用callAction之前执行
注意1:只需调用一次即可

注意2:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)

Android需申请的权限:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE

语法:

  1. summer.openHTTPS({
  2. "ishttps" : "true" //是否开启https传输
  3. })

参数:

  • ishttps :是否开启https传输;

示例代码:

  1. summer.openHTTPS({
  2. "ishttps" : "true" //是否开启https传输
  3. });
  4. summer.callAction({
  5. "appid" : "xxx", //当前应用id
  6. "viewid" : "xxx.xxx.xx", //后台带包名的Controller名
  7. "action" : "methodName", //方法名
  8. "params" : {a:1,b:2},//自定义参数
  9. "callback" : "mycallback()", //请求回来后执行的js方法
  10. "error" : "myerror()", //失败回调的js方法
  11. "header" : {
  12. "Content-Type" : "application/x-www-form-urlencoded",
  13. "User-Agent" : "imgfornote"
  14. }
  15. });

summer.callAction()

访问MA服务器,调用MA上指定Controller类的指定方法
存在子应用调用MAServer或EMM时需要通过summer.setAppContext()设置应用上下文信息

注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)

Android需申请的权限:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.READ_PHONE_STATE

语法:

  1. summer.callAction({
  2. "appid" : "xxx", //当前应用id
  3. "viewid" : "xxx.xxx.xx", //后台带包名的Controller名
  4. "action" : "methodName", //方法名
  5. "params" : {a:1,b:2},//自定义参数
  6. "callback" : "mycallback()", //请求回来后执行的js方法
  7. "error" : "myerror()", //失败回调的js方法
  8. "header" : {
  9. "Content-Type" : "application/x-www-form-urlencoded",
  10. "User-Agent" : "imgfornote"
  11. }
  12. });

参数:

  • appid:当前应用id,即config.xml配置文件中的应用ID
  • viewid:后台带包名的Controller名,即在ma/src下创建的类
  • action:上述类中的方法名
  • params:自定义参数,json格式
  • callback:请求成功后执行的js方法
  • error:请求失败后执行的js方法
  • timeout:可选参数,超时时间,单位为秒
  • mauploadpath:可选参数,携带文件的路径
    • 多个文件批量上传时,mauploadpath参数中的多个文件用”,”分割
    • 详细使用方法参阅 移动运行支撑平台(MA)-MA开发指导下的《获取手机端上传的文件流》
    • 新云端打包使用此参数需要在config.xml中配置summer-plugin-upload插件
      样例:
      1. <import id="summer-plugin-upload" type="web" ref="cordova"></import>
    • 旧版构建中使用此参数需要勾选上传(upload)插件
  • header:可选参数,请求头,值为JSON
  • tp:加密,默认为des加密
    • none:为不加密
    • des:为des加密
    • des_gzip:为des加密并压缩(暂不支持)
    • aes:为aes加密(暂不支持)

示例代码:

  1. summer.writeConfig({
  2. "host" : "10.2.112.58",
  3. "port" : "8080"
  4. })
  5. summer.callAction({
  6. "appid" : "test", //当前应用id
  7. "viewid" : "com.yonyou.TestDataController", //后台带包名的Controller名
  8. "action" : "getData", //方法名
  9. "params" : "{a:123,b:465}", //自定义参数
  10. "callback" : "cbcallma()", //请求回来后执行的ActionID
  11. "error" : "errorcallma()" //失败回调的ActionId
  12. });
  13. function cbcallma(args) {
  14. alert(args);//args为MA返回的数据,类型是Json对象
  15. var result = JSON.stringify(args);
  16. $summer.alert(result);//result为字符串
  17. }
  18. function errorcallma(args) {
  19. $summer.alert(args.err_msg);
  20. alert(args.err_msg); //在打印字符串时等价于上面的方法
  21. }

用例github下载地

summer.get()

以get的方式请求后台的数据

注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)

Android需申请的权限:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE

语法:

  1. summer.get(url,param, header, successFn, errFn);

参数:

  • url :String 请求的url地址;
  • param :Json 传递的参数;param中的各个属性和值必须为字符串类型,不能是对象,即只能是“key”:”value”,不能是”key”:{}
  • header :Json 请求声明头,header中的各个属性和值必须为字符串类型,不能是对象,即只能是“key”:”value”,不能是”key”:{}
  • successFn :Json 成功的回调函数。成功的回调函数包括三部分:status 响应状态200;data 返回的数据,
    字符串格式,需要转换成json;headers 成功返回的响应头 Json。
  • errFn :Json 失败的回调函数。失败的回调函数包括三部分:status 响应状态;error 服务器返回的错误信息,字符串格式;
    headers 成功返回的响应头 Json。

超时处理:

  • 1、全局
    设置ajax请求超时时间,在ajax请求调用之前,设置timeout时间,单位为毫秒。设置方法如下:

    1. window.cordovaHTTP.settings={timeout:5000};
  • 2、单次请求
    暂不支持

示例代码:

  1. window.cordovaHTTP.settings={timeout:5000}; //设置5秒超时
  2. summer.get("https://google.com/", {
  3. id : 12,
  4. message : "test"
  5. }, {
  6. Authorization : "OAuth2: token"
  7. }, function(response) {
  8. alert(response.status);
  9. alert($summer.strToJson(response.data));
  10. }, function(response) {
  11. alert(response.error);
  12. });

用例github下载地

summer.post()

以post的方式向后台提交数据

注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)

Android需申请的权限:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE

语法:

  1. summer.post(url,param, header, successFn, errFn);

参数:

  • url :String 请求的url地址;
  • param :Json 传递的参数;param中的各个属性和值必须为字符串类型,不能是对象,即只能是“key”:”value”,不能是”key”:{}
  • header :Json 请求声明头,header中的各个属性和值必须为字符串类型,不能是对象,即只能是“key”:”value”,不能是”key”:{}
  • successFn :Json 成功的回调函数。成功的回调函数包括三部分:status 响应状态200;data 返回的数据,
    字符串格式,需要转换成json;headers 成功返回的响应头 Json。
  • errFn :Json 失败的回调函数。失败的回调函数包括三部分:status 响应状态;error 服务器返回的错误信息,字符串格式;

超时处理:

  • 1、全局
    设置ajax请求超时时间,在ajax请求调用之前,设置timeout时间,单位为毫秒。设置方法如下:

    1. window.cordovaHTTP.settings={timeout:5000};
  • 2、单次请求
    暂不支持

示例代码:

  1. window.cordovaHTTP.settings={timeout:5000}; //设置5秒超时
  2. summer.post("https://google.com/", {
  3. id : 12,
  4. message : "test"
  5. }, {
  6. Authorization : "OAuth2:token"
  7. }, function(response) {
  8. alert(response.status);
  9. alert(response.data);
  10. }, function(response) {
  11. alert(response.error);
  12. });

用例github下载地

summer.ajax()

通过http请求远程数据

注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)

Android需申请的权限:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE

语法:

  1. summer.ajax(json, successFn, errFn);

参数:

  • json :Json 请求传递的内容;
    • type :请求的方式’get’或者’post’;
    • url :String 请求的url地址;
    • param :请求传递的参数;param中的各个属性和值必须为字符串类型,不能是对象,即只能是”key”:”value”,不能是”key”:{};
    • header :请求声明头,header中的各个属性和值必须为字符串类型,不能是对象,即只能是”key”:”value”,不能是”key”:{};
  • successFn :Json 成功的回调函数。成功的回调函数包括三部分:status 响应状态200;data 返回的数据,
    字符串格式,需要转换成json;headers 成功返回的响应头 Json。
  • errFn :Json 失败的回调函数。失败的回调函数包括三部分:status 响应状态;error 服务器返回的错误信息,字符串格式;

header示例:

header : {
“Authorization” : “OAuth2:token”,
“Content-Type” : “application/json”
}

超时处理:

  • 1、全局
    设置ajax请求超时时间,在ajax请求调用之前,设置timeout时间,单位为毫秒。设置方法如下:

    1. window.cordovaHTTP.settings={timeout:5000};
  • 2、单次请求
    暂不支持

示例代码:

  1. window.cordovaHTTP.settings={timeout:5000}; //设置5秒超时
  2. summer.ajax({
  3. type : "post",
  4. url : "https://google.com/",
  5. param : {
  6. id : 12,
  7. message : "test"
  8. },
  9. header : {
  10. "Content-Type" : "application/json"
  11. }
  12. }, function(response) {
  13. alert(response.status);
  14. alert(response.data);
  15. }, function(response) {
  16. alert(response.error);
  17. });

用例github下载地

文档更新时间: 2018-07-03 10:28