嵌入式对接方案

## 小程序 ![image.png](https://cos.easydoc.net/74722269/files/lwu5jvge.png) ### 1. 客户小程序跳转SSC小程序 appId和path由免密接口获取 redirectText: 签约结束后,可自定义返回按钮的文案,默认“返回” ``` js wx.navigateToMiniProgram({ appId: `wxXXXXXXXXXXXXXXX`, path: `/pages/index/secret-free-login?code=XXX&idCode=XXX&redirectText=${返回按钮文案}`, }) ``` ### 2. 刷脸完成后 SSC小程序会用以下方式跳回贵司小程序 ``` js wx.navigateBackMiniProgram() ``` ## app app采用h5嵌入的方式,h5链接由免密接口获取,需要开启摄像头权限才可以打开刷脸认证 ### IOS 使用WKWebView并调用原生摄像头 1. 在Info.plist中添加调用相机的权限 ``` OC Privacy - Camera Usage Description ``` 2. 设置WKWebView相关 ``` OC WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; // 打开摄像头权限 config.preferences.javaScriptEnabled = YES; config.allowsInlineMediaPlayback = YES; ``` 3. 将config传入初始化方法中 ``` OC (instancetype)initWithFrame:(CGRect)frame configuration:(WKWebViewConfiguration *)configuration ``` ### Android web-view嵌入,被内嵌的H5会向安卓请求打开摄像头权限,h5运行中webview上,webview是app中使用的一个控件,可认为h5的权限是向webview或app申请的。这是要注意的区别,app获得权限不等于h5也获得了权限。 1. 确保app已经拥有了摄像头权限 2. 在Mainfest中添加相机权限 ``` xml <uses-permission android:name="android.permission.CAMERA" /> <!-- 相机 --> ``` 3. h5向app申请录音和相机权限,重写WebChromeClient,以下代码是默许打开摄像头权限(可能面临合规审核) ``` java webView.setWebChromeClient(new WebChromeClient(){ @Override public void onPermissionRequest(PermissionRequest request) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // 授权(接受申请) request.grant(request.getResources()); request.getOrigin(); } } @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { // todo 实现弹框以及弹框的确认 result.confirm(); return true; } }); ```