微信小程序

分类下相关文章

微信小程序提示“XXX 读取了你的剪切板内容”

今天早上同事发现在小米手机 MIUI 11 系统上,打开公司的微信小程序,在来回切换 APP 时,会提示 XXX 读取了你的剪切板内容 非常诡异。因为这个微信小程序没有任何地方用到读取剪切板的操作。 同时发现苹果手机 iOS 14 上也会有同样的提示。 这个体验非常不好,担心会影响用户的信任度。 定位 在项目根目录全局搜索是否有引入读取剪切板的操作: grep getClipboardData -r . 最终发现是百度小程序统计 mtj-wx-sdk.js 引入的。 百度统计为何要读取剪切板 我觉得这个说不通,一个统计代码居然要读取剪切板,除了窃取用户隐私,没有别的解释了。 微信开放社 ...

阅读全文...

小程序背景音频与音频的区别

想在微信小程序中打开界面时,自动播放一段音频。但是发现小程序文档中有两种音频类型: 音频 背景音频 api 的调用方式不同。 背景音频与音频的区别 背景音频可以在切出小程序页面后继续播放。类似网易云音乐那种音乐 app 在锁屏之后依旧能播放。 还有一些细节上的区别: 背景音频 全局只有一个实例 锁屏上可以暂停、上一曲、下一曲切换 静音下是否能播放? 普通音频 可以多个实例,但是个数有限制。可以同时放多个声音? 静音模式下,没有声音 小程序普通音频自动播放代码     const innerAudioContext = wx.createInnerAudioContext()     ...

阅读全文...

商户号状态异常 暂不支持发起任何账号关联

在微信小程序管理后台开通微信支付时,跳转到微信商户后台,点击绑定,报错 商户号状态异常 暂不支持发起任何账号关联 结果就是小程序无法关联商户号,即,无法开通微信支付。 为何会导致商户号状态异常 这个商户号有点特殊,开通了一年多大概,但是没有进行过任何的微信支付,既没有微信扫码支付,也没有 API 接口支付。只产生过企业转账。 而且,最近有一次违规交易记录,大概是资质为填写完整所致。 官方客服的反馈 大概意思就是多使用微信支付,多支付就能恢复正常。但是,绝口不提导致商户号异常的原因。 解决方法 打印出商户收款码,每天扫码支付一分钱,坚持了一个多周,期间有一两天忘了。倒是没有影响。 一周后,终 ...

阅读全文...

小程序聊天,极光 IM 拉取并缓存离线/实时消息

背景 由于 ios 和 Android 客户端都集成了极光 IM 的 SDK 来实现用户间聊天功能。 所以,不得不在微信小程序中继续使用极光 SDK。 离线消息拉取并缓存逻辑 两种方案: 小程序段每次登陆成功之后,调用离线消息同步。但是这是增量更新的,无法拉取所有的历史数据,最近 15 天内的离线消息。要自己写本地缓存逻辑。 restful api,这个虽然比客户端的接口要方便很多,但是并不适合在客户端调用,因为 token 会暴露 secret 。而且作为实时聊天功能,我觉得 15 天不登录,那这种消息也没有保留的价值。 所以,我最终选择了第一种方案。 参考 https://commun ...

阅读全文...

小程序地理位置授权失败检测,并引导开启

在涉及到用户位置的小程序里,如果用户拒绝授权,就无法拿到起当前的坐标,也就无法进行下一步的操作。所以,需要检测用户是否拒绝授权,并引导其开启。 方法一 在 wx.getLocation 失败回调里,通过 wx.getSetting 来判断是否授权了地理位置,如果没有,通过 wx.openSetting 来让用户再次手动授权。 方法二 在 wx.getLocation 失败回调里,通过 err msg 来判断是否禁用了授权。然后同样适用 wx.openSetting 来引导再次授权。但是,这里存在一个问题,即不同平台 err msg 不一致,这样做并不严谨。 wx.getSetting http ...

阅读全文...

小程序 textarea 穿透问题

这是一个经常会遇到的问题,例如,小程序 form 表单提交信息页面。只要包含 textarea 组件,并且底部有固定的按钮,一定会遇到这个问题。虽然不影响功能,但是还是影响体验。问题截图: 可以看到,textarea 中的文字,显示在了按钮上方。看上去就好像按钮是透明的一样。实际会有两个问题: 不填写 textarea 文字时,cell 的边框线,会穿透 button,即,可见 填写 textarea 之后,文字会穿透 button 问题影响范围 真机 ios, android 和开发工具都会受到影响。 出现穿透的原因 textarea 是原生组件。 原生组件的层级是最高的,所以页面中 ...

阅读全文...

小程序禁止分享当前页

有些微信小程序页面由于需要使用之前页面共享的全局数据,如果将当前页面分享出去,其他用户打开会导致报错,所以,需要这种页面需要禁止转发。 测试了一下,需要更改两个地方: 第一处 注释掉 onShareAppMessage 函数。 /** * 用户点击右上角分享 */ /* onShareAppMessage: function () { }, */ 测试发现,只单纯注释掉这里并不能隐藏掉右上角三个点中的分享功能。还需要进一步的修改。 第二处 在 page onLoad 函数的末尾加上 wx.hideShareMenu(); 这里如果不填写参数的话,会默认同时禁 ...

