标签 折腾各种开发 下的文章
公司有一组业务系统绑定了微信服务号,最近因为运营主体调整,旧的微信服务号要迁移到新的微信服务号上,于是产生了一系列问题。业务系统中的用户只能使用微信授权登录,所以数据库中存储了用户的 openid。而每一个微信号对于不同的微信服务号,openid 都是不同的,而且服务号迁移后,用户的 openid 会发生变化。虽然说微信有 unionid 机制(unionid 机制说明:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html),但是由于种种不可抗力的原因,所有的微信服务号都没办法绑定到微信开放平台上,也获取不到 unionid,因此只能另外想办法,使服务号迁移后,业务系统中用户的 openid 也随之换新。好在微信官方提供了 openid 转换接口,支持服务号建立迁移关系后,将旧 openid 转换为新 openid 的功能。openid 转换接口说明:https://kf.qq.com/faq/1901177NrqMr190117nqYJze.html需要注意,转换 o
在此之前做微信小程序的开发,一直依赖于微信开发者工具,但是由于在微信开发者工具中编写和管理代码属实鸡肋,用着不舒坦,主要还是因为没有辅助插件...鉴于之前在做 Java 和 PHP 和前端开发时,都是用的 IntelliJ IDEA,对 IntelliJ IDEA 已经熟悉得不能再熟悉了,在做微信小程序的开发的时候,也想使用 IntelliJ IDEA 来写代码,但是 IntelliJ IDEA 本身对于微信小程序开发的支持又不是很友好,因此需要安装一些插件,才能在 IntelliJ IDEA 中有好地进行微信小程序开发。早期在 IntelliJ IDEA 中进行微信小程序开发,可以使用插件 Wechat mini program support,这个插件在 Marketplace 中就可以搜到了。该插件是由第三方开发者开发的,兼容和相关能力支持其实也算不上非常强大,不过还是能用的...就在几天前,JetBrains 官宣其开发并上线了一款专用于微信小程序开发的插件 WeChat Mini Program,可以让开发者无需离开熟悉的开发环境,就能轻松上手微信小程序的开发工作,在保持开发
小程序登录概述小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。登录流程时序:登录流程时序说明:小程序前端调用 wx.login 方法获取临时登录凭证 code ,并回传到开发者服务器(后端)。开发者服务器(后端)调用微信平台 auth.code2Session 接口,换取用户唯一标识 OpenID、 用户在微信开放平台账号下的唯一标识 UnionID 和会话密钥 session_key。开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。wx.login 方法wx.login 方法用于调用接口获取登录凭证 code,通过凭证进而换取用户登录态信息。wx.login 方法的基本选项:timeout:超时时间,单位为毫秒。success:调用成功的回调函数,该事件回调函数可以接收一个 res 参数,通过 res.code 可以获取用户登录凭证。用户登录凭证 code 的有效期只有五分钟,开发者需要在开发者服务器后台调用 code2Session,使用 code 换取 openid、unionid、se
前言近期有一个需求,Java 后端要根据规则实时推送一些数据到前端,实现前端数据的实时更新。后端向前端推送消息,就需要长连接,首先想到的就是使用 WebSocket,但是原生的 WebSocket 又有一些局限性,可能不是一个最佳的解决方案,经过阶段调研,最终选择使用 Socket.D。Socket.D 简介Socket.D 官网:https://socketd.noear.org/Sokcet.D 是基于事件和语义消息流的网络应用协议。事件:事件即路径、指令,每个消息都可事件路由,就像 MVC 中的请求路径,方便不同的业务安排不同的处理。语义:语义即元信息标注,通过元信息进行语义描述,即对消息添加描述性的额外信息的操作,就像请求头,可以给消息数据标注内容类型,方便接收端做序列化等工作。消息流:传输来回相关的消息会串成一个有关联的流,这一个流是通过 sid(streamId)为来回的相关消息建立起关联性,就算某一端重启,只要 sid 还存在(比如被持久化保存下来了),仍可实现流答复。Sokcet.D 的其他特点:语言无关:使用二进制输传数据,适配支持 tcp、ws、udp、kcp 等,