index.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import Vue from "vue";
  2. import Vuex from "vuex";
  3. import { checkToken, User } from "@/config/api.js";
  4. import { set } from "@/config/db.js"; //缓存操作
  5. import audioBg from "./modules/audioBg";
  6. import videoPlay from "./modules/videoPlay";
  7. Vue.use(Vuex);
  8. const store = new Vuex.Store({
  9. state: {
  10. isAuth: "", // 默认为
  11. isBind: "",
  12. pageRouterReport: "", //报告详情的路径
  13. pageRouterActivity: "", //活动详情的路径
  14. },
  15. mutations: {
  16. globalData(state, payload) {
  17. state.isAuth = payload.IsAuth;
  18. state.isBind = payload.IsBind;
  19. },
  20. setRouterReport(state, payload) {
  21. state.pageRouterReport = payload;
  22. },
  23. setRouterActivity(state, payload) {
  24. state.pageRouterActivity = payload;
  25. },
  26. },
  27. actions: {
  28. checkHandle(context, navigateUrl = "") {
  29. return new Promise((resolve, reject) => {
  30. checkToken()
  31. .then((res) => {
  32. if (res.Ret === 200) {
  33. context.commit("globalData", res.Data);
  34. if (navigateUrl != "noGO") {
  35. if (!res.Data.IsAuth && !res.Data.IsBind) {
  36. //已授权已绑定
  37. if (navigateUrl) {
  38. uni.navigateTo({
  39. url: navigateUrl,
  40. });
  41. }
  42. } else if (res.Data.IsAuth) {
  43. //未授权
  44. uni.navigateTo({
  45. url: "/pageMy/authGuide/authGuide",
  46. });
  47. } else if (res.Data.IsBind && !res.Data.IsAuth) {
  48. //已授权未绑定
  49. uni.redirectTo({
  50. url: "/pageMy/login/login",
  51. });
  52. }
  53. }
  54. resolve();
  55. }
  56. })
  57. .catch((err) => {
  58. reject(err);
  59. });
  60. });
  61. },
  62. //获取用户的pv/uv
  63. statistics(type, payload) {
  64. return new Promise((resolve, reject) => {
  65. User.pageHistory(payload)
  66. .then((res) => {
  67. if (res.Ret === 200) {
  68. resolve(res.Data);
  69. }
  70. })
  71. .catch((err) => {
  72. reject(err);
  73. });
  74. });
  75. },
  76. },
  77. getters: {},
  78. modules: { audioBg, videoPlay },
  79. });
  80. export default store;