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
  }
}
相关推荐
夏幻灵6 分钟前
前端八股:JavaScript 深拷贝详解:实现方式、递归原理与循环引用
开发语言·前端·javascript
suaizai_14 分钟前
ComputerUse:让AI真正操控桌面系统
java·前端·javascript
FYKJ_201044 分钟前
express绿叶横店短剧推荐与影评分享平台34219-计算机课程设计、毕业设计
java·javascript·vue.js·spring boot·后端·课程设计·express
weishuangyun11 小时前
小程序制作平台怎么选?三大平台对比!
大数据·开发语言·javascript
墨天梦1 小时前
B16_Material主题与可访问交互
android·kotlin·交互
一颗小芹菜的日常1 小时前
vue-crack插件是干什么的
前端·javascript·vue.js
小比特-combat1 小时前
LVGL_1(使用示例讲解父子关系)
开发语言·前端·javascript
弯_弯1 小时前
企业知识库 RAG 落地:从 Demo 到生产,四条工程链路与参数级自查
android·java·javascript
月夏1 小时前
Node.js 读 Excel 我踩了 3 个坑,最后一个查遍 Stack Overflow 没答案
前端·javascript
知野小兔1 小时前
JavaScript 数组方法大全(超详细整理)
开发语言·前端·javascript