123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- import {
- ACCESS_TOKEN,
- USER_ID,
- USER_INFO
- } from '@/store/mutation-types'
- import storage from '@/utils/storage'
- import {
- userLoginWX,
- userLloginApp,
- userLoginH5,
- } from '@/api/login';
- import {
- navTo
- } from '@/core/app';
- // 登录成功后执行
- const loginSuccess = (commit, {
- token,
- id,
- userInfo
- }) => {
- // 过期时间30天
- const expiryTime = 30 * 86400 * 3
- // 保存tokne和userId到缓存
- storage.set(USER_ID, id, expiryTime)
- storage.set(ACCESS_TOKEN, token, expiryTime)
- // 记录到store全局变量
- commit('SET_TOKEN', token)
- commit('SET_USER_ID', id)
- commit('SET_USER_INFO', userInfo)
- }
- const user = {
- state: {
- // 用户认证token
- token: uni.getStorageSync(ACCESS_TOKEN),
- // 用户ID
- userId: uni.getStorageSync(USER_ID),
- userInfo: uni.getStorageSync(USER_INFO),
- parent_id: null,
- },
- mutations: {
- SET_TOKEN: (state, value) => {
- state.token = value
- },
- SET_USER_ID: (state, value) => {
- state.userId = value
- },
- SET_USER_INFO: (state, value) => {
- state.userInfo = value
- },
- M_PARENT_ID: (state, value) => {
- state.parent_id = value
- },
- },
- actions: {
- // 用户登录(普通登录: 输入手机号和验证码)
- async LoginWX({
- commit
- }, data) {
- const result = await userLoginWX(data);
- if (result) {
- if (result.data.token) {
- loginSuccess(commit, {
- token: result.data.token,
- id: result.data.id,
- userInfo: {
- }
- });
- return Promise.resolve(result);
- } else {
- return Promise.resolve(result);
- }
- }
- },
- // 用户登录(普通登录: 输入手机号和验证码)
- async LoginApp({
- commit
- }, data) {
- const result = await userLloginApp(data);
- if (result) {
- loginSuccess(commit, {
- token: result.data.token,
- id: result.data.id
- });
- return Promise.resolve(result);
- } else {
- return Promise.resolve(result);
- }
- },
- // H5登陆
- async LoginH5({
- commit
- }, data) {
- const result = await userLoginH5(data);
- if (result) {
- if (result.data.token) {
- loginSuccess(commit, {
- token: result.data.token,
- id: result.data.id
- });
- return Promise.resolve(result);
- } else {
- return Promise.resolve(result);
- }
- }
- },
- // 退出登录
- async Logout({
- commit
- }, data) {
- const store = this;
- if (store.getters.userId > 0) {
- storage.remove(USER_ID)
- storage.remove(ACCESS_TOKEN)
- storage.remove(USER_INFO)
- // 记录到store全局变量
- commit('SET_TOKEN', '')
- commit('SET_USER_ID', null)
- commit('SET_USER_INFO', null)
- // 回到首页
- navTo('pages/home/index', {})
- return Promise.resolve({
- result: true
- });
- }
- }
- }
- }
- export default user
|