uniapp vuex 搭建

1.index.js

javascript 复制代码
import user from './modules/user.js'

import {
	createStore
} from 'vuex'
// todo ssr
const store = createStore({
	modules: {
		user,
	}
})

export default store

2.user.js

javascript 复制代码
export default {
    namespaced: true,
    state: {
		token:"", //token
		userId:"", //用户id
		userName:"",//用户姓名
	},
    mutations: {
		SET_TOKEN(state,token){
			state.token = token
			uni.setStorageSync("token",token)
		},
		LOGIN_OUT(state){
			state.token = ""
			uni.removeStorageSync("token")
			//uni.clearStorageSync()
			uni.reLaunch({
				url:"/pages/index/index"
			})
		},
		SET_USERID(state,id){
			state.userId = id
			uni.setStorageSync("userId",id)
		},
		SET_USERNAME(state,name){
			state.userName = name
			uni.setStorageSync("userName",name)
		},
	},
    actions: {
		setToken({commit},token){
			commit("SET_TOKEN",token)
		},
		setUserId({commit},id){
			commit("SET_USERID",id)
		},
		loginOut({commit}){
			commit("LOGIN_OUT")
		},
	}
}

3.main.js

javascript 复制代码
import store from './store'
import { createSSRApp } from 'vue'
import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  app.use(store)
  return {
    app
  }
}
相关推荐
他在时间门外几秒前
使用Electron获取用户信息,监听程序打开,用户退出连接关闭程序【全代码,有图】
前端·javascript·electron
407指导员几秒前
electron opacity 百分比设置不生效 变成1% 问题
前端·javascript·electron
别发呆了吧3 分钟前
前端准备面试题总结(css+js+ES6+vue+http+项目场景+地图相关问题)
前端·javascript·css
小码快撩38 分钟前
vue应用移动端访问缓慢问题
前端·javascript·vue.js
yayaya1521 小时前
javaScriptBOM
开发语言·javascript·ecmascript
Riesenzahn1 小时前
使用vue如何监听元素尺寸的变化?
前端·javascript
阿征学IT1 小时前
圣诞快乐(h5 css js(圣诞树))
前端·javascript·css
TroubleMaker1 小时前
OkHttp源码学习之retryOnConnectionFailure属性
android·java·okhttp
斜杠poven1 小时前
为什么加try catch 不会 block 进程?
前端·javascript·node.js
2401_857026232 小时前
依托 SSM 与 Vue 的电脑测评系统:展现电脑真实实力
前端·javascript·vue.js