Skip to content

Commit 978ada7

Browse files
committed
🆕 #1527 微信小程序增加OCR身份证识别和银行卡识别等接口
1 parent b755694 commit 978ada7

File tree

25 files changed

+756
-176
lines changed

25 files changed

+756
-176
lines changed

spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpServiceAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.binarywang.spring.starter.wxjava.mp.config;
22

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

177178
@Bean
178179
@Deprecated
179-
public WxMpOcrService wxMpOcrService(WxMpService wxMpService) {
180+
public WxOcrService wxMpOcrService(WxMpService wxMpService) {
180181
return wxMpService.getOcrService();
181182
}
182183

Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
package me.chanjar.weixin.mp.api;
1+
package me.chanjar.weixin.common.api;
22

33
import me.chanjar.weixin.common.error.WxErrorException;
4-
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrBankCardResult;
5-
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrBizLicenseResult;
6-
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrCommResult;
7-
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrDrivingLicenseResult;
8-
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrDrivingResult;
9-
import me.chanjar.weixin.mp.bean.ocr.WxMpOcrIdCardResult;
4+
import me.chanjar.weixin.common.bean.ocr.WxOcrBankCardResult;
5+
import me.chanjar.weixin.common.bean.ocr.WxOcrBizLicenseResult;
6+
import me.chanjar.weixin.common.bean.ocr.WxOcrCommResult;
7+
import me.chanjar.weixin.common.bean.ocr.WxOcrDrivingLicenseResult;
8+
import me.chanjar.weixin.common.bean.ocr.WxOcrDrivingResult;
9+
import me.chanjar.weixin.common.bean.ocr.WxOcrIdCardResult;
1010

1111
import java.io.File;
1212

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

2222
/**
2323
* 身份证OCR识别接口.
@@ -26,7 +26,7 @@ public interface WxMpOcrService {
2626
* @return WxMpOcrIdCardResult
2727
* @throws WxErrorException .
2828
*/
29-
WxMpOcrIdCardResult idCard(String imgUrl) throws WxErrorException;
29+
WxOcrIdCardResult idCard(String imgUrl) throws WxErrorException;
3030

3131
/**
3232
* 身份证OCR识别接口.
@@ -35,7 +35,7 @@ public interface WxMpOcrService {
3535
* @return WxMpOcrIdCardResult
3636
* @throws WxErrorException .
3737
*/
38-
WxMpOcrIdCardResult idCard(File imgFile) throws WxErrorException;
38+
WxOcrIdCardResult idCard(File imgFile) throws WxErrorException;
3939

4040
/**
4141
* 银行卡OCR识别接口
@@ -44,7 +44,7 @@ public interface WxMpOcrService {
4444
* @return WxMpOcrBankCardResult
4545
* @throws WxErrorException .
4646
*/
47-
WxMpOcrBankCardResult bankCard(String imgUrl) throws WxErrorException;
47+
WxOcrBankCardResult bankCard(String imgUrl) throws WxErrorException;
4848

4949
/**
5050
* 银行卡OCR识别接口
@@ -53,7 +53,7 @@ public interface WxMpOcrService {
5353
* @return WxMpOcrBankCardResult
5454
* @throws WxErrorException .
5555
*/
56-
WxMpOcrBankCardResult bankCard(File imgFile) throws WxErrorException;
56+
WxOcrBankCardResult bankCard(File imgFile) throws WxErrorException;
5757

5858
/**
5959
* 行驶证OCR识别接口
@@ -62,7 +62,7 @@ public interface WxMpOcrService {
6262
* @return WxMpOcrDrivingResult
6363
* @throws WxErrorException .
6464
*/
65-
WxMpOcrDrivingResult driving(String imgUrl) throws WxErrorException;
65+
WxOcrDrivingResult driving(String imgUrl) throws WxErrorException;
6666

6767
/**
6868
* 行驶证OCR识别接口
@@ -71,7 +71,7 @@ public interface WxMpOcrService {
7171
* @return WxMpOcrDrivingResult
7272
* @throws WxErrorException .
7373
*/
74-
WxMpOcrDrivingResult driving(File imgFile) throws WxErrorException;
74+
WxOcrDrivingResult driving(File imgFile) throws WxErrorException;
7575

7676
/**
7777
* 驾驶证OCR识别接口
@@ -80,7 +80,7 @@ public interface WxMpOcrService {
8080
* @return WxMpOcrDrivingLicenseResult
8181
* @throws WxErrorException .
8282
*/
83-
WxMpOcrDrivingLicenseResult drivingLicense(String imgUrl) throws WxErrorException;
83+
WxOcrDrivingLicenseResult drivingLicense(String imgUrl) throws WxErrorException;
8484

8585
/**
8686
* 驾驶证OCR识别接口
@@ -89,7 +89,7 @@ public interface WxMpOcrService {
8989
* @return WxMpOcrDrivingLicenseResult
9090
* @throws WxErrorException .
9191
*/
92-
WxMpOcrDrivingLicenseResult drivingLicense(File imgFile) throws WxErrorException;
92+
WxOcrDrivingLicenseResult drivingLicense(File imgFile) throws WxErrorException;
9393

9494
/**
9595
* 营业执照OCR识别接口
@@ -98,7 +98,7 @@ public interface WxMpOcrService {
9898
* @return WxMpOcrBizLicenseResult
9999
* @throws WxErrorException .
100100
*/
101-
WxMpOcrBizLicenseResult bizLicense(String imgUrl) throws WxErrorException;
101+
WxOcrBizLicenseResult bizLicense(String imgUrl) throws WxErrorException;
102102

103103
/**
104104
* 营业执照OCR识别接口
@@ -107,7 +107,7 @@ public interface WxMpOcrService {
107107
* @return WxMpOcrBizLicenseResult
108108
* @throws WxErrorException .
109109
*/
110-
WxMpOcrBizLicenseResult bizLicense(File imgFile) throws WxErrorException;
110+
WxOcrBizLicenseResult bizLicense(File imgFile) throws WxErrorException;
111111

112112
/**
113113
* 通用印刷体OCR识别接口
@@ -117,7 +117,7 @@ public interface WxMpOcrService {
117117
* @return WxMpOcrCommResult
118118
* @throws WxErrorException .
119119
*/
120-
WxMpOcrCommResult comm(String imgUrl) throws WxErrorException;
120+
WxOcrCommResult comm(String imgUrl) throws WxErrorException;
121121

122122
/**
123123
* 通用印刷体OCR识别接口
@@ -127,5 +127,5 @@ public interface WxMpOcrService {
127127
* @return WxMpOcrCommResult
128128
* @throws WxErrorException .
129129
*/
130-
WxMpOcrCommResult comm(File imgFile) throws WxErrorException;
130+
WxOcrCommResult comm(File imgFile) throws WxErrorException;
131131
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package me.chanjar.weixin.common.bean.ocr;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
import lombok.Data;
5+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
6+
7+
import java.io.Serializable;
8+
9+
/**
10+
* 银行卡OCR识别结果
11+
*
12+
* @author Theo Nie
13+
*/
14+
@Data
15+
public class WxOcrBankCardResult implements Serializable {
16+
17+
private static final long serialVersionUID = 554136620394204143L;
18+
@SerializedName("number")
19+
private String number;
20+
21+
@Override
22+
public String toString() {
23+
return WxGsonBuilder.create().toJson(this);
24+
}
25+
26+
public static WxOcrBankCardResult fromJson(String json) {
27+
return WxGsonBuilder.create().fromJson(json, WxOcrBankCardResult.class);
28+
}
29+
}

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/ocr/WxMpOcrBizLicenseResult.java renamed to weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/ocr/WxOcrBizLicenseResult.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
package me.chanjar.weixin.mp.bean.ocr;
1+
package me.chanjar.weixin.common.bean.ocr;
22

33
import com.google.gson.annotations.SerializedName;
44
import lombok.Data;
5-
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
5+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
66

77
import java.io.Serializable;
88

99
/**
1010
* @author Theo Nie
1111
*/
1212
@Data
13-
public class WxMpOcrBizLicenseResult implements Serializable {
13+
public class WxOcrBizLicenseResult implements Serializable {
1414
private static final long serialVersionUID = -5007671093920178291L;
1515

1616
/**
@@ -82,26 +82,27 @@ public class WxMpOcrBizLicenseResult implements Serializable {
8282
* 图片大小
8383
*/
8484
@SerializedName("img_size")
85-
private WxMpOcrImgSize imgSize;
85+
private WxOcrImgSize imgSize;
8686

87-
public static WxMpOcrBizLicenseResult fromJson(String json) {
88-
return WxMpGsonBuilder.create().fromJson(json, WxMpOcrBizLicenseResult.class);
87+
public static WxOcrBizLicenseResult fromJson(String json) {
88+
return WxGsonBuilder.create().fromJson(json, WxOcrBizLicenseResult.class);
8989
}
9090

9191
@Override
9292
public String toString() {
93-
return WxMpGsonBuilder.create().toJson(this);
93+
return WxGsonBuilder.create().toJson(this);
9494
}
9595

9696
@Data
9797
public static class CertPosition implements Serializable {
9898
private static final long serialVersionUID = 290286813344131863L;
99+
99100
@SerializedName("pos")
100-
private WxMpOcrPos pos;
101+
private WxOcrPos pos;
101102

102103
@Override
103104
public String toString() {
104-
return WxMpGsonBuilder.create().toJson(this);
105+
return WxGsonBuilder.create().toJson(this);
105106
}
106107
}
107108
}
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package me.chanjar.weixin.mp.bean.ocr;
1+
package me.chanjar.weixin.common.bean.ocr;
22

33
import com.google.gson.annotations.SerializedName;
44
import lombok.Data;
5-
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
5+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
66

77
import java.io.Serializable;
88
import java.util.List;
@@ -11,35 +11,35 @@
1111
* @author Theo Nie
1212
*/
1313
@Data
14-
public class WxMpOcrCommResult implements Serializable {
14+
public class WxOcrCommResult implements Serializable {
1515
private static final long serialVersionUID = 455833771627756440L;
1616

1717
@SerializedName("img_size")
18-
private WxMpOcrImgSize imgSize;
18+
private WxOcrImgSize imgSize;
1919
@SerializedName("items")
2020
private List<Items> items;
2121

22-
public static WxMpOcrCommResult fromJson(String json) {
23-
return WxMpGsonBuilder.create().fromJson(json, WxMpOcrCommResult.class);
22+
public static WxOcrCommResult fromJson(String json) {
23+
return WxGsonBuilder.create().fromJson(json, WxOcrCommResult.class);
2424
}
2525

2626
@Override
2727
public String toString() {
28-
return WxMpGsonBuilder.create().toJson(this);
28+
return WxGsonBuilder.create().toJson(this);
2929
}
3030

3131
@Data
3232
public static class Items implements Serializable {
33-
3433
private static final long serialVersionUID = 3066181677009102791L;
34+
3535
@SerializedName("text")
3636
private String text;
3737
@SerializedName("pos")
38-
private WxMpOcrPos pos;
38+
private WxOcrPos pos;
3939

4040
@Override
4141
public String toString() {
42-
return WxMpGsonBuilder.create().toJson(this);
42+
return WxGsonBuilder.create().toJson(this);
4343
}
4444
}
4545
}

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/ocr/WxMpOcrDrivingLicenseResult.java renamed to weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/ocr/WxOcrDrivingLicenseResult.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
package me.chanjar.weixin.mp.bean.ocr;
1+
package me.chanjar.weixin.common.bean.ocr;
22

33
import com.google.gson.annotations.SerializedName;
44
import lombok.Data;
5-
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
5+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
66

77
import java.io.Serializable;
88

99
/**
1010
* @author Theo Nie
1111
*/
1212
@Data
13-
public class WxMpOcrDrivingLicenseResult implements Serializable {
13+
public class WxOcrDrivingLicenseResult implements Serializable {
1414
private static final long serialVersionUID = -6984670645802585738L;
1515

1616
/**
@@ -71,10 +71,10 @@ public class WxMpOcrDrivingLicenseResult implements Serializable {
7171

7272
@Override
7373
public String toString() {
74-
return WxMpGsonBuilder.create().toJson(this);
74+
return WxGsonBuilder.create().toJson(this);
7575
}
7676

77-
public static WxMpOcrDrivingLicenseResult fromJson(String json) {
78-
return WxMpGsonBuilder.create().fromJson(json, WxMpOcrDrivingLicenseResult.class);
77+
public static WxOcrDrivingLicenseResult fromJson(String json) {
78+
return WxGsonBuilder.create().fromJson(json, WxOcrDrivingLicenseResult.class);
7979
}
8080
}

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/ocr/WxMpOcrDrivingResult.java renamed to weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/ocr/WxOcrDrivingResult.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
package me.chanjar.weixin.mp.bean.ocr;
1+
package me.chanjar.weixin.common.bean.ocr;
22

33
import com.google.gson.annotations.SerializedName;
44
import lombok.Data;
5-
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
5+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
66

77
import java.io.Serializable;
88

99
/**
1010
* @author Theo Nie
1111
*/
1212
@Data
13-
public class WxMpOcrDrivingResult implements Serializable {
14-
13+
public class WxOcrDrivingResult implements Serializable {
1514
private static final long serialVersionUID = -7477484374200211303L;
15+
1616
/**
1717
* 车牌号码
1818
*/
@@ -107,26 +107,27 @@ public class WxMpOcrDrivingResult implements Serializable {
107107
* 图片大小
108108
*/
109109
@SerializedName("img_size")
110-
private WxMpOcrImgSize imgSize;
110+
private WxOcrImgSize imgSize;
111111

112112
@Data
113113
public static class CardPosition implements Serializable {
114114
private static final long serialVersionUID = 2884515165228160517L;
115+
115116
@SerializedName("pos")
116-
private WxMpOcrPos pos;
117+
private WxOcrPos pos;
117118

118119
@Override
119120
public String toString() {
120-
return WxMpGsonBuilder.create().toJson(this);
121+
return WxGsonBuilder.create().toJson(this);
121122
}
122123
}
123124

124-
public static WxMpOcrDrivingResult fromJson(String json) {
125-
return WxMpGsonBuilder.create().fromJson(json, WxMpOcrDrivingResult.class);
125+
public static WxOcrDrivingResult fromJson(String json) {
126+
return WxGsonBuilder.create().fromJson(json, WxOcrDrivingResult.class);
126127
}
127128

128129
@Override
129130
public String toString() {
130-
return WxMpGsonBuilder.create().toJson(this);
131+
return WxGsonBuilder.create().toJson(this);
131132
}
132133
}

0 commit comments

Comments
 (0)