C端小程序
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

98 rindas
2.4 KiB

  1. let config = require('./config/config.js')
  2. const Http = require("./utils/HttpBasics");
  3. App({
  4. data: {},
  5. onLaunch: function(options) {
  6. var that = this;
  7. that.globalData.sceneAddress = options.scene;
  8. that.getLocation()
  9. that.getUserInfo()
  10. // 登录
  11. wx.login({
  12. success: ({
  13. code
  14. }) => {
  15. Http.post({
  16. url: config.api.login,
  17. data: {
  18. appId: config.weapp.AppId,
  19. code: code,
  20. sceneAddress: that.globalData.sceneAddress,
  21. }
  22. }).then(res => {
  23. console.log("req",res);
  24. that.globalData.token = res.data.token;
  25. Http.setToken(res.data.token)
  26. if (that.tokenCallback) {
  27. that.tokenCallback(res.data.token);
  28. }
  29. return Http.post({
  30. url: config.api.checkUserStatus,
  31. data: {}
  32. })
  33. }).then(res => {
  34. }).catch(err => {
  35. console.log(err)
  36. if (err.code == 11004) {
  37. // 用户昵称未授权
  38. wx.redirectTo({
  39. url: '../getuserinfo/index',
  40. })
  41. }
  42. })
  43. }
  44. })
  45. },
  46. /**
  47. * 获取地址位置信息
  48. */
  49. getLocation: function() {
  50. wx.getLocation({
  51. type: 'wgs84',
  52. success: function(res) {
  53. console.log("getLocation", res);
  54. },
  55. fail: error => {
  56. console.log(error);
  57. }
  58. })
  59. },
  60. /**
  61. * 获取用户信息
  62. */
  63. getUserInfo: function() {
  64. // 获取用户信息
  65. wx.getSetting({
  66. success: res => {
  67. if (res.authSetting['scope.userInfo']) {
  68. // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
  69. wx.getUserInfo({
  70. success: res => {
  71. // 可以将 res 发送给后台解码出 unionId
  72. this.globalData.userInfo = res.userInfo
  73. // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
  74. // 所以此处加入 callback 以防止这种情况
  75. if (this.userInfoReadyCallback) {
  76. this.userInfoReadyCallback(res)
  77. }
  78. }
  79. })
  80. }
  81. }
  82. })
  83. },
  84. globalData: {
  85. // token
  86. token: null,
  87. // 渠道
  88. sceneAddress: null,
  89. // 二维码参数
  90. scene: null,
  91. // 当前商场信息
  92. market: {
  93. name: "陕西大悦城"
  94. }
  95. }
  96. })