index.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // store/index.js
  2. import Vue from 'vue';
  3. import Vuex from 'vuex';
  4. Vue.use(Vuex);
  5. import {
  6. getConfigByKey
  7. } from '@/api/index.js'
  8. export default new Vuex.Store({
  9. state: {
  10. coureLogin: uni.getStorageSync('coureLogin') || 0,
  11. webviewUrl: '',
  12. wsDanmuUrl: 'wss://userapp.ysya.top', // 弹幕评论接口地址
  13. //红包领取规则:
  14. answerType: 1, //红包领取规则 0:完课且最后一分钟(第二次无需最后一分钟), 1:按完课百分比答题领红包
  15. isSpare:1, // 0,主要小程序,1:备选
  16. uploadFile: 'https://userapp.ysya.top',
  17. },
  18. mutations: {
  19. setCount(state, value) {
  20. state.count = value;
  21. },
  22. setUserInfo(state, info) {
  23. state.userInfo = info;
  24. },
  25. setWebviewUrl(state, value) {
  26. state.webviewUrl = value;
  27. },
  28. setCoureLogin(state, payload) {
  29. uni.setStorageSync('coureLogin', payload);
  30. state.coureLogin = payload;
  31. }
  32. },
  33. getters: {
  34. coureLogin: (state) => state.coureLogin,
  35. },
  36. actions: {
  37. fetchUser({ commit }) {
  38. // const res = await uni.request({ url: '/api/user' });
  39. commit('setUserInfo', 'noe');
  40. },
  41. getWebviewUrl({commit}) {
  42. var that = this;
  43. var data = {
  44. key: 'course.config'
  45. }
  46. return new Promise((resolve, reject) => {
  47. getConfigByKey(data).then(res => {
  48. if (res.code == 200) {
  49. console.log("getConfigByKey====", JSON.parse(res.data))
  50. let data = JSON.parse(res.data)
  51. commit('setWebviewUrl', data.userCourseAuthDomain);
  52. resolve()
  53. }
  54. }).catch(error => {
  55. reject(error)
  56. });
  57. })
  58. }
  59. }
  60. });