家政小程序
Ви не можете вибрати більше 25 тем Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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