之前的QR_code部分调用的是Google Chart API,后来发现的一个问题就是执行的速度很慢,而且超时的话就显示不出来了。这可不能就这样不稳定的情况下草草了事了,于是想到了离线代码,不需要借用网络资源的情况下将QR_code给显示出来。
在网上找到一个QR_code开发的离线包,和Google的一样,也是通过传递参数进去生成的。速度很快,基本上是“秒成”,不会出现超时的现象。自己做了些修改,增加调整大小和纠错等级的功能。大小在之前的文章里有介绍过,不仅仅是形式上的变大变小了,而且存储信息容量也会有相应的变化。纠错等级分为四个,“L-级”默认的,可以识别已损失7%的数据;“M-级”可以识别已损失15%的数据;“Q-级”可以识别已损失25%的数据;“H-级”可以识别已损失30%的数据。到这就有个疑问了,是不是纠错等级越高越好呢?因为即使在损失了很多数据的情况下依旧是可以识别的。但事实不是这样的,破损识别是建立在“冗余”的基础上的。如果存储量很大的话,设置高级别的纠错等级,它的冗余量也会相应的增倍。所以,“信息量”“QR_code大小”“纠错等级”是个三角形的关系,只有达到一个很好的平衡后才能获得最佳效果的QR_code。
离线包同样也可能会带来问题,正如之前尝试地图离线的时候,离线包是别人提供的,毕竟不是官方的,谁都不能保证这个包无BUG。万一存在什么问题,自己再怎么调试也只有纠结了。不过,到目前为止还没发现什么问题,于是也就有了QRcode栏下的QRcode_offline部分。
之前没怎么用微信,真正让我喜欢上它是因为前面提到过的“扫出的腾讯地图”。自己也搞了一个公众账号玩玩,申请其实很简单的,实名认证头像加个身份证就行了。微信有两个平台,一个是公众平台也就是mp.weixin.qq.com,另一个是开放平台也就是open.weixin.qq.com。前者是在微信的基础上进行开发,是微信包含“自己”的关系,分为“服务号”和“订阅号”,服务号需要公司企业营业执照才能申请的,订阅号有身份证就行了。开放平台则是在自己的网站里包含分享到微信的功能,是“自己”包含微信的关系。具体的功能百度文库里都有介绍,在这也就不赘述了。
自己的公众账号是iat_net_cn,因为它不支持“.”号,也就用下划线代替了。当然也可以扫描如下的二维码添加
目前还没有写代码进行交互,只是利用www.v5kf.com的平台,实现基本的“小黄鸡”功能。不过,自己的真正想法不在于此,微信有自己的“扫一扫”,何不再回到原点?利用其“扫一扫”的功能来实现电子签到。试了一下,专门的二维码扫描软件扫出来直接跳转结果了,微信做了层判断,问是否打开,这是二维码为网页链接的时候。当二维码为手机号时,微信则是显示全部的字符串信息,没有跳转到拨号的界面。
在开发文档里发现微信也提供了生成带参数的二维码功能,如果能够在读取二维码的时候允许执行写入数据库的操作,二维码签到也就迈出了一大步。担心的就是不允许将用户自己的信息透露给编程人员,不能读取写入用户信息的操作。接下来需要好好理顺思路了,好好查查,看这一步能不能行得通。