forked from natuka/web.puabadge.com
Initial commit
This commit is contained in:
commit
84061c9a18
243 files changed
+63148
No files matched your search
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
Reference in new issue
Block a user