可以在工具切换的监听事件中做一些自定义操作:
var
levelList = [
'free'
,
'level1'
,
'level2'
,
'all'
];
var
userLevel = levelList[0];
async
function
showTips(){
//由用户自主控制,可以弹出一个新的窗口引导用户续费或做其他操作
alert(
"您的试用已过期,请订阅以继续使用该功能。"
);
var
handlerManager = await pdfui.getStateHandlerManager();
await handlerManager.switchTo(PDFViewCtrl.constants.STATE_HANDLER_NAMES.STATE_HANDLER_HAND);
}
pdfui.eventEmitter.on(UIExtension.PDFViewCtrl.Events.switchStateHandler, (NewStateHandlerClass, OldStateHandlerClass) => {
console.log(NewStateHandlerClass.getStateName(), OldStateHandlerClass.getStateName());
var
newTool = NewStateHandlerClass.getStateName();
var
oldTool = OldStateHandlerClass.getStateName();
//监听工具切换的变化,并匹配不同的会员等级,选择了不符合会员等级权限的工具时,调用自定义操作进行提示或引导
if
(userLevel ==
'free'
){
if
(newTool ==
'createCircle'
|| newTool ==
'createFreeTextTypewriter'
){
showTips();
}
}
})