实战指南:从零到一为你的网站集成QQ与微信扫码登录

PC网站实现微信扫码登录功能(二) 上篇我们介绍了怎么申请账号以及最后拿到appId和appSecret,如果有不清楚的可以看一下 PC网站实现微信扫码登录功能(一) 下面我就来说一下怎样在PC端怎么实现扫码登录功能。 一、进入官方文档网站 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html 其实官网对过程描述的已经非常细致了。并且提供了两种扫码方式。一种是跳转二维码扫描页面,另一种是内嵌式二维码。大家可以 阅读详情

1. 为什么你的网站需要QQ与微信扫码登录?

如果你正在为自己的个人博客、创业项目或者公司官网开发用户系统,那么“注册”这个环节,很可能就是你用户增长路上的第一个绊脚石。我见过太多项目,前端页面做得精美绝伦,功能也相当扎实,但就是卡在了用户注册转化率上。用户看到长长的注册表单,要填邮箱、设密码、收验证码,可能眉头一皱,直接就关掉了页面。

这就是社交登录,尤其是像QQ和微信这种国民级应用扫码登录的价值所在。它本质上是一种“信任转移”。用户已经信任了腾讯的账号体系,那么通过扫码,他就可以把这份信任快捷地“借”给你的网站,一键完成注册和登录。对用户来说,流程从“填写-等待-验证”缩短为“扫码-确认”两步,体验是飞跃式的提升;对你作为开发者而言,你不仅能获得更高的注册转化率,还能拿到用户在社交平台上的基础信息(如昵称、头像),省去了用户手动填写的麻烦,一举两得。

我自己的好几个项目都接入了这套方案,实测下来,用户注册步骤的流失率降低了超过60%。更重要的是,这不再是只有大厂才能玩转的技术。只要你的网站拥有一个备案过的域名,按照我下面要说的步骤一步步来,完全可以在几天内,以极低的成本搞定从申请到上线的全过程。整个过程就像搭积木,关键是把几块关键的“积木”——平台申请、前端弹窗、后端验证——按正确的顺序拼装起来。接下来,我就带你亲手搭一遍。

2. 战前准备:在QQ互联和微信开放平台创建应用

这一步是基础,也是很多新手觉得最“麻烦”的地方,因为涉及到平台审核。别担心,只要材料准备齐全,按照指引一步步填,通过并不难。我把核心要点和容易踩坑的地方都给你标出来。

2.1 搞定QQ互联应用

首先,访问 QQ互联 官网。你需要用你的QQ号登录,然后进入“开发者”页面。如果你是第一次来,系统会提示你进行“开发者资质审核”。这里需要你填写真实的个人信息,并等待审核通过。这个过程通常需要1-3个工作日,耐心等待即可。

审核通过后,你就能在控制台看到“创建应用”的按钮了。点击它,选择“网站应用”。接下来就是填写应用信息的重头戏:

  • 应用名称:起一个和你网站相关的、容易理解的名字。比如你的网站叫“技术小栈”,应用名可以叫“技术小栈-用户中心”。注意:这个名字会显示在用户扫码授权时的提示信息里,所以不要起得太随意或带有误导性。
  • 网站地址:填写你网站的首页地址,比如 https://www.yourdomain.com。这里有个大坑:QQ互联要求你的域名必须已经完成了ICP备案。如果你的网站还没备案,这一步会卡住。所以,备案是前置条件。
  • 回调地址:这是整个流程中最关键的配置之一。它指的是用户扫码授权成功后,QQ服务器将用户浏览器重定向回的地址。通常,你需要专门准备一个页面来处理这个回调,比如 https://www.yourdomain.com/oauth/qq/callback。务必确保这个地址是可以通过外网访问的,因为QQ的服务器会向这个地址发起GET请求。在开发阶段,你可以使用内网穿透工具(如ngrok、花生壳)将你的本地开发环境暴露成一个公网地址,用于调试。

填写完所有信息提交后,又会进入一个审核期。审核通过后,恭喜你!在应用详情页,你会得到两个至关重要的参数:App ID 和 App Key。把它们妥善保存好,这是你和QQ服务器通信的“身份证”和“密码”。

2.2 搞定微信开放平台应用

