微信公众号登录流程

微信公众平台配置

在这里插入图片描述
配置js安全接口域名
在这里插入图片描述
基本上照着官方文档进行配置就好
在这里插入图片描述
在自定义菜单里跳转网页填网站域名

登录代码

vue项目的话建议在app.vue的created生命周期里调用
uniapp项目的话建议在app.vue的onLaunch生命周期里调用
html的话window.onload里调用

getWxCode() {
   let that = this;
   let appid = appid; //从微信公众平台来
   this.code = this.getUrlCode().code; //拿到code
   let local = window.location.href;
   if (this.code == null || this.code === "") {
     //不存在就打开上面的地址进行授权
     window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${local}&response_type=code&scope=snsapi_userinfo&state=1&connect_redirect=1#wechat_redirect`;
   } else {
     callBack(this.code) //该方法是根据自己后端接口来
   }
},
//获取url上的code
getUrlCode() {
	var url = location.search;
	this.winUrl = url;
	var theRequest = new Object();
	if (url.indexOf("?") != -1) {
		var str = url.substr(1);
		var strs = str.split("&");
		for (var i = 0; i < strs.length; i++) {
			theRequest[strs[i].split("=")[0]] = strs[i].split("=")[1];
		}
	}
	return theRequest;
},

后端拿到code后进行登录操作

服务器端的操作(node版本)

//这两个东西从微信公众平台来
export const secret = '*************' 
export const appId = '**************'
import jwt from "jsonwebtoken"; //记得npm下载


//用户登录
  this.login = function (req, res, next) {
    // 发送请求到微信请求openid等-->加密token-->连接数据库验证openid,有就更新数据,没有就创建新用户-->数据库操作成功后返回客户端token,失败返回报错信息
    axios.get('https://api.weixin.qq.com/sns/jscode2session?appid=' + appId + '&secret=' + secret + '&js_code=' + req.body.code + '&grant_type=authorization_code').then((datas) => {
      if (datas.status == 200) {
        let obj = {
          session_key: datas.data.session_key,
          openid: datas.data.openid
        }
        
        //加密
        let token = jwt.sign(obj, secret, { expiresIn: 60 * 2});//使用jwt加密用户信息
        res.send(token)
      } 
    }).catch((err) => {
      res.send(err)
    })

结尾

前端拿到tonken后保存本地,当然根据自己业务的需求,一般前端还会将用户信息也传给后端,后端拿到用户信息,新建或更新用户数据,保存数据库,然后返给前端

有兴趣可以加我们的qq群,前端兼职的:583740334

前端微信公众号开发流程一般包括以下步骤: 1. 注册微信公众号:首先,你需要在微信公众平台上注册一个公众号。根据你的需求,可以选择订阅号、服务号或企业号。 2. 设置服务器:在公众平台上,你需要设置服务器用于接收和处理微信服务器发送的消息。你需要提供一个能够响应微信服务器验证的URL,并配置合法域名。 3. 开发公众号后台:你可以选择使用开发框架(如Node.js、Java等)来开发公众号后台,用于处理微信服务器发送的消息和事件。根据需求,你可能需要实现菜单管理、自动回复、素材管理等功能。 4. 开发前端页面:根据你的设计需求和业务逻辑,开发前端页面。你可以使用HTML、CSS和JavaScript等技术来构建用户界面,并与后台交互获取数据。 5. 微信JS-SDK的使用:如果你需要在公众号中使用微信的JS-SDK功能(如分享、支付等),你需要在前端页面中引入相应的JS文件,并按照文档说明进行相应的配置和调用。 6. 调试和测试:在开发过程中,及时进行调试和测试,确保公众号的正常运行和符合预期的功能。 7. 提交审核和发布:当你开发完成并测试通过后,可以在微信公众平台上提交审核。审核通过后,你可以正式发布你的公众号。 请注意,以上仅为一般的开发流程,具体的步骤和实现方式可能因个人需求和技术栈而异。在开发过程中,你可以参考微信公众平台的开发文档和示例代码,以便更好地理解和实现相应功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值