扫码关注公众号登陆网站

扫描微信公众号登陆网站

注释:本文章是扫码关注公众号登陆网站的功能(给公众号拉粉丝

首先申请微信公众号(类型为:‘服务号’),然后进行下面两条设置。

  1. 公众号设置ip白名单,就是把网站的ip填入白名单,在“基本配置”里面:
    在这里插入图片描述

  2. 服务器推送链接填写,不管是关注公众号,还是给公众号发消息,微信服务器都会把相关的信息,推送到这个链接,相当于微信支付的回调函数(自己的理解…),在这个链接方法下处理自己的业务逻辑。
    注意:如果网站启用了https,那么url就必须写https的
    在这里插入图片描述

逻辑实现思路:

  1. 结合微信公众号开发文档去生成微信公众号的关注二维码,生成二维码时可自己定义一个唯一的场景值id。
  2. 用户扫码后场景值id会由微信服务器推送到前边配置的url链接,我们在url链接方法中把场景值id存入数据库(当然扫码后用户的信息如头像,昵称都可以获取到,利用这些信息我们直接就创建账号了)。
  3. 前端页面做轮询(两秒一次setIntval),监控数据库有没有相同的场景值id存在,监控到场景值id存在了,将场景值id关联的用户信息返回执行登录即可。

下面是代码实现部分,代码直接可以用。

1.首先在微信公众号配置的url链接要做验证,就是让微信服务器能够找到并准确的把信息推送给我们的url链接,我们好来处理业务逻辑,填写URL,填写TOKNE,TOKEN自己随便定义。
在这里插入图片描述

class sns{
	const TOKEN='xxxx';//自己定义token,要填写入上图TOKEN位置
	//处理业务逻辑的URL方法,这个方法的链接写入上方URL处
	public function wei_get(){
		// 任何情况下都应首先验证消息的合法性
		if ($this->checkSignature(self::TOKEN) === true) {
			if(isset($_GET['echostr'])){
				// wechat 开启开发者模式接入时的认证
				echo $_GET['echostr'];
			}else {
				//公众平台消息转发 业务处理

			}
		}
	}
	//验证方法
	private function checkSignature(){
        $signature = isset($_GET["signature"]) ? $_GET["signature"] : '';
        $timestamp = isset($_GET["timestamp"]) ? $_GET["timestamp"] : '';
        $nonce = isset($_GET["nonce"]) ? $_GET["nonce"] : '';    
              
        $tmpArr = array(self::TOKEN, $timestamp, $nonce);
        sort($tmpArr);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );
         
        if( $tmpStr == $signature ){
            return true;
        }else{
            return false;
        }
  }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现扫码关注公众号登录,可以使用Python中的一些库和API来实现。 首先,我们可以使用qrcode库生成一个二维码。该库允许我们生成包含关注公众号链接的二维码。我们可以使用以下代码生成二维码: ```python import qrcode # 生成关注公众号链接 follow_link = "https://example.com/follow_wechat" # 生成二维码并保存为图片文件 qr = qrcode.QRCode(version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4) qr.add_data(follow_link) qr.make(fit=True) img = qr.make_image(fill_color="black", back_color="white") img.save("qrcode.png") ``` 接下来,我们可以使用Python的web框架(例如Flask或Django)创建一个简单的web应用程序。这个应用程序将充当一个登录页面,并显示二维码,使用户可以扫描。 ```python from flask import Flask, render_template app = Flask(__name__) @app.route("/") def login(): return render_template("login.html", qr_code="qrcode.png") if __name__ == "__main__": app.run() ``` 在上述示例中,我们使用了Flask框架来创建了一个名为`login`的视图函数,它会渲染一个名为`login.html`的模板,并将二维码图片的路径作为参数传递给模板。 最后,我们需要创建一个HTML模板来显示二维码和登录页面的其他内容。以下是一个简单的示例: ```html <!DOCTYPE html> <html> <head> <title>扫码关注公众号登录</title> </head> <body> <h1>请扫描二维码关注公众号</h1> <img src="{{qr_code}}" alt="二维码"> <form> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br><br> <input type="submit" value="登录"> </form> </body> </html> ``` 在上述示例中,我们使用了Flask的模板引擎(Jinja2)来渲染HTML页面,并使用`{{qr_code}}`作为二维码图片的占位符。 这样,我们就可以使用以上的Python代码实现扫码关注公众号登录了。当用户访问应用程序的主页时,他们将看到一个包含二维码和登录表单的页面,并且可以使用微信扫码关注公众号

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值