微信的流程相对更严谨,费用也更高。你需要访问 微信开放平台。

  • 注册与认证:首先注册开放平台账号,然后进行开发者资质认证。这个认证是需要支付300元认证费的(每年一次)。对于个人开发者,这是一笔需要考虑的成本;对于企业,这通常是必要的支出。认证通过后,你才能创建“网站应用”。
  • 创建网站应用:步骤和QQ互联类似,填写应用名称、简介、网站地址和回调域名。特别注意微信的“授权回调域”:这里你只需要填写你的域名根,比如 www.yourdomain.com,不需要写完整的回调URL。微信的安全规则要求,后续所有具体的回调地址,都必须以此域名为开头。
  • 获取关键参数:应用创建成功后(同样需要审核),在应用详情页,找到你的 AppID 和 AppSecret。AppSecret 非常重要且敏感,相当于你的账户密码,绝对不要在前端代码中泄露,必须由后端服务器妥善保管。

提示:两个平台的应用审核都可能需要几个工作日。建议在项目规划初期就同步启动这两个应用的申请,避免开发完成后干等。

3. 前端实战:把扫码按钮放到你的网页上

应用创建好了,钥匙拿到了,现在我们来装修门面——在网站的登录页放上QQ和微信的登录按钮。

3.1 引入QQ登录SDK

QQ提供了一种非常方便的JS-SDK接入方式。你只需要在你网站的登录页面HTML中,加入这么一行脚本:

<!-- 引入QQ登录SDK -->
<script
  type="text/javascript"
  charset="utf-8"
  src="https://connect.qq.com/qc_jssdk.js"
  data-appid="你的QQ互联AppID"
  data-redirecturi="你在QQ互联配置的回调地址"
></script>

注意,data-appid 和 data-redirecturi 属性要替换成你自己的。然后,你需要在页面上准备一个容器(比如一个div或span),并给它一个ID,SDK会在这个容器里渲染出官方的QQ登录按钮。

但是,很多时候我们想要更自定义的按钮样式,比如一个漂亮的图标按钮。这时我们可以不用它自动渲染的按钮,而是自己画一个按钮,然后通过编程方式触发扫码。我的项目中更常用这种方式:

// 假设你有一个自定义的QQ图标按钮,id为‘custom-qq-btn’
document.getElementById('custom-qq-btn').addEventListener('click', function() {
  // 手动拼接授权页URL
  const qqLoginUrl = `https://graph.qq.com/oauth2.0/authorize?client_id=你的AppID&response_type=token&scope=get_user_info&redirect_uri=${encodeURIComponent('你的回调地址')}`;

  // 打开一个指定大小的新窗口
  window.open(
    qqLoginUrl,
    'QQ_Login',
    'height=600,width=450,top=100,left=100,toolbar=no,menubar=no,scrollbars=no,status=no,location=yes,resizable=yes'
  );
});

这样点击你的自定义按钮,就会弹出一个标准的QQ授权窗口。用户扫码并确认授权后,页面会跳转到你设置的回调地址。

3.2 处理微信扫码登录

微信没有提供直接在前端渲染二维码的SDK(在网站应用中),通常需要后端协助。一种常见的流程是:

  1. 前端请求你的后端服务器,获取微信登录所需的 appid 等参数(appsecret 必须存在后端)。
  2. 前端用这些参数拼接出微信的授权页面地址,并打开新窗口。
// 假设从后端接口拿到了 appId 和 redirectUri
function startWXLogin() {
  const wxLoginUrl = `https://open.weixin.qq.com/connect/qrconnect?appid=${appId}&redirect_uri=${encodeURIComponent(redirectUri)}&response_type=code&scope=snsapi_login&state=随机字符串#wechat_redirect`;

  window.open(
    wxLoginUrl,
    'WeChat_Login',
    'height=600,width=450,top=100,left=100,toolbar=no,menubar=no,scrollbars=no,status=no,location=yes,resizable=yes'
  );
}

这里的 state 参数是一个随机字符串,用于防止CSRF攻击,建议每次生成。用户在新窗口中使用微信扫码确认后,微信会将浏览器重定向到你的 redirect_uri,并附带一个一次性的 code 参数。

4. 核心挑战:跨窗口通信与数据传递

到这里,我们已经能弹出扫码窗口了。但接下来才是真正的技术难点:用户在新窗口扫码成功后,我们如何把成功的信息(比如QQ的token、微信的code)传回原来那个打开扫码窗口的页面? 因为后续的登录/注册请求,理应在原页面发起,而不是在那个即将被关闭的授权回调页面里。

