casdoor.ts 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. import type { App } from 'vue'
  2. import casdoor, { useCasdoor } from 'casdoor-vue-sdk'
  3. const ServerUrl = '/casdoor'
  4. const ClientId = 'f7059ed03570512cc79c'
  5. const AppName = 'app-franklinwh-toolbox'
  6. const OrganizationName = 'organization_franklinwh_toolbox'
  7. // 从环境变量读取公共基础路径(生产 /fwh-toolbox/,测试 /fwh-toolbox-test/)
  8. // 去掉末尾多余的斜杠后再拼接回调路径,避免出现双斜杠
  9. const PublicPath = import.meta.env.VITE_PUBLIC_PATH.replace(/\/+$/, '')
  10. const RedirectPath = `${PublicPath}/casdoor/callback`
  11. export function setupCasdoor(app: App) {
  12. app.use(casdoor.default, {
  13. serverUrl: ServerUrl,
  14. clientId: ClientId,
  15. appName: AppName,
  16. organizationName: OrganizationName,
  17. redirectPath: RedirectPath,
  18. })
  19. }
  20. export function getSigninUrl() {
  21. const casdoorSdk = useCasdoor()
  22. return casdoorSdk.getSigninUrl()
  23. }
  24. export function jumpToSignin() {
  25. const url = getSigninUrl()
  26. console.log({ SigninUrl: url })
  27. // 替换为你的登录页地址
  28. window.location.href = url
  29. }