Files
shoot-miniprograms/src/store.js

46 lines
796 B
JavaScript
Raw Normal View History

2025-05-25 23:51:10 +08:00
import { defineStore } from "pinia";
// 定义游戏相关的 store
export default defineStore("store", {
// 状态
state: () => ({
user: {
2025-05-26 16:28:13 +08:00
id: "",
nickName: "游客",
},
request: {
token: "",
tokenExpire: 0,
2025-05-25 23:51:10 +08:00
},
}),
// 计算属性
getters: {
getUsername: (state) => {
return state.user.username;
},
},
// 方法
actions: {
2025-05-26 16:28:13 +08:00
updateUser(user) {
this.user = user;
},
updateToken(token, expire) {
this.request.token = token;
this.request.tokenExpire = Date.now() + expire;
2025-05-25 23:51:10 +08:00
},
},
// 开启数据持久化
persist: {
enabled: true,
strategies: [
{
storage: uni.getStorageSync,
2025-05-26 16:28:13 +08:00
paths: ["user", "request"], // 只持久化用户信息
2025-05-25 23:51:10 +08:00
},
],
},
});