import { WxServices } from '@/routes/wx/services.ts'
import { simple } from './simple.ts'
export const createLoginHtml = (wxService: WxServices) => {
const redirectUrl = wxService.isNew ? '/user/info' : '/'
return `
Wx Login
Login Success
Redirecting, please wait...
`
}
simple.get('/api/wx/login', async (req, res) => {
try {
const url = req.url
const query = new URLSearchParams(url.split('?')[1])
const code = query.get('code')
const state = query.get('state')
if (!code) {
res.end('code is required')
return
}
const wxService = new WxServices()
await wxService.login(code)
if (wxService.isNew) {
await wxService.getUserInfo()
}
res.setHeader('Content-Type', 'text/html')
res.end(createLoginHtml(wxService))
} catch (e) {
console.error(e)
res.end('error')
}
})
simple.get('/api/wx/on-ai/login', async (req, res) => {
const url = req.url
const query = new URLSearchParams(url.split('?')[1])
const code = query.get('code')
const state = query.get('state')
const onAIBaseUrl = 'https://note.on-ai.ai'
const newUrl = `${onAIBaseUrl}/api/wx/login?code=${code}&state=${state}`
res.setHeader('Content-Type', 'text/html')
res.end(``)
})