index.js 3.9 KB

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