Files
device-voice-h5/store/user.js
sexygoat fbf5371086
All checks were successful
构建并部署前端到生产环境 / build-and-deploy (push) Successful in 1m33s
fix: carrier_type
2026-04-27 12:33:26 +08:00

62 lines
1.3 KiB
JavaScript

import { reactive, ref } from 'vue';
const state = reactive({
token: uni.getStorageSync('token') || '',
assetToken: '',
identifier: uni.getStorageSync('identifier') || '',
isDevice: false,
realNameStatus: 0,
userInfo: uni.getStorageSync('userInfo') || {
avatar: '',
nickname: ''
}
});
export const useUserStore = () => {
const setToken = (token) => {
state.token = token;
uni.setStorageSync('token', token);
};
const setAssetToken = (assetToken) => {
state.assetToken = assetToken;
};
const setIdentifier = (identifier) => {
state.identifier = identifier;
uni.setStorageSync('identifier', identifier);
};
const setIsDevice = (isDevice) => {
state.isDevice = isDevice;
};
const setRealNameStatus = (status) => {
state.realNameStatus = status;
};
const setUserInfo = (userInfo) => {
Object.assign(state.userInfo, userInfo);
uni.setStorageSync('userInfo', userInfo);
};
const clearUser = () => {
state.token = '';
state.assetToken = '';
state.userInfo = { avatar: '', nickname: '' };
uni.removeStorageSync('token');
uni.removeStorageSync('identifier');
uni.removeStorageSync('userInfo');
};
return {
state,
setToken,
setAssetToken,
setIdentifier,
setIsDevice,
setRealNameStatus,
setUserInfo,
clearUser
};
};