Detailed tutorial on the process document of the Zheli Office

Introduction

Zheli Office is an APP based on the integrated platform capabilities of Zhejiang government service network . In August 2021, the "Zheli Office" APP was launched into the "All-in-One Card" area serving the residents of the Yangtze River Delta. "Zheli Office" includes the three core functional sections of "hand-held affairs", "hand-held consultation" and "hand-held complaints", as well as hundreds of convenient service applications such as checking social security, withdrawing provident fund, handling traffic violations and paying fines, and paying tuition fees.

The “Zheli Office” APP has also launched more than 300 convenient applications in 17 categories, including public payment, birth registration, diagnosis and treatment registration, social security certificate printing, provident fund withdrawal, and traffic violation handling, providing 168 provincial-level handheld services and an average municipal-level 452 Items, county-level average 371 items.

* Official address - remember here

  1. "Zheli Office" service access related technical specifications
  2. "Zheli Office" and Zhejiang Government Affairs Service Network Service Listing Application Form
  3. "Zheli Office" application development management platform
  4. Zheli Office's Shelf Specifications : "Zheli Office" H5 Micro-Application Shelving Review Specifications
  5. Zheli Office H5 Application Technical Documentation
  6. Government service department account : "Government Organization Yihe Account"
  7. Government Affairs Center - Application Development Management Platform
  8. Government Affairs Center - Application Development Management Platform Account Acquisition : "Government Organization Yihe Account"
  9. Zhejiang government service network unified user system docking : "User Authentication System docking application process"
  10. IRS Application Development Subsystem
  11. The password for the attachment of the audit data on the Zhejiang Office's shelves : xas7
  12. Zheli Office - IRS Application Release Problem Statement

DingTalk Technology Docking Group

1 group: 31376954
2 groups: 34340559
3 groups 31419900

Listing process

1. Apply for an account

If you need to connect the personal information of Zheli Office, use the individual, and use the legal person account to connect with the legal person.

  • Take a look at the official address-6 , the government affairs center uses the government organization Yihe account to log in to create a new publishing application . You need to apply for the Yihe account according to the process. There are three pieces of information used, one is the name of the government organization , one is the account , and the other is password
  • Personal information can be used directly by logging in to the Zheli Office app

  • The legal person account information needs the best way for enterprises to log in to the Zheli Office app

2. Application

1. First, log in to the government affairs center with the applied government account number - official address-3 ; select the corresponding government organization , and enter the applied account password

After logging in, it will look like this

Next create a new application:

 

The next step is to fill in the application development information: whether to create a server system at the same time: no!!!

The next step is to preview the basic application and create it. Here, deployment, publishing, and configuration operations are basically used.

 

Click Configure to get appid and appkey

Fourth, the development of applications

If you do not need to connect user information, it is ok to develop H5 applications directly. If you need to connect user information to individuals and legal persons; please see below:

Click on the official address-9 , follow the process to apply for the formation of docking user information, after the application is approved, there will be an access code and docking information (individual, legal person Tiangu will pull nails group) sent to the mailbox, the access code is obtained, the back- end staff If you need to connect individual users/government users (Hangzhou Yihe Internet Software Technology Co., Ltd.): Yu Jintao; legal person users (Hangzhou Tiangu Information Technology Co., Ltd.): Yang Jiawei/Kunji-Zhang Donghui;

Part of the key code for back-end personnel to connect user information :

Tools

  • Tools:
public class ZlbLoginUtil {

	
	private static String servicecode = "";//接入码
	private static String servicepwd = "";//接入密码
	private static String datatype = "json";
	
	public static JSONObject getZlbUserInfo(String ticket) throws Exception {
		JSONObject jsonObject = ticketValidation(ticket);
		if(jsonObject!=null&&"0".equals(jsonObject.getString("result"))){
			jsonObject = getUserInfo(jsonObject.getString("token"));
		}
		return jsonObject;		
	}
	
	public static JSONObject ticketValidation(String ticket) throws Exception {
		JSONObject jsonObject = null;
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
		String time = sdf.format(new Date());
		String sign = Md5Utils.getMd5(servicecode+servicepwd+time);
		String url = "https://appapi.zjzwfw.gov.cn/sso/servlet/simpleauth";
		String content = "method=ticketValidation";
		content += "&servicecode="+servicecode;
		content += "&time="+time;
		content += "&sign="+sign;
		content += "&st="+ticket;
		content += "&datatype="+datatype;
		jsonObject = sendGet(url,content);
		return jsonObject;	
	}
	
