Files
TIMSDK/MiniProgram/TUIKit/miniprogram/utils/token.js
T
zhangChenXi 6fde620ee8 feat: updateversion (#1199)
fix: 小程序 TUIKit 相关问题,@20220711

Co-authored-by: mileszzhang <mileszzhang@tencent.com>
2022-07-11 19:48:16 +08:00

67 lines
1.5 KiB
JavaScript

import logger from './logger'
const STORAGE_KEY = 'token'
const VALID_SPAN = 30 * 24 * 3600 * 1000 // 有效期,默认30天
let app = getApp()
/**
* 判断本地存储的 token 是否有效
*/
export function isTokenValided(expiresIn) {
return Date.now() <= expiresIn
}
/**
* 保存 Token 到本地,默认保存有效期 30 天
* @param {String} options.token
* @param {String} options.phone
* @returns {Promise}
*/
export function setTokenStorage(options) {
logger.log(`| TUIKit | TUI-utils | setTokenStorage | options:${options}`)
return new Promise((resolve, reject) => {
const data = {
expiresIn: Date.now() + VALID_SPAN,
userInfo: {
token: options.userInfo.token,
phone: options.userInfo.phone,
userID: options.userInfo.userID,
userSig: options.userInfo.userSig,
},
isFirstSendMessage: options.isFirstSendMessage,
}
if (!app) {
app = getApp()
}
app.globalData.expiresIn = data.expiresIn
wx.setStorage({
key: STORAGE_KEY,
data,
success: resolve,
fail: reject,
})
})
}
export function getTokenStorage() {
return new Promise((resolve, reject) => {
wx.getStorage({
key: STORAGE_KEY,
success: ({ data }) => {
resolve(data)
},
fail: reject,
})
})
}
export function removeTokenStorage() {
return new Promise((resolve, reject) => {
wx.removeStorage({
key: STORAGE_KEY,
success: resolve,
fail: reject,
})
})
}