微信 小程序 那些费解的问题 (坑也是一种修炼)!!!
最近公司承接了一个小程序项目,正好巧了这个 项目后端这面是我负责开发(一直听闻微信小程序坑多)这次体验一次果不其然,直接正题 遇到的问题点 以及解决方案(具体我就不讲解项目怎么做了,微信小程序文档和百度挺全的):
问题 1.请求方式:
项目入手阶段肯定先从接口请求开始,调试时候发现前端传递Param,后端Controller接收不到 ,原因如图:
基本请求方式大致都是如上请求的样式,但是 请求header 还是有区别,默认header "Content-Type":"application/json" //微信默认的 ,如果发现在传递过程中请求param 接收不到,把此处改成:'content-type': 'application/x-www-form-urlencoded'即可
问题 2.accessToken时效问题:
这点只是提示第一次或者不熟悉微信流程新开发人员,accessToken具有一定时效性 ,每天调用次数也是有限制的(2000次),当累计到一定次数时调用就会失败 也就是提示相关一些微信错误代码,此时 可以采取Redis 缓存优化下 当前项(set accessToken 2小时),避免调试阶段影响更多时间 。
问题3.模板消息发送:
推送微信小程序通知 这个地方还是要强调一下流程 (当前省去创建模板库过程,对于我们来讲只需要知道相应推送模板ID即可)
微信小程序推送通知两种场景:
第一种是 基于Form表单提交,生成想用formId(我们项目用的就是这种)
第二种是 基于支付流程(支付有限定条件)
流程就是以上步骤。
下面来说问题:
(1)首先推送通知过程发现问题就是当前人生成formId只能推送当前生成formId 这个人,具体原因各位看官可以百度(没有找到理想答案)
(2)当前消息在推送过程可能会存在失败情况,失败错误码41028 无效formId(我的测试场景不同手机推送成功率只有两种情况 :1.100%,2.偶发30-50%成功概率),当前目前解决方案 使用线程异步尝试推送五次 ,可以实现实时推送效果(如果有更好的方案 ,请及时联系我。。。。。。)
问题4.生成二维码:
微信小程序生成二维码一共有三种方式(分别具有不同业务场景)此处强调一点生成的二维码一定要项目上线之后才能扫码不然二维码扫码进入会是未发布小程序类似提示。(博主用的第一种方式,目前项目二维码使用量不是太多),所以我就着重说下第一种(限制100000)
值得说的就是两点
第一 path:跟我们平常写的指定跳转页面一样 前端给定index 页面 路径 我们负责页面跳转即可,同时path 可以同get请求一样携带你所需要跳转参数
第二 生成二维码可能会无法预览,是一张损坏的图片 ,此时请检查你从微信端调用返回流 自己 代码处理逻辑
我能想到大概就是这么多,如果有需要请下方留言帮忙!