第一个坑:wx.showModal(OBJECT)

wx.showModal在安卓手机里,如果点击遮罩的话会关闭弹窗,不会有任何回调。而苹果的情况下则是点击遮罩不会有任何反应。

这样会有什么问题呢?

比如我有一个A界面是登录后才能访问的,在进入A界面后如果发现并没有登录的话则会弹窗要求再次授权,这时取消返回首页,确定再次授权,授权后访问A界面。

那么问题来了,如果我点击了遮罩没有任何回调的话则停留在了一个白屏的A界面……

查了查官方有很多人有反应过这个安卓和苹果的区别。但是官方的回复是设计如此……所以只能遇到这种情况避开使用wx.showModal了。

第二个坑:wx.chooseImage(OBJECT)

这个API会打开相册或者拍照,然后生成缓存。这本身没毛病,但是这个操作会有触发onShow的BUG。如果onShow里设置了什么就会重新再调用一次非常坑。避开的方法怕是只能设置个flag了。

2018.1.3早上补充:本来想设置个flag在选择图片前标记true图片选择完后的complete或者fail或者success的回调中flag标记为false,结果在还没触发onShow的时候就直接给回调了。于是我用了setTimeout来延迟flag标记后成功避开了这个BUG。

2018.1.3晚上补充:wx.chooseImage调回的文件信息在安卓中可以设置为background-image来显示,但是苹果不行。推荐都用<image>标签来显示获取的图片。

第三个坑:wx.showToast(OBJECT)(2017.1.3补充)

在微信小程序官方文档里是这么描述image的

自定义图标的本地路径,image 的优先级高于 icon

在实际我用安卓测试的时候,icon的优先级高于image。
 
转载于: https://www.wikimoe.com/?post=71

2018微信小程序开发遇到的坑的更多相关文章

  1. 微信小程序开发常见之坑

    https://www.cnblogs.com/shunxing/articles/6971648.html input里的value会在浮层上面的,要解决这一问题还是很简单的,在小程序中input有 ...

  2. 微信小程序开发 (资料汇总,谁还没被坑过?希望助你绕过一些坑)

    最近帮人家做一个微信小程序,刚好想熟悉一下.由于牵扯到多用户使用系统,以及数据共享,所以自然架构选择了,客户端和服务器的方式. 后台服务器是windows server,后台程序是.Net  WebA ...

  3. 总结微信小程序开发中遇到的坑

    总结微信小程序开发中遇到的坑,一些坑你得一个一个的跳啊,/(ㄒoㄒ)/~~ 1,页面跳转和参数传递实例 首先说一下我遇到的需求有一个我的消息页面,里面的数据都是后端返回的,返回的数据大致如下,有一个是 ...

  4. 微信小程序开发常见坑

    前段时间稍微涉猎了微信小程序开发,踩了一些坑,在此总结出来,希望能为小伙伴们提供一点帮助. 页面跳转 对于页面跳转,可能习惯性想到wx.navigateTo,但是在跳转到目标页面是一个tab时,此接口 ...

  5. 微信小程序开发06-一个业务页面的完成

    前言 接上文:微信小程序开发05-日历组件的实现 github地址:https://github.com/yexiaochai/wxdemo 这里来说一说我们的理念,我们也学习小程序开发有一周多了,从 ...

  6. 微信小程序开发中的二三事之网易云信IMSDK DEMO

    本文由作者邹永胜授权网易云社区发布. 简介 为了更好的展示我们即时通讯SDK强悍的能力,网易云信IM SDK微信小程序DEMO的开发就提上了日程.用产品的话说就是: 云信 IM 小程序 SDK 的能力 ...

  7. 剖析简易计算器带你入门微信小程序开发

    写在前面,但是重点在后面 这是教程,也不是教程. 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCalc) 自从微 ...

  8. 微信小程序开发1

    关于微信小程序的开发.对于我们这些没学过oc或者android的人来说,无疑是一个令人鸡冻的好消息.这段时间研究了微信小程序开发.关于小程序的注册,认证和基础环境的搭建,官方文档已经非常详细了.这里就 ...

  9. 微信小程序开发《三》:微信小程序请求不能使用session的原因及解决办法

    本人在前面的微信小程序开发<二>中提到要想在服务端保持状态需要在客户端第一次请求服务器的时候给客户端返回一个sessionid,由客户端在本地保存,下次请求的时候在header里面带上这个 ...

随机推荐

  1. MVC简易分页(Razor)

    一.无数据提交    第一步,建立一个 Controller命名为PageIndex的空控制器,自定义一个方法如下:           public ActionResult PageIndex(s ...

  2. SPEL 表达式解析

    Spring Expression Language 解析器 SPEL解析过程 使用 ExpressionParser 基于 ParserContext 将字符串解析为 Expression, Exp ...

  3. 你的第一个Quartz程序

    package org.quartz.examples.example1; import java.util.Date; import org.slf4j.Logger; import org.slf ...

  4. CircleCI 前端自动部署

    概述 现在很多前端库都用到了 CircleCI 进行自动部署,比如Vue,React,作为一个前端我觉得还是有必要实操一下 CircleCI 的,总体来说还是挺简单的,我把过程和体会记录下来,供以后开 ...

  5. 阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_2 回顾自定义mybatis的流程分析

  6. 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第1节 基本概念_01maven概述

  7. mysql explain中的列

    参考:<高性能mysql>附录D EXPLAIN MySql将Select查询分为简单和复杂类型,复杂类型分为3大类:简单子查询,所谓的派生表(在派生表的子查询),以及UNION查询. 列 ...

  8. angulart 常用

    angular: 使用 echarts npm install echarts --save // 安装declare const echarts: any; // 引入https://www.ech ...

  9. 第八周作业总结&第六次实验报告

    实验六 Java异常 实验目的 理解异常的基本概念: 掌握异常处理方法及熟悉常见异常的捕获方法. 实验要求 练习捕获异常.声明异常.抛出异常的方法.熟悉try和catch子句的使用. 掌握自定义异常类 ...

  10. mysql(5.6及以下)解析json

    转自:https://blog.csdn.net/weixin_33979203/article/details/87621768 #json解析函数 DELIMITER $$ DROP FUNCTI ...