二次元コード短接続生成アイデア

I.はじめに

場合によっては、ユーザーが QR コードをスキャンして、自分のサーバーのフロントエンド ページにジャンプする必要があることがあります (もちろん、バックエンド URL にジャンプしても問題ありません)。

QR コードは基本的に URL であり、携帯電話でコードをスキャンすると、この URL にアクセスできます。

ただし、URL が長すぎる場合 (アドレスが複雑すぎ、パラメーターが多すぎる場合)、生成される QR コードは非常に密になり、携帯電話がコードをスキャンした後の解析とジャンプに時間がかかります。ユーザーエクスペリエンスも悪くなります。

この時点で、長い接続を短い接続に置き換える方法を見つける必要があります。これにより、生成される QR コードの密度が小さくなり、携帯電話でコードをスキャンした後にすぐにジャンプできるようになります。

2、アイデア

1. 私のシステムにはデータベース テーブル short_url があり、主に 4 つの列があります。

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

このうち、true_url にはリダイレクトされるべき長い接続が格納され、
hash_url には対応する短い接続が格納され、DigestUtils.md5Hex(true_url)このメソッドは長い接続を md5 で暗号化し、取得した文字列を hash_code に格納するために使用されます。

2. QR コードを生成するときは、バックグラウンド インターフェイスを見つけてパラメータを渡しhash_code、このアドレスを使用して QR コードを生成します。(このアドレスは非常に短いため、短いリンクと見なすことができます)
例:

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

この URL は短縮リンク QR コード アドレスです。

/hash3. この短いリンクの QR コードをスキャンすると、最初にバックグラウンド インターフェイスにジャンプし、バックグラウンド インターフェイスがそれを取得し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 を使用できます。

3. まとめ

現在、携帯電話はより複雑な QR コード (長いリンク) をスキャンし、分析が遅く、ユーザー エクスペリエンスが低いため、QR コードの実現には短いリンクの QR コードが使用されています。携帯電話でのスキャンと分析がより速くなります。

その後の短い接続から長い接続へのバックグラウンド システムのリダイレクトは非常に高速であり、長い接続の QR コードを直接スキャンするよりもはるかに高速です。

したがって、ユーザー エクスペリエンスを最適化するために、接続時間が長い QR コードの代わりに接続時間の短い QR コードが使用されます。

おすすめ

転載: blog.csdn.net/BHSZZY/article/details/130749029