user.js 1.2 KB

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