fix: 移除 H5 JSSDK,直接使用飞书客户端注入的 tt 对象

- H5 JSSDK 与 tt 对象冲突,导致警告
- tt 对象由飞书客户端自动注入,无需额外 SDK
- 使用 tt.requestAuthCode 进行免登
This commit is contained in:
root
2026-02-28 10:19:33 +08:00
parent 12eeab6d2d
commit fdb030cba0
2 changed files with 9 additions and 29 deletions
-2
View File
@@ -7,8 +7,6 @@
<title>企业工具台</title>
<!-- 飞书扫码登录 SDK(飞书外扫码登录用) -->
<script src="https://lf-package-cn.feishucdn.com/obj/feishu-static/lark/passport/qrcode/LarkSSOSDKWebQRCode-1.0.3.js"></script>
<!-- 飞书 H5 JSSDK(网页应用免登用) -->
<script src="https://lf1-cdn-tos.bytegoofy.com/goofy/lark/op/h5-js-sdk-1.5.19.js"></script>
</head>
<body>
<div id="root"></div>
+9 -27
View File
@@ -9,9 +9,6 @@ import styles from './login.module.css'
declare global {
interface Window {
tt?: any
h5sdk?: {
ready: (callback: () => void) => void
}
}
}
@@ -82,24 +79,6 @@ export default function Login() {
return
}
// 如果 h5sdk 存在,使用 h5sdk.ready() 等待
if (window.h5sdk?.ready) {
let readyCalled = false
const timeoutId = setTimeout(() => {
if (!readyCalled) {
console.error('h5sdk.ready() 超时')
setLoading(false)
}
}, 5000)
window.h5sdk.ready(() => {
readyCalled = true
clearTimeout(timeoutId)
performFeishuLogin(companyParam)
})
return
}
// 轮询等待 tt 对象(最多 5 秒)
let attempts = 0
const maxAttempts = 50
@@ -143,22 +122,25 @@ export default function Login() {
}
if (!appId) {
console.error('appId 获取失败')
setLoading(false)
Toast.show('飞书应用配置错误')
return
}
// 调用飞书免登(使用 tt.requestAccess)
window.tt.requestAccess({
appID: appId,
scopeList: [],
console.log('开始免登,appId:', appId)
// 调用飞书免登
window.tt.requestAuthCode({
appId: appId,
success: (res: any) => {
console.log('免登成功,code:', res.code)
handleFeishuLogin(res.code, companyParam)
},
fail: (error: any) => {
console.error('requestAccess 失败:', error)
console.error('免登失败:', error)
setLoading(false)
Toast.show('免登失败:' + (error.errMsg || JSON.stringify(error)))
Toast.show('免登失败:' + (error.errMsg || error.errorMessage || JSON.stringify(error)))
},
})
} catch (e) {