	public static JSONObject getUserInfo(String token) throws Exception {
		JSONObject jsonObject = null;
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
		String time = sdf.format(new Date());
		String sign = Md5Utils.getMd5(servicecode+servicepwd+time);
		String url = "https://appapi.zjzwfw.gov.cn/sso/servlet/simpleauth";
		String content = "method=getUserInfo";
		content += "&servicecode="+servicecode;
		content += "&time="+time;
		content += "&sign="+sign;
		content += "&datatype="+datatype;
		content += "&token="+token;
		jsonObject = sendGet(url,content);
		return jsonObject;	
	}

	public static JSONObject sendGet(String urlstr,String content) {
    	String result = "";
    	JSONObject jsonObject = null;
    	try{
    		String urlName = urlstr + "?"+content;
    		URL U = new URL(urlName);
    		URLConnection connection = U.openConnection();
    		connection.setRequestProperty("Content-Type","application/json");
			System.setProperty("sun.net.client.defaultConnectTimeout", "30000");// 连接超时30秒
			System.setProperty("sun.net.client.defaultReadTimeout", "30000"); // 读取超时30秒
    		connection.connect();
    		BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
    		String line;
    		while ((line = in.readLine())!= null) {
    			result += line;
    		}
    		jsonObject = JSON.parseObject(result.toString());
    		in.close();   
    	}catch(Exception e){
    		e.printStackTrace();
    	}
    	return jsonObject;
    }
	
	public static JSONObject sendPost(String urlstr,String content){
		JSONObject jsonObject = null;
		try {
			URL url = new URL(urlstr);
			HttpURLConnection http = (HttpURLConnection) url.openConnection();
			http.setRequestMethod("POST");
			http.setRequestProperty("Content-Type","application/json");
			http.setDoOutput(true);
			http.setDoInput(true);
			System.setProperty("sun.net.client.defaultConnectTimeout", "30000");// 连接超时30秒
			System.setProperty("sun.net.client.defaultReadTimeout", "30000"); // 读取超时30秒
			http.connect();
			OutputStream os = http.getOutputStream();
			os.write(content.getBytes("UTF-8"));// 传入参数
			os.flush();
			os.close();
			StringBuilder sb = new StringBuilder();
			BufferedReader reader = new BufferedReader(new InputStreamReader(http.getInputStream(),"utf-8"));      
			String line = null; 
	        while ((line = reader.readLine()) != null) {      
	        	sb.append(line);      
	        }
	        jsonObject = JSON.parseObject(sb.toString());
	        sb.setLength(0);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return jsonObject;
	}
}
  • Personal part:
        try {
            String ticket = req.getParameter("ticket");//ticket 票据
            String sp = req.getParameter("sp");
            if(StringUtils.isNotEmpty(ticket)){
                //获取浙里办用户信息
                JSONObject jsonObject = ZlbLoginUtil.getZlbUserInfo(ticket);
//                System.out.println("获取浙里办用户信息:"+jsonObject.toString());
   
                }else{
                    return ResultVoUtil.error("获取用户信息失败,错误码:"+jsonObject.get("result")+",错误信息:"+jsonObject.get("errmsg"));
                }
            }else{
                return ResultVoUtil.error("校验信息丢失");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ResultVoUtil.error("失败");
        }

  • Legal part:
        // 跳转Url
        String redirectUrl = "";
        // 从Request请求的参数中获取ssotoken
        String ssotoken = request.getParameter("ssotoken");
        System.out.println("ssotoken = " + ssotoken);

        // 取具体办事事项地址(若此项有值,成功登录后请跳转此地址到具体事项,否则跳转系统首页)
        String sp = request.getQueryString();
        JSONObject jsonObj=new JSONObject();
        if (null != sp && !sp.trim().equals("")) {
            // 清理事项地址前的“goto=”标识
            sp = sp.substring(5);
            System.out.println("具体业务办理地址: " + sp);
            response.sendRedirect(gotoUrl);
        }