这就是典型的 跨窗口通信 问题。两个窗口必须同源(协议、域名、端口一致)。我实战中主要用两种方案,第一种是现代浏览器推荐的 BroadcastChannel API,第二种是兼容性更强的 localStorage 事件方案。

4.1 使用 BroadcastChannel(推荐)

BroadcastChannel 用起来非常直观,就像给两个窗口开了一个共同的“广播频道”。

// 在原页面(你的网站主页面)
const loginChannel = new BroadcastChannel('LOGIN_SUCCESS_CHANNEL');

// 打开扫码窗口
window.open(...);

// 监听频道上的消息
loginChannel.onmessage = (event) => {
  const data = event.data; // 这里就是另一个窗口发来的用户数据
  console.log('收到登录成功消息:', data);
  // 关闭频道
  loginChannel.close();
  // 调用你的登录处理逻辑
  handleOAuthLogin(data);
};
// 在扫码成功后的回调页面(比如 /oauth/qq/callback)
const loginChannel = new BroadcastChannel('LOGIN_SUCCESS_CHANNEL');

// 假设在这个页面,你从URL中解析出了 access_token
const token = getTokenFromUrl();

// 向频道发送消息
loginChannel.postMessage({
  type: 'QQ',
  accessToken: token,
  nickname: '...'
});

// 发送完后,这个小窗口就可以关闭了
setTimeout(() => window.close(), 500);

4.2 使用 localStorage 作为备选方案

BroadcastChannel 兼容性很好,但为了应对极少数老旧浏览器,我们可以用 localStorage 的 storage 事件作为降级方案。它的原理是,一个窗口修改 localStorage,所有同源的其他窗口都能监听到这个变化。

// 封装一个通信工具 broadcast.js
let broadcastChannel = null;
const CHANNEL_KEY = 'OAUTH_LOGIN_DATA';

// 优先使用 BroadcastChannel
if (typeof BroadcastChannel !== 'undefined') {
  broadcastChannel = new BroadcastChannel(CHANNEL_KEY);
}

export const broadcast = {
  // 发送消息
  send(data) {
    if (broadcastChannel) {
      broadcastChannel.postMessage(data);
    } else {
      // 降级方案:写入 localStorage
      localStorage.setItem(CHANNEL_KEY, JSON.stringify(data));
      // 手动触发一次 storage 事件(因为本窗口不会触发自己的storage事件)
      localStorage.removeItem(CHANNEL_KEY);
    }
  },
  // 接收消息
  receive(callback) {
    if (broadcastChannel) {
      broadcastChannel.onmessage = (e) => callback(e.data);
    } else {
      // 降级方案:监听 storage 事件
      window.addEventListener('storage', (e) => {
        if (e.key === CHANNEL_KEY && e.newValue) {
          callback(JSON.parse(e.newValue));
        }
      });
    }
  },
  // 清理
  clear() {
    if (broadcastChannel) {
      broadcastChannel.close();
    }
    localStorage.removeItem(CHANNEL_KEY);
  }
};

在你的主页面,调用 broadcast.receive() 等待数据;在回调页面,处理完数据后调用 broadcast.send() 发送数据。这套组合拳能覆盖绝大多数浏览器环境。

5. 后端逻辑:验证用户并完成登录/注册

前端把“钥匙”(QQ的access_token或微信的code)传回来了,现在轮到后端上场,用这把钥匙去第三方平台验证,并换取用户信息。

5.1 处理QQ登录回调

对于QQ,前端传回的是 access_token。你的后端需要做两件事:

  1. 用 access_token 获取用户的OpenID。OpenID是QQ用户在你这个应用下的唯一标识。你需要请求QQ的一个接口:https://graph.qq.com/oauth2.0/me?access_token=YOUR_TOKEN。这个接口会返回一个包含 openid 的JSONP响应,需要你后端做解析。
  2. 用 access_token 和 openid 获取用户资料。再请求另一个接口:https://graph.qq.com/user/get_user_info?access_token=...&oauth_consumer_key=...&openid=...,就能拿到昵称、头像等信息了。

5.2 处理微信登录回调

对于微信,前端传回的是 code。后端流程多一步:

  1. 用 code 换取 access_token 和 openid。请求微信接口:https://api.weixin.qq.com/sns/oauth2/access_token?appid=...&secret=...&code=...&grant_type=authorization_code。这里需要用到你的 AppSecret,所以这个请求必须由后端发起,绝不能暴露在前端。
  2. 用 access_token 和 openid 获取用户信息。请求接口:https://api.weixin.qq.com/sns/userinfo?access_token=...&openid=...。

