管理后台初始化,登录,团队管理,报价单管理 完成
This commit is contained in:
69
src/config/routes.js
Normal file
69
src/config/routes.js
Normal file
@@ -0,0 +1,69 @@
|
||||
import { lazy } from 'react';
|
||||
|
||||
// Dashboard route
|
||||
const dashboardRoute = {
|
||||
path: 'dashboard',
|
||||
component: lazy(() => import('@/pages/Dashboard')),
|
||||
name: '仪表盘',
|
||||
icon: 'dashboard',
|
||||
};
|
||||
|
||||
// Resource Management routes
|
||||
const resourceRoutes = [
|
||||
{
|
||||
path: 'team',
|
||||
component: lazy(() => import('@/pages/resource/team')),
|
||||
name: '团队管理',
|
||||
icon: 'team',
|
||||
},
|
||||
{
|
||||
path: 'bucket',
|
||||
component: lazy(() => import('@/pages/resource/team')),
|
||||
name: '对象存储',
|
||||
icon: 'team',
|
||||
},
|
||||
];
|
||||
|
||||
// Company routes
|
||||
const companyRoutes = [
|
||||
{
|
||||
path: 'quotation',
|
||||
component: lazy(() => import('@/pages/company/quotation')),
|
||||
name: '报价单',
|
||||
icon: 'file',
|
||||
},
|
||||
{
|
||||
path: 'customer',
|
||||
component: lazy(() => import('@/pages/company/customer')),
|
||||
name: '客户管理',
|
||||
icon: 'user',
|
||||
},
|
||||
];
|
||||
|
||||
const marketingRoutes = [
|
||||
];
|
||||
|
||||
export const routes = [
|
||||
dashboardRoute,
|
||||
{
|
||||
path: 'resource',
|
||||
component: lazy(() => import('@/pages/resource')),
|
||||
name: '资源管理',
|
||||
icon: 'appstore',
|
||||
children: resourceRoutes,
|
||||
},
|
||||
{
|
||||
path: 'company',
|
||||
component: lazy(() => import('@/pages/company')),
|
||||
name: '公司管理',
|
||||
icon: 'bank',
|
||||
children: companyRoutes,
|
||||
},
|
||||
{
|
||||
path: 'marketing',
|
||||
component: lazy(() => import('@/pages/marketing')),
|
||||
name: '行销中心',
|
||||
icon: 'shopping',
|
||||
children: marketingRoutes,
|
||||
},
|
||||
];
|
||||
36
src/config/supabase.js
Normal file
36
src/config/supabase.js
Normal file
@@ -0,0 +1,36 @@
|
||||
import { createClient } from '@supabase/supabase-js';
|
||||
|
||||
let supabaseInstance = null;
|
||||
|
||||
export const createSupabase = () => {
|
||||
if (!supabaseInstance) {
|
||||
const supabaseUrl = import.meta.env.VITE_SUPABASE_URL;
|
||||
const supabaseAnonKey = import.meta.env.VITE_SUPABASE_ANON_KEY;
|
||||
|
||||
if (!supabaseUrl || !supabaseAnonKey) {
|
||||
throw new Error('Missing Supabase environment variables');
|
||||
}
|
||||
|
||||
supabaseInstance = createClient(
|
||||
supabaseUrl,
|
||||
supabaseAnonKey,
|
||||
{
|
||||
auth: {
|
||||
autoRefreshToken: true,
|
||||
persistSession: true,
|
||||
detectSessionInUrl: false,
|
||||
},
|
||||
db: {
|
||||
schema: 'limq'
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
return supabaseInstance;
|
||||
};
|
||||
|
||||
export const supabase = createSupabase();
|
||||
|
||||
export const clearSupabaseInstance = () => {
|
||||
supabaseInstance = null;
|
||||
};
|
||||
Reference in New Issue
Block a user