feat: Oauth

This commit is contained in:
lejianwen
2025-08-10 15:39:25 +08:00
parent fe2626f6cb
commit c5d16aed80
3 changed files with 39 additions and 41 deletions
+10 -28
View File
@@ -1,40 +1,22 @@
import { ref } from 'vue'
import { server } from '@/api/config'
import Websock from '@/utils/webclient/websock'
import * as rendezvous from '@/utils/webclient/rendezvous'
import * as message from '@/utils/webclient/message'
import { ElMessageBox } from 'element-plus'
import { T } from '@/utils/i18n'
import { useAppStore } from '@/store/app'
const prefix = 'wc-'
const app = useAppStore()
export const toWebClientLink = (row) => {
//v2
window.open(`${rustdeskConfig.value.api_server}/webclient2/#/${row.id}`)
console.log(app.setting.rustdeskConfig)
window.open(`${app.setting.rustdeskConfig.api_server}/webclient2/#/${row.id}`)
}
export const rustdeskConfig = ref({})
export async function loadRustdeskConfig () {
console.log('loadRustdeskConfig')
if (rustdeskConfig.value.id_server === undefined || rustdeskConfig.value.key === undefined) {
const res = await server().catch(_ => false)
if (res) {
rustdeskConfig.value = res.data
localStorage.setItem(`${prefix}custom-rendezvous-server`, res.data.id_server)
localStorage.setItem(`${prefix}key`, res.data.key)
localStorage.setItem(`${prefix}api-server`, res.data.api_server)
}
}
return {
rustdeskConfig,
}
}
loadRustdeskConfig()
export async function getPeerSlat (id) {
const [addr, port] = rustdeskConfig.value.id_server.split(':')
const [addr, port] = app.setting.rustdeskConfig.value.id_server.split(':')
if (!addr) {
return
}
@@ -45,7 +27,7 @@ export async function getPeerSlat (id) {
const nat_type = rendezvous.NatType.SYMMETRIC
const punch_hole_request = rendezvous.PunchHoleRequest.fromPartial({
id,
licence_key: rustdeskConfig.value.key || undefined,
licence_key: app.setting.rustdeskConfig.value.key || undefined,
conn_type,
nat_type,
token: undefined,
@@ -87,7 +69,7 @@ export async function getPeerSlat (id) {
await _ws.open()
console.log(new Date() + ': Connected to relay server')
const request_relay = rendezvous.RequestRelay.fromPartial({
licence_key: rustdeskConfig.value.key || undefined,
licence_key: app.setting.rustdeskConfig.value.key || undefined,
uuid,
})
_ws.sendRendezvous({ request_relay })
@@ -112,5 +94,5 @@ export async function getPeerSlat (id) {
}
export function getV2ShareUrl (token) {
return `${rustdeskConfig.value.api_server}/webclient2/#/?share_token=${token}`
return `${app.setting.rustdeskConfig.value.api_server}/webclient2/#/?share_token=${token}`
}