实现手机扫描二维码页面登录,类似web微信-第四篇,服务器端

终于到了服务器端,第三篇的手机客户端如果已经下载了的话,没有服务器是不能正常运行的。

服务器端要做得事很多,虽然逻辑不是很复杂,但是我们必须要分析清楚我们要做哪些事,请看下图:


通过这张图,我们看出,服务器端的接口一共有6个,分别处理:

  1. 手机客户端登录
  2. 首页
  3. 二维码图片流
  4. long polling维持
  5. 接收手机客户端已扫描的通知
  6. 接收手机客户端已确认登录的通知
那么一个一个解决

首先是手机客户端登录,在上一篇我们介绍的手机客户端登录我们仅仅模拟一下,因此用户只需要提交一个用户名,服务器则通过SHA1对用户名加密,将密文返回作为token。为了将来验证这个密文是否OK,我们将用户名和密文保存在redis内供将来验证使。
需要引用的包:
var http = require('http'), url = require('url'), fs = require('fs'), querystring = require('querystring'),qrcode = require('qrcode'), UUID = require('uuid-js'), sha1 = require('sha1'), redis = require('redis'), redisClient = redis
		.createClient('10087', '192.168.111.122'), redisKey = 'QRCODE_LOGIN_TOKEN';

redis 的客户端也一并创建了,并设置了key
web服务的基础结构如下:
http.createServer(function(req, res) {
	// parse URL
	var url_parts = url.parse(req.url);
	var path = url_parts.pathname;
	var uuid4 = UUID.create();
	var _sessionID = uuid4.toString();
	if (path == '/') {
		//...
	} else if (path == '/poll') {
		// console.log('polling');
		
	} else if (path == 
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值