移动服务器集成- 移动应用的集成-在移动终端上使用报表
目录

移动服务器集成

应用集成

下载服务器安装包http://pan.baidu.com/s/1eQKBXK2,使用菜单中的【系统工具-应用集成】进行集成,集成模块选择【引擎和展现】,设置集成文件路径后,即可一键集成。具体参见:应用集成

集成文件下载地址:

IOS1.9.8和Android1.9.8地址:http://pan.baidu.com/s/1eQKBXK2

Android1.9.9地址:http://pan.baidu.com/s/1jHd0Ef8

接口实现

实现登录和资源树接口,并将接口实现类放入WEB-INF\classes\com\geezn\mobile\action中。

登录接口说明

com.geezn.mobile.interfaces.ILogin

String processLogin(userId,password)

登陆成功时,返回值是“1”,

登陆失败时,返回值是"{\"loginrlt\":\"0\",\"failmsg\":\"失败原因\"}" 。

在mis2\geeznmobile\config\geeznMobileConfig.xml中配置loginClass项,如:

         <config>
                  <name>loginClass</name>
                  <value>com.geezn.mobile.action.CustomMobileLogin</value>
         </config>
package com.geezn.mobile.action;
import com.geezn.mobile.interfaces.ILogin;
public class CustomMobileLogin implements ILogin {
 public String processLogin(String id, String password) {
  String rlt = "";
  if ("root".equals(id) && "123".equals(password)) {
   // 登陆成功
   rlt = "1";
   System.out.println("手机客户端登陆成功,执行了CustomMobileLogin");
   return rlt;
  }else if("zhangsan".equals(id) && "123".equals(password)){
   // 登陆成功
   rlt = "1";
   System.out.println("手机客户端登陆成功,执行了CustomMobileLogin");
   return rlt;
  }
  else{
  rlt = "{\"loginrlt\":\"0\",\"failmsg\":\"无法登录,请与系统管理员联系!\"}";
  System.out.println("手机客户端登陆失败");
  return rlt;
  }
 }
 public static void main(String[] args) {
  System.out.println(new CustomMobileLogin().processLogin("root", "1"));
 }
}

获取资源树接口

com.geezn.mobile.action.IGetPermittedRes。

String calcAvailableRes(userid, paramsMap)。

json形式的资源列表。

在mis2\geeznmobile\config\geeznMobileConfig.xml中配置getResClass项,如:

      <config>
                  <name>getResClass</name>
                  <value>com.geezn.mobile.action.CustomGetPermittedRes</value>
         </config>
package com.geezn.mobile.action;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.geezn.mobile.interfaces.IGetPermittedRes;
import com.runqianapp.common.log.GEZLoggerManager;
import com.runqianapp.schedule.utils.PathUtils;
public class CustomGetPermittedRes implements IGetPermittedRes{
 public String calcAvailableRes(String id, Map<String, Object> pMap) {
  String path = PathUtils.getAppRealPath()+"/mis2/geeznmobile/config/customres.json";
  //String path = "F:/GEZZN0522_20150615/tomcat/webapps/reportmis_branch/mis2/geeznmobile/config/customres.json";
  File f = new File(path);
  return jsonfile2String(f);
 }
 public static String jsonfile2String(File file) {
  String result = "";
  try {
   BufferedReader br = new BufferedReader(new FileReader(file));// 构造一个BufferedReader类来读取文件
   String s = null;
   while ((s = br.readLine()) != null) {// 使用readLine方法,一次读一行
    result = result + "\n" + s;
   }
   br.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
  return result;
 }
 public static void main(String[] args) {
  System.out.println(new CustomGetPermittedRes().calcAvailableRes(null,null));
 }
}

资源树及报表配置

在mis2\geeznmobile\config新建一个名为“customres.json”的文件,并在其中配置资源树的结构。JSON格式和节点说明如下:

将需要使用的报表放在移动服务器的报表目录下。该目录为:WEB-IF/globalReportConfig.xml中reportFileHome节点的配置

其它配置报表展现效果相关配置,例如:首页报表、报表背景色、自适应方式均可以在geeznMobileConfig.xml中进行设置。

访问报表

完成以上设置,将应用包部署到应用服务器下,启动应用。

修改服务器地址扫码页面http://IP:port/appName/mis2/geeznmobile/setup.jsp,设置服务器公网地址,后生成对应的二维码。

在手机上安装最新的app,启动后扫描上服务器上生成的二维码完成服务器地址设置。输入用户名(root),密码(123)点击登录,即可查看到资源目录信息。点击资源树中的报表,即可在手机端查看对应的报表数据。