安装与启用
先在 DouPHP+ 中安装"插件模块",然后在插件模块里安装"微信登录"插件,安装完成后再进入插件设置进行配置。
可用场景提醒
微信登录插件适用的场景包含:
不包含小程序登录。小程序登录在 DouPHP 小程序模块中单独配置小程序信息即可实现,与微信登录插件相互独立。
配置复杂度提示
微信登录插件配置较为复杂,第一次配置通常要花较多时间慢慢调试——这类插件是双向通信的:DouPHP 这边配置完全正确,微信端任何一处不对都会导致无法使用。请仔细查看系统给出的提示,特别是"授权回调域"和"业务域名 / JS 接口安全域名 / 网页授权域名"这类与域名相关的字段,一点点差异都不行:
http:// 与 https:// 视为不同域名;www 与不加 www 视为不同域名。若微信端填写的是 www.domain.com,而访问网站使用的是 domain.com(不带 www),会被判定为不一致;https / http 混用同理。
一、配置插件
插件配置分两部分,如下图:红色部分负责 PC 端或手机端通过扫码登录;蓝色部分负责在公众号里直接点击登录。
需要先理解一个概念:PC 端浏览器本身并未集成微信、且多数 PC 未安装微信客户端,无法直接唤起微信登录,必须用手机上的微信扫码登录;公众号则不同,本身就是微信自家的产品,可以直接实现点击登录。理解这一点后,您就会明白为什么微信登录要设置这么多字段。

1. APPID(微信开放平台)、APPSECRET(微信开放平台)—— PC 端扫码登录
前往"微信开放平台 → 管理中心 → 网站应用"提交申请(申请步骤按微信端提示完成,此处不再详述)。设置"授权回调域"时,domain.com 与 www.domain.com 会被视为两个不同的域名——注意:这里填写的是您自己的域名,不要照抄示例。

审核通过后回到"网站应用",找到您申请的应用,点击查看即可获得 APPID 与 APPSECRET(需先生成)。

2. APPID(微信公众号)、APPSECRET(微信公众号)—— 公众号内点击登录
填入微信公众号(服务号)申请到的 APPID 与 APPSECRET,位置在"公众号 → 基本配置"里。
另外在"公众号设置 → 功能设置"里需要配置:业务域名、JS 接口安全域名、网页授权域名。这 3 处只需输入域名本身(不带 http:// / https://),例如 www.domain.com;严格区分加 www 与不加 www:公众号菜单里配置的域名包含 www,这里也必须是包含 www 的版本(注意:填写您自己的域名,不要照抄示例)。

二、关于微信开放平台
微信开放平台有两个作用:
如果您只有公众号,就没必要配置开放平台;只有小程序也没必要配置。但如果要让"网站应用 / 公众号 / 小程序"三端登录的会员打通,就必须把公众号和小程序在开放平台的"管理中心"里进行账号绑定,然后在代码中使用 unionid 作为唯一标识;否则只能使用各终端拿到的 openid 作为唯一标识。同一个微信号在"网站应用 / 公众号 / 小程序"三处拿到的 openid 都是不一样的(这是开发层要处理的问题,只是帮助您理解为什么需要绑定)。
在 DouPHP 中的启用与配置:
include/plugin/wxlogin/ 目录