# 鸿蒙医网信SDK ```shell ohpm install @szyx/sdk_ywx ``` ## 1. 初始化配置相关 > 相关方法Manager为`BJCASDK.settingManager()` ### 1.1 获取sdk版本号 ```typescript BJCASDK.settingManager().getVersion() ``` ### 1.2 运行环境相关 > [环境码表](./src/main/ets/enum/EnvEnum.ets) ```typescript // 设置环境 BJCASDK.settingManager().setServerEnvType(this.envType) ``` ```typescript // 获取当前运行环境 BJCASDK.settingManager().getServerEnvType() ``` ### 1.3 厂商id ```typescript // 设置厂商id BJCASDK.settingManager().setClientId('51313546135') ``` ```typescript // 获取当前厂商id BJCASDK.settingManager().getClientId() ``` ## 2. 证书相关 > 相关方法Manager为`BJCASDK.certManager()` ### 2.1 证书是否存在 ```typescript BJCASDK.certManager().existsCert(this.phone) ``` ### 2.2 显示证书页面 ```typescript BJCASDK.certManager().showCertPage(this.phone, (result) => { ToolsHelper.showMessage(result.msg) }) ``` ### 2.3 下证 ```typescript BJCASDK.certManager().certDown(this.phone, null, (result) => { ToolsHelper.showMessage(result.msg) }) ``` ### 2.4 更新证书 ```typescript BJCASDK.certManager().certUpdate(this.phone, undefined, res => { if (res !== BJCACallMsg.SUCCESS) { ToolsHelper.showMessage(JSON.stringify(res)) } }) ``` ### 2.5 密码重置 ```typescript BJCASDK.certManager().certResetPin(this.phone, res => { if (res !== BJCACallMsg.SUCCESS) { ToolsHelper.showMessage(JSON.stringify(res)) } }) ``` ### 2.6 清除本地证书 ```typescript BJCASDK.certManager().certClear() ``` ### 2.7 获取签章图片 ```typescript BJCASDK.certManager().getStampPic(this.phone, res => { if (res.code === BJCACallMsg.SUCCESS.code && res.data) { this.draw = res.data } else { ToolsHelper.showMessage("未设置签名图片") } }) ``` ```typescript Image(`data:image/png;base64,${this.draw}`) .width(300) .height(200) .margin({ top: 15 }) .objectFit(ImageFit.Contain) .visibility(this.draw ? Visibility.Visible : Visibility.None) ``` ### 2.8 设置签章图片 ```typescript BJCASDK.certManager().drawStamp(this.phone, (result) => { ToolsHelper.showMessage(result.msg) }) ``` ### 2.9 获取用户信息 ```typescript BJCASDK.certManager().getUserInfo(this.phone, res => { ToolsHelper.showMessage(JSON.stringify(res)) }) ``` ## 3. 签名相关 > 相关方法Manager为`BJCASDK.signManager()` ### 3.1 签名 ```typescript BJCASDK.signManager().signWithFirmId(this.mListUniqueId, (res) => { ToolsHelper.showMessage(JSON.stringify(res)) }) ``` ### 3.2 开启免密签名 ```typescript BJCASDK.signManager().keepPin(Number.parseInt(this.mNum), (res) => { ToolsHelper.showMessage(JSON.stringify(res)) }) ``` ### 3.3 显示pin码输入框 ```tsx import { ToolsHelper } from '@szyx/sdk_base'; import { BJCASDK, PinDialog } from '@szyx/sdk_ywx'; ``` ```tsx Button('显示pin码输入框', { stateEffect: true, type: ButtonType.Normal, buttonStyle: ButtonStyleMode.NORMAL }) .width('80%') .fontColor('#333333') .height(40) .onClick(() => { BJCASDK.signManager().showPinWindow(res => { ToolsHelper.showMessage(JSON.stringify(res)) }) }) .margin({ top: 10 }) PinDialog({ controller: BJCASDK.signManager().dialogController }) ``` ### 3.4 识别二维码信息 > 扫码功能需要自己实现,该方法需要传入扫码后获取到的字符串结果 ```tsx BJCASDK.signManager().qrDispose('二维码内容', res => { console.log('>>>>>扫码结果', JSON.stringify(res)) }) ``` ### 3.3 识别二维码信息(配置是否处理授权Oauth登录) > 是`3.4`的拓展,如果不需要配置是否处理授权Oauth登录,则可以直接使用上面的方法。 ```tsx BJCASDK.signManager().qrDisposeForOauth('二维码内容', true, res => { console.log('>>>>>扫码结果', JSON.stringify(res)) ToolsHelper.showMessage(`扫码结果${JSON.stringify(res)}`) }) ``` ## [常见错误码](src/main/ets/public/callBack/BJCACallMsg.ets)