Initial commit

This commit is contained in:
natuka committed 2025-06-05 09:25:26 +08:00
commit 84061c9a18
243 files changed
+63148

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
// https://router.vuejs.org/zh/
import 'nprogress/nprogress.css'
import Address from '@/views/address/index.vue'
import AddressEdit from '@/views/address/edit.vue'
// 定义路由,每个路由都需要映射到一个组件
const routes = [
{
path: '/address',
name: 'address',
component: Address,
meta: {
needGuard: true,
title: '地址管理',
},
},
{
path: '/address/edit',
name: 'edit',
meta: {
title: "地址编辑"
},
component: AddressEdit,
}
]
export function mergeRoutes(allRoutes: any[]) {
allRoutes.push(...routes)
}
+60
View File
@@ -0,0 +1,60 @@
// https://router.vuejs.org/zh/
import 'nprogress/nprogress.css'
import badge from '@/views/badge/index.vue'
import preview from '@/views/badge/preview.vue'
import record from '@/views/badge/record.vue'
import myOrder from '@/views/badge/myOrder.vue'
import orderDetail from '@/views/badge/orderDetail.vue'
// 定义路由,每个路由都需要映射到一个组件
export const routes = [
{
path: '/badge',
name: 'badge',
component: badge,
meta: {
needGuard: true,
title: '单图徽章',
},
},
{
path: '/badge/preview',
name: 'preview',
component: preview,
meta: {
needGuard: true,
title: '效果预览',
},
},
{
path: '/badge/record',
name: 'record',
component: record,
meta: {
needGuard: true,
title: '效果记录',
},
},
{
path: '/badge/myOrder',
name: 'myOrder',
component: myOrder,
meta: {
needGuard: true,
title: '我的订单',
},
},
{
path: '/badge/orderDetail',
name: 'orderDetail',
component: orderDetail,
meta: {
needGuard: true,
title: '订单详情',
},
}
]
export function mergeRoutes(allRoutes: any[]) {
allRoutes.push(...routes)
}
+140
View File
@@ -0,0 +1,140 @@
// https://router.vuejs.org/zh/
import { createRouter, createWebHashHistory } from 'vue-router'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
// 导入路由组件
import { mergeRoutes } from './queue'
import * as myOrderRouter from './my_order'
import * as photo3dRouter from './photo_3d'
import * as shortUrlRouter from './short_url'
import * as multiPrintRouter from './multiPrint'
import * as badgeRouter from './badge'
import mian from '@/views/index.vue'
import User from '@/views/user/index.vue'
import Person from '@/views/user/person.vue'
import About from '@/views/about/index.vue'
import Login from '@/views/login/index.vue'
import { useTokenStore } from '@/stores/token'
import {useStore} from '@/stores'
import { config } from '@/config/config'
NProgress.configure({ showSpinner: true, parent: '#app' })
// 定义路由,每个路由都需要映射到一个组件
const routes = [
{
path: '/',
name: 'main',
component: mian,
meta: {
needGuard: true,
title: '首页',
},
},
{
path: '/user',
name: 'user',
component: User,
meta: {
needGuard: true,
title: "个人中心",
},
},
{
path: "/person",
name: "person",
meta: {
title: "个人信息"
},
component: Person
},
{
path: '/login',
name: 'login',
component: Login,
meta: {
title: '登录',
},
},
{
path: '/about',
name: 'about',
component: About,
meta: {
title: '关于我们',
},
},
]
mergeRoutes(routes)
myOrderRouter.mergeRoutes(routes)
photo3dRouter.mergeRoutes(routes)
shortUrlRouter.mergeRoutes(routes)
multiPrintRouter.mergeRoutes(routes)
badgeRouter.mergeRoutes(routes)
// 创建路由实例并传递 `routes` 配置
const router = createRouter({
history: createWebHashHistory(process.env.VUE_APP_PUBLIC_PATH),
routes,
})
router.beforeEach((_to, _from, next) => {
const tokenStore = useTokenStore()
const store = useStore()
const token = _to.query.token
if (token) {
tokenStore.login(String(token))
let url = store.redirectUrl()
if (_to.path !== '/queue') {
if (url) {
store.setRedirect('')
next(url)
return
}
} else {
if (url) {
store.setRedirect('')
}
}
}
// TODO: 根据API获取用信息
window.document.title = `${config.brand.$t} - ${(_to.meta.title as string || '相册').$t}`
// store.updateTitle(_to.meta.title.$t); // 导航栏标题变化
NProgress.start() // start progress bar
const needGuard = _to.meta.needGuard
if (needGuard) {
if (!tokenStore.isLoggedIn()) {
// 记录本地访问路径
store.setRedirect(_to.fullPath);
next(`/login`)
} else {
if (_to.path === '/') {
// next('/myOrder')
next('/badge')
} else {
next()
}
}
} else {
if (_to.path === '/login') {
if (!tokenStore.isLoggedIn()) {
next()
} else {
// next('/myOrder')
next('/badge')
}
} else {
next()
}
}
})
router.afterEach(() => {
NProgress.done() // finish progress bar
})
// 导出路由实例,并在 `main.ts` 挂载
export default router
+39
View File
@@ -0,0 +1,39 @@
// https://router.vuejs.org/zh/
import 'nprogress/nprogress.css'
import multiPrint from '@/views/multiPrint/index.vue'
import multiPrintDetail from '@/views/multiPrint/detail.vue'
import orderDetail from '@/views/multiPrint/orderDetail.vue'
// 定义路由,每个路由都需要映射到一个组件
const routes = [
{
path: '/multiPrint',
name: 'multiPrint',
component: multiPrint,
meta: {
needGuard: true,
title: '称毛重管理',
},
},
{
path: '/multiPrintDetail',
name: 'multiPrintDetail',
meta: {
title: "称毛重"
},
component: multiPrintDetail,
},
{
path: '/orderDetail',
name: 'orderDetail',
meta: {
title: "批次详情"
},
component: orderDetail,
},
]
export function mergeRoutes(allRoutes: any[]) {
allRoutes.push(...routes)
}
+31
View File
@@ -0,0 +1,31 @@
// https://router.vuejs.org/zh/
import 'nprogress/nprogress.css'
import myOrder from '@/views/my_order/index.vue'
import OrderDetail from '@/views/my_order/detail.vue'
// 定义路由,每个路由都需要映射到一个组件
const routes = [
{
path: '/myOrder',
name: 'myOrder',
component: myOrder,
meta: {
needGuard: true,
title: '我的订单',
},
},
{
path: '/myOrder/detail',
name: 'detail',
meta: {
needGuard: true,
title: "订单详情"
},
component: OrderDetail,
}
]
export function mergeRoutes(allRoutes: any[]) {
allRoutes.push(...routes)
}
+51
View File
@@ -0,0 +1,51 @@
// https://router.vuejs.org/zh/
import { createRouter, createWebHashHistory } from 'vue-router'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
// 导入路由组件
import { mergeRoutes } from './queue'
import oauth from '@/views/oauth/index.vue'
import { useUserStore } from '@/stores/user'
NProgress.configure({ showSpinner: true, parent: '#app' })
// 定义路由,每个路由都需要映射到一个组件
const routes = [
{
path: '/',
name: 'oauth',
component: oauth,
meta: {
needGuard: false,
},
},
]
mergeRoutes(routes)
// 创建路由实例并传递 `routes` 配置
const router = createRouter({
history: createWebHashHistory(process.env.VUE_APP_PUBLIC_PATH),
routes,
})
router.beforeEach((_to, _from, next) => {
const userStore = useUserStore()
NProgress.start() // start progress bar
const needGuard = _to.meta.needGuard
if (!needGuard) {
if (userStore.isLoggedIn())
window.location.href = '/'
else
next()
} else {
next()
}
})
router.afterEach(() => {
NProgress.done() // finish progress bar
})
// 导出路由实例,并在 `main.ts` 挂载
export default router
+42
View File
@@ -0,0 +1,42 @@
// https://router.vuejs.org/zh/
import 'nprogress/nprogress.css'
import Photo3d from '@/views/photo_3d/index.vue'
import Gsplat from '@/views/photo_3d/gsplat.vue'
import Ar from '@/views/photo_3d/ar.vue'
// 定义路由,每个路由都需要映射到一个组件
const routes = [
{
path: '/photo3d',
name: 'photo3d',
component: Photo3d,
meta: {
needGuard: true,
title: '3d相册',
},
},
{
path: '/photo3d/gsplat',
name: 'gsplat',
component: Gsplat,
meta: {
needGuard: true,
title: '3d高斯相册',
},
},
{
path: '/ar',
name: 'ar',
component: Ar,
meta: {
needGuard: true,
title: 'ar',
},
},
]
export function mergeRoutes(allRoutes: any[]) {
allRoutes.push(...routes)
}
+30
View File
@@ -0,0 +1,30 @@
// https://router.vuejs.org/zh/
import 'nprogress/nprogress.css'
import queue from '@/views/queue/index.vue'
import queueSucceed from '@/views/queue/succeed.vue'
// 定义路由,每个路由都需要映射到一个组件
export const routes = [
{
path: '/queue',
name: 'queue',
component: queue,
meta: {
needGuard: true,
title: '排队',
},
},
{
path: '/queue/succeed',
name: 'queue.succeed',
component: queueSucceed,
meta: {
needGuard: true,
title: '排队成功',
},
},
]
export function mergeRoutes(allRoutes: any[]) {
allRoutes.push(...routes)
}
+50
View File
@@ -0,0 +1,50 @@
// https://router.vuejs.org/zh/
import 'nprogress/nprogress.css'
import actions from '@/views/short_url/actions.vue'
import orderInfo from '@/views/short_url/orderInfo.vue'
import orderTrack from '@/views/short_url/orderTrack.vue'
import printOrderInfo from '@/views/short_url/printOrderInfo.vue'
// 定义路由,每个路由都需要映射到一个组件
const routes = [
{
path: '/shortUrl/actions',
name: 'shortUrl.actions',
component: actions,
meta: {
needGuard: true,
title: '功能',
},
},
{
path: '/shortUrl/orderInfo',
name: 'shortUrl.orderInfo',
component: orderInfo,
meta: {
needGuard: true,
title: '订单信息',
},
},
{
path: '/shortUrl/orderTrack',
name: 'shortUrl.orderTrack',
component: orderTrack,
meta: {
needGuard: true,
title: '订单履历',
},
},
{
path: '/shortUrl/printOrderInfo',
name: 'shortUrl.printOrderInfo',
component: printOrderInfo,
meta: {
needGuard: true,
title: '打印信息',
},
},
]
export function mergeRoutes(allRoutes: any[]) {
allRoutes.push(...routes)
}