OneTalk:默认路径 js/onetalk.js 下载
动态加载:
OneTalk发布库:window._ot_release,默认路径 js/onetalk.rel.js 下载
jQuery:window._ot_jquery,默认路径 js/jquery.min.js 下载
jQuery.json:window._ot_jquery_json,默认路径 js/jquery.json.min.js 下载
UI容器:window._ot_container,默认路径 js/container.js 下载
OneTalk开发库:window._ot_develop,默认路径 js/onetalk.dev.js 下载
DingTalk适配库:window._ot_dingtalk,默认路径 js/onetalk.dt.js 下载
DingTalk桥接库:window._ot_dingtalk_wv,默认路径 js/web-view.js 下载
WeiXin适配库:window._ot_weixin,默认路径 js/onetalk.wx.js 下载
iPhone适配库:window._ot_iphone,默认路径 js/onetalk.ip.js 下载
鸿蒙适配库:window._ot_hms,默认路径 js/onetalk.hms.js 下载
专有钉钉适配库:window._ot_dg,*默认路径 js/onetalk.dg.js 下载
企业微信适配库:window._ot_qy,*默认路径 js/onetalk.qy.js 下载
京办适配库:window._ot_jzb,*默认路径 js/onetalk.jzb.js 下载
协作白板适配库(废弃):window._ot_wb,*默认路径 js/onetalk.wb.js 下载
政务微信适配库(废弃):window._ot_mp,*默认路径 js/onetalk.mp.js 下载
桌面版适配库:window._ot_pc,*默认路径 js/onetalk.pc.js 下载
融合指挥终端适配库:window._ot_rz,*默认路径 js/onetalk.rz.js 下载
水印工具:window._ot_watermark,*默认路径 js/watermark.js 下载
兼容主库:window._ot_suite_compat,*默认路径 js/suite.compat.js 下载
身份和访问管理:window._ot_suite_iam,*默认路径 js/suite.iam.js 下载
鸿蒙身份和访问管理:window._ot_suite_iam_hms,*默认路径 js/suite.iam.hms.js 下载
业务接口插件:window._ot_biz,*默认路径 js/onetalk.biz.js 下载
注意事项:
1、您只需要在页面引入OneTalk的脚本(onetalk.js),其它依赖会根据所在环境动态加载。
2、您可以查看OneTalk发布库的脚本(onetalk.rel.js),里面包含全部接口的调用说明。
演示代码(下载脚本,已废弃):
以上脚本需要全部放到目标服务器,且不能压缩在一起。每个脚本都能通过链接独立下载。若脚本不在默认路径(跟引入脚本同级目录),则需要配置对应路径的全局变量。这个功能从2022.05.24号版本开始废弃。
演示代码(在线脚本,推荐):
若需要改变在线脚本基础路径,可以在引入脚本前,配置“window._ot_modules_base”全局变量或者使用其它路径下的脚本。例如:
以上改变在线脚本基础路径方式,等价于配置全局变量:
引用说明:
您可以点击上面链接,打开代码编辑器,查看源码内容。在编辑器里面,同时按下“Alt-H”可以查看更多帮助信息。该编辑器提供简单的代码编辑和查看功能。目前支持的文件类型:HTML Javascript CSS JSON Shell。
您可以点击“下载”按钮,打开源文件。该地址也是可以直接在线引用的地址。若您不想下载全部脚本到您的服务器,可以使用“下载”的链接地址作为引用地址。
以上“默认路径”前面携带*号的脚本,默认引用在线地址。您不用下载这些脚本到本地并配置新路径。为了统一脚本资源和减少配置选项,后续也将以在线地址为主。在线依赖配置方式可参考这个页面(查看源码)开发。
页面引入OneTalk的脚本(onetalk.js)后,其实不会执行加载和初始逻辑,而是需要您手动启动初始逻辑。框架的初始接口是$c.init。执行初始接口后,其它依赖会按需加载,并在全部依赖准备完毕后,触发成功回调。
演示代码:
若您在服务器放置的依赖脚本不是在默认路径(跟引入脚本同级目录),则需要您引入脚本前初始相关全局变量。变量名请参考以上说明。这个功能从2022.05.24号版本开始废弃。
若您项目不是静态引入OneTalk的脚本(onetalk.js),则需要动态配置。动态配置后,需要启动自动初始逻辑。这时,初始的成功回调需要配置到全局变量。注意,初始回调在OneTalk的脚本(onetalk.js)加载后就会注册,之后再配置也无法生效!若您无法决定这个回调时机,请再权衡其它适配方案。若是一些手动触发的接口,一般接口已经加载完毕,这时可以忽略检测(虽然小概率存在脚本准备晚于点击)。若是页面加载后立即执行的接口,大部分浏览器内核能够保证全部依赖加载后才触发结束回调,但并不能保证完全正确!所以,这部分代码为了安全,建议增加window.OneTalk存在判断。
框架对返回键的历史记录有特殊控制。在严格模式下(默认),只有页面刷新才会加入历史。若页面只是刷新锚点,则不会记录访问历史。这时点击返回键也无法返回上一个锚点。若您不想对历史记录进行特殊处理,可以关闭严格模式。您可以配置“window._ot_strict_back_count”全局变量,框架初始后会直接关闭严格模式。也可以在框架初始后,调用“OneTalk.lockTitleBack(strict)”关闭严格模式。关闭严格模式的参数,可以选择一个较大数值,例如1000。该数值可以间接让返回计数器无效,从而达到关闭严格模式的作用。这个功能从2022.08.26号版本开始默认关闭严格模式。
默认iPhone支持滑动返回。若页面需要全方位触摸事件,例如地图,则需要调用“window.$w.setSmoothEventFlag(false)”接口关闭滑动返回功能。您也可以配置“window._ot_disable_smooth=true”全局变量,框架初始后会直接关闭滑动返回。注意,该接口只有iPhone支持,若想调用该接口,则需要检查接口是否存在!若是配置全局变量,则框架会自动检测,不会影响其它功能(推荐使用该方式)。这个功能从2019.11.29号版本开始支持。
演示代码:
成功回调:
若需要对特定适配环境进行处理,可以使用以下变量作为判断依据:
window._ot_fit_develop:开发环境
window._ot_fit_dingtalk:钉钉小程序
window._ot_fit_weixin:微信小程序
window._ot_fit_dg:专有钉钉
window._ot_fit_qy:企业微信
window._ot_fit_jzb:京办
window._ot_fit_mp:政务微信(废弃)
window._ot_fit_wb:协作白板(废弃)
window._ot_fit_pc:桌面版
window._ot_fit_rz:融合指挥终端
window._ot_fit_iphone:苹果环境
window._ot_fit_hms:鸿蒙环境
window.CoreView:安卓环境
默认点击标题栏的返回按钮,会关闭页面。默认点击返回键,会返回上一级历史记录,直到没有更多历史时关闭页面。若您想对这些逻辑进行定制,需要自己维护返回键的处理栈。若您锁定标题栏的返回按钮,则标题栏的点击事件都会转化成返回键事件。通过$c.open接口可以加入返回键拦截,通过$c.close接口可以移除返回键拦截。以上接口的功能遵循标准的入栈和出栈操作。例如,打开一个子页面,执行入栈,关闭一个子页面,执行出栈(可配置事件执行后,自动出栈)。
演示代码:
页面在开发过程中,推荐把变量定义在函数内(局部变量),或者使用唯一的全局变量来统一暴露的接口和属性。页面(包括引用的组件)定义的全局变量可能跟框架的全局变量冲突,而这会导致脚本运行异常。例如,uni-h5全局函数getApp()跟框架的一个函数重名。若页面的函数优先添加,则框架会覆盖掉已有的函数,这就导致页面运行错误。若无法改变这些冲突的全局变量,可用使用以下方式来避免覆盖。
演示代码:
页面可以使用标准的“visibilitychange”事件监听窗口可见和不可见的状态。一般,应用退到后台,窗口状态切换为不可见,回到前台,窗口状态切换为可见。对于添加在首页的网页组件,应用还会触发特殊回调“onWidgetActive”。只要包含该组件的首页标签显示,该回调就会触发。页面可以根据实际需求,在相关事件或回调里面控制刷新逻辑。另外,窗口的可见事件在一些框架,例如vue里面也有定义,可以直接使用。
演示代码: