QQ互联插件-用QQ账号登陆您的MT
( QQ Connect Commenters Plugin for Movable Type )
Authors: 路杨 (EasunLee) Copyright 2015 Easun.org. License: Artistic, licensed under the same terms as Perl itself
概述
MT QQ互联插件 (QQ Connect Commenters plugin for Movable Type) 允许用户用 QQ 号码登陆你的 Movable Type 博客。
本插件严格使用 QQ互联 的 Open API 编写。安全可靠。
它可以给您的博客带来良好的用户体验。
一旦使用这个插件,评论者可以自动获取QQ昵称、头像等资源。
请注意: QQ互联 (QQ Connect)官方使用的机制是审核制度,并不是使用这个插件就直接可以使用QQ登陆。 您需要去 QQ互联 (QQ Connect) 官方注册您使用本插件的网站并获取属于自己的 APPID 并提交审核。审核过程可能需要1周或者更长时间。
关于 QQ互联 (QQ Connect) 的注册,请 百度 之。或者读取官方资料: http://wiki.connect.qq.com/。
运行环境
- Movable Type 4.2 或者更高版本
- JSON::XS 2.0 或者更高版本
- jQuery (非必需,建议)
Movable Type 的 extlib
中已经包含了必需的 JSON:XS 版本。
安装
下载并解压本插件。
复制(上传)
QQCommenters/mt-static
下的内容到/path/to/mt/mt-static/
复制(上传)
QQCommenters/plugins
下的内容到/path/to/mt/plugins/
登陆您的 Movable Type 后台 ->
Plugin Settings
去设置您的 QQAPP ID
和APP KEY
。- 在 后台->
Registration Settings
->Authentication Methods
中选启用 QQ 。 - 在前台选择登陆,您会看见 QQ 登陆 的选项已经有了。 如果您的网站通过审核,可以之直接使用了。
关于 QQ互联 功能的申请
关于 QQ互联 功能的申请,简单减少一下流程:
- 用您的QQ账号登陆 http://connect.qq.com/intro/login 并申请网站接入。
- 详细描述您要接入的网站信息。请注意 回调地址 一定要填写为*您的Movable Type 后台
CommentScript
的完整地址,并且带上http://
或者https://
的前缀*。比如 (http://your_domain/cgi-bin/mt/mt-comments.cgi
)。
可以设置多个回调地址,用 分号 分开即可。 QQ互联 (QQ Connect) 的官方APP帮助文档 写的像浆糊一样,而且处处错误。这个地方官方文档写就是有问题。 - 腾讯 的QQ 登陆审核一个要求,就是登陆页面要设置 醒目的QQ登录入口。而我们的前端如果不做修改的话,会很简洁,这个就需要自己在前台放端代码。 简单的分享一下我的一些前端 JS 代码:
前端代码
function QQSignIn()
codefunction QQSignIn() {
var doc_url = document.URL;
doc_url = doc_url.replace(/#.+/, '');
var url = '<$mt:CGIPath$><$mt:CommentScript$>?__mode=login_external&key=QQ&blog_id=<$mt:BlogID$>';
if (is_preview) {
if ( document['comments_form'] ) {
var entry_id = document['comments_form'].entry_id.value;
url += '&entry_id=' + entry_id;
} else {url += '&static=<$mt:BlogURL encode_url="1"$>'; }
} else {url += '&static=' + encodeURIComponent(doc_url);
}
mtClearUser();
location.href = url;
}
function QQSignInOnClick()
codefunction QQSignInOnClick(sign_in_element) {
var el;
if (sign_in_element) { el = document.getElementById(sign_in_element);}
if (el) el.innerHTML = 'Signing in... <span class="status-indicator"> </span>';
mtClearUser(); // clear any 'anonymous' user cookie to allow sign in
QQSignIn();
return false;
}
这样话,只用使用 <span class="QQ_signin_span" title="Sign in with your QQ Account" onclick="return QQSignInOnClick('signin-widget-content')"></span>
即可展示出 QQ 登陆按钮。
当然,这样需要添加 CSS:
code.QQ_signin_span {
background-image: url("/mt-static/plugins/QQCommenters/Connect_logo_3.png");
background-repeat: no-repeat;
background-position: 50% 50%;
overflow: hidden;
width: 120px;
display: inline-block;
height: 24px;
padding: 0px;
margin: 0px 2px;
vertical-align: bottom;
cursor: pointer;
}
具体一些前端的自定义代码可以直接分析本站的 mt.js 。
多账号登陆地址可以见 ==这里==
Github Page 地址: http://git.easun.org/mt-plugin-qq-connect-commenters/
MovableType.cn 域名要不要:) 有兴趣给我电话 13011221181。呵呵
谢谢。不需要。你可以咨询一下 6A 的官方。:)
sixapart.cn 也在我这,而且给官方去过邮件,没有人回。o(^▽^)o
6A 貌似只注重日本市场。 另外, .cn 的玉米是最头疼,需要实名需要备案。还是 .com /.org /.net等等省事。
的确是这样,不过这两个域名我都已经备案了。
哈哈。备案够辛苦。 小站自娱自乐没有必要用类似官方那样的大域名。域名、服务器都放在海外,除了访问速度慢一点外,其他都好。
另外,现在国内的主机基本上都没有办法运行 MT 。原因就是 perl。。
万网开始有部分主机是支持的,后来有一天突然在没通知我的情况下就取消了我主机PERL的支持,后来的解决办法就是升级到一个价格高的主机免费一年...
嗯嗯。 本来 类unix 主机是原生支持 perl 的,可惜现在都是 php 一统天下。
以前的雷傲论坛等等CGI的程序都衰落了……现在学FCGI和CGI好像用的越来越少了。
是啊。关键是执行效率问题。呵呵
加Q聊方便么。
屏蔽了Q?
多说系统自动把这两条信息标记成了 SPAM (看来够智能的。呵呵)。
单位上不了Q,也万年不用Q了。
如果不下载QQ头像到本地,则需要显示头像的时候启用一个插件。。。