家政小程序
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.

global.js 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. const $ = global;
  2. const auth = {
  3. /***
  4. * reload小程序(返回首页)
  5. */
  6. reload() {
  7. return global.tools.router.goto({
  8. path: global.config.LAUNCH_PAGE,
  9. type: global.ROUTER_TYPE.CLOSE_ALL
  10. });
  11. },
  12. setSession(data) {
  13. global.tools.memory.setData('AUTH_INFO', data, {
  14. localSave: true
  15. });
  16. },
  17. /***
  18. * 登录微信小程序
  19. */
  20. login() {
  21. return new Promise((resolve, reject) => {
  22. wx.login({
  23. success: (wxRes) => {
  24. auth._loginToServer(wxRes)
  25. .then(res => {
  26. resolve(res);
  27. })
  28. .catch(err => {
  29. reject(err);
  30. });
  31. },
  32. fail: (err) => {
  33. $.wx.showToast({
  34. title: '登录失败',
  35. icon: 'warn'
  36. });
  37. reject(err);
  38. }
  39. });
  40. });
  41. },
  42. /**
  43. * 在后台登录
  44. * @param {微信登录结果} wxRes
  45. */
  46. _loginToServer(wxRes) {
  47. return new Promise((resolve, reject) => {
  48. if (wxRes.code) {
  49. $.request('default/token', 'POST', {
  50. 'code': wxRes.code
  51. }).then(res => {
  52. console.log('登录成功');
  53. res.data.code = wxRes.code;
  54. auth.setSession(res.data);
  55. resolve(res.data);
  56. }).catch((err) => {
  57. console.log('后台登录失败');
  58. reject(err);
  59. });
  60. } else {
  61. console.log('登录失败');
  62. reject(wxRes);
  63. }
  64. });
  65. }
  66. };
  67. export default {
  68. auth,
  69. doRedirect(p = '') {
  70. $.request('default/info', 'POST', {}, true).then(res => {
  71. let path;
  72. if (res.ret === 0) {
  73. path = '/pages/auth/index';
  74. } else {
  75. path = p || '/pages/nearby/index';
  76. $.tools.memory.setData('USER_INFO', res.data, {
  77. localSave: true
  78. });
  79. }
  80. $.router.goto({
  81. path,
  82. type: $.ROUTER_TYPE.CLOSE_ALL
  83. });
  84. });
  85. }
  86. }