接入文档

## 1.引入 `JSAPI` `JSAPI`存放在`SKDO`后台服务中,使用`script`标签引入。 ```html <script src="http://ip:port/sdko/signplugin/ws.plugin.form.js"></script> ``` ## 2.实例化插件 ```javascript let plugin = new WSPluginForm(document.getElementAsId('myform'), { userId: 'xx', // 用户ID strokeId: 'xxx', // 签字ID buildNo: 8, // 签字版本号 onLoad: (result) => { console.log(result) } }) ``` ***请勿将`plugin `对象放到 `vue` 的 `data` 、 `react` 的 `state` 中*** ## 3.表单插件状态 - 预览:只显示笔迹 - 签署:书写笔迹 - 擦除:橡皮擦 擦除笔迹 - 移动:移动笔迹 ***插件实例化后会先进入 `预览`状态*** ## 4.基础配置 - `userId: string` 用户ID,用来做笔迹权限处理。默认`helloworld` - `strokeId: string`笔迹ID,由`save`接口返回。不传则从空白开始签署 - `buildNo: number`版本号,不传则会渲染最新的版本号。 - `defStrokeSize: number`默认笔迹粗细。`1-8`。默认`4` - `defStrokeColor: string`默认笔迹颜色。`'#191F25' | '#C41018' '#1890FF' | '#522694'| '#199907'| '#E39130'| '#ffffff'`。默认`#191F25` - `useStrokeSeparate: boolean`默认是否开启手笔分离。默认`false` - `useEditAllRecord: boolean` 是否可以编辑所有人的笔迹。默认`false` - `strokebarWrap: HTMLElement` 工具栏挂载的父节点,默认`body` - `useDefStrokebar: boolean`是否使用默认的圈批工具栏。默认`false` - `strokebarPlacement: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight'`圈批工具栏位置。默认`bottomRight` - `onLoad: (result: { code: number, message: string, buildNo: number }) => {}`插件初始加载成功回调。`code`为`0`表示成功,否则为失败。`buildNo`渲染的版本号 ```javascript let plugin = new WSPluginForm(document.getElementAsId('myform'), { userId: 'xxx', strokeId: 'xxx', // 签字ID buildNo: 8, // 签字版本号 defStrokeSize: 1, defStrokeColor: '#ffffff', useEditAllRecord: false, strokebarWrap: document.getElementById('mystrokebar'), strokebarPlacement: 'left', onLoad: (result) => { if (result.code === 0) { console.log('初始化成功') } else { console.log('初始化失败', result.message) } } }) ``` ## 5.方法 - `switchToStroke`切换到签署模式 ```typescript plugin.switchToStroke() ``` - `switchToEraser`切换到擦除模式 ```typescript plugin.switchToEraser() ``` - `switchToPreview`切换到预览模式 ```typescript plugin.switchToPreview() ``` - `switchToRemove`切换到移动模式 ```javascript plugin.switchToRemove() ``` - `setStrokeColor`设置笔迹颜色 参数:`color: string` 笔迹颜色代码,建议格式类似'#dd444c' ```typescript plugin.setStrokeColor('#dd444c') ``` - `setStrokeSize`设置笔迹粗细 参数:`size: number`笔迹粗细,`1-8` ```typescript plugin.setStrokeSize(5) ``` - `setSeparate`设置 是否开启手笔分离 参数:`value: boolean` 是否开启手笔分离 ```typescript plugin.setSeparate(true) // 开启手笔分离 ``` - `clearStroke`清空所有笔迹 ```typescript plugin.clearStroke() ``` - `save`保存当前笔迹 ```typescript interface IResult { code: number // 保存结果 0 成功,其他 失败 message: string // 保存结果信息 strokeId: string // 保存笔迹的id buildNo: number // 保存笔迹的版本号 } const result:IResult = await plugin.save() console.log(result) ``` - `destroy`销毁插件 ```typescript plugin.switchToPreview() plugin = undefined ```