index.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. Vue.use(Vuex);
  7. const store = new Vuex.Store({
  8. state: {
  9. isAuth: "", // 默认为
  10. isBind: "",
  11. },
  12. mutations: {
  13. globalData(state, payload) {
  14. state.isAuth = payload.IsAuth;
  15. state.isBind = payload.IsBind;
  16. },
  17. },
  18. actions: {
  19. checkHandle(context, navigateUrl = "") {
  20. return new Promise((resolve, reject) => {
  21. checkToken()
  22. .then((res) => {
  23. if (res.Ret === 200) {
  24. context.commit("globalData", res.Data);
  25. if (navigateUrl != "noGO") {
  26. if (!res.Data.IsAuth && !res.Data.IsBind) {
  27. //已授权已绑定
  28. if (navigateUrl) {
  29. uni.navigateTo({
  30. url: navigateUrl,
  31. });
  32. }
  33. } else if (res.Data.IsAuth) {
  34. //未授权
  35. uni.navigateTo({
  36. url: "/pageMy/authGuide/authGuide",
  37. });
  38. } else if (res.Data.IsBind && !res.Data.IsAuth) {
  39. //已授权未绑定
  40. uni.navigateTo({
  41. url: "/pageMy/login/login",
  42. });
  43. }
  44. }
  45. resolve();
  46. }
  47. })
  48. .catch((err) => {
  49. reject(err);
  50. });
  51. });
  52. },
  53. //获取用户的pv/uv
  54. statistics(type, payload) {
  55. return new Promise((resolve, reject) => {
  56. User.pageHistory(payload)
  57. .then((res) => {
  58. if (res.Ret === 200) {
  59. resolve(res.Data);
  60. }
  61. })
  62. .catch((err) => {
  63. reject(err);
  64. });
  65. });
  66. },
  67. },
  68. getters: {},
  69. modules: { audioBg },
  70. });
  71. export default store;