- 微信小程序中的日期格式在Android和iOS真机下兼容性问题的坑
问题提出 Android和iOS在日期格式上的处理方式有所不同,这个不同也影响到小程序的相关日期时间函数,最常用的应该是new Date()了。如下代码: date=new Date(‘2020-01-16 22:00:00’).getTime(); 上面这行代码在Android和开发者工具(windows/mac)以及开发者工具的真机调试模式(iOS/Android)都不会有问题,但是一上到体验版或者正式版的iOS上手机你获取到的数据就不是你想要的值了! 原因分析 因为iOS只支持2020/01/01 这种日期格式,不支持2020-01-01这样的格式,而现在很多后端处理日期的格式是2020-01-01,发送过来的,或者自己小程序前端生成的也是这种格式,new Date()就会出现兼容性问题。 解决方法 直接替换大法吧,把-换成/,封装成一个自己的方法来new Date()吧。具体代码不用我写你也会的。 总结 这个问题前天一个社区的朋友发了一个相关的帖子,最后查实就是这个原因导致。但是解决这个问题的过程花费了太多时间。因为这个问题很难查出问题所在,因为他在开发者工具和安卓机,以及开发者工具的「真机调试」模式下都不会出现,隐藏得很深。
2020-01-16 - H5免鉴权跳转小程序常见问题解答
看到很多开发者在H5免鉴权跳转小程序这处于懵逼状态!!!! 我下边解释一下什么叫免鉴权????? 下方是官方文档内对免鉴权跳转能力的解释 [图片] 注意第二段话 静态网站网页在微信客户端打开时 也就相当于什么,相当于在微信中打开这个开放按钮时候才会免鉴权,此时是通过什么跳转的呢 没错是通过上边代码中 username="小程序原始账号 ID(gh_ 开头的)" path="要跳转到的页面路径" 此时根据这两个参数跳转的,此时和云函数半毛钱关系没得!!!! 此时相当于什么 相当与小程序内的 wx.navigateToMiniProgram(Object object) 此时你想说我就想单纯实现微信内H5的跳转,且想在路径传参怎么解决??? js获取静态网站url后的参数,原生js去替换username与path的值呀 let launchBtn = document.getElementById('launch-btn') launchBtn.setAttribute("path", "XXXXXXXXXX"); //HTML 属性 launchBtn.setAttribute("username", "XXXXXXXXXX"); //HTML 属性 在微信以外的渠道中都需要走云函数去请求拿到 openlink 或自建网站鉴权调用接口获取openlink 那些发帖想在小程序A云函数跳转B小程序的别想了不可以 在uniapp里腾讯云函数搞的也别想了,那边没有内置小程序的sdk,调用不动云函数的 乖乖去云开发里上传静态网站,并打开允许访问,云函数打开未登录允许调用 或者自建网站鉴权获取 下边发一条我自己开发的H5跳小程序链接,你们可以去测试 https://u.imvp.top/?s=jlqwyBFN ——本链接由微信小程序【链接工具】生成 [图片] 看到这里有人问我,我这个链接后边的参数是干什么的?这个参数是控制跳转哪一篇文章的加密id。 在任何情况下访问网站我都会去解析真实对应的文章链接是什么? 微信内我会将真实链接拼接在wx-open-launch-weapp属性内 if(res.result.url){ launchBtn.setAttribute("path", `/pages/basics/web_view.html?url=${encodeURIComponent(res.result.url)}`); //HTML 属性 } [图片] 此时文章链接已经拼接在属性path上了。微信内点击也会跳转到指定位置, 非微信内我会拿到openlink 重定向Url唤醒微信,实现外链跳转。 云函数端代码同样采用了官方示例代码,增加了openlink 入库绑定对应文章链接与加密参数,免得多次生成浪费! 2021年1月26日补充 因为目前URL Scheme进入小程序仅可进入正式版本,无法进入测试版,自己在开发时候专门做了参数埋点,上次测试后才二次对接参数提版,为此我将参数格式说明一下 //小程序端首页onLoad onLoad(options) { if(options.s=='u'){ //openlink解析后的参数标志位 uni.navigateTo({ url:`/pages/basics/web_view?id=${options.id}` }) } } //云函数端,生成openlink const result = await cloud.openapi.urlscheme.generate({ jumpWxa: { path: `/pages/index/index`, // 替换自己的url路径 query: id?'s=u&id='+id:'', // s=u 作为我自己的参数标志位 }, // 如果想不过期则置为 false,并可以存到数据库 isExpire: false, // 一分钟有效期 expireTime: parseInt(Date.now() / 1000 + 60), }) //存储跳转链接 saveOpenlink(id,result.openlink) return { ...result, //urlscheme返回的所有参数 主要使用result.openlink s:id, //加密文章ID url:articleData.data.url //文章链接 } //html端 供小程序环境访问跳转使用 let launchBtn = document.getElementById('launch-btn') launchBtn.setAttribute("path", `/pages/basics/web_view.html?url=${encodeURIComponent(res.result.url)}`); //HTML 属性
2021-01-26 - 谈谈抽奖小程序引流那些事
谈谈抽奖小程序引流那些事 ~ 前天微信8.0发布了,对抽奖类小程序而言无疑是影响很大的一个版本,因为对抽奖引流最重要的方式被禁用了,那就是小程序内嵌公众号文章,长按二维码不能识别了 这其中的二维码包括个人微信二维码、视频号二维码,微信群二维码,其中公众号二维码和企业微信号二维码不受限制(企业微信号二维码待验证,未求证) 其实这个时候我一直有个疑问,因为对于几个头部抽奖小程序,我印象很深刻的是,在之前这种引流方式都是通过客服消息来完成的,为什么后面变成了公众号文章来完成,这个疑问在昨天我跟某头部抽奖小程序的相关人员交流才明白,原来最初的时候通过客服消息引流是因为当时并不支持小程序内嵌公众号文章长按识别二维码,所以客服消息是最优路线 后面随着某版本微信策略调整,是允许小程序内嵌公众号文章内长按识别二维码,但是随着微信8.0的发布,这个策略又被收紧了,具体见下图官方回复 [图片] ~ 那么现在,部分支持小程序内嵌公众号文章长按识别,比如公众号,而其他微信群以及微信个人二维码不支持的情况下,是不是对于头部抽奖小程序,要支持两种方式的引流方式 客服消息来支持 微信个人二维码、视频号 内嵌公众号文章 支持 公众号 我们拭目以待 备注: 毫无疑问的是,通过小程序内嵌公众号文章来完成引流是最高效的,其次才是客服消息
2021-01-24 - 小程序诱导分享封号警钟长鸣
小程序诱导分享封号警钟长鸣 [图片] ~ 在平时的小程序 开发中,身边朋友由于小程序诱导分享被封号的例子屡见不鲜,那么有哪些行为存在这样的风险? [图片] 本篇文章通过相关案例场景来分析下这个问题 ~ 1、诱导关注公众号,比如抽奖助手和活动抽奖,在抽奖活动中,将关注公众号作为抽奖的前置必备条件 2 参考帖子 针对腾讯官方小程序在诱导关注或诱导分享方面的经验探讨?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/000426a9b98bc89960ab8432151000 初次运营小程序不到一周,没有强制性的诱导分享却被封了,怎么办?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/000866ff7c09e82a68aba62515d000 官方文档 如何区分诱导分享类信息?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/0004c4a3da87c0d8b90a0712754c09 滥用分享违规案例集锦? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/000086404ac470274a1acc2a851809
2021-02-03 - 这文档是敌特派来的人写的吗?目的就是为了整死我们搬砖工吗?
事情是这样的。 我司一小破程序,打开时类似这样,显示一个logo,一个标题 [图片] 经过一个2秒的动画效果,logo和标题就移动到上面部分了,同时渐显出来一个loading组件,这些都是使用小程序的Animation API实现的。 [图片] [图片] 现在需求来了。 我们想在首屏渲染后。在图标往上移的动画执行周期中,将背景色缓慢从蓝色变为白色。 (别问为什么要变背景色,我们准备待会加完班拿上弹弓组团去打设计师家玻璃了) [图片] 有朋友会说了,这不是很简单嘛,弄个定时器去替换class不就行了? 我只想说,no no no。朋友,我们搬砖就要有搬砖的样子嘛。 什么时间搬,搬多少,什么时间停,都要严谨嘛。 天真的我,想当然的就拍着胸脯向BOSS表示小意思啦。 [图片] naive的我心里想着 肯定会有动画执行开始和结束一个callback接口的嘛 然鹅,、翻遍了小程序文档里关于动画的各个段落之后才发现 [图片] 神马?? 我不信!一定是我的眼刚刚瞎了,我要再看一遍。 [图片] [图片] [图片] [图片] [图片] PS 看,多么言简意赅的文档! 在看多了外面那些"妖艳贱货"的文档后,如此小清新的文档,还真让我这老司机虎躯一震。 // TODO 我当即在心里暗暗发誓,我一定要强烈建议我司将此文档规范引进并在我司大范围实践,太他【文明用语】高效了。 END PS 在我不懈的努力下 在某毒找到了一篇关于动画重置的实例 [图片] [图片] 哦也,三七三十一,一定是我聋了才没看见这么大个接口 同事心里还在做自我批判,怎么能轻易的就甩锅给腾讯爸爸。 祭出我的Ctrl+F大法 [图片] 果然。还是我太天真。竟然没有搜到 0/0? 在经过了一番苦苦的某毒搜索之后,猛然意识到,或许是我姿势不对? [图片] 谢天谢地,博客园诚不我欺。确实有这个东东。 我默默的打开了唯一的一条搜索结果学习了起来。你猜怎么着? [图片] 我发现了腾讯爸爸藏起来的彩蛋。 哇,没想到小程序团队这么调皮。 在动画相关的所有文档里,竟然半个字都没提有这几个事件。保密工作做的很到位。表扬。5星好评。 [图片] 根据文档,照猫画虎。 [图片] [图片] 控制台没有任何反应 [图片] 一定是我姿势不对,我换换姿势。 [图片] [图片] 一顿操作猛如虎,然鹅发现并没有什么卵用。 [图片] [图片] [图片] 我盯着这条说明,默默的给自己点上了一根烟后陷入了痛苦的沉思。 期间我尝试了各种姿势,都没有找到关于WXSS animation到底是个什么鬼。 我只知道有Animation这个动画API。或许他俩是一个东西? 但是为什么Animation里没有关于它的只言片语? [图片] 既然Animation里没有写,肯定是另外一套体系吧? 灵光一闪, oh no,别又是腾讯爸爸调皮了把文档藏起来了吧。 [图片] [图片] 经过地毯式的搜索及换遍了各种姿势想要跟我的小程序互动一把后。 [图片] [图片] [图片] 我选择死亡。 [图片] [图片] 我想起那天夕阳下调的微信小程序,那是我逝去的青春。。。 IDE: v1.02.1901230 Library: 2.4.2
2019-01-28 - 小程序模板消息能力调整通知
小程序模板消息能力在帮助小程序实现服务闭环的同时,也存在一些问题,如: 1. 部分开发者在用户无预期或未进行服务的情况下发送与用户无关的消息,对用户产生了骚扰; 2. 模板消息需在用户访问小程序后的 7 天内下发,不能满足部分业务的时间要求。 为提升小程序模板消息能力的使用体验,我们对模板消息的下发条件进行了调整,由用户自主订阅所需消息。 一次性订阅消息 一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。 [图片] (一次性订阅示例) 长期性订阅消息 一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息。 目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务。 调整计划 小程序订阅消息接口上线后,原先的模板消息接口将停止使用,详情如下: 1. 开发者可登录小程序管理后台开启订阅消息功能,接口开发可参考文档:《小程序订阅消息》 2. 开发者使用订阅消息能力时,需遵循运营规范,不可用奖励或其它形式强制用户订阅,不可下发与用户预期不符或违反国家法律法规的内容。具体可参考文档:《小程序订阅消息接口运营规范》 3. 原有的小程序模板消息接口将于 2020 年 1 月 10 日下线,届时将无法使用此接口发送模板消息,请各位开发者注意及时调整接口。 微信团队 2019.10.12
2019-10-13 - 该小程序可能导致微信响应变慢被终止
从搜索列表中点击小程序提示“该小程序可能导致微信响应变慢被终止”,想知道是什么原因造成这样的提示,有没有解决方案 小程序名称:安吉旅游攻略
2018-01-23 - 小程序bug[2]ios下拉刷新不显示动画
下拉刷新在最外层控件设置 position: fixed; 时,ios不显示下拉刷新动画 System:iPhone,iOS 11.3, WeChat 6.7.0
2018-07-24 - 每周社区 | 上周社区问题反馈以及功能优化更新
各位微信开发者: 大家下午好。从本周开始,我们每周收到的 问题反馈、处理进度、社区功能更新 将以公告形式同步给大家,希望和大家一同打造小程序的生态。 一、上周问题反馈和处理进度(06.25-06.29) (一)修复中的问题: 关于微信小程序设置过多监听事件后报错 查看反馈 @font-face引入新字体,仅在IOS下且为外部字体时生效。查看反馈 查看反馈 cover-view 出现 background 无法覆盖 padding 区域 查看详情 iOS下,切换input组件,键盘会重新推出且位置计算有误 查看详情 意见反馈日志读写太频繁 查看详情 安卓全屏模式下,web-view没有占满屏幕,底部有部分留白 查看详情 工具中showToast icon='none'时无法触摸穿透 查看详情 iOS页面中多个video标签,其中一个全屏退出后video展示异常 查看详情 安卓光标移动后无法移回最后 查看详情 chooseLocation 工具上偶现只返回了经纬度 查看详情 开发工具将窗体独立之后,页面刷新/切换后不渲染 查看详情 wx.pageScrollTo导致fixed元素闪动 查看详情 小程序插件页面无法配置导航栏样式 查看详情 工具上分包预下载接口分包大小计算有误 查看详情 setBackgroundColor报无权限 接口上线后未放开权限位 查看详情 工具全局查找的查找范围不包含wxs文件 查看详情 iOS下 textarea的padding无法置0 查看详情 (二)修复完成,待客户端版本上线 安卓textarea adjust-position 设置失效 查看详情 statusBarHeight安卓返回0 查看详情 安卓text长按复制失效 查看详情 (三)已修复的问题 touch事件手机上timestamp位置不一致 查看详情 (四)需求反馈 webview 业务域名 优化 查看详情 支持自定义下拉刷新圆点的位置 查看详情 开发工具素材管理支持svg 查看详情 待讨论评估支持需求: 提供微信版本和公共库版本的对应关系数据,其他类似反馈 查看详情 uploadFile支持多文件上传 查看详情 (二)近期社区能力更新 我们在社区收到了大家希望增加”关注问题“、”收藏“帖子和通知消息回答定位的需求,近期已新增优化如下能力: 1. 增加“关注问题”的能力,关注有消息变动,会收到消息通知 2. 所有帖子新增“收藏”功能 3. 在个人主页上有所体现关注和收藏功能 4. 优化消息通知回答定位 [图片] [图片] 三、《诚邀开发者共同营造社区》的反馈 1.关于社区的官方回答 我们每天都有安排相关的同学值班回复处理大家的问题。 但是我们希望通过这些改造,促进开发者们之间的交流, 问题和回答在大家思维碰撞中产生火花。而bug和需求类,由我们来处理。 [图片] 2.关于通知中心的反馈 已优化上线该问题,可以具体定位到该问题的回答、该帖子的评论。 [图片] 3.关于已知问题 关于已知问题,大家可以关注社区“已知问题”模块,看我们的已知问题和相关修复。 [图片] 4.关于社区的评论bug 大家反馈符号超过了编辑框,帮助我们发现了一个bug,我们已经修复了这个问题。谢谢大家的反馈。 [图片] 5.关于交流群 我们希望所有的交流可以在社区完成,方便更多的开发者看见这类问题。 [图片] 感谢大家的反馈,也希望大家和我们一起共同营造社区的良好氛围。 微信团队 2018.07.03
2018-07-03 - 微信小程序Api提示6.3.30版本存在一个bug
微信小程序是在微信6.5.3之后上线的功能,但是在https://developers.weixin.qq.com/miniprogram/dev/api/api-react.html#wxshowactionsheetobject最下方写内容,android系统并不存在6.3.30版本,微信有6.3.30版本,但是这个版本应该还没有小程序的工能才对。是哪边信息有误
2018-07-12