猫妈狗爸伴宠师小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.4 KiB

  1. import storage from '@/utils/storage'
  2. import constant from '@/utils/constant'
  3. import {
  4. getInfo,
  5. login,
  6. logout
  7. } from '@/api/login'
  8. import {
  9. getIsLogin,
  10. getToken,
  11. removeToken,
  12. setIsLogin,
  13. setToken
  14. } from '@/utils/auth'
  15. import {
  16. currentUrl
  17. } from '@/utils/getUrl'
  18. import {
  19. wxLogin
  20. } from "../../api/system/user";
  21. const baseUrl = currentUrl
  22. const user = {
  23. state: {
  24. accessToken: uni.getStorageSync("token") || "",
  25. userInfo: uni.getStorageSync("baseInfo") ? JSON.parse(uni.getStorageSync("baseInfo")) : {}
  26. },
  27. mutations: {
  28. // 设置token
  29. setAccessToken(state, token) {
  30. state.accessToken = token;
  31. },
  32. // 设置用户信息
  33. setUserInfo(state, userInfo) {
  34. state.userInfo = userInfo;
  35. }
  36. },
  37. actions: {
  38. login(context) {
  39. uni.login({
  40. success: (res) => {
  41. const code = res.code
  42. wxLogin({
  43. code
  44. }).then(res => {
  45. if (res.code === 200) {
  46. uni.setStorageSync("token", res.data.token)
  47. uni.setStorageSync("baseInfo", JSON.stringify(res.data.userInfo))
  48. context.commit('setAccessToken', res.data.token);
  49. context.commit('setUserInfo', res.data.userInfo);
  50. setIsLogin("isLogin", true);
  51. if (!res.data.userInfo.userName || !res.data.userInfo.userImage || !res.data.userInfo.userTelephone) {
  52. uni.navigateTo({
  53. url: "/pages/login/wxUserInfo"
  54. })
  55. }else {
  56. uni.navigateBack(-1)
  57. }
  58. }
  59. })
  60. }
  61. })
  62. }
  63. }
  64. }
  65. export default user