Syn Bot升级至4.6后Oscova WidgetChannel无法显示Hint提示问题求助
问题解决方案
Syn.Bot从3.x版本开始对WidgetChannel的默认配置做了调整,Hint提示栏默认处于关闭状态,2.9版本的默认配置是开启的,这是升级后Hint不显示的核心原因。
修复步骤
- 第一步:在WidgetChannel初始化完成后,显式开启Hint显示配置,只需要在静态构造函数中添加一行配置代码即可,修改后的静态构造函数代码如下:
static BotService() { bot = new OscovaBot(); //bot.ImportWorkspace(""); WidgetChannel = new WidgetChannel(bot); // 新增这行开启Hint显示 WidgetChannel.Settings.ShowHint = true; bot.Dialogs.Add(new AppDialog()); bot.Dialogs.Add(new ProductDialog()); bot.Trainer.StartTraining(); var websiteUrl = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority); WidgetChannel.ServiceUrl = websiteUrl + "/BotService.aspx"; WidgetChannel.ResourceUrl = websiteUrl + "/BotResources"; }
- 第二步:验证前端Widget资源版本匹配,确保你站点下
/BotResources目录中的所有静态资源(js、css文件)都是对应Syn.Bot 4.6版本的官方资源,2.9版本的前端资源无法识别4.x版本响应结构中的Hint字段。 - 第三步:如果有自定义修改过Widget前端渲染代码,需要确认渲染逻辑中是否对Hint字段做了处理,默认的官方资源在开启ShowHint配置后会自动读取Hint值渲染提示按钮。
现有ProductDialog中的Hint赋值逻辑是正确的,不需要修改,按以上步骤调整后Hint即可正常显示。
内容的提问来源于stack exchange,提问作者Beginner
相关产品推荐
相关产品推荐

