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
  }
}
相关推荐
kymjs张涛7 分钟前
前沿技术周刊 2025-06-09
android·前端·ios
前端康师傅12 分钟前
JavaScript 变量详解
前端·javascript
Sun_light12 分钟前
队列:先进先出的线性数据结构及其应用
前端·javascript·算法
萌萌哒草头将军27 分钟前
⚓️ Oxlint 1.0 版本发布,比 ESLint 快50 到 100 倍!🚀🚀🚀
前端·javascript·vue.js
karshey1 小时前
【Element Plus】Menu组件:url访问页面时高亮对应菜单栏
前端·javascript·vue.js
用户2018792831671 小时前
View的filterTouchesWhenObscured属性
android
Mintopia1 小时前
Three.js 自定义几何体:解锁 3D 世界的创造力
前端·javascript·three.js
Mintopia1 小时前
计算机图形学碰撞检测:数字世界的 “防碰瓷” 秘籍
前端·javascript·计算机图形学
Hilaku2 小时前
我用 Cursor 写了两个月代码,项目代码量不降反升,为什么?
前端·javascript·架构