user.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /**
  2. * 用户相关服务
  3. */
  4. const util = require('../utils/util.js');
  5. const api = require('../config/api.js');
  6. /**
  7. * 调用微信登录
  8. */
  9. function loginByWeixin(userInfo) {
  10. let code = null;
  11. return new Promise(function (resolve, reject) {
  12. return util.login().then((res) => {
  13. code = res.code;
  14. return userInfo;
  15. }).then((userInfo) => {
  16. //登录远程服务器
  17. util.request(api.AuthLoginByWeixin, { code: code, userInfo: userInfo }, 'POST', 'application/json').then(res => {
  18. if (res.code === 0) {
  19. //存储用户信息
  20. res.data.userInfo.userId = res.data.userId
  21. wx.setStorageSync('userInfo', res.data.userInfo);
  22. wx.setStorageSync('token', res.data.token);
  23. resolve(res);
  24. } else {
  25. util.showErrorToast(res.errmsg)
  26. reject(res);
  27. }
  28. }).catch((err) => {
  29. reject(err);
  30. });
  31. }).catch((err) => {
  32. reject(err);
  33. })
  34. });
  35. }
  36. /**
  37. * 判断用户是否登录
  38. */
  39. function checkLogin() {
  40. return new Promise(function (resolve, reject) {
  41. if (wx.getStorageSync('userInfo') && wx.getStorageSync('token')) {
  42. util.checkSession().then(() => {
  43. resolve(true);
  44. }).catch(() => {
  45. reject(false);
  46. });
  47. } else {
  48. reject(false);
  49. }
  50. });
  51. }
  52. module.exports = {
  53. loginByWeixin,
  54. checkLogin,
  55. };