Cabloy集成到微信小程序的淌水笔记

Cabloy集成到微信小程序的淌水笔记

终于搞定了小程序内嵌webview访问cabloy的最后一环。总结一下,分享给大家:

	小程序简直就是生态割裂,程序员的噩梦,真心希望小程序世界早日大一统。

微信访问cabloy前端页面,需要搞定的事情:

  1. 注意https的坑。
    a. 必须申请一个ssl证书,自己签发的证书浏览器可以访问,但是微信会拒绝。
    b.注意在docker的ngin里配置开启443:443端口映射。否则无法访问。
  2. 注意设置wechatservice.com允许跨域。
  3. 微信那边设置业务域名。
  4. 如果出现微信开发工具提示 “未关注该测试号”的问题,先尝试访问普通静态页面(可在nginx里配置一个).如果可以访问,则排查微信自动登录问题,屏蔽这些模块再试。如果不能访问,检查前4项。
  5. 如果出现微信开发工具提示
“未绑定网页开发者url:http://x.a.com:9092/api/a/wechat/passport/a-wechat/wechat/callback"

则检查是否开通开放平台帐号(注意,和微信公众平台不一样,和小程序也不一样),并配置正确。或者直接禁用微信网页登录。可monkey替换a-wechat里面的wechatbutton. (wechatbuttonweb则用于pc端,可不必理会,没有开通微信开放平台也可以替换掉)。

  • … 代表我的千言万语

微信小程序自动登录cabloy的问题,注意事项:

  1. 如果你的小程序是原生的,那么demo内的登录足够使用。
  2. 如果你的小程序内嵌webview来访问cabloy,那么就需要重新适配登录问题。
  3. 需要注意cabloy前端是单页应用,并且有统一的路由管理。对于任何通过url访问的前端,都会被重定向到/或login页面。所以除非关闭登录自动跳转,否则,通过传参给前端页面来登录是行不通的。
  4. 最后想到的解决办法,传参给后端。后端调用a-wechat的授权登录。
  5. 注意wx.login获得的code只能使用一次,所以不能使用util.login来登录,而是应该再次使用wx.login 获得code后传递给后端中转。注意,一定要中转。因为通过webview的页面访问这个中转页面,才是在webivew环境,否则用wx.request的话,还在微信小程序环境。二者不通用cookies。
    6.现在的小程序规范要求不能强行注册,只能引导注册,所以需要把util.login从app.js里面移出来,放到登录按钮里面。

…跨越千山万水,终于迈过了微信这道坎,望天下码农不再填坑。

  • 感谢@zhennann大神给力大作cabloy !
  • 感谢eggjs, koa等框架开发者!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值