index.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. Vue.use(Vuex)
  4. const store = new Vuex.Store({
  5. // // #ifdef VUE3
  6. // import { createStore } from 'vuex'
  7. // const store = createStore({
  8. // // #endif
  9. state: {
  10. hasLogin: false,
  11. isUniverifyLogin: false,
  12. loginProvider: "",
  13. openid: null,
  14. testvuex: false,
  15. colorIndex: 0,
  16. colorList: ['#FF0000', '#00FF00', '#0000FF'],
  17. noMatchLeftWindow: true,
  18. active: 'componentPage',
  19. leftWinActive: '/pages/component/view/view',
  20. activeOpen: '',
  21. menu: [],
  22. univerifyErrorMsg: ''
  23. },
  24. mutations: {
  25. login(state, provider) {
  26. state.hasLogin = true;
  27. state.loginProvider = provider;
  28. },
  29. logout(state) {
  30. state.hasLogin = false
  31. state.openid = null
  32. },
  33. setOpenid(state, openid) {
  34. state.openid = openid
  35. },
  36. setTestTrue(state) {
  37. state.testvuex = true
  38. },
  39. setTestFalse(state) {
  40. state.testvuex = false
  41. },
  42. setColorIndex(state, index) {
  43. state.colorIndex = index
  44. },
  45. setMatchLeftWindow(state, matchLeftWindow) {
  46. state.noMatchLeftWindow = !matchLeftWindow
  47. },
  48. setActive(state, tabPage) {
  49. state.active = tabPage
  50. },
  51. setLeftWinActive(state, leftWinActive) {
  52. state.leftWinActive = leftWinActive
  53. },
  54. setActiveOpen(state, activeOpen) {
  55. state.activeOpen = activeOpen
  56. },
  57. setMenu(state, menu) {
  58. state.menu = menu
  59. },
  60. setUniverifyLogin(state, payload) {
  61. typeof payload !== 'boolean' ? payload = !!payload : '';
  62. state.isUniverifyLogin = payload;
  63. },
  64. setUniverifyErrorMsg(state,payload = ''){
  65. state.univerifyErrorMsg = payload
  66. }
  67. },
  68. getters: {
  69. currentColor(state) {
  70. return state.colorList[state.colorIndex]
  71. }
  72. },
  73. actions: {
  74. // lazy loading openid
  75. getUserOpenId: async function({
  76. commit,
  77. state
  78. }) {
  79. return await new Promise((resolve, reject) => {
  80. if (state.openid) {
  81. resolve(state.openid)
  82. } else {
  83. uni.login({
  84. success: (data) => {
  85. commit('login')
  86. setTimeout(function() { //模拟异步请求服务器获取 openid
  87. const openid = '123456789'
  88. console.log('uni.request mock openid[' + openid + ']');
  89. commit('setOpenid', openid)
  90. resolve(openid)
  91. }, 1000)
  92. },
  93. fail: (err) => {
  94. console.log('uni.login 接口调用失败,将无法正常使用开放接口等服务', err)
  95. reject(err)
  96. }
  97. })
  98. }
  99. })
  100. }
  101. // ,
  102. // getPhoneNumber: function({
  103. // commit
  104. // }, univerifyInfo) {
  105. // return new Promise((resolve, reject) => {
  106. // uni.request({
  107. // url: 'https://97fca9f2-41f6-449f-a35e-3f135d4c3875.bspapp.com/http/univerify-login',
  108. // method: 'POST',
  109. // data: univerifyInfo,
  110. // success: (res) => {
  111. // const data = res.data
  112. // if (data.success) {
  113. // resolve(data.phoneNumber)
  114. // } else {
  115. // reject(res)
  116. // }
  117. // },
  118. // fail: (err) => {
  119. // reject(res)
  120. // }
  121. // })
  122. // })
  123. // }
  124. }
  125. })
  126. export default store