前端修改存储在store里面的token的处理方法

user.js

const user = {
    name: 'user',
    state: {
        token: getToken(),
    },

    mutations: {
        SET_TOKEN: (state, token) => {
            state.token = token
        }
    },
    actions: {
        switchLogin({commit}, userInfo) {
		   return new Promise((resolve, reject) => {
				 switchAgencySource(userInfo).then(res => {
				     const token = res.object.token
				     setToken(token)
				     commit('SET_TOKEN', token)
				     resolve(res)
				  }).catch(error => {
				      reject(error)
				})
			})
		},		 
    }
}

需要调用的页面,例如index

import {mapActions} from 'vuex'
export default {
    data(){
        return {}
    },
    methods:{
        ...mapActions({
			vuexSwitchLogin: 'user/switchLogin'
        }),
        toggleItemSelect(item){
            const param = {
				customerNo: row.customerNo,
				agencySource:row.agencySource,
				dmCustomerNo:row.dmCustomerNo,
				phoneNo:row.phoneNo,
				token:this.$store.state.user.token
			}
            this.vuexSwitchLogin(param).then((res) => {
				console.log(res)
                this.getSuccess()//自己需要的事件
				return
			}).catch(error => {
				uni.showToast({
					title: error.message,
					icon: 'none'
				})
			}).finally(e => {})
        }
    }
}

通过使用mapMutations辅助函数将该mutation映射到组件的方法中,然后在需要修改token的地方调用setToken(token)、commit('SET_TOKEN', token)来更新token。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue中存取token的一种常见方式是使用Vuex状态管理库。您可以在Vuex的store中创建一个状态(例如token),并且可以在整个应用程序中访问该状态。在示例代码中,可以看到在store.js文件中创建了一个名为token的状态,并通过mutations中的setToken方法来更新该状态的值\[1\]。在需要使用token的组件中,可以通过在computed属性中获取该状态的值,或者使用mapState辅助函数来获取该状态\[2\]。 另外,为了在路由跳转时进行权限控制,可以使用Vue Router的导航守卫。在示例代码中,可以看到在router.js文件中使用了beforeEach导航守卫。在每次路由跳转之前,会先判断是否存在token,如果存在则继续跳转,否则跳转到登录页面\[3\]。 总结起来,前端Vue存取token的一般步骤是: 1. 在Vuex的store中创建一个名为token的状态,并通过mutations来更新该状态的值。 2. 在需要使用token的组件中,通过computed属性或mapState辅助函数获取该状态的值。 3. 在Vue Router中使用导航守卫进行权限控制,判断是否存在token来决定是否允许路由跳转。 希望对您有所帮助! #### 引用[.reference_title] - *1* *2* [在 vue 中存储全局token](https://blog.csdn.net/weixin_42589700/article/details/129574275)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vue存储和使用后端传递过来的token](https://blog.csdn.net/u012848304/article/details/126525271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值