4.5方法
> JS api提供了一些基础API方法。这些方法要在**渲染成功**(事件=>On方法=>renderSucceed回调方法)之后执行,否则会报错!!!
## SimulateClickBtn
* 参数:
```
{String} name 要激活的toolbarBtn名称。
{*} params 激活按钮附带的参数。激活部分按钮需要设置本参数。
```
| name | toolbar按钮名称 |
| --- | --- |
| wsSignnameBtn | 签名 |
| wsTextBtn | 文本 |
| wsWriteBtn | 圈批 |
| wsSignboardBtn | 签字板 |
| wsMoreBtn | 更多 |
| wsImageBtn | 图片 |
| wsSaveBtn | 保存 |
| wsThumbBtn | 缩略图(@2.0.2+) |
| wsWordBtn | 田字格(@2.0.2+) |
| wsSignareaBtn | 签字域(@2.0.2+) |
| wsValidBtn | 验签(@2.0.4+) |
| wsWaterfallBtn | 瀑布流表单录入(@2.0.5+) |
| wsAudioBtn| 音频(@2.0.5+) |
* 返回值:无
* 作用:主动激活视图预定义的 toolbar 按钮。such as:
```js
// 主动触发保存按钮的事件
ctx.SimulateClickBtn('wsSaveBtn')
// 主动触发签字域。第二个参数为签字域的id,即Render方法signareas中id参数。
// 如果该签字域id不存在,界面会提示签字域不存在。
ctx.SimulateClickBtn('wsSignareaBtn', 'signareaId')
// 主动触发田字格。第二个参数为签字域id(非必传)。
// 如果签字域id存在,会将签名塞到对应签字域。如果不存在或没有传该参数,只会触发田字格的功能。
ctx.SimulateClickBtn('wsWordBtn', 'signareaId')
```
## Destroy
* 参数:无
* 返回值:无
* 作用:销毁视图。渲染完成后调用。
* Such As:
```js
ctx.Destroy()
ctx = null
```
## GetPDFURL
* 参数:
```
{Function} callback 获取下载地址的回调方法
```
* 返回值:无
* 作用:获取PDF下载地址。
* Such As:
```js
ctx.GetPDFURL(function (result) {
console.log(result)
})
```
## GetPDFImageURL
* 参数:
```
{Function} callback 获取文件图片地址的回调方法
```
* 返回值:无
* 作用:获取PDF转成的图片地址。
* Such As:
```js
ctx.GetPDFImageURL(function (result) {
console.log(result)
})
```
## CloseSign
* 参数:
```
{Function} callback 关闭成功回调方法,最新下载地址将会在回调方法的参数中使用
```
* 返回值:无
* 作用:保存并关闭文件签字,本次签字的`siquenceId`不能再被用于签字。
* Such As:
```js
ctx.CloseSign(function (result) {
console.log(result)
})
```
## GetSavedHandImg(@2.0.2+)
* 返回值:最新保存的数据数组。
* 作用:获取本次打开并最新保存的数据,如果本次打开后多次保存,只返回最后一次保存的数据。笔迹返回base64格式png图片,文本返回字符串。
* Such As:
```js
var imgArr = ctx.GetSavedHandImg()
console.log(imgArr)
```
## ReplaceFileTempText(@2.0.2+)
* 参数: `{Object} option 替换参数对象。`
```
{String} reportData 需要替换的文本内容及ID
{Number} buildNo 签字文件的版本号,如果不传默认为最新版本号。
{Function} succeedCallback 替换成功的回调。回调参数为5.1.6接口的请求结果。
{Function} errorCallback 替换失败的回调。
```
* 作用:替换文件模板中,文本框的文字内容。
* PS:本方法就是对**5.1.6**接口的封装,只能在`Init`方法后执行本方法。你也可以自己调用**5.1.6**的接口,来实现文件模板中文本框文字的替换,详细说明请参考**5.1.6**的接口说明。
* Such As:
```js
// 必须在Init方法后执行本方法!!!
ctx.ReplaceFileTempText({
reportData: '[{"id": "filetexterftfre", "content": "dddr"}]',
succeedCallback: function (res) {
// 如果你想在替换文字后渲染替换后的文件,建议在成功的回调方法中再渲染文件
ctx.Render()
},
errorCallback: function (err) {
console.log(err)
}
})
```
## CheckoutHasUnsaveData(@2.0.2+)
* 返回值:是否有未保存的数据。
* 作用:检查当前页面上是否有未保存的笔迹、文本、图片等数据。
* Such As:
```js
var hasData = ctx.CheckoutHasUnsaveData()
console.log(hasData)
```
## PushClearPage(@2.0.8+)
* 作用:新增空白页。
* 参数:pageNum:新增空白页数量。
* Such As:
```js
ctx.PushClearPage(1)
```
## NextPage(@2.0.8+)
* 作用:下一页
* Such As:
```js
ctx.NextPage(function (pageNum) {
console.log(pageNum)
})
```
## PrevPage(@2.0.8+)
* 作用:上一页
* Such As:
```js
ctx.PrevPage(function (pageNum) {
console.log(pageNum)
})
```