diff --git a/mock/future.ts b/mock/future.ts index 3c67827..81fa44b 100644 --- a/mock/future.ts +++ b/mock/future.ts @@ -212,7 +212,7 @@ export default [ strategy_name: 'string', class_name: 'string', vt_symbol: 'string', - setting: Object, + setting: {}, status: 1, } ] diff --git a/src/components/layout/NavBar.vue b/src/components/layout/NavBar.vue index a11dbb0..f67bb90 100644 --- a/src/components/layout/NavBar.vue +++ b/src/components/layout/NavBar.vue @@ -17,10 +17,6 @@
- - - -
@@ -61,7 +57,6 @@ import CustomPic from "@/components/customPic/index.vue"; import { tenantStore } from '@/store/modules/tenant' import { settingsStore } from '@/store/modules/settings' -import { Action, ElMessage, ElMessageBox } from "element-plus"; // -- IMPORT -- const useTenantStore = tenantStore() @@ -73,20 +68,6 @@ const useSettingsStore = settingsStore() // -- EVENT DEFINITION const toPerson = () => { - -} -const open = () => { - ElMessageBox.alert('This is a message', 'Title', { - // if you want to disable its autofocus - // autofocus: false, - confirmButtonText: 'OK', - callback: (action: Action) => { - ElMessage({ - type: 'info', - message: `action: ${action}`, - }) - }, - }) } useTenantStore.reflush() diff --git a/src/main.ts b/src/main.ts index 4a96e6d..d0ccb6f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,136 +2,27 @@ import { createApp } from 'vue' import App from './App.vue' import ElementPlus from "element-plus"; import 'element-plus/dist/index.css' -import router from './router' import { store } from './store' +import router from './router' +import '@/permission' import * as ElementPlusIconsVue from '@element-plus/icons-vue' -let app = createApp(App) - - -for (const [key, component] of Object.entries(ElementPlusIconsVue)) { - app.component(key, component) -} - import contentmenu from 'v-contextmenu' import 'v-contextmenu/dist/themes/default.css' -app.use(contentmenu) import { setupMock } from '../mock' - if (process.env.NODE_ENV === 'development') { setupMock() } +let app = createApp(App) +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) +} +app.use(contentmenu) app.use(router) app.use(ElementPlus) app.use(store) -import { getToken, getTenant, setToken, setTenant } from './utils/auth' -import { Tenant } from './entity/index' -import Cookies from 'js-cookie' -import { tenantStore } from './store/modules/tenant' -const whiteList = ['/login', '/register', '/sorryPage'] -let url = window.location.href - -async function checktoken(url: string) { - - if (url.search("register") != -1) { - let arr = url.split('?') - let parameters = arr[1].split('&') - let query_data: { [key: string]: any } = {} - parameters.forEach(parameter => { - let parameter_list = parameter.split("=") - query_data[parameter_list[0]] = parameter_list[1] - }) - router.push({ - path: '/register', - query: query_data - }) - return - } - if (url.search("/home/") != -1) { - let arr = url.split('?') - let parameters = arr[1].split('&') - let query_data: { [key: string]: any } = {} - parameters.forEach(parameter => { - let parameter_list = parameter.split("=") - query_data[parameter_list[0]] = parameter_list[1] - }) - const tenant = { - tenant_id: query_data.tenantId, - account: query_data.account - } - const tenant_store = tenantStore() - await tenant_store.login(tenant, query_data.token).then(() => { - const { href } = router.resolve({ - path: '/' - }); - window.open(href, '_self'); - }).catch((error) => { - const { href } = router.resolve({ - path: '/login' - }); - window.open(href, '_self'); - }) - } - if (url.search("sorryPage") != -1) { - router.push({ - path: '/sorryPage', - }) - return - } -} -checktoken(url) - -/** - * ルーター監視 - * 1、トーケン取得 - * 2、トーケンなし場合はログイン画面に遷移 - * 3、トーケンあり場合: - *  既にログイン場合はデフォルト /  に遷移 - *   - */ -router.beforeEach((to, from, next) => { - console.log(from.path, to.path) - - const token = getToken() - - if (typeof token === 'string') { - switch (to.path) { - case '/login': - next('/') - break; - case '/': - const tenant = (JSON.parse(getTenant() as string)) - if (url.search("write") != -1) { - next('/BlogEditer') - } else if (url.search("view") != -1) { - let bid = Cookies.get('bid') - router.push({ - path: '/BlogViewer', - query: { bid: bid } - }) - } else { - router.push({ - path: '/home', - query: tenant - }) - } - break; - default: - next() - } - } else { - if (whiteList.indexOf(to.path) !== -1) { - next() - } else { - next('/login') - } - - } -}) - - app.mount('#app') diff --git a/src/permission.ts b/src/permission.ts new file mode 100644 index 0000000..ef0d30b --- /dev/null +++ b/src/permission.ts @@ -0,0 +1,93 @@ +import router from './router' +import Cookies from 'js-cookie' +import { getToken, getTenant } from './utils/auth' +import { Tenant } from './entity/index' +import { tenantStore } from './store/modules/tenant' + +const whiteList = ['/login', '/register', '/sorryPage'] +let url = window.location.href + +router.beforeEach(async (to, from, next) => { + console.log(url) + console.log(from.path, to.path) + + const token = getToken() + + if (typeof token === 'string') { + switch (to.path) { + case '/login': + next('/') + break; + case '/': + const tenant = (JSON.parse(getTenant() as string)) + if (url.search("write") != -1) { + next('/BlogEditer') + } else if (url.search("view") != -1) { + let bid = Cookies.get('bid') + router.push({ + path: '/BlogViewer', + query: { bid: bid } + }) + } else { + router.push({ + path: '/home', + query: tenant + }) + } + break; + default: + next() + } + } else { + if (url.search("register") != -1) { + let arr = url.split('?') + let parameters = arr[1].split('&') + let query_data: { [key: string]: any } = {} + parameters.forEach(parameter => { + let parameter_list = parameter.split("=") + query_data[parameter_list[0]] = parameter_list[1] + }) + router.push({ + path: '/register', + query: query_data + }) + return + } + if (url.search("/home/") != -1) { + let arr = url.split('?') + let parameters = arr[1].split('&') + let query_data: { [key: string]: any } = {} + parameters.forEach(parameter => { + let parameter_list = parameter.split("=") + query_data[parameter_list[0]] = parameter_list[1] + }) + const tenant = { + tenant_id: query_data.tenantId, + account: query_data.account + } + const tenant_store = tenantStore() + await tenant_store.login(tenant, query_data.token).then(() => { + const { href } = router.resolve({ + path: '/' + }); + window.open(href, '_self'); + }).catch((error) => { + const { href } = router.resolve({ + path: '/login' + }); + window.open(href, '_self'); + }) + } + if (url.search("sorryPage") != -1) { + router.push({ + path: '/sorryPage', + }) + return + } + if (whiteList.indexOf(to.path) !== -1) { + next() + } else { + next('/login') + } + } +}) \ No newline at end of file diff --git a/src/router/index.ts b/src/router/index.ts index c76e0ab..1dd719c 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -27,10 +27,10 @@ const routes: Array = [ } }, { - path: '/school', - component: () => import('../view/school/index.vue'), + path: '/onenote', + component: () => import('../view/onenote/index.vue'), meta: { - name: '学习' + name: 'onenote' } }, { @@ -61,13 +61,6 @@ const routes: Array = [ name: '资金管理' } }, - // { - // path: '/trader', - // component: () => import('../view/trader/index.vue'), - // meta: { - // name: 'trader' - // } - // }, { path: '/strategy', component: () => import('../view/trader/cta_strategy_file.vue'), diff --git a/src/service/github.ts b/src/service/github.ts index 089262e..4680031 100644 --- a/src/service/github.ts +++ b/src/service/github.ts @@ -4,7 +4,7 @@ const service = axios.create() export function Commits(page: number) { return service({ - url: 'https://api.github.com/repos/flipped-aurora/gin-vue-admin/commits?page=' + page, + url: 'https://api.github.com/repos/simple321vip/violin-home/commits?page=' + page, method: 'get' }) } diff --git a/src/service/weather.ts b/src/service/weather.ts index 8329019..b5eb2c7 100644 --- a/src/service/weather.ts +++ b/src/service/weather.ts @@ -1,7 +1,7 @@ import axios from 'axios' import { ref } from 'vue' -const weatherInfo = ref('今日晴,0℃ - 10℃,天气寒冷,注意添加衣物。') +const weatherInfo = ref('对不起主人,我还没有获得天气信息,暂时无法显示哟。') const amapKey = '8e8baa8a7317586c29ec694895de6e0a' export const useWeatherInfo = () => { diff --git a/src/store/modules/tenant.ts b/src/store/modules/tenant.ts index 305c19c..71f74ea 100644 --- a/src/store/modules/tenant.ts +++ b/src/store/modules/tenant.ts @@ -29,6 +29,7 @@ export const tenantStore = defineStore('tenant', () => { tenant.value.token = '' tenant.value.id = '' resetToken() + window.location.reload() } const reflush = async () => { diff --git a/src/view/dashboard/index.vue b/src/view/dashboard/index.vue index 1226716..7d4947c 100644 --- a/src/view/dashboard/index.vue +++ b/src/view/dashboard/index.vue @@ -3,7 +3,7 @@
-
早安,管理员,请开始一天的工作吧
+
我的主人,我们又见面了,我有什么能帮助你么^_^
{{ weatherInfo }}
diff --git a/src/view/school/NavTab.vue b/src/view/onenote/NavTab.vue similarity index 100% rename from src/view/school/NavTab.vue rename to src/view/onenote/NavTab.vue diff --git a/src/view/school/PageTab.vue b/src/view/onenote/PageTab.vue similarity index 100% rename from src/view/school/PageTab.vue rename to src/view/onenote/PageTab.vue diff --git a/src/view/school/SectionTab.vue b/src/view/onenote/SectionTab.vue similarity index 100% rename from src/view/school/SectionTab.vue rename to src/view/onenote/SectionTab.vue diff --git a/src/view/school/index.vue b/src/view/onenote/index.vue similarity index 100% rename from src/view/school/index.vue rename to src/view/onenote/index.vue