uni-app custom-token.js中自定义字段和值
uni-app custom-token.js中自定义字段和值
文档中写要自定义token内容可以在custom-token.js中增加,user表中增加了一个company字段,我是想把这个字段带进token中,怎么操作啊?
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
1 回复
在 uni-app
中,你可以通过自定义 token
的方式来存储和管理用户的认证信息或其他自定义数据。通常,这些信息会保存在客户端的本地存储(如 localStorage
或 sessionStorage
)中。以下是一个如何在 custom-token.js
中定义和使用自定义字段和值的示例代码。
首先,创建一个名为 custom-token.js
的文件,并编写以下代码:
// custom-token.js
// 设置 token 的函数,接受两个参数:字段名和字段值
function setToken(field, value) {
const tokenObject = {};
// 从 localStorage 获取现有的 token 对象(如果有)
const existingToken = JSON.parse(localStorage.getItem('customToken')) || {};
// 更新或添加新的字段
tokenObject[field] = value;
// 合并新旧 token 对象
const updatedToken = { ...existingToken, ...tokenObject };
// 将更新后的 token 对象存储到 localStorage
localStorage.setItem('customToken', JSON.stringify(updatedToken));
}
// 获取 token 的函数,接受一个参数:字段名
function getToken(field) {
const token = JSON.parse(localStorage.getItem('customToken')) || {};
return token[field] || null;
}
// 删除 token 的函数,接受一个参数:字段名
function removeToken(field) {
let token = JSON.parse(localStorage.getItem('customToken')) || {};
// 删除指定字段
delete token[field];
// 如果 token 对象为空,则删除整个 token
if (Object.keys(token).length === 0) {
localStorage.removeItem('customToken');
} else {
localStorage.setItem('customToken', JSON.stringify(token));
}
}
// 导出函数,以便在其他文件中使用
module.exports = {
setToken,
getToken,
removeToken
};
接下来,在其他文件中引入并使用这些函数。例如,在 main.js
或某个 Vue 组件中:
// main.js 或 Vue 组件
const { setToken, getToken, removeToken } = require('@/path/to/custom-token.js');
// 设置自定义字段和值
setToken('userId', '12345');
setToken('authToken', 'abcdefg');
// 获取自定义字段的值
const userId = getToken('userId');
console.log('User ID:', userId);
// 删除自定义字段
removeToken('authToken');
通过这种方式,你可以在 uni-app
中轻松地管理和使用自定义的 token
字段和值。这个示例展示了如何设置、获取和删除本地存储中的 token
对象字段,适用于需要管理用户认证信息或其他自定义数据的场景。