import QRCode from "qrcode";
|
|
const QRCODE_KEY = "recycleQrcodeBase64";
|
|
export function generateQrcode(text: string): Promise<string> {
|
return new Promise((resolve) => {
|
QRCode.toDataURL(
|
text,
|
{
|
width: 300,
|
margin: 2,
|
},
|
(err, url) => {
|
if (err) {
|
console.error("❌ 二维码生成失败", err);
|
resolve("");
|
return;
|
}
|
resolve(url);
|
},
|
);
|
});
|
}
|
|
export function generateRecycleQrcode(text: string): Promise<string> {
|
return new Promise((resolve) => {
|
const cached = uni.getStorageSync(QRCODE_KEY);
|
if (cached) return resolve(cached);
|
|
generateQrcode(text).then((url) => {
|
if (url) {
|
uni.setStorageSync(QRCODE_KEY, url);
|
}
|
resolve(url);
|
});
|
});
|
}
|
|
/**
|
* 清除指定二维码缓存
|
* @param key
|
*/
|
export function clearQrcodeCache(key: string) {
|
uni.removeStorageSync(key);
|
}
|
|
/**
|
* 清除所有二维码缓存
|
*/
|
export function clearAllQrcodeCache() {
|
uni.clearStorageSync();
|
}
|