5.3 用户匹配与系统登录

拿到用户的唯一标识(QQ的openid或微信的unionid/openid)和基本信息后,后端的核心逻辑来了:

  1. 查询本地用户表:在你的数据库用户表中,应该有一个字段(比如 qq_openid 或 wx_openid)来存储这个第三方唯一标识。
  2. 判断用户是否存在:
    • 如果存在:说明这个用户之前已经用QQ/微信登录过。太好了!直接为你生成这个用户在你自己系统的登录凭证(例如JWT Token或Session),返回给前端。前端拿到凭证,用户就算登录成功了,通常直接跳转到首页。
    • 如果不存在:说明这是一个新用户。这时你有两种策略:
      • 策略A(直接注册):自动用获取到的昵称和头像,在本地系统为他创建一个新账号,并关联上这个第三方标识。然后同样生成登录凭证,让他“无感”登录。这是体验最好的方式。
      • 策略B(引导完善信息):返回一个特定的状态码(比如 204)给前端。前端收到这个状态码后,跳转到一个“绑定账号”或“完善信息”页面,让用户补全一个用户名(或绑定邮箱),再完成注册。这种方式让你对用户信息有更多掌控。

在我的项目里,我通常采用策略A,因为我们的目的是降低注册门槛。如果业务上对用户名有强要求,可以在用户首次登录后,通过一个友好的弹窗提示他“可以设置一个独特的昵称哦”,进行引导补充。

6. 上线前必看:调试技巧与常见坑点

集成过程不会一帆风顺,尤其是在调试阶段。我把自己踩过的坑和总结的技巧分享给你,能帮你节省大量时间。

6.1 线上环境调试是必须的

这是最大的一个坑!无论是QQ还是微信,它们的授权回调地址都要求是已备案的域名,并且很多API(尤其是获取用户信息)在本地 localhost 或IP地址下会被严格限制。这意味着,你不能完全在本地开发环境完成所有调试。

我的实战流程:

  1. 本地开发:在本地编写和测试前端弹窗、跨窗口通信等纯前端逻辑。回调地址可以先配一个假的。
  2. 部署测试环境:将代码部署到一台具有公网IP和已备案域名的测试服务器上。这是最关键的一步。你可以买一个最便宜的云服务器,或者利用一些云开发平台提供的临时域名。
  3. 修改平台配置:在QQ互联和微信开放平台的后台,将回调地址修改为你测试服务器的真实地址。
  4. 线上调试:在测试服务器上进行扫码、授权、回调的全流程测试。利用浏览器的开发者工具(F12)的 Network 面板和 Console 面板,仔细查看每一个网络请求和日志输出。

6.2 参数编码与State防攻击

在拼接授权URL时,redirect_uri(回调地址)必须使用 encodeURIComponent() 进行编码,因为其中可能包含 ?、& 等特殊字符。对于微信的 state 参数,务必使用一个随机生成的字符串(如UUID),并在后端验证回调时带的 state 是否与发送时一致,以防止CSRF攻击。

6.3 移动端适配的差异

在PC浏览器上,扫码授权通常发生在一个新打开的弹出窗口(popup)里,授权完成后这个窗口可以自动 window.close()。但在手机浏览器上,情况不同:

  • 很多移动端浏览器会阻止 window.open 打开新窗口,而是以“新标签页”的形式打开。
  • 用户扫码确认后,可能会停留在授权成功的回调页面,而不是自动返回原应用。
  • 此时,你的跨窗口通信方案(BroadcastChannel)可能因为页面上下文切换而失效。

应对策略:在移动端,更常见的做法是不采用弹出窗口,而是直接进行页面跳转。用户点击“微信登录”后,直接跳转到微信的授权页面。授权完成后,再跳转回你指定的回调页面。在这个回调页面中,直接处理获取到的 code 或 token,然后通过 localStorage 或 window.opener(如果可用)将数据传回,最后再跳转回应用主页。你需要根据 userAgent 判断设备类型,来动态选择PC方案还是移动端方案。

6.4 用户拒绝授权与错误处理

不是每个用户都会点击“同意授权”。你需要处理用户拒绝的情况。QQ和微信在用户拒绝后,回调地址的URL中通常会携带 error 参数,比如 error=access_denied。你的前端回调页面和后端接口,都必须检查这个错误参数,并给出友好的提示,而不是让程序崩溃。

