bug fix
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
import { IPlatformSDK } from "../core/IPlatformSDK";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
export class WebSDK implements IPlatformSDK {
|
||||
constructor() {}
|
||||
init(cb?: Function): void {
|
||||
logger.log("Web平台初始化");
|
||||
cb && cb();
|
||||
}
|
||||
|
||||
// 登录
|
||||
login(cb?: Function): void {
|
||||
cb && cb({ code: "Web" });
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
getUserInfo(
|
||||
cb: (info: { nickName: string; avatarUrl: string }) => void
|
||||
): void {
|
||||
cb({ nickName: "小明", avatarUrl: "avatar.png" });
|
||||
}
|
||||
|
||||
// 检查平台权限
|
||||
checkPermission(scope: string, cb: (granted: boolean) => void): void {
|
||||
cb(true);
|
||||
}
|
||||
|
||||
//region 复制到剪贴板
|
||||
/**复制文本到剪贴板 */
|
||||
copyToClipboard(text: string, cb?: Function) {
|
||||
logger.log("web 复制到剪贴板:", text);
|
||||
|
||||
if (navigator.clipboard && window.isSecureContext) {
|
||||
// 使用现代的 Clipboard API
|
||||
navigator.clipboard
|
||||
.writeText(text)
|
||||
.then(() => {
|
||||
logger.log("web 复制成功 (Clipboard API)");
|
||||
cb && cb(true);
|
||||
})
|
||||
.catch((err) => {
|
||||
logger.log("web 复制失败 (Clipboard API):", err);
|
||||
this.fallbackCopyToClipboard(text, cb);
|
||||
});
|
||||
} else {
|
||||
// 使用兼容性方案
|
||||
this.fallbackCopyToClipboard(text, cb);
|
||||
}
|
||||
}
|
||||
/**兼容性复制方案 */
|
||||
private fallbackCopyToClipboard(text: string, cb?: Function) {
|
||||
const textArea = document.createElement("textarea");
|
||||
textArea.value = text;
|
||||
|
||||
// 避免滚动到底部
|
||||
textArea.style.top = "0";
|
||||
textArea.style.left = "0";
|
||||
textArea.style.position = "fixed";
|
||||
textArea.style.opacity = "0";
|
||||
|
||||
document.body.appendChild(textArea);
|
||||
textArea.focus();
|
||||
textArea.select();
|
||||
|
||||
try {
|
||||
const successful = document.execCommand("copy");
|
||||
if (successful) {
|
||||
logger.log("web 复制成功 (fallback)");
|
||||
cb && cb(true);
|
||||
} else {
|
||||
logger.log("web 复制失败 (fallback)");
|
||||
cb && cb(false);
|
||||
}
|
||||
} catch (err) {
|
||||
logger.log("web 复制异常 (fallback):", err);
|
||||
cb && cb(false);
|
||||
}
|
||||
|
||||
document.body.removeChild(textArea);
|
||||
}
|
||||
|
||||
// 客服功能是否可用
|
||||
kefuSupport(): boolean {
|
||||
return true;
|
||||
}
|
||||
|
||||
// 打开客服会话
|
||||
openKefu(): void {}
|
||||
|
||||
// 获取设备分辨率
|
||||
getWindowSize(): { width: number; height: number } {
|
||||
return { width: 720, height: 1280 };
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "6903a95e-077f-44a4-a740-04ee2ae3ab86",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
Reference in New Issue
Block a user