我们的应用是基于vue3 + vite + ant design
问题1
遇到的第一个问题是在企业微信 windows 端无法使用,看ua发现 企业微信工作台的chrome内核版本是53,所以要做polyfill兼容
解决方案1
是引入plugin-legacy 插件,并且要兼容ie11的方式
legacy({
targets: ['ie >= 11'],
additionalLegacyPolyfills: ['regenerator-runtime/runtime']
})
问题2
ant design 的所有浮层定位出现了问题,原因是ant design 用了 resize observer(2.2.6 版本已修复),需要手动在入口文件 指定polyfill
解决方案2
引入 @juggle/resize-observer ,参考链接 https://www.5axxw.com/wiki/content/pvgkr4
(async () => {
if ('ResizeObserver' in window === false) {
const module = await import('@juggle/resize-observer');
window.ResizeObserver = module.ResizeObserver;
}
})();
问题3
所有阴影效果失效,原因是vite 新版本对 css的压缩导致的 看这里 https://github.com/vitejs/vite/pull/4658
解决方案3
vite暂时锁定版本到2.4.4即可
后续再有问题,持续更新,目前运行正常
问题4
最近突然发现 chrome 内核 升级到91了,然后通讯录组件显示异常,不知道是该笑还是该哭。
解决方案4
wwopendata 的绑定放到了组件中,所以页面中多个组件的话 会频繁的调用bind方法,在老的内核上 没有问题,新的内核上这样写就会偶发不显示的问题,所以,新的内核上,只需要全局bind一次就好了
问题5
mac版本的企业微信,如果用到了iframe,则iframe内的wx对象,没有 agentConfig,暂时无解
windows下企业微信内核升级到91了?