2025-11-24 14:57:53 +00:00
|
|
|
|
import { tansParams } from "./ruoyi";
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取uuid
|
|
|
|
|
|
* @returns 生成的uuid字符串
|
|
|
|
|
|
*/
|
2025-11-30 14:19:19 +00:00
|
|
|
|
export function generateUUID() : string {
|
|
|
|
|
|
let uuid = "";
|
|
|
|
|
|
const chars = "0123456789abcdef";
|
2025-11-24 14:57:53 +00:00
|
|
|
|
|
2025-11-30 14:19:19 +00:00
|
|
|
|
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)];
|
|
|
|
|
|
}
|
2025-11-24 14:57:53 +00:00
|
|
|
|
|
2025-11-30 14:19:19 +00:00
|
|
|
|
return uuid;
|
2025-11-24 14:57:53 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-11-30 14:19:19 +00:00
|
|
|
|
export function getWxCode() {
|
2025-11-24 14:57:53 +00:00
|
|
|
|
|
2025-11-30 14:19:19 +00:00
|
|
|
|
}
|
2025-11-24 14:57:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
2025-11-30 14:19:19 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 微信登录(APP 端)
|
|
|
|
|
|
* @returns {Promise<{code: string}>} 临时登录凭证
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function wechatLoginApp() {
|
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
|
uni.login({
|
|
|
|
|
|
provider: 'weixin', // 指定登录方式为微信
|
|
|
|
|
|
onlyAuthorize: true, // 微信登录仅请求授权认证
|
|
|
|
|
|
success: (res) => {
|
|
|
|
|
|
console.log(res)
|
|
|
|
|
|
if (res.code) {
|
|
|
|
|
|
resolve( res.code);
|
|
|
|
|
|
} else if (res.authResult) {
|
|
|
|
|
|
// 如果不存在 code,但是有 authResult,则返回 authResult
|
|
|
|
|
|
resolve({ authResult: res.authResult });
|
|
|
|
|
|
} else {
|
|
|
|
|
|
reject(new Error('微信登录失败:未获取到有效响应'));
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
fail: (err) => {
|
|
|
|
|
|
reject(new Error('微信登录失败:' + err.errMsg));
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
});
|
2025-11-24 14:57:53 +00:00
|
|
|
|
}
|
2025-11-30 14:19:19 +00:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 微信登录(小程序端)
|
|
|
|
|
|
* @returns {Promise<{code: string}>} 临时登录凭证
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function wechatLoginMp() {
|
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
|
// 小程序端无需指定 provider,默认就是微信
|
|
|
|
|
|
uni.login({
|
|
|
|
|
|
success: (res) => {
|
|
|
|
|
|
if (res.code) {
|
|
|
|
|
|
resolve({ code: res.code });
|
|
|
|
|
|
} else {
|
|
|
|
|
|
reject(new Error('获取微信 code 失败:' + res.errMsg));
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
fail: (err) => {
|
|
|
|
|
|
reject(new Error('微信登录失败:' + err.errMsg));
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|