美文网首页
小程序踩坑

小程序踩坑

作者: LeoMelody | 来源:发表于2019-04-03 16:52 被阅读0次

主要内容

记录小程序开发中碰到的问题以及解决方案

CSS部分

解决小程序按钮border无法清除问题

小程序按钮 button组件设置border: none;没有效果,需要设置按钮的after 伪类的border为none:

.btn:after {
  border: none;
}

JS部分

解决小程序Promise finally报错

首先可以在小程序的控制台上打印一下Promise.prototype.finally

image.png

undefined,那报错是必然的。

解决方法也是比较简单粗暴,就是在Promise的原型对象上手动写上finally这个方法:

function handlePromiseFinally() {
  // 如果有就不用再自己手动添加了 
  if (!Promise.prototype.finally || typeof Promise.prototype.finally !== 'function') {
    Promise.prototype.finally = function(callback) {
      return this.then(
        value => this.constructor.resolve(callback()).then(() => value),
        reason => this.constructor.resolve(callback()).then(() => {
          throw reason
        })
      )
    }
  }
}

解决小程序不支持async await 问题

小程序默认是支持ES6语法的,但是是不支持ES7中的async await这个开发利器的。要解决这个问题,需要引入一个pollyfill库 regenerator-runtime.js

在需要使用async await 的地方 定义常量 regeneratorRuntime

比如这样即可

import regeneratorRuntime from './utils/runtime.js'

解决小程序按钮授权信息和login得到的code无法匹配的问题

首先这个问题的根源是在获取授权信息时,小程序的登录态还未刷新,但偏偏等到login在获取code的时候就刷新了,这时候授权按钮拿到的info就和login得到的code无法匹配。

而用户什么时候点按钮我们又是不知道的(不确定的),所以,解决方法就是保证code和授权的info必须是一个登录态下的。这一块如果不理解请好好阅读官方文档

简易版:
在用户点击授权按钮拿到info后,根据登录态有五分钟失效这个特性,先去调用wx.login接口强制刷新登录态和拿到code,然后再去调用wx.getUserInfo接口拿info(由于以及点击授权,此时可调用),即可保证info和code匹配。

商务版:

  • 进入授权页面,调用wx.login 获取code并缓存
  • 用户点击授权按钮,拿到info,通过wx.checkSession校验code是否失效,若没有失效则用此info与code
  • 失效,调用wx.login刷新登录态并覆盖缓存中的code,调用wx.getUserInfo接口获取info
  • 问题解决

其他

持续更新。。。

相关文章

  • 小程序资源

    小程序webview踩坑小程序图片转二进制微信基础库对应关系

  • 小程序踩坑

    1.不能在wxss文件background属性中引用本地图片文件2.text标签类似span这种行内标签,不能设置...

  • 小程序踩坑

    开发者开发不同账号的小程序。填写appID,微信根据不同的appID判断该小程序属于哪个账号。 修改数据后不自动渲...

  • 小程序踩坑

    wss图片获取:image.png 2.page.json设置:每一个小程序页面也可以使用.json文件来对本页面...

  • 小程序踩坑

    主要内容 记录小程序开发中碰到的问题以及解决方案 CSS部分 解决小程序按钮border无法清除问题 小程序按钮 ...

  • 我的前端笔记

    目录 react 小程序 vue typescript 经验(踩坑) react useMemo 和 useCal...

  • 【教程】微信小程序入门

    微信小程序入门基础知识 Moustache:我的微信小程序入门踩坑之旅 github精选:微信小程序入门简要教程 ...

  • 开发微信小程序分页功能的坑

    微信小程序开发分页的坑 微信小程序开发中list列表经常要进行分页处理,踩坑在所难免。 app.json wxml...

  • 微信小程序BLE踩坑记录

    小程序BLE踩坑记录 前往官方文档 项目描述 手机小程序通过BLE向android设备发送WIFI名称/密码等信息...

  • 小程序踩坑记录

    小程序踩坑记录 最近做小程序比较多,就在此记录下平时遇到的问题。。。工作快三年了也没怎么记过笔记,希望能坚持下去吧...

网友评论

      本文标题:小程序踩坑

      本文链接:https://www.haomeiwen.com/subject/agbzbqtx.html