当前位置: 首页 > news >正文

如何建设网站济南兴田德润简介电话江苏建设工程监督

如何建设网站济南兴田德润简介电话,江苏建设工程监督,高度重视机关门户网站建设,第四性 wordpress登录业务实现#xff1a; 登录成功/失败实现 - pinia管理用户数据及数据持久化 - 不同登录状态的模板适配 - 请求拦截器携带token#xff08;登录鉴权#xff09; - 退出登录实现 - token失效#xff08;401响应拦截#xff09; 1. 登录成… 登录业务实现 登录成功/失败实现  -  pinia管理用户数据及数据持久化  -  不同登录状态的模板适配   -  请求拦截器携带token登录鉴权  -  退出登录实现  -  token失效401响应拦截 1. 登录成功/失败实现 当表单校验通过时封装登录接口调用登录接口分别处理 登录成功和登陆失败的情况。 登录成功则提示用户并跳转首页 登录失败报错。- 拦截器统一报错配置一次 多接口生效 2. pinia管理用户数据及数据持久化 因为用户数据可能在多组件中进行共享使用 pinia对用户数据进行管理。与数据有关的操作置于pinia中组件只负责触发action函数 1 pinia管理数据  // 定义store export const useUserStore defineStore(模块名, (){// 1. 定义stateconst userInfo ref({})// 2. 定义actionconst getUserInfo () {...}// 3. 以对象的形式return state/actionreturn {...} }) // 使用store import { useXXXStore } from /stores/XXXStoreconst xxXStore useXXXStore() xxXStore.getXX() 2持久化用户数据 token用户数据中 用于标识当前用户是否登录持续一段时间会过期。 由于pinia是基于内存的刷新会丢失为保持登陆状态刷新不丢失要配合持久化进行存储 - 操作state时自动把用户数据在本地的localStore中也存一份刷新时 从localStore中先取 操作步骤 1安装插件包 npm i pinia-plugin-persistedstate 2注册插件 // main.js 入口文件中 const pinia createPinia() pinia.use(piniaPluginPersistedState) 3持久化配置 存入localStore // 定义store中添加配置项第三个参数用于持久化配置 defineStore(,(){... },{// 持久化配置存入lspersist:{enabled: true} }) 3. 不同登录状态的模板适配多模板适配 多模板适配 思路登录时显示第一块非登录时显示第二块 判断条件是否有token template v-ifuserStore.userInfo.token... /template template v-else... /template 4. 请求拦截器携带token token作为用户标识多个接口要正确携带token才能正确显示数据 - 在接口调用时携带token - 采用拦截器携带便于 统一控制 解决 请求拦截器可以在接口发起前 对请求参数进行操作。通常token被注入到请求header中格式按照后端要求的格式进行拼接 // utils/http.js中// axios请求拦截器 httpInstance.interceptors.request.use(config {// 请求拦截器携带token-按后端要求拼接token数据使得多个接口携带tokenconst userStore useUserStore()const token userStore.userInfo.tokenif(token){config.headers.Authorization Bearer ${token} //按后端的要求拼接}return config },e Promise.reject(e)) 5. 退出登录实现 点击退出登录时防止误触弹出一个气泡确认框el-popconfirm进行二次确认。 退出登录业务逻辑 清除用户数据跳转到登录页 // 组件中views/XXX.vue el-popconfirm confirmconfirm title确认退出吗? confirm-button-text确认 cancel-button-text取消template #referencea hrefjavascript:;退出登录/a/template /el-popconfirm // store中(stores/XXX.js)定义清除用户信息的action const clearUserInfo (){userInfo.value {} } return {clearUserInfo }...// 组件中(views/XXX.vue)实现退出登录业务的逻辑 import { useRouter } from vue-router const router useRouter() const confirm (){userStore.clearUserInfo() // 1. 清除用户数据 - 调用action进行操作 router.push(/login) // 2. 转到登录页 } 6. token失效401拦截 token有效性保持一段时间如果用户不做任何操作token会失效使用失效的token去请求一些接口接口就会报401状态码错误。 解决在axios响应拦截器做统一处理 // 401拦截 import router from /router //js中的路由对象// axios响应式拦截器中 httpInstance.interceptors.response.use(res res.data, e {const userStore useUserStore()...// 401失效处理 1.清除用户数据 2. 跳转if(e.response.status 401){userStore.clearUserInfo()router.push(/login)}return Promise.reject(e) })export default httpInstance 参考Popconfirm 气泡确认框 | Element Plus ElementUI 教程 - Popconfirm 气泡确认框 一文教你搞定所有前端鉴权与后端鉴权方案让你不再迷惘 - 掘金 (juejin.cn)
http://wiki.neutronadmin.com/news/160482/

相关文章:

  • 英迈思做网站怎么样长春网站制作可选吉网传媒好
  • 深圳企业网站建设推广服务设计公司官网梁志天
  • 青浦做网站公司uehtml 网站源码
  • wordpress页面woo分类南昌seo教程
  • 济源建设网站易语言做网站登录器
  • 啥是深圳网站定制开发第三方网站备案
  • 可以查授权的网站怎么做网站内怎么做链接
  • 河北邢台做移动网站排版网站推荐
  • 重庆公积金门户网站网络营销推广计划步骤有哪些
  • 苏州做网站的公司北京网站设计网站设计公司价格
  • 广州专业的免费建站品牌推广的意义
  • 小米路由器做网站游戏开发专业
  • 郑州专业做淘宝直播网站WordPress在服务器什么位置
  • 标准网站建设推荐安卓app在线生成
  • 做网站运营难吗夜猫直播视频下载
  • 3个典型网站建设公司有口碑的南通网站建设
  • 网站建设好还需投资吗手机做推广比较好的网站有哪些
  • 国微 网站建设专门做家具的网站
  • 桥头镇网站仿做山东平台网站建设多少钱
  • 免费做微信链接的网站网站建设编辑工作总结
  • 做的好的微商城网站网站建网站建站
  • 网站开发到上线的流程网站关键字如何做
  • 郑州经纬网络做网站吗html怎么做网站版块
  • 网站开发 合同范本网站建设算无形资产吗
  • 阿克苏网站开发成都营销推广公司
  • 定制网站和模板建站哪个好用线上推广的渠道和方法
  • 深圳住房宝安和建设局网站开发门户网站
  • 搜狗站长推送工具百度是国企还是央企
  • 南昌有做网站的吗微信小程序可以做视频网站吗
  • 为什么要做网站推广注册公司地址可以用家庭地址