        // 验证令牌并获取用户的登录信息
         jsonObj = doQuery(ssotoken, projectId, projectSecret);
        int errCode = jsonObj.getInt("errCode");
        // errCode = 0 表示认证成功
        if (0 == errCode) {
            // 验证成功
            String info = jsonObj.getString("info");
            System.out.println("验证令牌并获取用户的登录信息接口返回数据:" + info);

            JSONObject legalInfo = JSONObject.fromObject(info);
            
            // 企业名称
            String companyName = legalInfo.get("CompanyName").toString();
            if (null != companyName) {
                System.out.println("企业名称 = " + companyName);
            }

    
        } else {
            // 验证失败,跳转登录失败的页面
            return ResultVoUtil.error("验证失败");
        }


After the local development of the back-end personnel is completed, the addresses of the individual and legal person need to be provided to the individual user docking person and the legal person user docking person;

A part of the key code for front-end personnel to connect with user information :

//常规适老版本切换
ZWJSBridge.getUiStyle().then((result) => {
        console.log(result, "判断是常规,还是适老版本");
        getApp().globalData.condition = result.uiStyle;
        if (result.uiStyle == 'normal') {
          getApp().globalData.font = "0.7rem";
        } else {
          getApp().globalData.font = "0.9rem";
        }

      }).catch((error) => {
        console.log(error, "错误信息");
      });
      
//个人和法人用户免登录
ZWJSBridge.getUserType()
          .then(result => {
            console.log(result, '用户信息');
            //法人
            if (result.userType == 2) {
              window.location.replace(
                'https://esso.zjzwfw.gov.cn/opensso/spsaehandler/metaAlias/sp?spappurl=https://qiantang.llis.cc/qt_nj_api/external/login/legal/zlb'
              );
            } else {
            //个人
              window.location.replace('https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=zsnj');
            }
          })
          .catch(error => {
            console.log(error);
});
 

//判断浙里办支付宝入口
  if(支付宝浙里办小程序入口){
  windows.location.replace("https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=【接入代码】&goto=【附带跳转地址,以sp参数返回】")  
  }else{ //同源APP入口(含浙里办APP 及 其他 同源适配APP容器环境)
  windows.location.replace("https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=【接入代码】&goto=【附带跳转地址,以sp参数返回】")
  }

The overall process of logging in to obtain user information is as follows:

5. Deploy joint debugging

The application needs to be published to the government affairs center first, and then the specific application can be exempted from login and the user login information can be connected;

After clicking to go online directly, an access address will be generated, and the user information will be redirected to the application link in the background.

6. Preparing the information for listing

1. After developing the application, you need to prepare the online application form

** "Zheli Office" application form

2. At the same time, it is necessary to prepare a series of materials for the launch of the Mini Program-

Go to the official address-11 to download the information template on the shelves

  • [ ] 1. "Zheli Office" released the application online application report from the same source
  • [ ] 2. Icon.png
  • [ ] 3. Alipay self-test recording screen at both ends of Android and Apple (4 in total)
  • [ ] 4.1 Zheli Office APP application test QR code.png
  • [ ] 4.2 Alipay-Zheli Office Mini Program Application Test QR Code.png
  • [ ] 5. Description of business functions listed on the application (required).docx
  • [ ] 6. Zheli Office's tripartite application on the shelf operation and maintenance materials.docx
  • [ ] 7.H5 application package.zip
  • [ ] 8. Handheld Agricultural Machinery Application Safety Test Report.docx
  • [ ] 9. "Zheli Office" Service Adaptation Completion Application Report.xlsx
  • [ ] 10. [Pressure Test Report] Qiantang Agricultural Machinery Zhejiang Office.pdf

7. Submit for listing

The PC terminal should take the Zheli Office listing address : contact the actual owner of the Yihe account of the government organization you applied for , and scan the code to log in;

Unified Login Center

Use sequence 6. 1. Fill out the online application form, 6. 2. The supplementary information attachment can be submitted at the end. During the review period, relevant personnel will conduct corresponding approvals in each link.

Note: Please pay attention to the feedback of each link in the approval process in a timely manner. The rectification time for each link of feedback (requiring rectification) shall not exceed 2 working days, otherwise the process will be rejected!

Until the last person in charge of the application is approved and approved, it will be considered as successful.

Select the corresponding region and you can see the Mini Programs that have been successfully launched:

8. Apps disappear

Official reply:

1. Government Affairs Center-Application Development Management Platform If the sudden application is not visible, please contact the application owner to confirm whether it is linked to the IRS system through the stock

1.1. In the case of IRS association, the developer operates through the IRS-Developer Workbench after the association.

1.2. If the application is not visible due to the non-IRS connection, please submit the Zhejiang Provincial Government Work Order in time. You can put the appid, application name, and the application details url submitted by the owner’s teacher on the Zhejiang Office’s shelves (suitable) Fill in the Zhejiang Provincial Government Affairs Work order, work order number and send technical support to assist you in advancing the investigation. The application for listing can be inquired by the teacher who submitted the application through this link https://login-pro.ding.zj.gov.cn/ssoLogin.htm?APP_NAME=tianshu-zwdd&BACK_URL=https%3A%2F%2Fyida-pro.ding. zj.gov.cn%2FtaskCenter.html#/notifyme?_k=iw6vor

simply put:

Basically, the application has been migrated to the IRS-developer workbench: official address-10 , the method of use is the same as that of the government affairs center

9. IRS application upgrade

For details, see the official address-12

If there is any help, please contact me at any time—XINGYULIN

Guess you like

Origin blog.csdn.net/qq_21137441/article/details/122576613