微信企业号开发遇到的bug
a. 微信嵌入视频:
a.1 视频元素播放时层级默认被顶置
a.1 视频播放后窗口无法通过css改变层级
a.2 视频播放后窗口无法通过css隐藏
解决方案:做个假的播放窗口,点击播放窗口(假的)后弹窗进行播放,关闭弹窗时删除真正的视频元素
b. 微信录音:
a.1 开启wx.startRecord()接口后touchend事件无法触发(touchstart->touchcancel, 我也不知道为什么,就是这么奇葩)
a.2 某些机型录音超时不会onVoiceRecordEnd方法
a.3 iphone的语音不兼容android
解决方案:
a.1 没有太完美的解决方案!按住录音是暂时无法实现的了,只能通过点击事件来实现录音功能了(例如:点击开启录音按钮(开始录音)->点击结束录音按钮(结束且生成录音))
a.2 通过设置定时器来监听录音是否超过60s
a.3 通过后台转码成MP3
c. 页面缓存:
a.1 当你快速重复的点击微信公众号的一个链接时,有时会出现跳转失败问题(页面无法跳转,微信页面缓存与跳转指向出现了问题)
解决方案:每个跳转链接加上时间戳参数
d. 微信滑动:
a.1 微信下滑版本提示会使页面滑动变得卡顿不流畅
解决方案:
document.addEventListener('touchmove',function(e){
e.stopPropagation();
},false)
e. 部分安卓系统不支持Object.assign方法:
e.1 自己写一个对象合并方法
解决方案:
function assignObject(o, n) {
for (var p in n) {
if (n.hasOwnProperty(p) && (!o.hasOwnProperty(p)))
o[p] = n[p];
}
}
f. ios上传图片无法预览,ios新版系统微信浏览器使用了WKwebview内核,因为安全问题不能直接使用localId预览图片
f.1 可以通过wx.getLocalImgData()获取base64字符串预览图片,但是android得到的base64字符有偏差,少了图片类型头标识
f.2 最终方法:ios系统使用wx.getLocalImgData()获取base64字符串实现图片预览,如果base64字符不带图片类型标识则使用localId实现图片预览 解决方案:
wx.checkJsApi({
jsApiList: ['getLocalImgData'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
success: function(res) {
// 以键值对的形式返回,可用的api值true,不可用为false
// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
if (res.checkResult.getLocalImgData) {
wx.getLocalImgData({
localId: localId, // 图片的localID
success: function(res) {
var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
if (localData.indexOf('data:image') == -1) {
localData = localId;
}
showImageContainer.find("img").prop('src', localData); //放入图片
}
});
} else {
showImageContainer.find("img").prop('src', localId); //放入图片
} }
});
g. 服务器使用https协议时,外链也需要使用https协议,否则ios系统不支持(android是支持的)
解决方法: 把外链的http协议转换成https协议(外链需要支持https协议)
H. wx.uploadImage不支持一次上传多张图片
解决方法:上传一张后再上传第二张......
I. ios系统vue单页面应用wx.config签名失败与jssdk分享接口配置无效
安卓系统单页面应用history模式下,切换路由需要使用当前的url重新生成配置信息(验证签名)重新调用wx.config接口。而ios系统则不需要,使用页面初始化的url生成配置信息wx.config只调用一次即可。
微信企业号开发遇到的bug的更多相关文章
- .net之微信企业号开发(三) 回调模式的接口开发
一.前言 微信企业号应用中,有两种模式,一种是普通模式,这种模式只能进行简单网页链接,以及发送固定的消息.为了可以让企业号的用户更好的与应用交互,微信提供了回调模式,这种回调模式的可以将用户发送给微信 ...
- .net之微信企业号开发(二) 企业号人员身份认证与开发
前言 这里完全可以链接一个登录页面,让用户输入用户名密码进行登录的...2333 但是,这样所就完全失去了微信企业号的意义,本来进入微信企业号的时候,就已经对人员身份进行认证了,你这里再让别人登录,不 ...
- .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
前言 一直以来,从事的是.net winform的编程,虽然对移动互联这块很感兴趣,但是由于现有的工作和移动互联之间隔的太远,也就没有时间和精力好好的去研究和实现.今年年初辞职了,刚好朋友那里希望建立 ...
- 微信企业号开发之-如何获取secret 序列号
最近有项目基于微信企业号开发,简单记录下如何查看企业号secert 工具/原料 微信企业号 方法/步骤 用管理员的帐号登录后,选择[设置]-[权限管理]进入管理组设置界面 在左边点击[ ...
- Force.com微信企业号开发系列(一) - 启用二次验证
微信于9月份推出企业号后引起了业界不小的反响,许多企业都在思索企业号将如何影响企业的运营,从本文开始,我将详细阐述微信企业号开发的相关知识,而本文将着重介绍如何实现更高安全机制的二次验证. 申请企业体 ...
- 微信企业号开发入门(回调模式)java
最近在开发微信企业号,刚接触时云里雾里的,在摸索过程中终于清晰了一点. 刚开始我以为订阅号.服务号.企业号的接口差不多,就一直用订阅号的教程来入门,后来才发现差的挺多的. 首先,微信企业号不像订阅号和 ...
- 微信企业号开发(1)WebAPI在回调模式中的URL验证
微信回调模式的官方文档. 开发语言:C#(微信相关功能代码可以从官网下载) 首先,必须要明确几个参数,这几个参数在微信企业号中,每次调用都会使用到. 1.msg_signature:签名(已加密,加密 ...
- 微信企业号开发:corpsecret究竟在哪块呢?
开发微信企业号,获取ACCESS_TOKEN是必须的,但怎样获取ACCESS_TOKEN呢? 获取access_token=ACCESS_TOKEN" style="text-de ...
- 基于Java spring框架的微信企业号开发中关于js-sdk的配置
在调用js-sdk的第一步,我们需要引入js-sdk的js链接,然后执行wx.config,官方示例如下所示: wx.config({ debug: true, // 开启调试模式,调用的所有api的 ...
随机推荐
- Quartz2D使用
使用Quartz2D前 先导入QuartzCore.framework //划线 //1.获取图形上下文 CGContextRef ctx=UIGraphicsGetCurrentContext() ...
- Redis系列(2)之数据类型
Redis系列(2)之数据类型 <Redis系列(1)之安装>中介绍了Redis支持以下几种数据类型,那么本节主要介绍学习下这几种数据类型的基本操作 字符串类型,string 散列类型,h ...
- 浅谈多核CPU、多线程、多进程
1.CPU发展趋势 核心数目依旧会越来越多,依据摩尔定律,由于单个核心性能提升有着严重的瓶颈问题,普通的桌面PC有望在2017年末2018年初达到24核心(或者16核32线程),我们如何来面对这突如其 ...
- SCALA常规练习C
package com.hengheng.scala abstract class Animal { def walk(speed : Int) def breathe() = { println(& ...
- 前端问题——png图片在IE6下透明失效,解决办法
今天,一位同事问我问题,png 图片在IE6下透明背景失效. 解决办法,在网上查了很多,最后还是采用两种方案来解决这个问题 1.把这个网页的png格式图片变更为gif格式的图片.问题解决 2.就是让这 ...
- HDOJ 1019 Least Common Multiple(最小公倍数问题)
Problem Description The least common multiple (LCM) of a set of positive integers is the smallest po ...
- Iterator荟萃
package com.starain.Iterator;/*代码整理快捷键为Ctrl+Shift+F * main方法输入快捷键main字符+Alt+/ * 输出快捷键sysout字符+Alt+/* ...
- SAE 搭建 WordPress
WordPress,是国外一款使用PHP语言开发的开源博客平台,用户可以在支持PHP和MySQL 数据库的服务器上架设自己的博客站点,也可以把 WordPress 当作一个内容管理系统(CMS)来使用 ...
- linux printk函数学习
printk与printf的区别在于: printk运行在kernel space,而printf运行在user space. 所以kernel打印log使用printk,而应用程序打印log使用pr ...
- ajax提交数据问题
加入traditional:true属性 traditional 类型:Boolean 如果你想要用传统的方式来序列化数据,那么就设置为 true.请参考工具分类下面的 jQuery.param 方法 ...