二维码扫描后更改

2017-08-17  本文已影响0人  环零弦

二维码扫描后更改

鉴于昨天做的基于Websocket的消息推送,显然前台的二维码扫描后更改需要用Websocket做,原因很简单:被扫终端正常来讲不知道啥时候要变,变成啥。

二维码的生成组件用的angular2-qrcode,语法很独特,大概是这样的:

<qr-code [value]="'All QR Code data goes here!'" [size]="150"></qr-code>

这就让人很难理解我的value值应该怎么设置动态,查它的issue,好在在issue#10中有阐释:

<qr-code [data]="textEncode" [size]="250" [type]="8"></qr-code>

意思是只要将双向绑定的变量放到这个域里就可以了,OK。

在业务组件类里如下设置:

this.ngws = new SimpleNgWebSocket('ws://192.168.1.240:80');
this.ngws.on('message', (msg) => {
  this.qrcode = msg.data;
});
this.ngws.send('hi');

意思是打开相应组件时通过Websocket向服务器请求第一个验证码内容。

服务器端逻辑:

me.sendCmd('http://192.168.1.240/login/:1', '1');

收到申请消息后回复第一个验证码内容。内容是一个路由,然后在这个处理路由中设置逻辑:

WSRouter.sendMsg('http://192.168.1.240/login/:' + (count++));
res.json("login root");

这里是将参数加一后返回,这样前台二维码就变成了相同路由,参数加一的图案,循环如斯。

上一篇 下一篇

猜你喜欢

热点阅读