二维码短连接生成思路

一、前言

有时需要用户扫描一个二维码,然后跳转到自己服务器的前端页面(当然跳转到后端url也行)。

二维码本质就是一个url,手机扫码后、就去访问这个url。

但是,如果url过长(地址过于复杂、参数过多),生成的二维码就会很密,手机扫码后解析和跳转花费的时间也会很长,用户体验就会很差。

此时,就需要想办法用一个短连接来代替长连接,生成的二维码密度也会小些,手机扫码后就能快速跳转。

二、思路

1.本人的系统中,有一个数据库表short_url,里面主要有4列:

id
hash_code #存储长连接md5加密后得到的串
true_url #存储长连接
create_time

其中,true_url存储原本要跳转的长连接;
hash_url存储对应的短连接,是使用DigestUtils.md5Hex(true_url)这个方法,把长连接进行md5加密、得到的串存入hash_code里。

2.生成二维码时,找一个后台接口,然后传一个参数hash_code,然后就用这个地址生成二维码。(这个地址很短,可以算短链接)
例如:

http://localhost:8080/hash?code=qlwekjradioufqwe

这个url就是短连接二维码地址。

3.扫描这个短链接二维码时,就先跳转到/hash后台接口,后台接口获取到code=qlwekjradioufqwe,然后查询数据库表short_url:

id    hash_code           true_url
1     qlwekjradioufqwe    http://localhost:8080/a/b/c/d/e/f?a=1&b=2&c=3

根据hash_code查询到true_url,然后重定向到这个长连接即可http://localhost:8080/a/b/c/d/e/f?a=1&b=2&c=3(当然实际的长连接可能会非常长)

4.查询数据库的操作,可以用redis当中间件,减小数据库压力。

三、总结

目前是因为手机扫描比较复杂的二维码(长连接)解析较慢、用户体验差,所以才用短链接二维码来实现,二维码简单些手机扫码解析会快很多。

后续后台系统从短连接重定向到长连接会很快,比直接扫长连接二维码会快很多。

因此才用短连接二维码代替长连接二维码,优化用户体验。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐梦想永不停

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值