整个集成过程,就像是在你的网站和腾讯的社交帝国之间架设一座安全的桥梁。桥的一头是你的登录按钮,另一头是海量的QQ/微信用户。虽然架桥的步骤有些繁琐,但一旦通车,带给你的用户增长和体验提升将是实实在在的。我建议你按照这个指南,建立一个简单的测试项目从头到尾跑一遍,遇到问题就回头来对照检查,大部分问题都能在这几个环节里找到答案。当你第一次用自己的网站扫QQ码成功登录时,那种成就感,绝对是值得的。

PC端实现微信扫码登录的技术指南 通过按照上述步骤,你可以在PC端实现微信扫码登录功能。首先,注册并获取微信开放平台的AppID和AppSecret。然后,在HTML页面中引入微信扫码登录组件,并创建扫码登录按钮。最后,在回调URL的后端代码中处理回调并获取用户授权信息,以实现身份验证或其他相关操作。实现微信扫码登录可以提供更方便的登录体验,并为用户和网站管理员带来许多便利。希望本文对你有所帮助! 阅读详情

相关推荐

网站应用微信扫码登录

在很多企业网站中一般会提供多种登录方式,而微信扫码登录属于常见的一种,在网页端实现微信登录的方式有很多,例如“公众号方式扫码登录”、“微信开放平台扫码登录”;前者是需要关注公众号才能完成登录操作,对于有的用户来说其实并不想做关注这种操作,所以后者是一种更加纯粹的登录方式,只需要用户扫码授权即可,不需要关注任何东西。这里我们就详细讲解一下网站应用中,利用微信开放平台功能提供的微信扫码登录。

veerpower的博客 3181

微信扫码登录

小伙伴们有各种疑问可以去参考官方文档进行详细的学习下 微信开发文档 ,此次介绍的将是前后端不分离的微信扫码登录 微信登录开发流程: 申请微信接入 生成登录二维码 用户扫码并授权 调用回调方法 通过code去获取用户信息带到页面展示 官方流程图: 1. 申请微信接入: 先提醒下各位:申请微信接入很麻烦,本人因为公司业务需要,用的是公司申请好的。还没自己去申请过。 先去到 微信开放平台 https://open.weixin.qq.com 申请一个网站应用 (要审核通过之后才能用) 注: app

不要用过去的错误约束现在的自己。 1万+

通过微信扫码登录网站流程

通过微信扫码登录网站 微信开放平台文档地址:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Authorized_Interface_Calling_UnionID.html 步骤: 一、在管理中心中创建应用,填写信息并等待审核完成。 二、获取到app中的 AppID 和AppSecret 三、获取微信...

luslin1711的博客 6387

网站实现微信扫码登录

网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。

记录工作开发中遇到的技术难点,方便自己查看,也希望可以帮助到他人... 1万+

微信网页扫码登录的实现

  为了让用户登录网站的门槛更低,微信扫一扫登录变得越来越广泛,所以最近加紧赶制的项目中有用到这个功能,此篇文字的出发点基于微信开放平台已经配置好域名(80端口)并且认证成功获得app_id和secret并有权限调用微信的接口。好了,就先谈一谈微信扫码登录的整个流程吧。   第一步,我们必须得把二维码放在页面上显示。首先普及一下二维码是有失效时间以及失效状态的,一旦你扫过一次二维码或者...

a476479542的博客 5491

微信:网站应用第三方微信扫码登录实现

官方文档:微信开放平台网站应用文档 项目框架:VUE 1. 流程 大体流程如下: 2. 平台申请 首先要在官方微信开放平台申请创建网站应用:微信开放平台-网站应用开发 审核通过后,就可以在:管理中心-网站应用 下查看创建的网站应用 其中需要的用到的参数如下所示:AppID、AppSecret、授权回调域: 3. 前端代码实现(VUE为例) 首先要引入 wxLogin 的js文件,在 /public/index.html 中,添加引入: <body> <noscript>.

weixin_43856797的博客 2769

java实现PC网站实现微信扫码登陆

