微信相关

 <button class="cc" open-type="getUserInfo" @getuserinfo="getUserInfo" v-if="!canIUseGetUserProfile">
        <u-icon name="weixin-fill" color="#fff" size="38"></u-icon>
        <text style="padding-left:8px">微信一键授权</text>
      </button>

 

  getUserInfo(res) {
      if (res.detail && res.detail["iv"] && res.detail["encryptedData"]) {
        const data = {
          iv: res.detail.iv,
          phone: uni.getStorageSync("phone"),
          encryptedData: res.detail.encryptedData
        };
        weixinCheck(data, this.num);
      } else {
        uni.showToast({
          title: "微信授权失败",
          icon: "none",
          duration: 2000
        });
      }
    },
 uni.login({
    provider: "weixin",
    success: loginRes => {
      console.log("loginRes", loginRes);
      console.log("siteId", uni.getStorageSync("siteId"));
      params = params || {};
      loginByWechat({
        terminalType: "C",
        principalType: uni.getStorageSync("sourceType"), // store.state.user.sourceType,
        principalId: uni.getStorageSync("sourceId"), // store.state.user.sourceId,
        siteId: uni.getStorageSync("siteId"), // store.state.user.siteId,
        jsCode: loginRes.code,
        ...params
      })
        .then(res => {
          handleLoginInfo(res, num);
        })
        .catch(err => {
          console.log("debug log --> ", err);
          uni.showToast({
            title: err,
            icon: "none",
            duration: 2000
          });
          const timer = setTimeout(() => {
            // uni.redirectTo({
            //   url: "/authorize/index"
            // });
            clearTimeout(timer);
          }, 2000);
        });
    },
    fail: loginErr => {
      uni.showToast({
        title: loginErr,
        icon: "none",
        duration: 2000
      });
      const timer = setTimeout(() => {
        uni.redirectTo({
          url: "/authorize/login"
        });
        clearTimeout(timer);
      }, 2000);
    }
  });

手机号授权

 <button style="    margin-bottom: 15px;" class="cc" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">
        <u-icon style="    vertical-align: middle;" name="weixin-fill" color="#fff" size="38"></u-icon>
        <text style="padding-left:8px">微信手机号一键绑定</text>
      </button>
 getPhoneNumber: function(e) {
      console.log("debug log --> ", e);
      this.show = false;
      if (e.detail.errMsg === "getPhoneNumber:fail user deny") {
        wx.showToast({
          icon: "none",
          title: "请允许获取手机号,否则功能不可用!"
        });
        return;
      }
      
      if (this.loginSuccess) {
        var ency = e.detail.encryptedData;
        var iv = e.detail.iv;
        const data = {
          iv: iv,
          jsCode: this.code,
          encryptedData: ency
          // nickName: uni.getStorageSync("name")
        };
        weixinCheckPhone(data);
      }
      
    },

 

export function uploadFileReq(options, config) {
  options = Object.assign(options, {
    header: {
      deviceType: deviceType,
      token: uni.getStorageSync("token")
    }
  });
  const showToast = !(config && config.showToast === false);
  return new Promise((resolve, reject) => {
    uni.uploadFile({
      ...options,
      success: res => {
        const resData = JSON.parse(res.data);
        if (resData && resData.code === 200) {
          resolve(resData.data);
        } else {
          showToast &&
            uni.showToast({
              title: resData.msg,
              icon: "none",
              duration: 2000
            });
          reject(new Error(resData.msg));
        }
      },
      fail: () => {
        showToast &&
          uni.showToast({
            title: "请求失败",
            icon: "none",
            duration: 2000
          });
        reject(new Error("请求失败"));
      }
    });
  });
}

export function downloadFileReq(options, config) {
  options = Object.assign(options, {
    header: {
      deviceType: deviceType,
      token: uni.getStorageSync("token")
    }
  });
  const showToast = !(config && config.showToast === false);
  return new Promise((resolve, reject) => {
    uni.downloadFile({
      ...options,
      success: res => {
        resolve(res);
      },
      fail: () => {
        showToast &&
          uni.showToast({
            title: "请求失败",
            icon: "none",
            duration: 2000
          });
        reject(new Error("请求失败"));
      }
    });
  });
}

// api

export function uploadSiteImg(filePath) {
  return uploadFileReq({
    url: `${BASE_URL}/file/api/v1/site/default/uploadImg`,
    filePath: filePath,
    name: "files"
  });
}
export function uploadFile(filePath) {
  return uploadFileReq({
    url: `${BASE_URL}/file/api/v1/systemFile/uploadImageOss`,
    filePath: filePath,
    name: "files"
  });
}

 

posted on 2022-04-15 15:24  阿政kris*  阅读(24)  评论(0编辑  收藏  举报