import userApi from '@/reqApi/user.js'; // 引入你的 API 请求模块
const userStore = {
	state: {
		
		token:uni.getStorageSync('token') || '',//token
		userInfo:uni.getStorageSync('userInfo') || {},//用户信息
		schoolsList:uni.getStorageSync('schoolsList') || '',//schoolsList
		modulesList:uni.getStorageSync('modulesList') || [],//模块权限列表
		
	},
	mutations: {
		
		//设置token
		SET_TOKEN(state, token) {
		  state.token = token;
		},
		//设置用户信息
		SET_USER_INFO(state, userInfo) {
		  state.userInfo = userInfo;
		},
		
		//退出登录
		LOGOUT_USERINFO(state)
		{
			state.token = '';
			state.userInfo = {};
			state.schoolsList = '';
			state.modulesList = [];
			uni.removeStorageSync('token');
			uni.removeStorageSync('userInfo');
			uni.removeStorageSync('schoolsList');
			uni.removeStorageSync('modulesList');
		},
		//保存学校
		SET_SCHOOLSLIST(state,list){
			state.schoolsList = list;
		},
		//保存模块权限列表
		SET_MODULESLIST(state,list){
			state.modulesList = list;
		}
	},
	getters: {
		currentColor(state) {
			return state.colorList[state.colorIndex]
		}
	},
	actions: {
		
		//设置token
		setToken({ commit }, token) {
		  commit('SET_TOKEN', token);
		},
		
		//注销退出登录
		async logout({commit},isOut){
			if(isOut){
				try {
					const res = await userApi.signOut();
					if (res.code === 200) {
						commit('LOGOUT_USERINFO');
					}
				} catch (error) {
					// signOut 失败（如token无效），直接清除本地数据
					commit('LOGOUT_USERINFO');
				}
			}else{
				commit('LOGOUT_USERINFO');
			}
		},
		//设置用户信息
		async setUserInfo({ commit }) {
		 try {
			const res = await userApi.getUserInfo(); 
			if (res.code === 200) {
				console.log("打印用户信息",res.data);
				let userInfo={
					email:res.data.email || '',//用户邮箱
					userName:res.data.userName || '',//用户昵称
					userId:res.data.id || '',//用户Id
					roleName:res.data.roleName || '',//用户角色
					accountId:res.data.loginName || '',//登录账号
					schoolName:res.data.schoolName || '',//学校名称
					schoolId:res.data.schoolId || '',//学校id
					userImage:res.data.headPic || '',//用户头像
					roleCodes:res.data.roleCodes || '',//用户角色编码
					roleNames:res.data.roleNames || '',//用户角色名称
					identify:res.data.identify || '',//用户身份
					phone:res.data.phone || '',//用户手机号
					schoolType:res.data.schoolType || '',//学校类型
					wxName:res.data.wxName || '',//用户微信昵称
					// userSex:res.data.gender || 0,//用户性别
				};
				commit('SET_USER_INFO', userInfo);
				uni.setStorageSync('userInfo', userInfo); // 存储 token 到本地
			} else {
				
			}
		 } catch (error) {
			
		 }
	
		},
		//保存学校
		setSchoolsList({ commit }, list){
			commit('SET_SCHOOLSLIST', list);
		},
		//保存模块权限列表
		setModulesList({ commit }, list){
			commit('SET_MODULESLIST', list);
		}
	}
}

export default userStore
