token相关

一、保存token,登录使用

index.js

复制代码
    //保存token
	localSet(key, value) {
		window.localStorage.setItem(key, JSON.stringify(value))
	}

login.vue登录页

复制代码
 <script  setup>
    //登录
	const loginMethod = async (data) => {
		const params = {
			username: data.name,
			password: data.pass
		}
		const res = await http.login(params)
		if (res && res.success) {
			getLoginResourceTreeData()
			const data = res.data
			const { id, name, sessionId } = data
			utils.localSet('token', sessionId)
			utils.localSet('userid', id)
			utils.localSet('username', name)
			store
				.dispatch('user/setUserInfo', data)
				.then(() => {})
				.catch((res) => {
					loading.close()
				})
		} else {
			utils.message('error', res.info, 3000)
			loading.close()
		}
	}
	
	//获取用户属实对应菜单
	const getLoginResourceTreeData = async () => {
		const params = { resourceCode: '0' }
		const res = await http.getLoginResourceTree(params)
		if (res && res.success) {
			const data = res.data
			store
				.dispatch('user/getSystemMenus', data)
				.then(() => {
					router.push('/home')
					loading.close()
				})
				.catch((res) => {
					loading.close()
				})
		} else {
			utils.message('error', res.info, 2000)
			loading.close()
		}
	}
	
	//登录确认
	const submitForm = (formEl) => {
		loading = ElLoading.service({
			lock: true,
			text: '登录中......',
			background: 'rgba(17,28,189,0.25)'
		})
		if (!formEl) return
		formEl.validate((valid) => {
			if (valid) {
				loginMethod(ruleForm)
			} else {
				console.log('error submit!')
				return false
			}
		})
	}
 </script>
   <template>
       <div>
        <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" class="login-form">
					<el-form-item class="item" prop="name">
						<template #label>
							<el-icon class="label-icon"><User /></el-icon>
						</template>
						<el-input class="inp" v-model="ruleForm.name" placeholder="请输入账号"></el-input>
					</el-form-item>
					<el-form-item class="item" prop="pass">
						<template #label>
							<el-icon class="label-icon"><PassWord /></el-icon>
						</template>
						<el-input
							class="inp"
							v-model="ruleForm.pass"
							type="password"
							@keyup.enter="submitForm(ruleFormRef)"
							:show-password="true"
							placeholder="请输入密码"
						></el-input>
					</el-form-item>
					<el-form-item class="item center">
						<el-button class="login-bt" @click="submitForm(ruleFormRef)">登录</el-button>
					</el-form-item>
				</el-form>
       </div>
  </template>

二、

复制代码
在这里插入代码片
相关推荐
Surmon5 小时前
彻底搞懂大模型 Temperature、Top-p、Top-k 的区别!
前端·人工智能
困死,根本不会5 小时前
Kivy+Buildozer 打包 APK 踩坑:python-for-android 克隆失败
开发语言·php·kivy
咸鱼2.07 小时前
【java入门到放弃】跨域
java·开发语言
木斯佳7 小时前
前端八股文面经大全:bilibili生态技术方向二面 (2026-03-25)·面经深度解析
前端·ai·ssd·sse·rag
不会写DN7 小时前
Gin 日志体系详解
前端·javascript·gin
冬夜戏雪7 小时前
实习面经记录(十)
java·前端·javascript
skiy7 小时前
java与mysql连接 使用mysql-connector-java连接msql
java·开发语言·mysql
一念春风8 小时前
智能文字识别工具(AI)
开发语言·c#·wpf
桦08 小时前
【C++复习】:继承
开发语言·c++
何仙鸟8 小时前
GarmageSet下载和处理
java·开发语言