近期,开发一个项目要求PC网站可以进行扫码登陆。 1.前期工作 需要先在微信开放平台进行注册(https://open.weixin.qq.com/),并认证一个网站应用。 点击查看按钮,我们需要记录一下AppID,AppSercret的值,尤其第一次登陆的话生成好的AppSercret值一定要保存好。 这个接口主要用来就是登陆的,我们可以看到他的作用文档写的很详细,只是用来登陆的,不...

qq_36014509的博客 2万+

web微信扫码登录

step 1 点击进入微信开放平台 step 2 step 3 等待审核通过 step 4 设置域名或ip+port step 5 java后台实现GitHub地址

neutrons的博客 4797

个人博客网站实现微信扫码登录(附源码)

前言 一般情况下,个人博客网站 想要做用户注册、登录, 就需要让用户填写用户名、密码等信息进行手动注册、登录,这非常不友好。如果想做成微信扫码登录,对不起~~, 微信扫码登录的接口只对企业开放。好吧, 现在就让我来给大家带来“福音”, 个人资质实现博客网站微信扫码登录 在线测试扫码登录 在讲正式内容之前, 先让小伙伴们体验一下扫码登录的效果(这是我临时写出的一个Demo 页面,下面会贴出源码提供免费下载),然后再决定是否值得继续往下看。哈哈~~~~ 测试网址:https://demo.sitecode.

胖太乙 2万+

网站微信扫码登录总结

写着前面: 写博客即可以分享经验促进交流,又可以帮助自己梳理逻辑巩固知识。这是我的第一篇博客,写于职业之路的开端,希望自己以后可以坚持写下去 第三方网站微信扫码登录跳转总结微信扫码前端操作后端操作企业微信扫码总结 网站微信扫码登录从2014年的惊艳四座到如今的全网普及已经过了6年的时间,如今网站微信扫码登录靠着便捷、安全的特性成为了网站与用户的首选。第三方网页可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。同时微信拥有庞大且稳定活跃的用户基数,直接将我们的app接入到微信的生态可以免去复杂的

tongruiziliudi的博客 1232

WORDPRESS QQ扫码登录插件

下载地址:http://www.wuzhixiang.cn/2020/01/28/wordpress-qqlogin/ 一、插件预览 登录页面 点击QQ图标 登录未绑QQ定时的小工具 未登录时的小工具 二、功能说明 1、老用户可以绑定QQ,以后扫码直接登录。 2、新用户QQ扫码直接创建新账户,并登录。 3、一个QQ只能绑定一个用户。 4、授权码过期后需要重新支付激活、...

武志祥的博客 1901

java集成微信扫码登录

java集成微信扫码登录 具体流程可以看微信官网的扫码登录文档 地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN 一、 前期准备 1、注册 微信开放平台:https://open.weixin.qq.com 2、邮箱激活 3、完善开发者资料 4、开发者资质认

小张哇的博客 7870

JSSIP实战:5分钟搞定WebRTC电话功能(附完整代码示例)

本文通过JSSIP库实战演示如何在Web应用中快速集成WebRTC电话功能。文章提供了从环境准备、SIP服务器连接到完整代码示例的详细步骤,涵盖用户注册、拨号接听、媒体流处理等核心环节,并针对常见问题给出排查方案,帮助开发者高效实现网页端实时语音通信。

u8v9w0x1y的博客 518

SpringBoot 集成微信扫码登录实现指南

本文介绍了在SpringBoot项目中集成微信扫码登录功能的完整流程。首先需要在微信开放平台注册应用并获取AppID和AppSecret,配置授权回调域名。核心实现包括:1)生成微信登录二维码链接;2)处理授权回调获取临时code;3)用code换取access_token和用户信息;4)实现用户绑定或注册逻辑。文中提供了详细的配置类、服务层和控制器代码示例,并给出了安全建议(state验证、HTTPS、JWT令牌等)和常见问题解决方案。该集成方案能有效降低用户登录门槛,提升用户体验,同时保障系统安全性。

码出财富,敲出大千世界 1745

InfiniBand(IB)实战指南:从硬件配置到性能优化

本文是一份详尽的InfiniBand实战指南,涵盖从硬件选型、部署到驱动配置、性能优化的全流程。重点解析了InfiniBand作为AI训练与高性能计算(HPC)核心网络的优势,特别是其支持的RDMA技术如何实现微秒级低延迟。文章提供了硬件匹配、NCCL压测、内核参数调优及在PyTorch分布式训练中启用IB的实操步骤,旨在帮助工程师构建和优化高性能计算集群。

mqtt6iot的博客 582

树莓派Bookworm系统避坑指南:3种方法解决pip install报错externally-managed-environment

