评论

小程序之坑,持续更新

一个小程序开发者走过的坑坑洼洼

微信小程序两个view之间会有间隙<br />

解决代码:在该图片的.wxss里加一句display: flex;
若图片是通过wxParse解析的,则在wxParse.wxss中找到.wxParse-img,加上display: flex;
原理:盒模型不同造成的
默认设置为标准盒模型,box-sizing:content-box,即采用标准模式解析计算,盒子的总宽度/高度=width/height+padding+border+margin;我们css里设置的宽高值只包括最中心的content。
当设置为box-sizing:border-box时,将采用怪异模式解析计算,盒子设置的总宽度/高度,盒子总宽度/高度=width/height + margin;我们css里设置的宽高值已经包括了content+padding+border。
display: flex;的作用就是让图片的盒模型使用怪异模式。

ios虚拟支付

ios不支持虚拟商品支付
在寻找答案中。。。

小程序checkbox调整大小

.set_address checkbox{
  transform: scale(0.6,0.6);
  vertical-align: middle;
}

微信小程序中new Date()转换时间时间格式时IOS不兼容的问题

安卓手机开发手机和微信小程序编辑器测试都没有问题,唯独IOS获取的日期为不显示,原来IOS不识别2018-08-30这样的日期格式


let olddata = '2018-08-30 11:00:00';
olddata = olddata.replace(/-/g, '/');

微信小程序弹出自定义模态框,禁止底部页面滚动事件

解决问题:添加自定义的模态框后,在上面的模态框上滑动,底部的页面也会跟着滑动<br />

解决方案:只要在你的模态框上添加 catchtouchmove=‘true’

注意事项:小程序编辑器中的手机模拟器看不出效果,必须使用真机测试!!!

<view class='invitation' wx:if="{{is_invitation}}" catchtouchmove='true'>
  <view class='invitation-bg' catchtap='closeModel'></view>
  <view class='invitation-main' style='padding: 53rpx 30rpx;background: #fff;box-sizing:border-box;'>
    // 模态框主体内容
  </view>
</view>

微信小程序之生成小程序码如何在开发版本调试

经过服务端的配置生成了小程序二维码之后,每次用手机一扫小程序二维码都会跳到手机已经发布的小程序中

解决方法:
1.把生成的小程序二维码保存到电脑中,然后打开开发工具
2.将编辑模式换成通过二维码编译

微信小程序在input上放一个button点击问题

目标描述:
点击搜索发送请求

问题描述:
点击没反应

问题原因:
搜索按钮定位在input框之上, 当我们点击的时候,input框一直是获取焦点状态,无法执行 取消事件

解决方法:
给input设置padding-right 等于取消按钮的宽度即可

微信小程序解决新发布版本,但有时候版本认为旧版本数据

目标描述:
解决新发布版本,但有时候版本认为旧版本数据

问题描述:
有时候小程序明明发布了旧版本,却发现有时候数据是旧版本的,或者有些操作没改

问题原因:
小程序本地有缓存,导致数据或者重新写的操作会报错

解决方法:
在app.js中执行一个更新函数,代码如下:

// 用于检测版本更新
  is_update() {
    console.log('已经进入更新函数')
    // 获取微信版本
    const updateManager = wx.getUpdateManager()
    // 检查新版本
    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      console.log(res.hasUpdate)
      console.log(res)
    })
    // 检测是否微信更新成功
    console.log(updateManager)
    updateManager.onUpdateReady(function () {
      console.log('准备开始更新')
      wx.showToast({
        title: "新版本已经准备好,即将重启应用",
        icon: 'none'
      })
      // 0.5秒后重启应用
      setTimeout(() => {
        updateManager.applyUpdate()
      }, 1000)
    })

    updateManager.onUpdateFailed(function () {
      wx.showModal({
        title: '更新提示',
        content: '新版本下载失败',
        showCancel: false
      })
    })
  }

在app.js的生命周期onLaunch执行这个函数

最后一次编辑于  07-16  
点赞 5
收藏
评论

1 个评论

  • XBSS丶
    XBSS丶
    07-16

    您好,关于catchtouchmove问题,比如我的模态窗有个textarea,那么这个禁止事件会不会影像文本的上下换行?之前vue的就发生这种问题。

    07-16
    赞同
    回复 4
    • 平头
      平头
      07-16
      这个情况我倒没有遇到过,我暂时也没办法解释,也是慢慢在踩坑
      07-16
      回复
    • 平头
      平头
      07-16回复平头
      我感觉应该不会,上次好像有些到过,如果你遇到了确实有问题,当时候跟我说一下,我看一下,互相学习
      07-16
      回复
    • XBSS丶
      XBSS丶
      07-16
      好的,那先谢谢楼主了~
      07-16
      回复
    • 晨风墨竹
      晨风墨竹
      07-20
      你好,请教一下,我在页面能获取到formid值,但是一到wx.request里面就为空了,请问这是说明个情况呢
      07-20
      回复