123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import Vue from 'vue'
- import Vuex from 'vuex'
- import request from '@/common/request'
- Vue.use(Vuex)
- const store = new Vuex.Store({
- state: {
- hasLogin: false,
- jwt: uni.getStorageSync('jwt'),
- user: {}
- },
- // getters
- getters: {
- // »ñÈ¡tokenÖµ
- getJwt: state => {
- return state.jwt;
- },
- getusers: state => {
- return state.user
- },
- // ÑéÖ¤ÊÇ·ñÓÐtoken
- verifyJwt: state => {
- if (state.jwt) {
- state.hasLogin = true;
- return true
- }
- return false;
- }
- },
- mutations: {
- setJwt(state, jwt) {
- state.jwt = jwt;
- uni.setStorageSync('jwt', state.jwt);
- },
- login(state) {
- state.hasLogin = true;
- try {
- uni.setStorageSync('jwt', state.jwt);
- } catch (e) {
- // error
- }
- },
- logout(state) {
- state.hasLogin = false
- state.user = {};
- state.jwt = '';
- uni.removeStorage({
- key: 'jwt',
- success: function(res) {}
- });
- },
- setUser(state, user) {
- state.user = user
- uni.setStorageSync('user', state.user);
- }
- },
- actions: {
- // lazy loading openid
- getUser: async function({
- commit,
- state
- }, refresh) {
- return await new Promise((resolve, reject) => {
- if (refresh != true && state.user && Object.keys(state.user).length > 0) {
- resolve(state.user)
- } else {
- request.get("/api/v1/user/userInfo", {}, false).then(data => {
- if (data.code == 200) {
- commit('setUser', data.data)
- resolve(data.data)
- } else {
- resolve(null)
- }
- }).catch((err) => {
- console.info(err)
- reject(err);
- });
- }
- })
- }
- }
- })
- export default store
|