本文详细解析树莓派Bookworm系统中pip install报错externally-managed-environment的成因,并提供三种实用解决方案:使用虚拟环境(venv)隔离项目依赖、通过pipx管理全局Python工具,以及理解风险后的系统安装方法。帮助开发者安全高效地管理Python环境,避免系统冲突。

android的专栏 766

通过小程序实现微信扫码授权登录,网站接入微信扫码登录功能(免费)

网站如果想要实现微信扫码登录其实有很多种方案,常见的方案就是微信开放平台和微信公众号服务号。前者是目前大部分网站并且是微信认可的一种方式,后者是开发者发现服务号具备扫码关注后即可获取用户基本信息的能力后而开发的一种方式。

TANKING,开源开发者! 1万+

推荐系统在音乐领域的实践:网易云音乐推荐算法解析

你是否有过这样的经历?打开网易云音乐,“私人FM”里总能推到你想听的歌;“每日推荐”的歌单,往往藏着你没听过但一入耳就爱上的曲目。这些“懂你”的推荐背后,是一套复杂却精密的推荐系统在运转。问题陈述:音乐推荐的难点远超一般商品——音乐是高度主观的艺术,用户兴趣易随心情、场景变化;小众音乐的“长尾效应”显著,如何让冷门好歌被发现?传统协同过滤依赖历史行为,面对新用户/新歌曲的“冷启动”问题束手无策;而单纯的内容推荐又难以捕捉用户的隐性兴趣。核心方案:网易云音乐采用“混合推荐策略”——融合协同过滤(CF)

AI天才研究院 2091

Spring Boot集成微信扫码登录(实测通过)

简单来说:就是在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。

程序羊的博客 6930

Python爬虫实战:5分钟搞定Web of Science文献批量导出与解析(附完整代码)

本文提供了一套利用Python爬虫技术,快速实现Web of Science文献批量提取与解析的完整方案。通过解析官方导出的HTML文件,结合BeautifulSoup和pandas库,可将文献数据自动转换为结构化的Excel/CSV表格,帮助科研人员高效管理文献信息,节省大量手动整理时间。

weixin_29050513的博客 1168

【CloudCompare】Windows源码编译CloudCompare

本文详细介绍了在Windows环境下编译安装CloudCompare V2.12.0的过程。首先配置了PCL 1.14.1、CMake 3.30.6和QT 5.14.2开发环境,使用Visual Studio 2022工具集。然后下载源码并通过CMake进行配置,特别注意勾选PLUGIN_STANDARD_QPCL以支持PCD文件加载。最后在VS2022中编译安装,并指出Debug模式下可能遇到的VTK库后缀问题,需添加CMAKE_DEBUG_POSTFIX变量解决。整个流程涵盖了从环境搭建到最终编译成功的

yijiujiusan的博客 488

微信扫码登录之接入规范

为了提高用户体验,很多网站有扫码登录的功能,如:微信扫码登录、QQ扫码登录等。扫码登录的好处是用户不用输入账号和密码,操作简便,另外一个好处就是有利于用户信息的共享,互联网的优势就是资源共享,用户也是一种资源,对于一个新网站如果让用户去注册是很困难的,如果提供了微信扫码登录将省去用户注册的成本,是一种非常有效的推广手段。微信扫码登录其中的原理正是使用了第三方认证,如下图:下面以学成在线为例子学习微信扫码登录。

yusheng_xyb的博客 3913

YOLOv8改进 | 融合篇,YOLOv8改进主干网络为MobileNetV3+CA注意机制+添加小目标检测层(全网独家首发,实现极限涨点)

小目标检测难点众多,导致很多算法对小目标的检测效果远不如大中型目标。影响算法性能的主要原因如下:第一,小目标分辨率低、信息量不足,导致神经网络提取到的有效特征较少。第二,小目标在图像中所占的区域较小,易受背景干扰,这对算法的定位性能要求较高。第三,小物体标注困难,训练数据有限,导致模型泛化能力差。例如多尺度学习、无锚机制和生成对抗学习等方法,都能提高小目标检测的准确性和鲁棒性。为了改善小目标漏检现象严重的问题,我在 YOLOv8 中增加了 P2 检测头,相当于有四个检测头,使网络能检测到更小的目标。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2858
上一篇: AppFlow实战:零代码将Dify接入企业微信的完整指南
下一篇: 操作系统内存管理实战:4种动态分区分配算法优缺点对比(附性能测试)
php55
博客等级 码龄15年 51粉丝 1553原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值