logion.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. Vue.use(Vuex)
  4. const store = new Vuex.Store({
  5. state: {
  6. hasLogin: false,
  7. sessionId:'',
  8. showModal: false, //登录授权弹窗
  9. userInfo: {},
  10. },
  11. mutations: {
  12. login(state, provider) {
  13. state.hasLogin = true;
  14. state.userInfo = provider;
  15. uni.setStorage({//缓存用户登陆信息
  16. key: 'userInfo',
  17. data: provider
  18. })
  19. console.log(state.userInfo);
  20. },
  21. setOpenid(state, provider) {
  22. state.sessionId = provider;
  23. uni.setStorage({//缓存用户登陆状态
  24. key: 'sessionId',
  25. data: provider
  26. })
  27. },
  28. showDialog(state, status) {
  29. state.showModal = status;
  30. uni.setStorage({//缓存用户登陆弹窗状态
  31. key: 'showModal',
  32. data: status
  33. })
  34. console.log(state.showModal);
  35. },
  36. logout(state) {
  37. state.hasLogin = false;
  38. state.userInfo = {};
  39. state.sessionId = '';
  40. uni.removeStorage({
  41. key: 'userInfo'
  42. })
  43. uni.removeStorage({
  44. key: 'sessionId'
  45. })
  46. }
  47. },
  48. // actions: {
  49. // // lazy loading openid
  50. // getUserOpenId: async function ({
  51. // commit,
  52. // state
  53. // }) {
  54. // return await new Promise((resolve, reject) => {
  55. // if (state.openid) {
  56. // resolve(state.openid)
  57. // } else {
  58. // uni.login({
  59. // success: (data) => {
  60. // commit('login')
  61. // setTimeout(function () { //模拟异步请求服务器获取 openid
  62. // const openid = '123456789'
  63. // commit('setOpenid', openid)
  64. // resolve(openid)
  65. // }, 1000)
  66. // },
  67. // fail: (err) => {
  68. // console.log('uni.login 接口调用失败,将无法正常使用开放接口等服务', err)
  69. // reject(err)
  70. // }
  71. // })
  72. // }
  73. // })
  74. // }
  75. // }
  76. })
  77. export default store