feat: 增加钉钉免登调试 auth-code

2.0/email-builder
Jimmy Liow 11 months ago
parent 2c1fd18770
commit 3cdd7759d1

@ -25,6 +25,7 @@ import ChatAssign from '@/views/Conversations/ChatAssign';
import DingdingLogin from '@/views/dingding/Login'
import DingdingQRCode from '@/views/dingding/QRCode'
import DingdingAuthCode from '@/views/dingding/AuthCode'
import useAuthStore from '@/stores/AuthStore'
import '@/assets/index.css'
@ -87,6 +88,7 @@ const router = createBrowserRouter([
{ path: 'dingding/logout', element: <DingdingLogout /> },
{ path: 'dingding/callback', element: <DingdingCallback /> },
{ path: 'dingding/qr-code', element: <DingdingQRCode /> },
{ path: 'dingding/auth-code', element: <DingdingAuthCode /> },
],
},
]);

@ -0,0 +1,46 @@
import { Flex, Result, Spin } from 'antd'
import { useState, useEffect } from 'react'
import { useNavigate } from 'react-router-dom'
import { isNotEmpty } from '@/utils/commons'
import * as dd from 'dingtalk-jsapi'
//
// https://open.dingtalk.com/document/orgapp/jsapi-request-auth-code
function AuthCode() {
const [result, setResult] = useState('')
useEffect(() => {
const dingTalkPlatForm = dd.env.platform
if (dingTalkPlatForm === 'notInDingTalk') {
setResult(dingTalkPlatForm)
} else {
dd.requestAuthCode({
clientId: 'dingwgdx6emlxr3fcrg8',
corpId: 'ding48bce8fd3957c96b',
success: (res) => {
const { code } = res
setResult(code)
},
fail: (error) => {
setResult(JSON.stringify(error))
},
complete: () => {},
})
}
}, [])
return (
<Flex justify='center' align='center' gap='middle' vertical>
<Result
status='success'
title='authCode'
subTitle={result}
/>
</Flex>
)
}
export default AuthCode
Loading…
Cancel
Save