fix: 修复三端路由引用并统一共享 Logo 静态资源

修正 admin/agent/player 路由与 agent App.vue 的 import 路径,三端 Vite 共用 packages/shared/public 下的 logo 与 favicon。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-02 15:01:55 +08:00
parent 4c92157299
commit 000bd8c956
18 changed files with 65 additions and 35 deletions

View File

@@ -3,6 +3,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<title>TheBet365 Admin</title>
</head>
<body>

View File

@@ -23,7 +23,10 @@ const menus = [
<template>
<el-container style="min-height: 100vh">
<el-aside width="200px" style="background: #1a2332">
<div style="padding: 20px; color: #00a826; font-weight: 800">TheBet365 Admin</div>
<div style="padding: 20px">
<img src="/logo.svg" alt="TheBet365" style="height: 28px; width: auto; display: block" />
<div style="margin-top: 8px; font-size: 12px; color: #888">平台后台</div>
</div>
<el-menu background-color="#1a2332" text-color="#ccc" active-text-color="#00a826" :default-active="route.path">
<el-menu-item v-for="m in menus" :key="m.path" :index="m.path">
<RouterLink :to="m.path" style="color: inherit; width: 100%">{{ m.label }}</RouterLink>

View File

@@ -3,20 +3,20 @@ import { createRouter, createWebHistory } from 'vue-router';
export default createRouter({
history: createWebHistory(),
routes: [
{ path: '/login', component: () => import('./views/Login.vue') },
{ path: '/login', component: () => import('../views/Login.vue') },
{
path: '/',
component: () => import('./layouts/AdminLayout.vue'),
component: () => import('../layouts/AdminLayout.vue'),
meta: { auth: true },
children: [
{ path: '', component: () => import('./views/Dashboard.vue') },
{ path: 'users', component: () => import('./views/Users.vue') },
{ path: 'agents', component: () => import('./views/Agents.vue') },
{ path: 'matches', component: () => import('./views/Matches.vue') },
{ path: 'bets', component: () => import('./views/Bets.vue') },
{ path: 'settlement/:id', component: () => import('./views/Settlement.vue') },
{ path: 'cashback', component: () => import('./views/Cashback.vue') },
{ path: 'audit', component: () => import('./views/Audit.vue') },
{ path: '', component: () => import('../views/Dashboard.vue') },
{ path: 'users', component: () => import('../views/Users.vue') },
{ path: 'agents', component: () => import('../views/Agents.vue') },
{ path: 'matches', component: () => import('../views/Matches.vue') },
{ path: 'bets', component: () => import('../views/Bets.vue') },
{ path: 'settlement/:id', component: () => import('../views/Settlement.vue') },
{ path: 'cashback', component: () => import('../views/Cashback.vue') },
{ path: 'audit', component: () => import('../views/Audit.vue') },
],
},
],

View File

@@ -25,7 +25,10 @@ async function login() {
<template>
<div style="min-height: 100vh; display: flex; align-items: center; justify-content: center">
<el-card style="width: 400px">
<h2 style="text-align: center; margin-bottom: 24px">平台后台登录</h2>
<div style="text-align: center; margin-bottom: 24px">
<img src="/logo.svg" alt="TheBet365" style="height: 32px; width: auto" />
<h2 style="margin-top: 12px; font-size: 16px; font-weight: 500">平台后台登录</h2>
</div>
<el-form @submit.prevent="login">
<el-form-item label="用户名">
<el-input v-model="form.username" />

View File

@@ -1,8 +1,10 @@
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import { resolve } from 'path';
export default defineConfig({
plugins: [vue()],
publicDir: resolve(__dirname, '../../packages/shared/public'),
server: {
port: 5174,
proxy: { '/api': { target: 'http://localhost:3000', changeOrigin: true } },