ruoyi-geek-App/src/utils/geek.ts

73 lines
1.7 KiB
TypeScript
Raw Normal View History

2024-01-03 08:41:25 +00:00
import { tansParams } from "./ruoyi";
2023-09-12 17:32:10 +00:00
/**
* uuid
* @returns uuid字符串
*/
export function generateUUID(): string {
2024-01-03 08:41:25 +00:00
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字符串
*/
2025-06-14 09:33:33 +00:00
export async function getWxCode(appid?: string, redirect_uri?: string) {
2024-01-03 08:41:25 +00:00
// #ifdef H5
2024-01-17 18:45:14 +00:00
if (appid == undefined || redirect_uri == undefined) return ""
2024-01-03 08:41:25 +00:00
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];
2023-09-12 17:32:10 +00:00
}
}
2024-01-03 08:41:25 +00:00
return theRequest as { code: string };
}
code = getUrlCode().code; // 截取code
if (code == undefined || code == "" || code == null) {
// 如果没有code则去请求
console.log("h5");
2025-06-14 09:33:33 +00:00
let href = "https://open.weixin.qq.com/connect/oauth2/authorize?" +
2024-01-03 08:41:25 +00:00
tansParams({
appid: appid,
2024-01-17 18:45:14 +00:00
redirect_uri: redirect_uri,
2024-01-03 08:41:25 +00:00
response_type: "code",
scope: "snsapi_userinfo",
state: "STATE",
}) +
"#wechat_redirect";
2025-06-14 09:33:33 +00:00
console.log(href);
setTimeout(() => {
window.location.href = href;
}, 5000);
2024-01-03 08:41:25 +00:00
} else {
return code;
}
// #endif
// #ifdef MP-WEIXIN
// @ts-ignore
const res = await wx.login();
return res.code;
// #endif
}