httpUtilNoLogin.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. const request = require('./WXHttpRequest.js');
  2. const url = require('./const.js');
  3. const util = require('./util.js');
  4. const httpRequestApi = require('./APIClient');
  5. const HOST = url.baseApi;
  6. function genAPIUrl(action) {
  7. return HOST + action;
  8. }
  9. // 登录
  10. function wxLogin(successcallback, failcallback) {
  11. // wx.showToast({
  12. // title: '加载中...',
  13. // icon: 'loading',
  14. // duration: 1500,
  15. // mask: true
  16. // })
  17. wx.login({
  18. success: function (res) {
  19. if (res.code) {
  20. // 获取openid
  21. console.log('登录登录登录登录code', res.code)
  22. let url = genAPIUrl('wx/user/openId')
  23. let data = {
  24. code: res.code
  25. }
  26. return request.getInstance().url(url).data(data).send().success(successcallback).fail(failcallback);
  27. } else {
  28. console.log('获取用户登录态失败!' + res.errMsg)
  29. }
  30. }
  31. })
  32. }
  33. // 获取原来的 openid 和 session_key
  34. /* 新增参数grade 需要给游客添加grade参数 */
  35. function getOpenidNoLogin(successcallback, failcallback, grade) {
  36. // if (wx.getStorageSync('user')) {
  37. // successcallback(
  38. // wx.getStorageSync('user'),
  39. // //分享小程序按钮
  40. // wx.showShareMenu({
  41. // withShareTicket: true
  42. // })
  43. // );
  44. // return;
  45. // }
  46. wxLogin(function (res) {
  47. console.log('wx.login', res)
  48. if (res.data.code == 200) {
  49. let sessionKey = res.data.data.session_key;
  50. let openId = res.data.data.openid;
  51. // successcallback()
  52. // wx.setStorageSync('uid', '111')
  53. let url = genAPIUrl('wx/user/register');
  54. request.getInstance().method('POST').url(url).header({
  55. 'content-type': 'application/json'
  56. }).data({
  57. openId,
  58. grade: grade ? grade : null
  59. }).send().success((res) => {
  60. if (res.data.code === 200) {
  61. wx.setStorageSync('uid', res.data.data.uid)
  62. wx.setStorageSync('grade', res.data.data.grade)
  63. wx.setStorageSync('user', res.data.data)
  64. successcallback(res)
  65. }
  66. }).fail(() => {});
  67. }
  68. }, function (res) {
  69. failcallback(res);
  70. })
  71. }
  72. module.exports = {
  73. getOpenidNoLogin
  74. }