• 欢迎光临~

生成唯一id

开发技术 开发技术 2022-12-29 次浏览

一、使用 crypto 插件

  生成样式:395748fa-e2fc-433e-9885-015dc39641e1

  1.安装插件

npm install crypto --save

2.调用例子

'use strict';
const crypto = require('crypto'); //加密引入的
const { Controller } = require('egg');

class HomeController extends Controller {
  async index() {
    const { ctx } = this;
   
    ctx.body = crypto.randomUUID()
    //ctx.body = 'egg-hi'
  }
}

module.exports = HomeController;

  生成样式:b9810d71-767f-4524-adbf-0afe558afbc7

async genID() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
      var r = Math.random() * 16 | 0,
          v = c == 'x' ? r : (r & 0x3 | 0x8);
      return v.toString(16);
    });
  }

  生成样式:43eae4a8-8fff-4a22-81b9-e6426f1ef47e

async genID(){
    var s = [];
    var hexDigits = "0123456789abcdef";
    for (var i = 0; i < 36; i++) {
        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[8] = s[13] = s[18] = s[23] = "-";
 
    var uuid = s.join("");
    return uuid;
  }

 

程序员灯塔
转载请注明原文链接:生成唯一id
喜欢 (0)