authorize-comp.js 1.85 KB
let app = getApp();
Component({
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
    innerText: {
      type: String,
      value: 'default value',
    }
  },
  data: {
    // 这里是一些组件内部数据
    someData: {}
  },
  methods: {
    // 这里是一个自定义方法
    customMethod() {
      this.triggerEvent('evtcomp', {
        name: "_evt_custom"
      })
    },
    // 隐藏蒙层
    hideMask() {
      this.triggerEvent('evtcomp', {
        name: "_evt_hide_mask"
      });
    },
    // 不授权
    doNotAuth() {
      // this.hideMask();
      this.triggerEvent('evtcomp', {
        name: "_evt_do_not_auth"
      });
    },
    authComplete() {
      this.triggerEvent('evtcomp', {
        name: "_evt_auth_complete"
      });
    },
    bindGetUserInfo(e) {
      console.log("e:", e);
      if (e.detail.iv && e.detail.encryptedData) {
        wx.showLoading();
        this.getUserInfo(e.detail);
      } else {
        wx.showToast({
          title: "请允许授权",
          icon: "none"
        })
      }
    },
    getUserInfo(e) {
      let _this = this;
      app.globalData.userInfo = e.userInfo;
      // console.log("before register : code = ", app.store.getItem("wxcode"))
      app.post({
        url: app.api.register,
        sid: false,
        data: {
          encryptedData: e.encryptedData,
          iv: e.iv,
          code: app.store.getItem("wxcode"),
          tlMemberCode: app.globalData.tlMemberCode
        }
      }).then((res2) => {
        wx.hideLoading();
        if (res2 && res2.sessionId) {
          app.store.setItem('sessionId', res2.sessionId);
          // wx.showToast({
          //   title: '授权成功',
          //   icon: 'none'
          // })
        }
        _this.hideMask();
        _this.authComplete();
      }).catch((err) => {

      })
    },
  }
})