let beginTime = 0;
let differTime = 0;
window.onunload = function () {
differTime = new Date().getTime() - beginTime;
if (differTime <= 5) {
console.log('浏览器关闭');
} else {
console.log('浏览器刷新');
}
};
window.onbeforeunload = function () {
beginTime = new Date().getTime();
};
问题背景
上半年最开始做的一版是展业大厅页面和互动白板页面(以下统称 web-view)分离,后面由于腾讯那边对交互方式不满意,强调一定要展业大厅页面和白板页面在同一个页面进行交互,最开始我们没有思路,因为在小程序官方中的描述,web-view 页面不允许叠加任何组件,后面是产品找到一个 demo,发现可以叠加,我这边去翻了下他们的源码(renderingMode: 'seperated'),最终解决了该问题,也就导致后面很多问题的产生。
现有问题
web-view 存在的情况
安卓更新组件不生效,比如 tab 切换,tab1 切换到 tab2 ,不生效,内容不会更新
安卓更新图片不生效
安卓更新样式不生效
cover-view 文字消失
按钮响应慢,机型性能低的手机比较明显
针对问题 2,目前的 hack 方案,先渲染一张透明的图片,然后再渲染其他图片,可以生效
企业微信自建应用
创建应用
进入企业微信,打开【应用管理】,在【自建】下选择【创建应用】
完善应用信息
在【可见范围】内【选择部门/成员】,建议选择全公司,后续可修改
获取密钥
配置应用属性
把可信任的域名配置下,申请校验文件,放入到域名的根目录,保证 Http 请求能访问该文件即可
配置聊天工具侧边栏
填写页面名称
填写页面内容,选择自定义,链接后面需要带上参数,corp_id 和 app_id
授权流程
构造网页授权链接
获取访问用户身份
FAQ
如何让 localhost 设置为可信域名?
当需要对域名进行校验,比如企业微信或微信公众号的一些可信域名配置,需要通过域名来访问,会非常有用。
编辑你的本地 hosts,是本地转发到指定域名,这里不要带端口号,如果有端口号,输入域名的时候,带上端口号。
127.0.0.1 order.downfu
前言
最近向公司申请了一台 2K 显示器,弄来之后,接上 MacBook Pro,结果,由于像素太高,导致整个屏幕都缩放,字体变的非常小,而且也没有达到 Retina 的效果。经查询,苹果需要开启 HiDPI 技术
HiDPI
本质上是用软件的方式实现单位面积内的高密度像素。用四个像素点来表现一个像素,因此能够更加清晰细腻
高 PPI(硬件) + HiDPI 渲染(软件) = 更细腻的显示效果(Retina)
<img width="640" alt="WechatIMG2168" src="https://user-images.githubusercontent.com/16217324/123499689-13fb1980-d66b-11eb-8f33-b473d58ef351.png">
获取外接显示器 DisplayVendorID 和 DisplayProductI
前言
Webpack 提供的 devServer 配置,使我们可以非常方便的设置请求代理目标,通过改配置,有时候可以帮我们解决本地环境的跨域问题。
正向代理
当拥有单独的 API 后端开发服务器并且希望在同一域上发送 API 请求时,代理某些 URL 可能会很有用。
webpack.dev.js
devServer: {
// ...
proxy: {
'/api2': {
target: 'http://192.168.10.183:8103',
changeOrigin: true
}
}
},
axios:
axios({
baseURL: '/api2/',
url: '/user/login',
method: 'GET'
})
配置 proxy,本