import { setItem, removeItem, StorageKeys, getItem } from "@/utils/storage"; import { defineStore } from "pinia"; import { request,requestNew } from "@/utils/network/request"; import { appId, getToken, wechatAppID } from "@/utils/network/api"; import { stringToJson } from "@/utils/network/encryption"; import { confirm, msg, navTo } from "@/utils/utils"; export const useUserStore = defineStore("userStore", { state: () => ({ //访问令牌 access_token: "", //openId openId: "", }), getters: {}, actions: { //设置用户token saveToken(token) { this.access_token = token; setItem(StorageKeys.Token, token); }, //设置openId saveOpenId(openId) { this.openId = openId; setItem(StorageKeys.OpenId, openId); }, /*根据登录code获取token信息*/ fetchToken(code) { const options = { type: 2, data: { deviceId: "", code: code, loginSource: getItem("loginSource"), wxOpenid: getItem("QYorder").openid, zfbOpenId: getItem("zfbOpenId"), zfbUserId: getItem("zfbUserId"), }, method: "POST", showLoading: false, }; return new Promise(async (resolve, reject) => { const res = await requestNew(getToken, options); const data = res; console.log("fetchToken", options) this.saveToken(data.accessToken); this.saveOpenId(data.openId); console.log('输出内容', data.openId) resolve(data); }).catch((error) => { reject(error); }); }, /*退出登录*/ loginOutNoConfirm() { msg("退出登录成功!"); // //把state中的值恢复成默认值 this.$reset(); // //移除本地缓存 removeItem(StorageKeys.Token); removeItem(StorageKeys.OpenId); uni.$emit('loginOut'); uni.navigateTo({ url: "/login/login" }); }, /*退出登录*/ loginOut() { confirm( "确定要退出登录吗?", () => { this.loginOutNoConfirm(); }, "提示", true ); }, }, });