HGMMT与开发套件建立连接

建立连接

(1)目前建立连接是通过开发套件生成的十六进制IP加端口号(如A0AD377-257B),需要将十六进制IP加端口号转换成十进制(如10.10.211.119:9595),这时候通过CocoaAsyncSocket框架与开发套件建立连接。
(2)连接成功后向开发套件发送设备信息,主要是移动设备的信息,数据格式如下

/*
height:屏幕分辨率的高
deviceId:设备的唯一标识,因为iOS无法获取imei信息,使用bundle id代替
SERIAL:设备的序列序列号
deviceType:设备类型是手机还是平板
width:屏幕分辨率的宽
platform:平台是苹果还是安卓
MODEL:设备型号
version:设备的系统版本号
*/

-N:{"height":2208,"deviceId":"com.chinaeport.HGMMT5C6022A1-0190-46AA-B774-3CFD715F888D","SERIAL":"FD2VW2GUJCLY","deviceType":"Phone","width":1242,"platform":"IOS","MODEL":"iPhone_8_Plus","version":"12.10"}\n

**注:这里的数据格式为字符串,末尾要加\n **

(3)在设备信息传入开发套件后,开发套件run中会出现设备信息,证明HGMMT与开发套件建立了连接。

开发套件点击Run运行

(1)在开发套件点击run之后,开发套件会向HGMMT发送测试插件信息,数据格式如下:

/*
id:插件的唯一标识
name:插件的英文名称
nameCN:插件的中文名称
dept:开发单位
version:插件版本号
frame:开发框架
root:加载远程地址
*/

0002:{"id":1,"name":"test","nameCN":"","dept":"caac","version":"v0.1","frame":"ssl","root":"http://10.10.211.189:8181/HGMIDE/plugin/test"}

(2)解析出“root”字段进行远程链接加载,把开发套件中的页面显示出来。

从开发套件获取用户信息

(1)在用户标签页界面点击“从IDE获取”,则HGMMT发送以下数据到开发套件中请求。

0005:-L\n

(2)当开发套件接收到指令后,且在开发套件中已经设置了用户信息,会向HGMMT发送如下数据

0005:-L:[{"id":1,"guid":"123456789","usercode":"2853135","username":"邢伟新","dept":"数据中心"}]

从开发套件获取插件列表信息

(1)在首次进入“插件”标签页,会触发插件列表信息请求。同时下拉刷新也会触发请求。这时候HGMMT会向IDE发送如下指令

0006:-L\n

(2)IDE收到请求后会返回一下数据


/*
id:插件的唯一标识
name:插件的英文名称
nameCN:插件的中文名称
dept:开发单位
version:插件版本号
frame:开发框架
root:加载远程地址
*/

0006:-L:[{"id":1,"name":"APIDemo","nameCN":"插件测试","dept":"数据中心","version":"1","frame":"OC","root":"http://10.10.211.119:8181/HGMIDE/plugin/APIDemo"},{"id":2,"name":"wxTest","nameCN":"邢伟新测试","dept":"数据中心","version":"1","frame":"oc","root":"http://10.10.211.119:8181/HGMIDE/plugin/wxTest"}]

HGRequest中的请求(模拟门户中间件)

以get请求为例

(1)get请求10.10.211.74:8989/HGMIDEServer/HGUploadFile断点上传获取文件长度服务
(2)在开发套件中服务注册 服务标识hgmeap-pluginserver-HGUploadFile对应的IP(Port)为10.10.211.74:8989
(3)在HTML界面中如下调用

function getAction() {
    var server = "hgmeap-pluginserver-HGUploadFile";
    var url = "/HGMIDEServer/HGUploadFile";
    var params = [ {"HGFileName":"f5195ae6506.zip"} ];
    HGRequest.get(server, url,params, false, onsuccessCallbackRequest,
        onErrorCallbackRequest);

}

(4)在HGMMT中进行如下请求

  • 请求链接为10.10.211.119:8181/HGMIDE/hgmeam?http.protocol.content-charset=UTF-8(注意10.10.211.119不是固定的,是你开发套件电脑设备的IP即A0AD377-257B中的A0AD377装换成10进制)

  • 在请求头中添加“hgmeam_header_server”对应服务标识“hgmeap-pluginserver-HGUploadFile”

  • 在请求头中添加“hgmeam_header_url”对应请求的URL后半段“/HGMIDEServer/HGUploadFile”

  • 请求参数为[ {"HGFileName":"f5195ae6506.zip"} ]

  • 利用以上信息使用AFNetworking进行服务请求。

你可能感兴趣的:(HGMMT与开发套件建立连接)