- wx.getSystemInfo返回safeArea,在真机和模拟器不一致?在iPhoneXr不对?
关于wx.getSystemInfo的返回值safeArea 【问题一】真机和模拟器数值不一致 这是iPhone Xr模拟器的数值: safeArea: { bottom: 896 height: 852 left: 0 right: 414 top: 44 width: 414 } 这是iPhone Xr真机的数值: safeArea: { bottom: 862 height: 818 left: 0 right: 414 top: 44 width: 414 } 建议参考客户端开发用的IDE的模拟器,模拟器的样式和各种数据都和真机保持一致,这不正是模拟器的作用吗? 不然模拟器上看到一个效果,真机上又是一个效果。这样模拟不了真实运行后的效果的模拟器,存在的意义是什么? 真机底部是有安全区的,模拟器上没有,那么开发的人怎么知道那个会影响到操作?这不就增加开发人员适配工作量了吗? 【问题二】真机数值没明白是怎么计算的? safeArea: { bottom: 862 height: 818 left: 0 right: 414 top: 44 width: 414 } 比如上面iPhone Xr的数值,看了API的说明。 top是“安全区域左上角的坐标”,但坐标是相对的,坐标原点是指哪里?屏幕的左上角?还是状态栏以下的左上角?还是状态栏+导航栏以下的左上角?iPhone设备和安卓设备是否一致?这些要说清楚。 另外这个height是818,这个怎么计算的?屏幕高度是896,减去top的44,减去底部的34,这样吗?安卓下又是怎样的? 【问题三】以下计算竖屏屏幕的有效高度是否正确? const {windowHeight, screenHeight, safeArea} = res; const {bottom} = safeArea || {}; const containerHeight = windowHeight - (screenHeight - bottom) 由于问题二的原因,我只能猜测这么计算出竖屏屏幕的有效高度,请问是否正确(包括iOS和android设备)?
2020-05-10 - OpenDataContext下wx.getUserInfo接口没有返回自己的 openId ?
环境:微信开发者工具 1.02.1910120 调用: 在子域调用以下方法 [代码]wx.getUserInfo({[代码] [代码] openIdList: [[代码][代码]'selfOpenId'[代码][代码]],[代码] success: userInfoRes => {} [代码]})[代码] 返回数据为: [代码]{[代码] avatarUrl: "https://wx.qlogo.cn/mmopen/vi_32/zPrayCW4wvykp7pn7QXZ9Ky3d31H22ZnZic0LVl6khqbw0NRUABtdHRq3pzYG4CoZ4e4a4y9p687O8UTENHjzjA/132", city: "Guangzhou", country: "China", gender: 1, language: "zh_CN", nickName: "Zack", openId: "selfOpenId", province: "Guangdong" [代码]}[代码] 此处返回的自己的 openId 的 value 是 “selfOpenId”,应该返回我的 openId 。
2019-12-02