阅读全文...

小程序 canvas 生成分享图,不显示图片

小程序开发工具中可以正常生成 canvas 分享图片,但是在真机体验版,怎么都不显示。只有打开调试的情况下,才能显示。Android ,iOS 都是如此。 问题排查 图片链接 http -> https avatar 头像的域名不在 download file 安全域名中 本地图片似乎不行,换成 https 就好了。用的 canvas 组件 https://github.com/kuckboy1994/mp_canvas_drawer 小程序微信头像 URL 可能的域名 thirdwx.qlogo.cn wx.qlogo.cn p.qlogo.cn 没见过 p.qpic.cn 没见 ...

阅读全文...

自动回复微信消息的小程序

这是周末在 V2EX 上看到的一个放屁小程序给我的灵感。我觉得可以做一款简单的微信小工具来自动处理一些不想回复的微信消息。 例如,经常会有各种营销性的微信加你,或者不能删除的好友发你不想回复的微信消息,这时候,这个神器就能发挥作用了。。。 一些尴尬的微信使用场景 列举一些,我觉得尴尬的微信聊天场景。这些场景下,其实我是懒得回复的,但是碍于是熟人,不好不回,一直耽搁着还容易形成心智负担,还不如写一套回复模板自动回复。顺便调侃对方一番。例如: 别人让你砍一刀:您的好友xxx在百忙之中帮您砍了一刀,然后继续投入到忙碌的工作之中。以后对他好一点。配个玩游戏的截图。 有人推广广告:好友已读。您天真善 ...

阅读全文...

微信儿歌简谱小程序

最近发现自己非常喜欢微信视频号里的钢琴相关视频,再就是在陪闺女玩钢琴玩具时,记住了一个简单的乐谱,来回演奏还挺有乐趣。于是,我就动手写了一个儿歌简谱微信小程序。 我的需求 最简单的儿歌乐谱,可以作为琴谱之用。更专业一点称为简谱。 现阶段,我主要是想陪闺女一块记忆,所以琴谱越简单越好。太复杂了,类似朗朗发疯那种并不是适合我们。。。 节奏明快简单,越短越好 最好还配有简单可方便改编的歌词。因为我和闺女都喜欢即兴改词 什么是简谱 简谱要晚于五线谱出现,从名字上看就能猜出大概。简谱是五线谱的简化版。即用 1 ~ 7 来代替小蝌蚪。 我在 youtube 上找了几个简谱介绍视频看了一下,复杂度还是超 ...

阅读全文...

规避小程序切换正式版、体验版时跳转两次登录界面

由于微信小程序线上版本和体验版本是共享的一套 storage,所以会造成登录 token 冲突的问题。参考: https://developers.weixin.qq.com/community/develop/doc/000ce0d9504b0002425793d745b000 引发的问题就是,用了一会体验版本,微信里缓存的就是体验环境的 token;但是一旦切换线上版本,实际上使用的还是缓存的体验环境的 token,就会导致 API 接口调用失败,而程序里会误认为是 token 失效,自动跳转 login 界面。 这并不是问题。 但,如果同时两个接口报了 token 失效,就会跳两次 lo ...

阅读全文...

微信小程序在苹果 iOS 上禁止屏幕左右滑动

比较诡异的一个问题,微信小程序的一个界面,在 iphone 上会左右滑动。即,下拉时,会不经意触发界面左右移动。但是 android 无此问题。 网上查了一下,普遍给出的解释是,界面有部分的宽度超出了屏幕范围,所以导致全屏可以左右移动。这个分析有道理。 排查方法 整体注释,逐段开放出来,测试。以达到逐一排查的目的。 出问题的 view .post_card { width:750rpx; background:rgba(255,255,255,1); margin: 0 auto; padding: 10rpx 5rpx; box-sizing: border-box; marg ...

阅读全文...

修改微信小程序 switch 组件的大小

用 width height 无效。可以使用 scale: <switch checked="{{defaultChecked}}" bindchange="defaultChange" color="#45DB5E" style="transform:scale(0.7);"/> transform:scale 的单位是什么 https://developer.mozilla.org/zh-CN/docs/Web/CSS/transform-function/scale 为啥 ...

阅读全文...

小程序点击事件防止冒泡

bindtap 会向上冒泡 catchtap 不会向上冒泡 所以,当需要在一个大区域中设置一个独立的小按钮触发独立逻辑,应该使用 catchtap。 例如,商品列表中的立即购买按钮,而不应该跳转至商品详情。 参考: https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html ...

阅读全文...

企业宣传类抖音小程序调研

优先微信小程序,然后抖音。因为微信小程序更方便分享和转发。 技术选型 https://uniapp.dcloud.io/ ·## 内置功能 库存管理。同时支持小程序内管理和电脑网页后台管理。 CRM 客户管理系统,因为会设计到询盘信息提交、保存、跟进 生成朋友圈产品/服务分享图片 图片存储 七牛云 CDN,10G 免费存储空间 运营管理 能方便的后台多开账户,方便演示 ...

阅读全文...