vue で一意の識別子 uuid を使用します — uuid.v1()-タイム スタンプ、uuid.v4()-乱数
1. 基本紹介
npm アドレス: https://www.npmjs.com/package/uuid#api
Uuid オンライン ジェネレーター: http://uuid.bchrt.com/
uuid は、普遍的に一意の識別子を意味します。
UUID は、Universally Unique Identifier (Universally Unique Identifier) の略で、ソフトウェア構築の標準であり、分散コンピューティング環境の分野における Open Software Foundation 組織の一部でもあります。その目的は、中央制御端末を介して識別情報を指定することなく、分散システム内のすべての要素が一意の識別情報を持つことを可能にすることです。
UUID は32 桁の 16 進数のグループで構成されているため、理論上の UUID の合計は 1632=2128 であり、これはおよそ 3.4 x 10123 に相当します。つまり、1 ナノ秒ごとに 100 万個の UUID が生成される場合、すべての UUID を使い果たすには 100 億年かかります。
フォーマット:
UUID の 16 オクテットは、8-4-4-4-12 の形式で、ハイフンで区切られた 5 つのグループに分けて表示される 32 の 16 進数として表され、合計 36 文字 (つまり、12 文字の英数字 3 文字と 4 文字)ハイフン)。例えば:
123e4567-e89b-12d3-a456-426655440000
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
- M の 4 桁の数字は UUID のバージョンを表し、現在の仕様には 5 つのバージョンがあり、M のオプションの値は 1、2、3、4、5 です。
- 数値 N の最上位 1 ~ 4 桁は UUID バリアント (バリアント) を表し、2 桁の 10xx が固定されているため、値 8、9、a、b のみを取得できます。
UUID のバージョンは M で表されます。現在の仕様では 5 つのバージョンがあり、オプションの値は 1、2、3、4、および 5 です。これらの 5 つのバージョンでは、異なるアルゴリズムを使用し、異なる情報を使用して UUID を生成します。各バージョンには独自の利点があり、さまざまなシナリオに適しています。特定の情報を使用する
2.使用する
1. インストール:
npm install uuid
npm install uuid --save
cnpm i -S vue-uuid
2. UUID を生成します。
import {
v4 as uuidv4 } from 'uuid';
uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'
CommonJS 構文の使用:
const {
v4: uuidv4 } = require('uuid');
uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'
const uuid = require('uuid') //1、引包
console.log(uuid.v1()) //2、调用 98fc11a0-dde0-11e9-ade5-25202b3a2fba
ビューで使用
グローバル参照
1.main.jsに導入
import UUID from "vue-uuid";
Vue.use(UUID);
2.使用する
console.log("this.$uuid.v1():", this.$uuid.v1());
// this.$uuid.v1():b1ef4cf0-ae0d-11eb-bed8-596efe8bfb0b
部分参照
import {
uuid } from 'vue-uuid';
使用:
uuid.v1()
全体
import {
v4 as uuidv4 } from ‘uuid’
const uuid = uuidv4()
this.sessionId = uuid.v4()
console.log(this.sessionId)
ノードで uuid を使用する
# 下载
cnpm i -S uuid
使用
const uuid = require('uuid')
console.log("uuid.v4()", uuid.v4())
3. API パラメータ
new.NIL | nil UUID 文字列 (すべてゼロ) | Newcomer[メール保護] |
---|---|---|
uuid.parse() | UUID 文字列をバイト配列に変換する | Newcomer[メール保護] |
uuid.stringify() | バイト配列を UUID 文字列に変換する | Newcomer[メール保護] |
uuid.v1() | バージョン 1 (タイムスタンプ) UUID を作成する | |
uuid.v3() | バージョン 3 を作成 (MD5 で名前空間) UUID | |
uuid.v4() | バージョン 4 (ランダム) UUID を作成する | |
uuid.v5() | バージョン 5 (SHA-1 の名前空間) UUID を作成する | |
uuid.validate() | 文字列をテストして、有効な UUID かどうかを確認します | Newcomer[メール保護] |
uuid.バージョン() | UUID の RFC バージョンを検出する | Newcomer[メール保護] |
4. 応用例
例 1
グローバルな使用
パッケージ.json
"uuid": "^8.3.1",
main.js
import {
v4 as uuidv4 } from 'uuid';
// 全局方法挂载
Vue.prototype.uuidv4 = uuidv4
使用
click(){
var temp_event = this.uuidv4();
console.log('temp_event',temp_event);
eventBus.$on(temp_event,res=>{
this.getList();
eventBus.$off(temp_event);
});
}
例 2
ページが更新されると、新しい UUID が生成されます。
uuid.v4() //直接加在页面的任意位置
ページ/タブを開いて UUID を生成すると、ページが更新されても UUID は変更されません。
ページを開き、UUID がない場合は生成して sessionStorage に保存し、ある場合は sessionStorage に保存されている UUID を直接読み取ります。
let uuid = sessionStorage.getItem('uuid');
if (!uuid) {
sessionStorage.setItem('uuid',uuidv4());
}
UUID は長期間保存され、キャッシュをクリアした後に自動的に生成されます。
このようにして、長期保存のために uuid を localStorage に保存できます。
let uuid = localStorage.getItem('uuid');
if (!uuid) {
localStorage.setItem('uuid',uuidv4());
}
ログイン検証を追加し、非ログイン状態で UUID を再生成します。
if (getToken()){
//判断是否有 token
sessionStorage.removeItem('uuid'); //如果有,清除 sessionStorage 中的 uuid
} else {
//未登录状态生成 uuid
let uuid = sessionStorage.getItem('uuid');
if (!uuid) {
sessionStorage.setItem('uuid',uuidv4());
}
}
もちろん、時刻やデバイス情報、MD5やソルト(Salt)などからより正確なUUIDを生成することも可能で、ニーズに合わせて柔軟に利用できます。