微信小程序问题记录

微信小程序问题记录
 最后更新于 2024年10月02日 07:10:58

不支持Promise

问题: 在 iOS 10 的系统中,测试版体验版 的微信小程序不支持 Promise 函数,出现 Promise == null 的情况

官方日志 0.11.112200 中有

F:修复 同客户端保持一致,移除 Promise,开发者需要自行引入兼容库 官方建议引入Promise库

这种转换只会帮助开发处理语法上问题,新的 ES6 的API如Promise等需要开发者自行引入 Polyfill 或者别的类库。 解决:

引用外部 js 到项目中,解决兼容性情况 使用 es6-promise 中的 es6-promise-min 6.17 KB (2.4 KB gzipped) 压缩版本。 下载后存放到项目目录中,在需要用到 Promise 函数时引入

import Promise from './es6-promise'

关于 es6-promise 的详细描述


iPhone X 底部 tab 与小白条重叠

现象: iPhone X 设备中底部 Tab 会与 Home Indicator 横条(俗称 小白条 )重叠,这样在点击下方按钮时很容易误触发手势操作。

解决: 第一步:在 App.js 中获取设备信息

wx.getSystemInfo({
  success: function(res) {
    // res.model 包含设备信息,注意模拟器与真机环境中信息不一致
  }
});

第二步: 在 页面wxml

// home.js
let app = getApp();
Page({
 data: {
   isIpx: app.globalData.isIpx ? true : false
 }
});

<!-- home.wxml -->
<view class="button-group {{ isIpx ? 'fix-iphonex-button' : '' }}">
  吸底按钮区域
</view>

/* home.wxss */
.fix-iphonex-button {
  bottom: 68rpx !important;
}
.fix-iphonex-button::after {
  content: '';
  width: 100%;
  height: 68rpx;
  background-color: #fff;
  position: fixed;
  bottom: 0;
}

因为 iPhone X 的屏幕宽度和 iPhone 6 一样,都是 375 pt,但高度要比 iPhone 6 高了 145 pt。小程序中 750 rpx = 375 pt = 750 物理像素,换算即可。