微信小程序

分类下相关文章

微信小程序直传图片、视频至阿里云 OSS

在需要上传大文件例如视频时,小程序先传到服务器,再传到阿里云 OSS,不太合适。比较好的做法是直接传到 OSS。这样可以节省服务器的带宽。 但是,阿里云 OSS 直传的文档写的太简陋,所以整理了一下。 上传前的基本配置 启用 OSS 跨域 oss 域名添加到小程序的上传域名白名单 上传需要哪些参数 小程序上传主要是计算 signature 和 policy ,具体实践中建议用户在服务端进行相关签名的计算后返回给小程序。 URL: Bucket 域名,不需要指定路径。但是不要漏了 bucket 名作为子域。例如:https://xxx.oss-cn-qingdao.aliyuncs.com ...

阅读全文...

支付宝和微信的电子回单接口

什么是回单 回单是银行回单,就是公司每笔付出去的钱,银行开的一个凭证而已,可以在对公柜台上办理。 什么是电子回单 顾名思义,就是电子版的回单。 支付宝电子回单接口 先调用申请接口 https://opendocs.alipay.com/apis/api_15/alipay.data.bill.ereceipt.apply 再利用上个接口获取的 file_id 进行查询,可以得到电子回单下载地址 https://opendocs.alipay.com/pre-apis/api_pre/alipay.data.bill.ereceipt.query 微信支付电子回单 微信目前并不提供电子回单的接口 ...

阅读全文...

企业开发私有微信小程序需要准备的事项

企业认证的微信公众号。用于快速创建小程序。 一台服务器(阿里云,腾讯云均可)。前期用户不多的情况下,日 1 万以下,可以用初级配置的服务器,1核2G。新注册用户首次购买,价格有折扣。大概 200 以下一年,便宜的时候 100。这个不着急购买,可以等开发完毕后再购买。还可以等等官方的活动。阿里云价格参考 一个域名。如果已经有域名,可以不用再注册。一年 69。如果需要购买,需要提前进行,因为还要预留 20 天的备案时间。 一个七牛云 CDN 账号。用于免费存储小程序的图片资源,并加速访问,每个月有 10G 免费流量。七牛云CDN注册链接 ...

阅读全文...

GDPR 删除部分微信用户个人数据的通知

收到一封微信小程序官方关于 GDPR 的邮件,标题是 删除部分微信用户个人数据的通知 WeChat user(s) personal data deletion notification 内容详情: 根据欧盟数据保护通用条例的要求,由于部分欧盟地区微信用户已撤销授权你的服务获取其个人信息(包括该微信用户自行注销微信个人帐号或取消授权公众号/小程序/移动应用/网站应用获取其个人信息),现告知你删除附件中用户的相关授权信息。删除方法:如果你在自己的开发服务器中存储了附件中用户的信息,需要在三周内,从该服务器中删除附件(data.csv)中用户相关的所有信息,包括但不限于用户的昵称、头像、地区 ...

阅读全文...

小程序广告组件驳回原因:小程序请勿设置广告自行关闭逻辑(终结骚扰广告)请整改

今天在一个微信小程序中添加了一段广告逻辑,广告审核没通过。理由是: 小程序广告组件驳回原因:1. 小程序请勿设置广告自行关闭逻辑(终结骚扰广告)请整改。 具体广告逻辑 我的逻辑是这样的,小程序中有10个同一模板的界面,但是我只想在其中一个界面中显示广告; 而其他九个不显示广告。简单地在 wxml 模板层加了一段 wx:if 逻辑来实现。 于是,导致了小程序广告组件被驳回。 临时解决方案 先去掉了这个界面的广告。 实现效果体验: 这个广告规范影响巨大 官方列举的典型广告违规行为 https://ad.weixin.qq.com/guide/1195 中有这样一条: 流量主在小程序内设计广 ...

阅读全文...

小程序启动一定时间内不允许展示插屏广告

想在新开发的一个微信小程序上尝试一些插屏广告。但是,更改代码,编译之后,并没有看到对应的插屏广告。 小程序开发工具的 console 中提示错误: 小程序启动一定时间内不允许展示插屏广告 这个提示非常模糊,具体的规范是什么呢? 在官方论坛里找到一个解释: 小程序启动15秒内不允许展示插屏广告 两次插屏广告必须大于15秒 这样看,是合理的。毕竟一打开小程序就展示此类全屏广告,对用户体验是极大的伤害。而且广告转化率也不高。 所以,我是支持这种做法的。 参考 https://developers.weixin.qq.com/community/develop/doc/0004661a2c08 ...

阅读全文...

微信小程序提示“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在百忙之中帮您砍了一刀,然后继续投入到忙碌的工作之中。以后对他好一点。配个玩游戏的截图。 有人推广广告:好友已读。您天真善 ...

阅读全文...