在helloworldMAS服务里面,可以新建一个MAS项目文件,和上述的default文件夹平级。步骤如下:
选中helloworldMAS项目,右键点选“新建”—>“其他”,如图:
显示如下弹出框:
选择MAS“项目”—>“下一步”,如图:
例如在helloworldmas里创建一个ddd的MAS项目文件夹,点击完成。生成如下MAS项目,自动会带有一个interface.xml文件。
MAS接口是提供给某个页面的数据调用方法。
新建一个MAS接口,流程如下:
1)点击一个MAS项目的文件夹,右键选择“新建”—>“其他”。
弹出如下窗口:
2)选择“MAS接口”—>“下一步”,如图:
点击下一步,如图,创建自己想要的MAS接口模板。如ajax接口、ldap接口、odbc接口、soap接口等。
AppCan IDE 3.0封装了日常开发App所要用到的各种接口文件。
常用的有ajax调用、WEB Service的数据信息、静态文件信息、读取数据库的MEAP.ODBC、ladp信息、页面抓取过来的数据信息。
由于一些客户不向开发者提供数据源信息,开发者可以通过客户现有的网站来抓取想要在App上显示的数据信息,这就要用到MEAP.PARSE接口。
接下来就介绍一下怎么创建各个接口文件,来获得想要的数据信息。
MEAP.AJAX不需要进行DOM解析。
在IDE3.0中新建一个meap.ajax接口模板流程如下,以上述的helloworldMAS项目为例:
1)在default文件夹里面创建一个命名为if_ajax的ajax接口文件。如图:
2)点选“下一步”。
输入相应的URL地址,选择请求方式,支持请求。
3)点选“完成”。
AJAX对象只有一个方法Runner。
参考if_ajax里面的if.js代码如下:
用户可以在MEAP.AJAX.Runner函数里面添加返回值:
var MEAP=require(meap),以引入MAS根对象MEAP。
run为适配器接口进入点函数、Param为客户端请求参数对象、Robot 为终端上下文对象、Request为NODEJS HTTP Request对象、Response为NODEJS HTTP Response对象、IF为接口配置对象。
exports.Runner = run
引出Runner接口作为适配器进入点函数。
IF对象存储了此接口在interface.xml文件中的配置信息,包含name、path、method、public等参数。
函数Runner(Option,Callback,Robot,Pretreat)
Option 请求参数
Callback = function(err, res,data)请求返回回调函数
Robot应用访问上下文对象
Robot对象是当前终端访问的上下文对象。
Pretreat=function(data)数据预处理回调函数
在此函数中,开发者可以去除返回数据中的多余数据,降低下一步数据分析占用的系统资源,提高系统性能。
MEAP.PARSE是需要进行DOM解析的AJAX接口。
Parser对象用于对服务器返回的数据进行转换处理。例如WSDL转换、HTML DOM转换等。
1)创建一个ajax接口,选择HTML DOM解析
2)点击“完成”,会生成一个如下范例:
用户可在if(!err&&DOM){}里面填写自己想要获得的DOM元素内容。
function(des){}用来处理的字符信息或XSLT。
Runner(type, res, cb, param);
type : HTML字符串转为DOM对象;
type : XML字符串转为XML对象;
type : XSLT-HXSLT转换DOM对象;
type : XSLT-XXSLT转换XML对象;
res处理的字符信息或XSLT;
cb应用层的回调信息,错误提示信息;
param用于XSLT类型处理。
ODBC用于数据库的连接。
IDE3.0中新建一个MEAP.ODBC连接数据库的服务,流程如下:
1)创建一个odbc接口,输入要连接的字符串、SQL语句、选择支持请求。点击完成。
2)生成代码,如下:
CN:”Dsn=数据源;server=服务器地址;uid=帐号;pwd=密码;database=数据库名;port=端口;charset=字符编码”,Sql:”sql语句查询条件”。
一个ODBC的接口需要连接数据库,因此用户要先安装mysql数据库,配置ODBC,然后建数据库表。
准备软件版本,如mysql-installer-community-5.6.16.0。
如果需要.net framework4环境 ,需安装软件:dotNetFx40_Full_x86_x64(分为32位系统和64位系统,下载地址:http://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-5.6.16.0.msi
安装流程如下:
1)启动安装程序
选择第一项Add/Modify Products and Features。
2)选择mySQLServer、Applications、MySQL Connectors。
点击Next,创建一下帐号和密码,直至安装结束。
MAS通过odbc连接mysql,用账号、密码连接数据库。帐号默认为root,密码用户自己设置。
准备软件版本:mysql-connector-odbc-5.2.6-win32.msi(分为32位系统和64位系统)
由于MAS是 32 位的,因此要下载32位的mysql connector,下载地址:http://dev.mysql.com/downloads/connector/odbc/
安装完毕后开始配置ODBC数据管理程序,流程如下:
打开“控制面板”,选择“管理工具”—>“ODBC数据源(32位)”,如果连接的是本地mysql数据库,则选择系统DSN,否则选择用户DSN。点选“添加”,以添加数据源。
点击完成,弹出下面界面,输入Data Source Name (DSN)等数据,点击Test。测试通过后点击OK。ODBC数据源配置完成。
上述MEAP.ODBC里面的CN就是上图输入框要填写的内容。
在安装软件mysql-installer-community-5.6.16.0时,可以下载里面的mysql workbench CE6.0.9,用mysql workbench CE6.0.9建数据库表。也可以下载navicat Premium来创建数据库建表。
这里我们用navicat来新建数据库表。流程如下:
(1)点选“文件”—>“新建连接”—>“mysql”。
输入相关信息,出现如下工程
(2)新建表
例如,确定一个id为主键,选择自动递增。如图:
注释中可填入,如用户名、密码等文字信息。
(3)填入表内数据信息:
(4)输入查询条件
一个新test表就新建成功了。然后和IDE的MEAP.ODBC相关联,就可以创建数据库连接的接口了。
LDAP对象主要用于连接企业Active Directory或其他支持LDAP协议的系统,完成用户身份验证等功能。
1)在IDE 3.0中新建一个ldap接口的MAS接口文件
2)填入相关的信息,点选“完成”。生成的if.js代码如下:
用户可添加相关的代码。
上述代码中,我们通过拼装DN,连接LDAP服务器验证用户身份是否合法。其中binddn定义了用户完整的DN路径。但有些情况下,用户LDAP层级很多,在用户登录时只传入用户名,造成binddn无法找到用户。
可采用如下范例:
上述例子中由于AD系统维护用户时的OU层级不同,无法简单的通过用户名进行认证。此时,我们先使用默认帐号进行登录,然后通过搜索绑定方式,查找用户帐号的完整DN然后实现用户认证。
SOAP对象是为了解决WebSerevice接口服务整合封装的SOAP协议对接组件。
1)在IDE 3.0中的MAS项目中新建一个soap接口的MAS接口文件。
2)输入所需要的wsdl地址、params、func方法。生成如下代码:
例如我们查询一个天气的webservice接口例子,通过getSupportCity方法,根据城市获取天气。
SFS对象用于处理服务器静态网页或资源文件的下载请求。
在IDE 3.0中新建一个sfs的接口文件,如图:
生成代码如下:
上述范例中,客户端向服务器请求接口目录下的一个文件,SFS对象自动获取文件并返回给客户端。
Interface.xml
如上所述,在创建不同的MAS接口的时候都会自动在interface.xml里加上相应的MAS配置数据。
<?xml version=1.0 encoding=UTF-8?><meap><interfaces> <!—插入相应的接口方法></interfaces></meap>
自动加上相应的name、path、method、public。
代码如下:
<interface><name>if_ajax</name><path>ajax</path><method>POST</method><public>true</public></interface>
interface.xml文件配置了MAS服务器对移动终端提供的所有接口列表。上述新建的MAS接口所生成的interface如下:
<?xml version=1.0 encoding=UTF-8?><meap><interfaces><interface><name>if_default</name><path>default</path><method>ALL</method><public>true</public></interface><interface><name>if_if_ajax</name><path>if_ajax</path><method>POST</method><public>true</public></interface><interface><name>if_ajax</name><path>ajax</path><method>POST</method><public>true</public></interface></interfaces></meap>
通过上述模板文件可以看出interface.xml完成MAS工程中所有接口的管理。每个接口就是一个interface。
Interface的配置项如下: