123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- import {
- setItem,
- removeItem,
- StorageKeys,
- getItem
- } from "@/utils/storage";
- import {
- defineStore
- } from "pinia";
- import {
- request
- } 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) {
- console.log(code);
- const options = {
- type: 2,
- data: {
- deviceId: "",
- code: code,
- loginSource: "69af303ba2eb4608a099163f0d2a5dbd",
- 'wxOpenid':wechatAppID,
- },
- method: "POST",
- showLoading: false,
- };
-
- return new Promise(async (resolve, reject) => {
- const res = await request(getToken, options);
- const data = stringToJson(res.bizContent);
- console.log("data",data)
- this.saveToken(data.accessToken);
- this.saveOpenId(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
- );
- },
- },
- });
|