{"id":29568,"date":"2024-11-25T09:59:31","date_gmt":"2024-11-25T01:59:31","guid":{"rendered":"https:\/\/fwq.ai\/blog\/29568\/"},"modified":"2024-11-25T09:59:31","modified_gmt":"2024-11-25T01:59:31","slug":"%e5%be%ae%e4%bf%a1%e5%b0%8f%e7%a8%8b%e5%ba%8f%e5%bc%80%e5%8f%91%e5%8a%9f%e8%83%bd%e4%bb%8b%e7%bb%8d%ef%bc%9a%e5%8a%a0%e8%a7%a3%e5%af%86node-uuid","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/29568\/","title":{"rendered":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u529f\u80fd\u4ecb\u7ecd\uff1a\u52a0\u89e3\u5bc6NODE-UUID"},"content":{"rendered":"<table style=\"width:98%\">\n<tbody>\n<tr>\n<td>\n<p style=\"text-align:left\"><span>node-uuid\u53ef\u4ee5\u5feb\u901f\u5730\u751f\u6210\u7b26\u5408 RFC4122 \u89c4\u8303 version 1 \u6216\u8005 version 4 \u7684 UUID\u3002js-base64\u53ef\u4ee5\u5b9e\u73b0Base64\u7f16\u7801\u548c\u89e3\u7801\uff0c\u652f\u6301UTF-8\u7f16\u7801\u3002crypto-js \u53ef\u4ee5\u975e\u5e38\u65b9\u4fbf\u5730\u5728 JavaScript \u8fdb\u884c md5\u3001SHA1\u3001SHA2\u3001SHA3\u3001RIPEMD-160 \u54c8\u5e0c\u6563\u5217\uff0c\u8fdb\u884c AES\u3001DES\u3001Rabbit\u3001RC4\u3001Triple DES \u52a0\u89e3\u5bc6\u3002SJCL\u662f\u4e00\u4e2a\u7531\u65af\u5766\u798f\u5927\u5b66\u8ba1\u7b97\u673a\u5b89\u5168\u5b9e\u9a8c\u5ba4\u521b\u7acb\u7684\u9879\u76ee\uff0c\u65e8\u5728\u521b\u5efa\u4e00\u4e2a\u5b89\u5168\u3001\u5feb\u901f\u3001\u77ed\u5c0f\u7cbe\u608d\u3001\u6613\u4f7f\u7528\u3001\u8de8\u6d4f\u89c8\u5668\u7684JavaScript\u52a0\u5bc6\u5e93\u3002<\/span><\/p>\n<p style=\"text-align:left\"><span><br \/><\/span><\/p>\n<p> <strong><span style=\"font-size:18px\">node-uuid<\/span><\/strong><\/p>\n<p style=\"text-align:left\"><span>node-uuid\u53ef\u4ee5\u5feb\u901f\u5730\u751f\u6210\u7b26\u5408 RFC4122 \u89c4\u8303 version 1 \u6216\u8005 version 4 \u7684 UUID\uff08Universally Unique IDentifier, \u6807\u8bc6\u7b26\uff09\u3002<\/span><\/p>\n<p style=\"text-align:left\"><span>UUID\u7684\u51fa\u73b0\uff0c\u662f\u4e3a\u4e86\u5728\u4e00\u4e2a\u590d\u6742\u7684\u7cfb\u7edf\u4e2d\uff0c\u552f\u4e00\u7684\u6807\u8bc6\u6bcf\u4e2a\u4fe1\u606f\u5b9e\u4f53\uff0c\u540c\u65f6\u4e0d\u9700\u8981\u6709\u4e00\u4e2a\u96c6\u4e2d\u7684id\u7ba1\u7406\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u6839\u636e\u67d0\u79cd\u89c4\u5219\u6765\u4e3a\u4e00\u4e2a\u4fe1\u606f\u5b9e\u4f53\u5206\u914d\u4e00\u4e2a\u552f\u4e00\u7684id\uff0c\u800c\u4e14\u4e0d\u9700\u8981\u4e00\u4e2aid\u7ba1\u7406\u5668\u6765\u4fdd\u8bc1\u8fd9\u4e2aid\u7684\u552f\u4e00\u6027\u3002<\/span><\/p>\n<p style=\"text-align:left\"><span>UUID\u662f128\u4f4d\u7684\u5168\u5c40\u552f\u4e00\u6807\u8bc6\u7b26\uff0c\u901a\u5e38\u753132\u5b57\u8282\u7684\u5b57\u7b26\u4e32\u8868\u793a\u3002\u5b83\u901a\u8fc7MAC\u5730\u5740\u3001\u65f6\u95f4\u6233\u3001\u547d\u540d\u7a7a\u95f4\u3001\u968f\u673a\u6570\u3001\u4f2a\u968f\u673a\u6570\u6765\u4fdd\u8bc1\u751f\u6210ID\u7684\u552f\u4e00\u6027\u3002version 1 \u662f\u57fa\u4e8e\u65f6\u95f4\u6233\u751f\u6210\uff08time-based\uff09\uff1bversion 1 \u662f\u968f\u673a\u751f\u6210\uff08random\uff08<\/span><\/p>\n<p style=\"text-align:left\">Version1\uff1a<\/p>\n<p style=\"text-align:left\"><\/p>\n<p style=\"font-size:12px\">[AppleScript]&nbsp;<\/p>\n<pre>&nbsp;var&nbsp;uuidv1&nbsp;=&nbsp;require('..\/..\/lib\/uuid\/we-uuidv1');&nbsp;&nbsp;&nbsp;&nbsp;console.log(uuidv1());&nbsp;\/\/&nbsp;\u8f93\u51fa\uff1a70d47fd0-d250-11e6-9816-45a4888ae4f<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p style=\"text-align:left\">Version4\uff1a<\/p>\n<p style=\"font-size:12px\">[AppleScript]&nbsp;<\/p>\n<pre>var&nbsp;uuidv4&nbsp;=&nbsp;require('..\/..\/lib\/uuid\/we-uuidv4');&nbsp;&nbsp;&nbsp;&nbsp;console.log(uuidv4());&nbsp;\/\/&nbsp;\u8f93\u51fa\uff1ad839476c-ce27-4d24-a431-e96123c1916b<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p style=\"text-align:left\"><span>\u53ef\u4ee5\u8bbe\u5b9a\u4ea7\u751f\u53c2\u6570<\/span><\/p>\n<p style=\"font-size:12px\">[AppleScript]&nbsp;<\/p>\n<pre>&nbsp;var&nbsp;v1&nbsp;=&nbsp;uuidv1({\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node:&nbsp;[0x01,&nbsp;0x23,&nbsp;0x45,&nbsp;0x67,&nbsp;0x89,&nbsp;0xab],\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clockseq:&nbsp;0x1234,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msecs:&nbsp;new&nbsp;Date().getTime(),\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nsecs:&nbsp;5678\r\n&nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;&nbsp;&nbsp;console.log(v1);&nbsp;\/\/&nbsp;\u8f93\u51fa\uff1a908e3a9e-d250-11e6-9234-0123456789ab<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p style=\"text-align:left\"><span>js-base64\u53ef\u4ee5\u5b9e\u73b0Base64\u7f16\u7801\u548c\u89e3\u7801\uff0c\u652f\u6301UTF-8\u7f16\u7801\u3002<\/span><\/p>\n<p style=\"text-align:left\"><span>Base64\u662f\u4e00\u79cd\u57fa\u4e8e64\u4e2a\u53ef\u6253\u5370\u5b57\u7b26\u6765\u8868\u793a\u4e8c\u8fdb\u5236\u6570\u636e\u7684\u8868\u793a\u65b9\u6cd5\u3002\u7531\u4e8e2\u76846\u6b21\u65b9\u7b49\u4e8e64\uff0c\u6240\u4ee5\u6bcf6\u4e2a\u6bd4\u7279\u4e3a\u4e00\u4e2a\u5355\u5143\uff0c\u5bf9\u5e94\u67d0\u4e2a\u53ef\u6253\u5370\u5b57\u7b26\u3002\u4e09\u4e2a\u5b57\u8282\u670924\u4e2a\u6bd4\u7279\uff0c\u5bf9\u5e94\u4e8e4\u4e2aBase64\u5355\u5143\uff0c\u53733\u4e2a\u5b57\u8282\u9700\u8981\u75284\u4e2a\u53ef\u6253\u5370\u5b57\u7b26\u6765\u8868\u793a\u3002\u5b83\u53ef\u7528\u6765\u4f5c\u4e3a\u7535\u5b50\u90ae\u4ef6\u7684\u4f20\u8f93\u7f16\u7801\u3002\u5728Base64\u4e2d\u7684\u53ef\u6253\u5370\u5b57\u7b26\u5305\u62ec\u5b57\u6bcdA-Z\u3001a-z\u3001\u6570\u5b570-9 \uff0c\u8fd9\u6837\u5171\u670962\u4e2a\u5b57\u7b26\uff0c\u6b64\u5916\u4e24\u4e2a\u53ef\u6253\u5370\u7b26\u53f7\u5728\u4e0d\u540c\u7684\u7cfb\u7edf\u4e2d\u800c\u4e0d\u540c<\/span><\/p>\n<p style=\"text-align:left\"><span>Base64\u5176\u5b9e\u662f\u4e00\u79cd\u7b80\u5355\u7684\u7f6e\u6362\u52a0\u5bc6\u65b9\u5f0f\uff0c\u4f46\u662fBASE64\u7684\u7528\u5904\u5f80\u5f80\u5e76\u4e0d\u662f\u4e3a\u4e86\u9632\u6b62\u4fe1\u606f\u6cc4\u9732\uff0c\u800c\u4e14\u4e3a\u4e86\u65b9\u4fbf\u4f20\u8f93\uff0c\u8fdb\u8fc7BASE64\u7f16\u7801\u540e\u7684\u4fe1\u606f\u4f1a\u6bd4\u539f\u59cb\u4fe1\u606f\u957f\uff0c\u5927\u6982\u662f4\/3\u500d\u3002<\/span><\/p>\n<p style=\"text-align:left\"><span>\u7f16\u7801\uff1a<\/span><\/p>\n<p>&nbsp; &nbsp; <span>console<\/span>.log(Base64.encode(<span>&#8216;Wechat&#8217;<\/span>)); <span><em>\/\/ \u8f93\u51fa\uff1aV2VjaGF0<\/em><\/span>&nbsp; &nbsp; <span>console<\/span>.log(Base64.encode(<span>&#8216;\u5fae\u4fe1&#8217;<\/span>)); <span><em>\/\/ \u8f93\u51fa\uff1a5b6u5L+h<\/em><\/span><\/p>\n<p style=\"text-align:left\"><span>\u89e3\u7801\uff1a<\/span><\/p>\n<p>&nbsp; &nbsp; <span>console<\/span>.log(Base64.decode(<span>&#8216;V2VjaGF0&#8217;<\/span>)); <span><em>\/\/ \u8f93\u51fa\uff1aWechat<\/em><\/span>&nbsp; &nbsp; <span>console<\/span>.log(Base64.decode(<span>&#8216;5b6u5L+h&#8217;<\/span>)); <span><em>\/\/ \u8f93\u51fa\uff1a\u5fae\u4fe1<\/em><\/span><strong>crypto-js<\/strong><\/p>\n<p style=\"text-align:left\"><span>crypto-js \u53ef\u4ee5\u975e\u5e38\u65b9\u4fbf\u5730\u5728 JavaScript \u8fdb\u884c md5\u3001SHA1\u3001SHA2\u3001SHA3\u3001RIPEMD-160 \u54c8\u5e0c\u6563\u5217\uff0c\u8fdb\u884c AES\u3001DES\u3001Rabbit\u3001RC4\u3001Triple DES \u52a0\u89e3\u5bc6\u3002<\/span><\/p>\n<p style=\"text-align:left\"><span>CryptoJS (crypto.js) \u4e3a JavaScript \u63d0\u4f9b\u4e86\u5404\u79cd\u5404\u6837\u7684\u52a0\u5bc6\u7b97\u6cd5\uff0c\u76ee\u524d\u5df2\u652f\u6301\u7684\u7b97\u6cd5\u5305\u62ec\uff1a<\/span><\/p>\n<ul>\n<li>\n<p>md5<\/p>\n<\/li>\n<li>\n<p>SHA-1<\/p>\n<\/li>\n<li>\n<p>SHA-256<\/p>\n<\/li>\n<li>\n<p>AES<\/p>\n<\/li>\n<li>\n<p>Rabbit<\/p>\n<\/li>\n<li>\n<p>MARC4<\/p>\n<\/li>\n<li>\n<p>HMAC<\/p>\n<\/li>\n<ul>\n<li>\n<p>HMAC-md5<\/p>\n<\/li>\n<li>\n<p>HMAC-SHA1<\/p>\n<\/li>\n<li>\n<p>HMAC-SHA256<\/p>\n<\/li>\n<\/ul>\n<li>\n<p>PBKDF2<\/p>\n<\/li>\n<\/ul>\n<p style=\"text-align:left\"><span>md5\uff1a<\/span><\/p>\n<p>&nbsp; &nbsp; <span>console<\/span>.log(CryptoJS.md5(<span>&#8216;Wechat&#8217;<\/span>).toString()); <span><em>\/\/ \u8f93\u51fa\uff1a98ffdc1f1a326c9f73bbe0b78e1d180e<\/em><\/span><\/p>\n<p style=\"text-align:left\"><span>SHA1\uff1a<\/span><\/p>\n<p>&nbsp; &nbsp; <span>console<\/span>.log(CryptoJS.SHA1(<span>&#8216;Wechat&#8217;<\/span>).toString()); <span><em>\/\/ \u8f93\u51fa\uff1a42989457d716a8b89f99c687a41779d4102b5491<\/em><\/span><\/p>\n<p style=\"text-align:left\"><span>SHA256\uff1a<\/span><\/p>\n<p>&nbsp; &nbsp; <span>console<\/span>.log(CryptoJS.SHA256(<span>&#8216;Wechat&#8217;<\/span>).toString()); <span><em>\/\/ \u8f93\u51fa\uff1a 885e2deda21a6c752f05e9c3ac95c90de31bce4b25ce38c330feee389906c83f<\/em><\/span><strong>SJCL<\/strong><\/p>\n<p style=\"text-align:left\"><span>SJCL\uff08\u65af\u5766\u798f\u5927\u5b66Javascript\u52a0\u5bc6\u5e93\u7b80\u79f0\uff09\uff0c\u662f\u4e00\u4e2a\u7531\u65af\u5766\u798f\u5927\u5b66\u8ba1\u7b97\u673a\u5b89\u5168\u5b9e\u9a8c\u5ba4\u521b\u7acb\u7684\u9879\u76ee\uff0c\u65e8\u5728\u521b\u5efa\u4e00\u4e2a\u5b89\u5168\u3001\u5feb\u901f\u3001\u77ed\u5c0f\u7cbe\u608d\u3001\u6613\u4f7f\u7528\u3001\u8de8\u6d4f\u89c8\u5668\u7684JavaScript\u52a0\u5bc6\u5e93\u3002<\/span><\/p>\n<p style=\"text-align:left\"><span>SJCL\u4f7f\u7528\u4e86\u884c\u4e1a\u6807\u51c6\u7684AES 128, 192, 256\u4f4d\u52a0\u5bc6\uff1bSHA256 \u54c8\u5e0c\u51fd\u6570\uff1bHMAC\u9a8c\u8bc1\u7801\uff1bPBKDF2\u5bc6\u7801\u52a0\u5f3a\u5668\uff1bCCM\u548cOCB\u8ba4\u8bc1\u52a0\u5bc6\u6a21\u5f0f\u3002<\/span><\/p>\n<p style=\"text-align:left\"><span>\u52a0\u5bc6\uff1a<\/span><\/p>\n<p>&nbsp; &nbsp; <strong>var<\/strong> enStr = sjcl.encrypt(<span>&#8220;password&#8221;<\/span>, <span>&#8220;Wechat&#8221;<\/span>);&nbsp; &nbsp; <span>console<\/span>.log(enStr);<\/p>\n<p style=\"text-align:left\"><span>\u89e3\u5bc6\uff1a<\/span><\/p>\n<p>&nbsp; &nbsp; <strong>var<\/strong> deStr = sjcl.decrypt(<span>&#8220;password&#8221;<\/span>, enStr);&nbsp; &nbsp; <span>console<\/span>.log(deStr);<strong>\u53c2\u8003\u8d44\u6599<\/strong> <\/p>\n<ul>\n<li>\n<p>node-uuid@github<\/p>\n<\/li>\n<li>\n<p>js-base64@github<\/p>\n<\/li>\n<li>\n<p>crypto-js@github<\/p>\n<\/li>\n<li>\n<p>SJCL<\/p>\n<\/li>\n<li>\n<p>SJCL@github<\/p>\n<\/li>\n<li>\n<p>JavaScript Crypto-JS \u4f7f\u7528\u624b\u518c<\/p>\n<\/li>\n<li>\n<p>SJCL\uff1a\u65af\u5766\u798f\u5927\u5b66JS\u52a0\u5bc6\u5e93<\/p>\n<\/li>\n<\/ul>\n<p> <strong>\u5176\u4ed6<\/strong> <\/p>\n<ul>\n<li>\n<p>\u5b8c\u6574\u4ee3\u7801\uff1a<span>https:\/\/github.com\/guyoung\/GyWxappCases\/tree\/master\/Enhance<\/span><\/p>\n<\/li>\n<li>\n<p>\u5fae\u4fe1\u5c0f\u7a0b\u5e8fCanvas\u589e\u5f3a\u7ec4\u4ef6WeZRender\uff1a<span>https:\/\/github.com\/guyoung\/WeZRender<\/span><\/p>\n<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4ee5\u4e0a\u5c31\u662f\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u529f\u80fd\u4ecb\u7ecd\uff1a\u52a0\u89e3\u5bc6NODE-UUID\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>node-uuid\u53ef\u4ee5\u5feb\u901f\u5730\u751f\u6210\u7b26\u5408 RFC4122 \u89c4\u8303 version 1 \u6216\u8005 version 4 \u7684 UUID\u3002js-base64\u53ef\u4ee5\u5b9e\u73b0Base64\u7f16\u7801\u548c\u89e3\u7801\uff0c\u652f\u6301UTF-8\u7f16\u7801\u3002crypto-js \u53ef\u4ee5\u975e\u5e38\u65b9\u4fbf\u5730\u5728 JavaScript \u8fdb\u884c md5\u3001SHA1\u3001SHA2\u3001SHA3\u3001RIPEMD-160 \u54c8\u5e0c\u6563\u5217\uff0c\u8fdb\u884c AES\u3001DES\u3001Rabbit\u3001RC4\u3001Triple DES \u52a0\u89e3\u5bc6\u3002SJCL\u662f\u4e00\u4e2a\u7531\u65af\u5766\u798f\u5927\u5b66\u8ba1\u7b97\u673a\u5b89\u5168\u5b9e\u9a8c\u5ba4\u521b\u7acb\u7684\u9879\u76ee\uff0c\u65e8\u5728\u521b\u5efa\u4e00\u4e2a\u5b89\u5168\u3001\u5feb\u901f\u3001\u77ed\u5c0f\u7cbe\u608d\u3001\u6613\u4f7f\u7528\u3001\u8de8\u6d4f\u89c8\u5668\u7684JavaScript\u52a0\u5bc6\u5e93\u3002 node-uuid node-uuid\u53ef\u4ee5\u5feb\u901f\u5730\u751f\u6210\u7b26\u5408 RFC4122 \u89c4\u8303 version 1 \u6216\u8005 version 4 \u7684 UUID\uff08Universally Unique IDentifier, \u6807\u8bc6\u7b26\uff09\u3002 UUID\u7684\u51fa\u73b0\uff0c\u662f\u4e3a\u4e86\u5728\u4e00\u4e2a\u590d\u6742\u7684\u7cfb\u7edf\u4e2d\uff0c\u552f\u4e00\u7684\u6807\u8bc6\u6bcf\u4e2a\u4fe1\u606f\u5b9e\u4f53\uff0c\u540c\u65f6\u4e0d\u9700\u8981\u6709\u4e00\u4e2a\u96c6\u4e2d\u7684id\u7ba1\u7406\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u6839\u636e\u67d0\u79cd\u89c4\u5219\u6765\u4e3a\u4e00\u4e2a\u4fe1\u606f\u5b9e\u4f53\u5206\u914d\u4e00\u4e2a\u552f\u4e00\u7684id\uff0c\u800c\u4e14\u4e0d\u9700\u8981\u4e00\u4e2aid\u7ba1\u7406\u5668\u6765\u4fdd\u8bc1\u8fd9\u4e2aid\u7684\u552f\u4e00\u6027\u3002 UUID\u662f128\u4f4d\u7684\u5168\u5c40\u552f\u4e00\u6807\u8bc6\u7b26\uff0c\u901a\u5e38\u753132\u5b57\u8282\u7684\u5b57\u7b26\u4e32\u8868\u793a\u3002\u5b83\u901a\u8fc7MAC\u5730\u5740\u3001\u65f6\u95f4\u6233\u3001\u547d\u540d\u7a7a\u95f4\u3001\u968f\u673a\u6570\u3001\u4f2a\u968f\u673a\u6570\u6765\u4fdd\u8bc1\u751f\u6210ID\u7684\u552f\u4e00\u6027\u3002version 1 \u662f\u57fa\u4e8e\u65f6\u95f4\u6233\u751f\u6210\uff08time-based\uff09\uff1bversion 1 \u662f\u968f\u673a\u751f\u6210\uff08random\uff08 Version1\uff1a [AppleScript]&nbsp; &nbsp;var&nbsp;uuidv1&nbsp;=&nbsp;require(&#8216;..\/..\/lib\/uuid\/we-uuidv1&#8217;);&nbsp;&nbsp;&nbsp;&nbsp;console.log(uuidv1());&nbsp;\/\/&nbsp;\u8f93\u51fa\uff1a70d47fd0-d250-11e6-9816-45a4888ae4f \u767b\u5f55\u540e\u590d\u5236 Version4\uff1a [AppleScript]&nbsp; var&nbsp;uuidv4&nbsp;=&nbsp;require(&#8216;..\/..\/lib\/uuid\/we-uuidv4&#8217;);&nbsp;&nbsp;&nbsp;&nbsp;console.log(uuidv4());&nbsp;\/\/&nbsp;\u8f93\u51fa\uff1ad839476c-ce27-4d24-a431-e96123c1916b \u767b\u5f55\u540e\u590d\u5236 \u53ef\u4ee5\u8bbe\u5b9a\u4ea7\u751f\u53c2\u6570 [AppleScript]&nbsp; &nbsp;var&nbsp;v1&nbsp;=&nbsp;uuidv1({ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node:&nbsp;[0x01,&nbsp;0x23,&nbsp;0x45,&nbsp;0x67,&nbsp;0x89,&nbsp;0xab], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clockseq:&nbsp;0x1234, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msecs:&nbsp;new&nbsp;Date().getTime(), &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nsecs:&nbsp;5678 &nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;&nbsp;&nbsp;console.log(v1);&nbsp;\/\/&nbsp;\u8f93\u51fa\uff1a908e3a9e-d250-11e6-9234-0123456789ab \u767b\u5f55\u540e\u590d\u5236 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-29568","post","type-post","status-publish","format-standard","hentry","category-19"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/29568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=29568"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/29568\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=29568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=29568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=29568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}