什么?cursor帮我完成微信公众号登录的接口开发全流程

什么?cursor帮我完成微信公众号登录的nest接口开发

前言

在当前数字化浪潮中,微信公众号已成为众多企业和开发者拓展业务、积累用户的重要平台。随着用户需求的不断增长和业务的日益复杂,传统的登录方式已难以满足用户对便捷性和安全性的要求,网页接入微信公众号登录功能应运而生。

微信公众号登录不仅为用户提供了快速、安全的登录体验,还为开发者提供了丰富的用户信息和强大的社交能力,成为提升用户粘性和活跃度的关键手段。

接下来,本文将为您详细介绍网页接入微信公众号登录的实现方案。

首先,登录微信公众号平台,找到开发者设置,在这里填写对应的服务器信息,先可以本地调试,这里的url要后端去编写一个接口去响应,token要跟环境变量一致才会校验成功

url可以使用vscode的端口转发,不用去折腾其他,简单高效,当然你也可以选择你熟悉的方式去进行接口转发~

打印最终的结果

创建一个接口wechat/check来响应微信公众号上配置服务器响应token

在原本的user上写,比较乱,让cursor重新创建一个目录,按照nest的命令创建的代码目录和规范去创建

创建的目录如下,还是比较清晰的

踩坑点

微信公众号一直报token无效,这是由于nest项目,统一返回的数据格式,微信校验跟他返回的不一致,这里希望微信可以返回对应的提示,对接体验确实不好(大家都应该这样认为的)

最终正确的返回结果,不要踩坑了

解决方案:

在拦截器将这个路径不按照项目统一的返回格式,这样就没有问题啦~

接下来就是完成二维码返回,提供给前端扫码使用

typescript 复制代码
// 返回微信公众号登录的二维码  
    async getWechatQrcode(sceneStr: string) {

        const appId = this.configService.get<string>('WECHAT_APP_ID');  
        const appSecret = this.configService.get<string>('WECHAT_APP_SECRET');

        // 获取 access_token  
        const tokenUrl = `<https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid>=${appId}&secret=${appSecret}`;  
        const tokenRes = await axios.get(tokenUrl);  
        const accessToken = [tokenRes.data](http://tokenRes.data).access_token;  
        console.log("🚀 ~ WechatService ~ getWechatQrcode ~ appId:", appId, appSecret, accessToken)

        // 创建二维码  
        const payload = {  
            expire_seconds: 300,  
            action_name: 'QR_STR_SCENE',  
            action_info: {  
                scene: {  
                    scene_str: sceneStr,  
                },  
            },  
        };

        const qrRes = await [axios.post](http://axios.post)(  
            `<https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token>=${accessToken}`,  
            payload  
        )  
        const ticket = [qrRes.data](http://qrRes.data).ticket;  
        console.log("🚀 ~ WechatService ~ getWechatQrcode ~ ticket:", [qrRes.data](http://qrRes.data))

        return {  
            qrCodeUrl: `<https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket>=${encodeURIComponent(ticket)}`,  
            sceneStr,  
        };  
    }  

后续的流程就是轮询二维码,微信接口回调,拿到唯一的openId,nest后端创建账户并把账户信息返回,完成登录

总结

熟悉微信公众号登录的,可以轻松接入,不熟悉的小白,可能第一步配置服务器就劝退了,大致的流程就是这样,如果还有不清楚的地方可以在评论区留下你的评论~

相关推荐
时光之源3 小时前
Labelme安装及使用说明教程
vscode·数据集·cursor·labelme·数据标注
Sestid8 小时前
前端AI编程使用技巧(后续会更新cursor和claude code for vscode)
前端·vscode·ai编程·claude·cursor
倔强的石头_2 天前
突破 Cursor 模型限制:低成本接入 GLM-5 与第三方大模型实践指南
cursor
AmyLin_20014 天前
MiniMax Skills 技能体系分析
cursor·codex·minimax·claude code·skills·minimax skills
装不满的克莱因瓶5 天前
Cursor中agent、plan、ask三种模式区别于对比
人工智能·ai·大模型·ai编程·cursor
程序员爱德华10 天前
AI Coding 使用教程
copilot·cursor·trae·claude code·ai coding
Irene199110 天前
拥抱 AI 原生 IDE,Cursor 我来了
cursor
Filwaod11 天前
Cursor+IDEA开发问题
java·idea·cursor
shughui12 天前
Cursor下载安装以及和VSCode的区别(附安装包)
ide·vscode·ai·编辑器·cursor
老黑13 天前
开源工具 AIDA:给 AI 辅助开发加一个数据采集层,让 AI 从错误中自动学习(Glama 3A 认证)
前端·react.js·ai·nodejs·cursor·vibe coding·claude code