修改 wiki view 显示
This commit is contained in:
+1
-1
@@ -5,7 +5,7 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" href="/favicon.ico" />
|
<link rel="icon" href="/favicon.ico" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>violin-home-manage</title>
|
<title>violin-home</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -25,6 +25,20 @@ export default [
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
url: '/wiki/api/v1/reader/blog/string',
|
||||||
|
method: 'get',
|
||||||
|
response: () => {
|
||||||
|
return {
|
||||||
|
bid: "1",
|
||||||
|
btId: "2",
|
||||||
|
btName: "3",
|
||||||
|
title: "1.2 java neicun",
|
||||||
|
blog_prex: "5",
|
||||||
|
content: "关键字volatile是java虚拟机提供的最轻量级的同步机制。\n当一个变量被定义为volatile时,它具备两种特性。\n第一种是**可见性**。\n即每次get时,强制刷新。\n一个误解区,字节码就是原子操作,这是不对的,一个字节码指令在解释执行时,如果是编译执行,一条字节码会有可能被转化为若干个本地机器指令。此处,用-XX:+PrintAssembly参数输出反汇编来分析。\n\n第二种是,**有序性**。\n即,禁止指令重排序(Instruction Recorder)优化。\n被volatile修饰的变量,赋值后会多执行一个\"lock addl\"操作,这个操作相当于一个memory barrier(内存屏障),指令重拍时,不能把后面的指令排序到内存屏障前面去,只有一个处理器访问时,不需要内存屏障。\naddl 是一个空操作,(把ESP寄存器的值 + 0),这个操作相当于把缓存中的变量做了一次store和write操作。\nlock iddl指令把修改同步到内存时,意味着所有的之前的操作都已完成,便形成了指令重排序无法穿越内存屏障的效果。\n针对于long和double的类型变量,不通虚拟机是有着不同的实现,此处不做描述。\n",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
url: '/wiki/api/v1/reader/blog_type',
|
url: '/wiki/api/v1/reader/blog_type',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
|
|||||||
+4
-4
@@ -7,14 +7,14 @@ export default [
|
|||||||
response: () => {
|
response: () => {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
date: '2023-01-09',
|
event_date: '2023-01-09',
|
||||||
title: '春游',
|
title: '春游',
|
||||||
eventInfo: '春节不觉晓,处处闻啼鸟,夜来风雨声,花落知多少',
|
event_info: '春节不觉晓,处处闻啼鸟,夜来风雨声,花落知多少',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
date: '2023-01-30',
|
event_date: '2023-01-30',
|
||||||
title: '月底发工资',
|
title: '月底发工资',
|
||||||
eventInfo: '发了工资少一半,还了信用卡再少一半,试问如何攒下钱,只有两个字:做梦',
|
event_info: '发了工资少一半,还了信用卡再少一半,试问如何攒下钱,只有两个字:做梦',
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="homeWrap">
|
||||||
<el-container>
|
<el-container class="main_container">
|
||||||
<el-aside width="180px">
|
<el-aside width="180px">
|
||||||
<SideBar></SideBar>
|
<SideBar></SideBar>
|
||||||
</el-aside>
|
</el-aside>
|
||||||
<el-container>
|
<el-container style="margin-left: 180px;">
|
||||||
<el-header>
|
<el-header>
|
||||||
<NavBar></NavBar>
|
<NavBar></NavBar>
|
||||||
</el-header>
|
</el-header>
|
||||||
@@ -83,11 +83,13 @@ iniPage()
|
|||||||
.el-main {
|
.el-main {
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-aside {
|
.el-aside {
|
||||||
margin-left: -10px;
|
margin-left: -10px;
|
||||||
background: #191a23;
|
background: #191a23;
|
||||||
|
position: fixed;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-footer {
|
.el-footer {
|
||||||
@@ -95,4 +97,15 @@ iniPage()
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.main_container {
|
||||||
|
/* height: 100%; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.homeWrap {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
+10
-4
@@ -4,10 +4,11 @@ import { getToken, getTenant } from './utils/auth'
|
|||||||
import { Tenant } from './entity/index'
|
import { Tenant } from './entity/index'
|
||||||
import { tenantStore } from './store/modules/tenant'
|
import { tenantStore } from './store/modules/tenant'
|
||||||
|
|
||||||
const whiteList = ['/login', '/register', '/sorryPage']
|
const whiteList = ['/login', '/register', '/sorryPage', '/BlogViewer']
|
||||||
let url = window.location.href
|
let url = window.location.href
|
||||||
|
|
||||||
router.beforeEach((to, from, next) => {
|
router.beforeEach((to, from, next) => {
|
||||||
|
console.log(to.path)
|
||||||
|
|
||||||
const token = getToken()
|
const token = getToken()
|
||||||
|
|
||||||
@@ -20,13 +21,16 @@ router.beforeEach((to, from, next) => {
|
|||||||
const tenant = <Tenant>(JSON.parse(getTenant() as string))
|
const tenant = <Tenant>(JSON.parse(getTenant() as string))
|
||||||
if (url.search("write") != -1) {
|
if (url.search("write") != -1) {
|
||||||
next('/BlogEditer')
|
next('/BlogEditer')
|
||||||
} else if (url.search("view") != -1) {
|
}
|
||||||
let bid = Cookies.get('bid')
|
if (url.search("view") != -1) {
|
||||||
|
let arr = url.split('?')
|
||||||
|
let bid = arr[1].split('=')[1]
|
||||||
router.push({
|
router.push({
|
||||||
path: '/BlogViewer',
|
path: '/BlogViewer',
|
||||||
query: { bid: bid }
|
query: { bid: bid }
|
||||||
})
|
})
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
router.push({
|
router.push({
|
||||||
path: '/home',
|
path: '/home',
|
||||||
query: tenant
|
query: tenant
|
||||||
@@ -75,6 +79,7 @@ router.beforeEach((to, from, next) => {
|
|||||||
window.open(href, '_self');
|
window.open(href, '_self');
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
if (url.search("sorryPage") != -1) {
|
if (url.search("sorryPage") != -1) {
|
||||||
router.push({
|
router.push({
|
||||||
path: '/sorryPage',
|
path: '/sorryPage',
|
||||||
@@ -86,4 +91,5 @@ router.beforeEach((to, from, next) => {
|
|||||||
next('/login')
|
next('/login')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
@@ -91,8 +91,6 @@ const onSubmit = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const openBlog = (bid: string) => {
|
const openBlog = (bid: string) => {
|
||||||
|
|
||||||
Cookies.set('bid', bid)
|
|
||||||
const { href } = router.resolve({
|
const { href } = router.resolve({
|
||||||
path: '/view',
|
path: '/view',
|
||||||
query: {
|
query: {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<h2>{{ title }}</h2>
|
||||||
<md-editor v-model="text" previewOnly />
|
<md-editor v-model="text" previewOnly />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -9,16 +10,19 @@ import { ref } from 'vue';
|
|||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
import { getBlog } from '../../api/blogView'
|
import { getBlog } from '../../api/blogView'
|
||||||
let text = ref<string>('')
|
let text = ref<string>('')
|
||||||
|
let title = ref<string>('')
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const params = route.query
|
const params = route.query
|
||||||
|
|
||||||
const init = () => {
|
const init = () => {
|
||||||
getBlog(params.bid as string).then(response => {
|
getBlog(params.bid as string).then(response => {
|
||||||
text.value = response.data.content
|
text.value = response.data.content
|
||||||
|
title.value = response.data.title
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
init()
|
init()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
Reference in New Issue
Block a user