From 0bab823ed0c3dc537ac9a480f614e513107e80c5 Mon Sep 17 00:00:00 2001 From: liyang <1711467488@qq.com> Date: Mon, 20 Aug 2018 17:23:53 +0800 Subject: [PATCH] util Former-commit-id: 9e534638e19d90dda0a58f51c72bf357197b6dbc [formerly 9e534638e19d90dda0a58f51c72bf357197b6dbc [formerly 9e534638e19d90dda0a58f51c72bf357197b6dbc [formerly 9e534638e19d90dda0a58f51c72bf357197b6dbc [formerly 93175c24c130aae61b0985c5df6ebbe383a2423b [formerly 61bd4ea88fd1f00ab51bac9b8e2ca6ff155bda77]]]]] Former-commit-id: 0fc0a100e3501f16ace2cbb1c3fdde1ee1adbd99 Former-commit-id: ea0b61d03d4b8edfa2be252f14f08297ecaa85fd Former-commit-id: a410662a8434553011921ed6c26642c382821886 [formerly 0d96ac769297181f0e1b3bcd425b8ba3350bf809] Former-commit-id: 51f989ffffd9e5b7c14df8b01316722552211861 Former-commit-id: 9cf093f055108ba0c44fbadf647ac0a8b8a0edf6 Former-commit-id: 8ff437b0598d505a2c6aa0ce48d49509e9dd11b8 Former-commit-id: 111037b164f2da1498cde7ecc787c9be79dc68aa Former-commit-id: 96e83f30f6b2cfdd5d3bbe166c27e62cccdd5bf2 --- docs/zh/sys-util/README.md | 200 ++++++++++++++++++++++++++++++++++++- 1 file changed, 198 insertions(+), 2 deletions(-) diff --git a/docs/zh/sys-util/README.md b/docs/zh/sys-util/README.md index 4b94ed06..51d7eff5 100644 --- a/docs/zh/sys-util/README.md +++ b/docs/zh/sys-util/README.md @@ -2,6 +2,202 @@ sidebar: auto --- -# title +# Util 实用工具 -info \ No newline at end of file +D2Admin 的 util 模块位置:`d2-admin/src/libs/util.js` + +## util.cookies.set + +**介绍:** + +存储 cookie 值 + +**参数** + +| 参数名 | 介绍 | 必选 | 值类型 | 可选值 | 默认值 | +| --- | --- | --- | --- | --- | --- | +| name | 名称 | 必选 | String | | | +| value | 值 | 必选 | String | | | +| setting | 设置 | 必选 | Object | [js-cookie](https://github.com/js-cookie/js-cookie#readme) | `{ expires: 1 }` | + +**使用示例:** + +``` js +util.cookies.set({ + name: 'name', + value: 'value', + setting: { + expires: 365 + } +}) +``` + +**为什么不直接使用 cookie:** + +util.cookies 内部使用 js-cookie 进行操作,并且在 cookie 名称上多做了一层逻辑封装,例如 + +``` js +util.cookies.set({ + name: 'name', + value: 'value', + setting: { + expires: 365 + } +}) +``` + +实际存储的 cookie 是 + +`d2admin-${version}-name` : `value` + +使用 + +``` js +util.cookies.get('name') +``` + +实际取的也是 `d2admin-${version}-name` + +最后你的 cookie 信息实际上可能类似这样(举例): + +* `d2admin-1.1.5-name` : `FairyEver` +* `d2admin-1.1.5-uuid` : `h8dsafy98du9f6yadsyf` +* `d2admin-1.1.5-token` : `dys87f89dsafy89adsh` + +这样做的好处是可以保证如果您的 D2Admin 升级到了新版本,打开时使用的数据一定是重新初始化的,而您在使用 cookie 时无论赋值还是取值,都觉察不出这层包装 + +::: tip +不止 cookie 这样,db 的存储逻辑也会自动根据版本区分 +::: + +## util.cookies.get + +**介绍:** + +拿到 cookie 值 + +**参数** + +| 参数名 | 介绍 | 必选 | 值类型 | 可选值 | 默认值 | +| --- | --- | --- | --- | --- | --- | +| name | 名称 | 必选 | String | | | + +**使用示例:** + +``` js +const data = util.cookies.get('name') +``` + +## util.cookies.getAll + +**介绍:** + +拿到 cookie 全部的值 + +**参数** + +无 + +**使用示例:** + +``` js +const data = util.cookies.getAll() +``` + +## util.cookies.remove + +**介绍:** + +删除 cookie + +**参数** + +| 参数名 | 介绍 | 必选 | 值类型 | 可选值 | 默认值 | +| --- | --- | --- | --- | --- | --- | +| name | 名称 | 必选 | String | | | + +**使用示例:** + +``` js +util.cookies.remove('name') +``` + +## util.title + +**介绍:** + +更新标题 + +**参数** + +| 参数名 | 介绍 | 必选 | 值类型 | 可选值 | 默认值 | +| --- | --- | --- | --- | --- | --- | +| titleText | title 名称 | 必选 | String | | | + +**使用示例:** + +``` js +util.title('NewTitle') +``` + +结果:**`${process.env.VUE_APP_TITLE}` | NewTitle** + +::: tip +`process.env.VUE_APP_TITLE` 在 `d2-admin/.env` 和 `d2-admin/.env.development` 中设置 +::: + +## util.open + +**介绍:** + +打开新页面 + +**参数** + +| 参数名 | 介绍 | 必选 | 值类型 | 可选值 | 默认值 | +| --- | --- | --- | --- | --- | --- | +| url | 新的页面地址 | 必选 | String | | | + +**使用示例:** + +``` js +util.open('http://www.xxx.com') +``` + +## util.ua + +**介绍:** + +获取所有的 UA 信息 + +**参数** + +无 + +**使用示例:** + +``` js +const ua = util.ua() +``` + +结果示例 + +``` js +{ + browser: { + name: "Chrome", + version: "67.0.3396.99", + major: "67" + }, + engine: { + name: "WebKit", + version: "537.36" + }, + os: { + name: "Mac OS", + version: "10.13.4" + }, + device: {}, + cpu: {} +} +```