Skip to content

Commit

Permalink
🆕 #1527 微信小程序增加OCR身份证识别和银行卡识别等接口
Browse files Browse the repository at this point in the history
  • Loading branch information
binarywang committed Jul 5, 2020
1 parent b755694 commit 978ada7
Show file tree
Hide file tree
Showing 25 changed files with 756 additions and 176 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.binarywang.spring.starter.wxjava.mp.config;

import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties;
import me.chanjar.weixin.common.api.WxOcrService;
import me.chanjar.weixin.mp.api.*;
import me.chanjar.weixin.mp.api.impl.WxMpServiceHttpClientImpl;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
Expand Down Expand Up @@ -176,7 +177,7 @@ public WxMpCommentService wxMpCommentService(WxMpService wxMpService) {

@Bean
@Deprecated
public WxMpOcrService wxMpOcrService(WxMpService wxMpService) {
public WxOcrService wxMpOcrService(WxMpService wxMpService) {
return wxMpService.getOcrService();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package me.chanjar.weixin.mp.api;
package me.chanjar.weixin.common.api;

import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrBankCardResult;
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrBizLicenseResult;
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrCommResult;
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrDrivingLicenseResult;
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrDrivingResult;
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrIdCardResult;
import me.chanjar.weixin.common.bean.ocr.WxOcrBankCardResult;
import me.chanjar.weixin.common.bean.ocr.WxOcrBizLicenseResult;
import me.chanjar.weixin.common.bean.ocr.WxOcrCommResult;
import me.chanjar.weixin.common.bean.ocr.WxOcrDrivingLicenseResult;
import me.chanjar.weixin.common.bean.ocr.WxOcrDrivingResult;
import me.chanjar.weixin.common.bean.ocr.WxOcrIdCardResult;

import java.io.File;

Expand All @@ -17,7 +17,7 @@
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* @date 2019-06-22
*/
public interface WxMpOcrService {
public interface WxOcrService {

/**
* 身份证OCR识别接口.
Expand All @@ -26,7 +26,7 @@ public interface WxMpOcrService {
* @return WxMpOcrIdCardResult
* @throws WxErrorException .
*/
WxMpOcrIdCardResult idCard(String imgUrl) throws WxErrorException;
WxOcrIdCardResult idCard(String imgUrl) throws WxErrorException;

/**
* 身份证OCR识别接口.
Expand All @@ -35,7 +35,7 @@ public interface WxMpOcrService {
* @return WxMpOcrIdCardResult
* @throws WxErrorException .
*/
WxMpOcrIdCardResult idCard(File imgFile) throws WxErrorException;
WxOcrIdCardResult idCard(File imgFile) throws WxErrorException;

/**
* 银行卡OCR识别接口
Expand All @@ -44,7 +44,7 @@ public interface WxMpOcrService {
* @return WxMpOcrBankCardResult
* @throws WxErrorException .
*/
WxMpOcrBankCardResult bankCard(String imgUrl) throws WxErrorException;
WxOcrBankCardResult bankCard(String imgUrl) throws WxErrorException;

/**
* 银行卡OCR识别接口
Expand All @@ -53,7 +53,7 @@ public interface WxMpOcrService {
* @return WxMpOcrBankCardResult
* @throws WxErrorException .
*/
WxMpOcrBankCardResult bankCard(File imgFile) throws WxErrorException;
WxOcrBankCardResult bankCard(File imgFile) throws WxErrorException;

/**
* 行驶证OCR识别接口
Expand All @@ -62,7 +62,7 @@ public interface WxMpOcrService {
* @return WxMpOcrDrivingResult
* @throws WxErrorException .
*/
WxMpOcrDrivingResult driving(String imgUrl) throws WxErrorException;
WxOcrDrivingResult driving(String imgUrl) throws WxErrorException;

/**
* 行驶证OCR识别接口
Expand All @@ -71,7 +71,7 @@ public interface WxMpOcrService {
* @return WxMpOcrDrivingResult
* @throws WxErrorException .
*/
WxMpOcrDrivingResult driving(File imgFile) throws WxErrorException;
WxOcrDrivingResult driving(File imgFile) throws WxErrorException;

/**
* 驾驶证OCR识别接口
Expand All @@ -80,7 +80,7 @@ public interface WxMpOcrService {
* @return WxMpOcrDrivingLicenseResult
* @throws WxErrorException .
*/
WxMpOcrDrivingLicenseResult drivingLicense(String imgUrl) throws WxErrorException;
WxOcrDrivingLicenseResult drivingLicense(String imgUrl) throws WxErrorException;

/**
* 驾驶证OCR识别接口
Expand All @@ -89,7 +89,7 @@ public interface WxMpOcrService {
* @return WxMpOcrDrivingLicenseResult
* @throws WxErrorException .
*/
WxMpOcrDrivingLicenseResult drivingLicense(File imgFile) throws WxErrorException;
WxOcrDrivingLicenseResult drivingLicense(File imgFile) throws WxErrorException;

/**
* 营业执照OCR识别接口
Expand All @@ -98,7 +98,7 @@ public interface WxMpOcrService {
* @return WxMpOcrBizLicenseResult
* @throws WxErrorException .
*/
WxMpOcrBizLicenseResult bizLicense(String imgUrl) throws WxErrorException;
WxOcrBizLicenseResult bizLicense(String imgUrl) throws WxErrorException;

/**
* 营业执照OCR识别接口
Expand All @@ -107,7 +107,7 @@ public interface WxMpOcrService {
* @return WxMpOcrBizLicenseResult
* @throws WxErrorException .
*/
WxMpOcrBizLicenseResult bizLicense(File imgFile) throws WxErrorException;
WxOcrBizLicenseResult bizLicense(File imgFile) throws WxErrorException;

/**
* 通用印刷体OCR识别接口
Expand All @@ -117,7 +117,7 @@ public interface WxMpOcrService {
* @return WxMpOcrCommResult
* @throws WxErrorException .
*/
WxMpOcrCommResult comm(String imgUrl) throws WxErrorException;
WxOcrCommResult comm(String imgUrl) throws WxErrorException;

/**
* 通用印刷体OCR识别接口
Expand All @@ -127,5 +127,5 @@ public interface WxMpOcrService {
* @return WxMpOcrCommResult
* @throws WxErrorException .
*/
WxMpOcrCommResult comm(File imgFile) throws WxErrorException;
WxOcrCommResult comm(File imgFile) throws WxErrorException;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package me.chanjar.weixin.common.bean.ocr;

import com.google.gson.annotations.SerializedName;
import lombok.Data;
import me.chanjar.weixin.common.util.json.WxGsonBuilder;

import java.io.Serializable;

/**
* 银行卡OCR识别结果
*
* @author Theo Nie
*/
@Data
public class WxOcrBankCardResult implements Serializable {

private static final long serialVersionUID = 554136620394204143L;
@SerializedName("number")
private String number;

@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}

public static WxOcrBankCardResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxOcrBankCardResult.class);
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package me.chanjar.weixin.mp.bean.ocr;
package me.chanjar.weixin.common.bean.ocr;

import com.google.gson.annotations.SerializedName;
import lombok.Data;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
import me.chanjar.weixin.common.util.json.WxGsonBuilder;

import java.io.Serializable;

/**
* @author Theo Nie
*/
@Data
public class WxMpOcrBizLicenseResult implements Serializable {
public class WxOcrBizLicenseResult implements Serializable {
private static final long serialVersionUID = -5007671093920178291L;

/**
Expand Down Expand Up @@ -82,26 +82,27 @@ public class WxMpOcrBizLicenseResult implements Serializable {
* 图片大小
*/
@SerializedName("img_size")
private WxMpOcrImgSize imgSize;
private WxOcrImgSize imgSize;

public static WxMpOcrBizLicenseResult fromJson(String json) {
return WxMpGsonBuilder.create().fromJson(json, WxMpOcrBizLicenseResult.class);
public static WxOcrBizLicenseResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxOcrBizLicenseResult.class);
}

@Override
public String toString() {
return WxMpGsonBuilder.create().toJson(this);
return WxGsonBuilder.create().toJson(this);
}

@Data
public static class CertPosition implements Serializable {
private static final long serialVersionUID = 290286813344131863L;

@SerializedName("pos")
private WxMpOcrPos pos;
private WxOcrPos pos;

@Override
public String toString() {
return WxMpGsonBuilder.create().toJson(this);
return WxGsonBuilder.create().toJson(this);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package me.chanjar.weixin.mp.bean.ocr;
package me.chanjar.weixin.common.bean.ocr;

import com.google.gson.annotations.SerializedName;
import lombok.Data;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
import me.chanjar.weixin.common.util.json.WxGsonBuilder;

import java.io.Serializable;
import java.util.List;
Expand All @@ -11,35 +11,35 @@
* @author Theo Nie
*/
@Data
public class WxMpOcrCommResult implements Serializable {
public class WxOcrCommResult implements Serializable {
private static final long serialVersionUID = 455833771627756440L;

@SerializedName("img_size")
private WxMpOcrImgSize imgSize;
private WxOcrImgSize imgSize;
@SerializedName("items")
private List<Items> items;

public static WxMpOcrCommResult fromJson(String json) {
return WxMpGsonBuilder.create().fromJson(json, WxMpOcrCommResult.class);
public static WxOcrCommResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxOcrCommResult.class);
}

@Override
public String toString() {
return WxMpGsonBuilder.create().toJson(this);
return WxGsonBuilder.create().toJson(this);
}

@Data
public static class Items implements Serializable {

private static final long serialVersionUID = 3066181677009102791L;

@SerializedName("text")
private String text;
@SerializedName("pos")
private WxMpOcrPos pos;
private WxOcrPos pos;

@Override
public String toString() {
return WxMpGsonBuilder.create().toJson(this);
return WxGsonBuilder.create().toJson(this);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package me.chanjar.weixin.mp.bean.ocr;
package me.chanjar.weixin.common.bean.ocr;

import com.google.gson.annotations.SerializedName;
import lombok.Data;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
import me.chanjar.weixin.common.util.json.WxGsonBuilder;

import java.io.Serializable;

/**
* @author Theo Nie
*/
@Data
public class WxMpOcrDrivingLicenseResult implements Serializable {
public class WxOcrDrivingLicenseResult implements Serializable {
private static final long serialVersionUID = -6984670645802585738L;

/**
Expand Down Expand Up @@ -71,10 +71,10 @@ public class WxMpOcrDrivingLicenseResult implements Serializable {

@Override
public String toString() {
return WxMpGsonBuilder.create().toJson(this);
return WxGsonBuilder.create().toJson(this);
}

public static WxMpOcrDrivingLicenseResult fromJson(String json) {
return WxMpGsonBuilder.create().fromJson(json, WxMpOcrDrivingLicenseResult.class);
public static WxOcrDrivingLicenseResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxOcrDrivingLicenseResult.class);
}
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package me.chanjar.weixin.mp.bean.ocr;
package me.chanjar.weixin.common.bean.ocr;

import com.google.gson.annotations.SerializedName;
import lombok.Data;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
import me.chanjar.weixin.common.util.json.WxGsonBuilder;

import java.io.Serializable;

/**
* @author Theo Nie
*/
@Data
public class WxMpOcrDrivingResult implements Serializable {

public class WxOcrDrivingResult implements Serializable {
private static final long serialVersionUID = -7477484374200211303L;

/**
* 车牌号码
*/
Expand Down Expand Up @@ -107,26 +107,27 @@ public class WxMpOcrDrivingResult implements Serializable {
* 图片大小
*/
@SerializedName("img_size")
private WxMpOcrImgSize imgSize;
private WxOcrImgSize imgSize;

@Data
public static class CardPosition implements Serializable {
private static final long serialVersionUID = 2884515165228160517L;

@SerializedName("pos")
private WxMpOcrPos pos;
private WxOcrPos pos;

@Override
public String toString() {
return WxMpGsonBuilder.create().toJson(this);
return WxGsonBuilder.create().toJson(this);
}
}

public static WxMpOcrDrivingResult fromJson(String json) {
return WxMpGsonBuilder.create().fromJson(json, WxMpOcrDrivingResult.class);
public static WxOcrDrivingResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxOcrDrivingResult.class);
}

@Override
public String toString() {
return WxMpGsonBuilder.create().toJson(this);
return WxGsonBuilder.create().toJson(this);
}
}
Loading

0 comments on commit 978ada7

Please sign in to comment.