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
  }
}
相关推荐
tongyiixiaohuang17 小时前
WMS已发货状态反写金蝶云星空:单策略实战教程
android
好的佩奇18 小时前
Dart 之类修饰符
android·flutter·dart
米米商聊19 小时前
同名附件为什么被 Map 覆盖?重复键与一对多索引
前端·javascript
alexhilton20 小时前
用Konsist与Lint强制执行设计系统契约
android·kotlin·android jetpack
kyriewen1 天前
我把 10 道面试题答案真跑了一遍:6 道是错的
前端·javascript·面试
WebInfra1 天前
Rspack 2.3 发布:联手 SWC 团队带来全新编译器
前端·javascript·github
北京自在科技1 天前
谷歌安卓 Gemini 迎来界面改版,Find Hub 接入 Gemini 支持物品记忆查找
android·安卓
FRing031 天前
JavaScript入门到精通三十一(原型继承、原型链)
开发语言·前端·javascript
程序员大阳1 天前
副队长JavaScript教程(52)-DOM操作元素的内容
javascript·dom·innertext·innerhtml·value·内容操作
裕波1 天前
苏千|从 cnpm 到 Vite+:AI 时代的开发者体验演进
javascript