支付宝刷脸
This commit is contained in:
parent
557852ba40
commit
5f688ed98a
|
@ -12,10 +12,10 @@ import java.net.UnknownHostException;
|
|||
|
||||
@Slf4j
|
||||
@SpringBootApplication
|
||||
public class Application {
|
||||
public class StandDllApplication {
|
||||
|
||||
public static void main(String[] args) throws UnknownHostException {
|
||||
ConfigurableApplicationContext application = SpringApplication.run(Application.class, args);
|
||||
ConfigurableApplicationContext application = SpringApplication.run(StandDllApplication.class, args);
|
||||
Environment env = application.getEnvironment();
|
||||
String ip = InetAddress.getLocalHost().getHostAddress();
|
||||
String port = env.getProperty("server.port");
|
|
@ -21,7 +21,7 @@ public class AlipayDll {
|
|||
*/
|
||||
public static Dll instance() throws DllRegistrationException {
|
||||
try {
|
||||
return Native.load("NationECCode", Dll.class);
|
||||
return Native.load("AlipayChs", Dll.class);
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
log.info("[AlipayDll][getPrintSDK][医保动态库] SDK注册失败:{}", e.getMessage());
|
||||
throw new DllRegistrationException("Failed to load AlipayDll library: ", e);
|
||||
|
|
|
@ -21,7 +21,7 @@ public class HispayDll {
|
|||
*/
|
||||
public static Dll instance() throws DllRegistrationException {
|
||||
try {
|
||||
return Native.load("PayClient", Dll.class);
|
||||
return Native.load("HispayChs", Dll.class);
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
log.info("[HispayDll][getPrintSDK][医保动态库] SDK注册失败:{}", e.getMessage());
|
||||
throw new DllRegistrationException("Failed to load AlipayDll library: ", e);
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
package com.dpkj.modules.scanface.ali.controller;
|
||||
|
||||
import cn.hutool.core.lang.Console;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.dpkj.common.constant.ChsConst;
|
||||
import com.dpkj.common.vo.Result;
|
||||
import com.dpkj.modules.chs.dll.AlipayDll;
|
||||
import com.dpkj.modules.chs.entity.AlipayEcRequestData;
|
||||
import com.dpkj.modules.scanface.ali.dll.AliScanFaceDll;
|
||||
import com.dpkj.modules.scanface.ali.service.IAliScanFaceService;
|
||||
import com.sun.jna.Callback;
|
||||
import com.sun.jna.Memory;
|
||||
import com.sun.jna.Pointer;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @Auther: 萧道子
|
||||
* @Date: 2025/4/16 16:47
|
||||
* @Description:
|
||||
*/
|
||||
@Slf4j
|
||||
@AllArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/scanface/ali")
|
||||
public class AliScanFaceController {
|
||||
|
||||
private final IAliScanFaceService aliScanFaceService;
|
||||
|
||||
|
||||
@GetMapping("test")
|
||||
public Result<?> test() {
|
||||
try {
|
||||
AliScanFaceDll.Dll dll = AliScanFaceDll.instance();
|
||||
|
||||
dll.bp_api_set_isv_lan(1);
|
||||
|
||||
dll.abcp_init(null, null, null, null,
|
||||
new AliScanFaceDll.ProcessCallback() {
|
||||
@Override
|
||||
public void invoke(Object obj) {
|
||||
Console.log(obj);
|
||||
}
|
||||
},
|
||||
new AliScanFaceDll.FinishCallback() {
|
||||
@Override
|
||||
public void invoke(Object obj) {
|
||||
Console.log(obj);
|
||||
}
|
||||
});
|
||||
|
||||
return Result.ok("成功");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return Result.error("失败");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
package com.dpkj.modules.scanface.ali.dll;
|
||||
|
||||
import com.sun.jna.Callback;
|
||||
import com.sun.jna.Library;
|
||||
import com.sun.jna.Native;
|
||||
import com.sun.jna.Pointer;
|
||||
import com.sun.jna.win32.DLLCallback;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* @Auther: 萧道子
|
||||
* @Date: 2025/4/16
|
||||
* @Description: 阿里扫脸程序
|
||||
*/
|
||||
@Slf4j
|
||||
public class AliScanFaceDll {
|
||||
|
||||
/**
|
||||
* 获取 Dll 实例,同时注册 Dll 控件。
|
||||
*
|
||||
* @return AlipayDll 实例
|
||||
* @throws DllRegistrationException 如果注册控件失败,抛出此异常
|
||||
*/
|
||||
public static Dll instance() throws DllRegistrationException {
|
||||
try {
|
||||
return Native.load("AliScanFace", Dll.class);
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
log.info("[AliScanFaceDll][instance][阿里扫脸动态库] SDK注册失败:{}", e.getMessage());
|
||||
throw new DllRegistrationException("Failed to load AliScanFace library: ", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 定义自定义异常类,用于表示注册控件时发生的错误
|
||||
*/
|
||||
public static class DllRegistrationException extends Exception {
|
||||
public DllRegistrationException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
public DllRegistrationException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public interface ProcessCallback extends DLLCallback {
|
||||
void invoke(Object obj);
|
||||
}
|
||||
|
||||
public interface FinishCallback extends DLLCallback {
|
||||
void invoke(Object obj);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 定义接口映射本地库中的函数。
|
||||
*/
|
||||
public interface Dll extends Library {
|
||||
void bp_api_set_isv_lan(Integer type_isv_language);// 0:cpp | 1:cshap | 2:jni | 3:jna
|
||||
|
||||
void abcp_init(Integer arg, String app_id, String app_version, String json_param, Callback on_process, Callback on_finish);
|
||||
|
||||
void abcp_start_service(Integer arg, String app_id, String service_code, String json_param, Callback on_process, Callback on_finish);
|
||||
|
||||
void abcp_stop_service(Integer arg, String app_id, String service_code, String json_param, Callback on_process, Callback on_finish);
|
||||
|
||||
void abcp_get_meta_info(Integer arg, String app_id, String json_param, Callback on_process, Callback on_finish);
|
||||
|
||||
void abcp_stop_smile(Integer arg, String app_id, String json_param, Callback on_process, Callback on_finish);
|
||||
|
||||
void abcp_zimid_init_for_test(Integer arg, String zimmetainfo, String smileType, String smileFlag, Callback callback);
|
||||
|
||||
void abcp_call(Integer arg, String app_id, String call_method, String json_param, Callback on_process, Callback on_finish);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
package com.dpkj.modules.scanface.ali.service;
|
||||
|
||||
public interface IAliScanFaceService {
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.dpkj.modules.scanface.ali.service.impl;
|
||||
|
||||
import com.dpkj.modules.scanface.ali.service.IAliScanFaceService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Auther: 萧道子
|
||||
* @Date: 2025/4/16 16:47
|
||||
* @Description:
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class AliScanFaceServiceImpl implements IAliScanFaceService {
|
||||
|
||||
|
||||
}
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue