租房小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.2 KiB

6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import data from './modules/data'
  4. import user from './modules/user'
  5. import { getConfig, getInfo } from "@/common/api.js"
  6. Vue.use(Vuex)
  7. const store = new Vuex.Store({
  8. state: {
  9. token:"",
  10. userInfo : {}, //用户信息
  11. },
  12. mutations: {
  13. // 初始化配置
  14. initConfig(state){
  15. getConfig({}).then(response=>{
  16. uni.setStorageSync('configList', response.result)
  17. }).catch(error=>{
  18. })
  19. },
  20. onAuth(state){
  21. },
  22. setUserInfo(state,obj){
  23. state.userInfo = obj.userInfo
  24. state.token = obj.token
  25. },
  26. getUserInfo(state, fn){
  27. if(!uni.getStorageSync('token')){
  28. return
  29. }
  30. getInfo({}).then(result=>{
  31. if(result.result.nickName){
  32. state.userInfo = result.result
  33. fn && fn(result.result)
  34. }else{
  35. uni.navigateTo({
  36. url:"/pages/login/index"
  37. })
  38. }
  39. })
  40. },
  41. logout(state){
  42. uni.showModal({
  43. title: '确认退出登录吗',
  44. success(r) {
  45. if(r.confirm){
  46. state.userInfo = {}
  47. state.token = ""
  48. uni.removeStorageSync('token')
  49. uni.redirectTo({
  50. url: '/pages/index/index'
  51. })
  52. }
  53. }
  54. })
  55. },
  56. },
  57. })
  58. export default store