前提条件
1、使用其他APP打包平台所打包出来的APP能使用微信登录;
2、已安装 [维清]微信登录正式版且版本大于 8.4,若没安装请按以下地址下载安装;
下载地址:http://addon.discuz.com/?@wq_login.plugin
3、[维清]微信登录插件 所使用的已认证服务号
已绑定到微信开放平台,若还没有绑定请按以下教程进行绑定:
进入管理中心
添加要绑定的公众号
绑定成功后在以下截图列表中会显示
接口地址及参数说明
接口请求的地址为:[维清]微信登录插件安装的网站域名/plugin.php?id=wq_login&mod=ajax&op=applogin,例如:“https://wiki.wikin.cn/plugin.php?id=wq_login&mod=ajax&op=applogin”
所需的参数列表及说明如下:
属性名 | 类型 | 说明 | 传输方式 |
---|---|---|---|
state | 字符串 | DZ生成的hash值一般情况下可通过{FORMHASH}方式获取到 | GET传输 |
inajax | 整型 | 固定传输值为1 | GET传输 |
openid | 字符串 | 用户授权后返回的当前用户唯一身份标识 | GET传输 |
unionid | 字符串 | 绑定开放平台后用户授权成功时返回的当前用户唯一身份标识 | GET传输 |
nickname | 字符串 | 授权后用户信息中的微信昵称 | GET传输 |
headimgurl | 字符串 | 授权后用户信息中的微信昵称头像 | GET传输 |
sex | 整型 | 授权后用户信息中的性别 | GET传输 |
province | 字符串 | 授权后用户信息中的所属省份 | GET传输 |
city | 字符串 | 授权后用户信息中的所属城市 | GET传输 |
以上参数列表中的参数在接口请求时都是必填的,接口的请求结果全部是调用DZ系统的showmessage函数返回
举例讲解
以下案例以变色龙打包平台所打包的APP为例子:
<script type="text/javascript">
function wq_applogin_result(result){
var newresult = result.substr(0, result.indexOf('}')+1);
newresult = JSON.parse(newresult);
if(!newresult || (!newresult.openid && !newresult.unionid)){
popup.open('授权返回信息有误', 'alert');
return false;
}
$.ajax({
type: 'POST',
url: '{$_G[siteurl]}plugin.php?id=wq_login&mod=ajax&op=applogin&state={FORMHASH}&inajax=1',
data: newresult,
dataType: 'html'
}).success(function(s) {
var wq = wqXml(s);
popup.open(wq_replace_js(wq));
evalscript(wq);
}).error(function() {
popup.close();
});
return false;
}
</script>
代码中的“wq_applogin_result”函数是变色龙平台调起微信登录授权后的回调函数,您不用完全仿造,只需要根据自己授权后的机制带上以上参数列表中的相关参数请求上面所指示的接口进行数据打通即可