gaoluyang
3 天以前 92230c9a97dc9ce9df3313d11d26999c04bb6b26
src/utils/geek.ts
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,72 @@
import { tansParams } from "./ruoyi";
/**
 * èŽ·å–uuid
 * @returns ç”Ÿæˆçš„uuid字符串
 */
export function generateUUID(): string {
  let uuid = "";
  const chars = "0123456789abcdef";
  for (let i = 0; i < 32; i++) {
    if (i === 8 || i === 12 || i === 16 || i === 20) {
      uuid += "-";
    }
    uuid += chars[Math.floor(Math.random() * chars.length)];
  }
  return uuid;
}
/**
 * èŽ·å–code
 * @returns ç”Ÿæˆçš„code字符串
 */
export async function getWxCode(appid?: string, redirect_uri?: string) {
  // #ifdef H5
  if (appid == undefined || redirect_uri == undefined) return ""
  let code = "";
  // æˆªå–url中的code方法
  function getUrlCode() {
    let url = location.search;
    console.log(url);
    let theRequest: any = new Object();
    if (url.indexOf("?") != -1) {
      let str = url.substr(1);
      let strs = str.split("&");
      for (let i = 0; i < strs.length; i++) {
        theRequest[strs[i].split("=")[0]] = strs[i].split("=")[1];
      }
    }
    return theRequest as { code: string };
  }
  code = getUrlCode().code; // æˆªå–code
  if (code == undefined || code == "" || code == null) {
    // å¦‚果没有code,则去请求
    console.log("h5");
    let href = "https://open.weixin.qq.com/connect/oauth2/authorize?" +
      tansParams({
        appid: appid,
        redirect_uri: redirect_uri,
        response_type: "code",
        scope: "snsapi_userinfo",
        state: "STATE",
      }) +
      "#wechat_redirect";
    console.log(href);
    setTimeout(() => {
      window.location.href = href;
    }, 5000);
  } else {
    return code;
  }
  // #endif
  // #ifdef MP-WEIXIN
  // @ts-ignore
  const res = await wx.login();
  return res.code;
  // #endif
}