SmartERP移动开发(HTML5)框架

在首页,首先导入ajax架构脚本,如 Framework7:

<script type="text/javascript" src="http://rs1.erp.etsoo.com/fileManager/home/mobile/framework7/js/framework7.min.js"></script>

jQuery:

<script type="text/javascript" src="http://rs1.erp.etsoo.com/fileManager/home/js/jquery.min.js"></script>

然后导入公司工具类:

<script type="text/javascript" src="http://rs1.erp.etsoo.com/fileManager/home/mobile/etsoo.min.js"></script>

etsoo.F 指向加载的ajax机构对象。

其中用于 Web Api 调用的属性为 apiBaseUrl,在云平台以后的网站调用,先修改该属性,比如 etsoo.apiBaseUrl = https://ct.etsoo.com/api/

需要在机构浏览界面,“调用接口地址”,添加调用的网站地址,如:http://www.etsoo.com, https://payment.etsoo.com,数据保存在表 e_organization_api_origin中。

涉及到的方法有:getApi, postApi, putApi, deleteApi,函数体都一样:function (url, success, data),url - 调用路径,比如用户登录为 "Login/UserLogin";sucess - 回调函数,函数体为:function (result, status, xhr),result- 返回的数据,如果接口返回json,则data为json数据,status - 状态值,正常为200,xhr - ajax调用的原生对象,比如xhr.responseText返回服务器端传回的文本数据;data - 传递的参数。

其他方法:

  • mobile - 移动手机型号,比如 etsoo.mobile.android 返回当前浏览器是否为安卓系统下的浏览器。
  • cookie: function (key, value, options) - 获取或者设置cookie
  • copyObject: function (source, target, keep) - 复制对象
  • dateDiff: function (date1, date2) - 获取两个日期对象相隔的天数
  • formatDate: function (date, format) - 格式化日期
  • getCollectionLabel: function (items, id, idField, labelField) - 获取集合标签
  • guid: function () - 创建符合RFC4122标准的GUID
  • isNullOrEmpty: function (value) - 判断字符串是否为空
  • jsonToXml: function (jsonArray, nodeName, removeEmpty) - json数据转换为xml数据
  • minuteDiff: function (date1, date2) - 获取间隔的分钟数
  • off: function (event, callback) - 解除绑定事件
  • on: function (event, callback) - 绑定事件
  • refreshImage: function (image) - 刷新图片
  • substitute: function () - 替换字符串中的{0}, {1}为随后的参数值
  • transformArrayData: function (array, idField, valueField) - 对象数组转化为字段对象。
  • trigger: function (event, params) - 触发事件

为了简化接口调用,封装了部分常用的接口调用方法,导入文件:
<script type="text/javascript" src="http://rs1.erp.etsoo.com/fileManager/home/mobile/etsoo.api.min.js"></script>
比如以下代码初始化地址选择框:
<select id="country"></select>
<select id="region"></select>
<select id="city"></select>
<script>
var address = etsoo.api.setupAddress($('#country'), $('#region'), $('#city'));
address.countryId = "CN";
</script>

如果需要调用微信JS接口,首先导入微信JS接口文件:
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

如果需要使用地图服务,导入地图工具脚本文件:
<script type="text/javascript" src="http://rs1.erp.etsoo.com/fileManager/home/mobile/etsoo.map.min.js"></script>
并随后初始化:etsoo.map.setup('Google map key', 'Baidu map key'); 程序通过异步加载两个地图服务脚本文件,谁先加载完成使用谁的服务。