Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
vridge-docs
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
JIRA
JIRA
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Gyeongho Park
vridge-docs
Commits
1c36c884
Commit
1c36c884
authored
Feb 09, 2023
by
Gyeongho Park
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ADD] front 프로젝트 추가
parent
a2132183
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
27375 additions
and
296 deletions
+27375
-296
index.js
docs-front/apis/index.js
+0
-18
vazil-logo.png
docs-front/assets/image/vazil-logo.png
+0
-0
guide.scss
docs-front/assets/scss/guide.scss
+245
-0
default.vue
docs-front/layouts/default.vue
+5
-14
error.vue
docs-front/layouts/error.vue
+3
-198
nuxt.config.js
docs-front/nuxt.config.js
+21
-30
package-lock.json
docs-front/package-lock.json
+27092
-0
package.json
docs-front/package.json
+7
-18
index.vue
docs-front/pages/_guide/index.vue
+1
-1
index.vue
docs-front/pages/index.vue
+1
-1
global.js
docs-front/plugins/global.js
+0
-10
vuex-persis.js
docs-front/plugins/vuex-persis.js
+0
-6
No files found.
docs-front/apis/index.js
deleted
100644 → 0
View file @
a2132183
import
express
from
'express'
// Create express router
const
router
=
express
.
Router
()
const
app
=
express
()
router
.
use
((
req
,
res
,
next
)
=>
{
Object
.
setPrototypeOf
(
req
,
app
.
request
);
Object
.
setPrototypeOf
(
res
,
app
.
response
);
req
.
res
=
res
;
res
.
req
=
req
;
next
();
});
// Export the server middleware
export
default
{
path
:
'/apis'
,
handler
:
router
};
\ No newline at end of file
docs-front/assets/image/vazil-logo.png
deleted
100644 → 0
View file @
a2132183
6.42 KB
docs-front/assets/scss/guide.scss
0 → 100644
View file @
1c36c884
@charset
"utf-8"
;
@import
url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;700;900&display=swap')
;
.v-application
{
&
.default-guide-wrap
{
//background-color: #fff !important;
}
}
.default-guide-wrap
{
//background-color: #fff !important;
overflow-x
:
hidden
;
font-size
:
16px
!
important
;
*
{
-webkit-font-smoothing
:
antialiased
;
font-weight
:
400
;
letter-spacing
:
-0
.25px
;;
}
.guide-wrap-container
{
padding-right
:
240px
;
}
.guide-wrap
{
min-height
:
100vh
!
important
;
max-width
:
1280px
!
important
;
margin
:
0
auto
;
margin-top
:
36px
;
margin-bottom
:
36px
;
padding
:
36px
;
background-color
:
#fff
!
important
;
position
:
relative
;
.guide-wrap-header
{
position
:
absolute
;
top
:
0
;
left
:
0
;
width
:
100%
;
min-height
:
120px
;
padding
:
36px
;
color
:
#fff
;
background-color
:
#1E88E5
;
.v-breadcrumbs
{
color
:
#ddd
;
font-size
:
0
.95rem
;
}
}
.guide-content
{
margin-top
:
200px
;
width
:
100%
!
important
;
h2
{
font-weight
:
bold
;
border-bottom
:
1px
solid
rgba
(
128
,
128
,
128
,
0
.2
);
padding-top
:
12px
;
padding-bottom
:
12px
;
margin-top
:
48px
;
margin-bottom
:
24px
;
}
img
{
max-width
:
100%
!
important
;
display
:
block
;
margin
:
0
auto
!
important
;
}
>
div
{
width
:
100%
;
}
hr
{
opacity
:
0
.2
;
margin-top
:
6px
;
margin-bottom
:
6px
;
}
}
}
@media
screen
and
(
max-width
:
1080px
){
.guide-wrap-container
{
padding
:
0
;
}
.guide-wrap
{
margin
:
0px
!
important
;
padding
:
24px
;
width
:
100%
;
}
}
@media
screen
and
(
max-width
:
600px
){
.guide-wrap-header
{
h1
{
font-size
:
28px
;
}
span
{
font-size
:
12px
;
}
}
}
@media
screen
and
(
max-width
:
400px
){
.guide-wrap-header
{
h1
{
font-size
:
18px
;
}
span
{
font-size
:
10px
;
}
}
}
.guide-navigator
{
display
:
block
;
box-shadow
:
none
!
important
;
min-width
:
230px
;
min-height
:
200px
;
height
:calc
(
100vh
-
15vh
)
;
position
:fixed
!
important
;
right
:
0
;
top
:
90px
;
z-index
:
1
;
font-size
:
13px
!
important
;
.guide-navigator-item
{
cursor
:
pointer
;
position
:
relative
;
height
:
30px
;
line-height
:
30px
;
.guide-navigator-item-selector
{
position
:
absolute
;
height
:
100%
;
width
:
1px
;
left
:
-14px
;
background-color
:
rgba
(
128
,
128
,
128
,
0
.2
);
&
.active
{
width
:
2px
;
background-color
:
#1E88E5
;
}
}
.guide-navigator-item-text
{
font-size
:
13px
!
important
;
&
.active
{
color
:
#1E88E5
;
font-weight
:
bold
;
}
}
}
}
.topBtn
{
position
:
fixed
;
bottom
:
95px
;
right
:
24px
;
z-index
:
9
;
.
mdi-chevron-up
:
:
before
{
font-size
:
2
.9em
;
font-weight
:
lighter
;
/* 굵기조절x... */
text-align
:
center
;
color
:
#777
;
width
:
60px
;
height
:
60px
;
line-height
:
60px
;
background-color
:
#fff
;
border-radius
:
25px
;
box-shadow
:
0
3px
9px
rgba
(
0
,
0
,
0
,
0
.1
);
}
}
// navigation-drawer
.navigation-wrap
{
overflow-x
:
hidden
;
border-right
:
1px
solid
rgba
(
0
,
0
,
0
,
0
.05
)
!
important
;
.v-list-item
{
*
{
font-size
:
14px
!
important
;
}
&
.active
{
*
{
font-weight
:
bold
!
important
;
color
:
#1E88E5
;
}
&
.theme--dark
{
background-color
:
rgba
(
128
,
128
,
128
,
0
.07
)
!
important
;
}
&
.theme--light
{
background-color
:
rgba
(
128
,
128
,
128
,
0
.07
)
!
important
;
}
}
&
:
:
before
{
}
}
.v-navigation-drawer__border
{
display
:
none
;
}
.modile-logo-wrap
{
display
:
none
;
}
}
//app-bar
.app-bar-wrap
{
background-color
:
#fff
!
important
;
//background-color: #1A237E !important;
-webkit-touch-callout
:
none
;
-webkit-user-select
:
none
;
-khtml-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
.logout-btn-wrap
{
position
:
relative
;
align-items
:
center
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-end
;
text-align
:
right
;
}
.modile-logo-wrap
{
display
:
none
;
}
.mobile-hide
{
display
:inline-block
;
}
}
}
docs-front/layouts/default.vue
View file @
1c36c884
...
...
@@ -5,8 +5,7 @@
<client-only>
<v-card
class=
"guide-navigator"
color=
"transparent"
v-if=
"isShowNav()"
>
<v-icon
small
>
mdi-text
</v-icon>
<vridge-subtitle
title=
"목차"
:fontSize=
"14"
class=
"font-weight-bold"
>
</vridge-subtitle>
목차
<v-card-text>
<v-row
no-gutters
...
...
@@ -251,9 +250,9 @@
<v-main>
<client-only>
<Nuxt
class=
"nuxt-route-content active"
/>
<Nuxt/>
<vridge-dialog
<
!-- <
vridge-dialog
ref="newPageDialog"
>
...
...
@@ -290,10 +289,8 @@
<v-btn @click="createGuide()">등록</v-btn>
</template>
</vridge-dialog>
</vridge-dialog>
-->
</client-only>
<ChannelTalk/>
</v-main>
...
...
@@ -306,8 +303,6 @@
</template>
<
script
>
import
"~/assets/scss/guide.scss"
import
ChannelTalk
from
'../components/channeltalk/ChannelTalk.vue'
export
default
{
head
()
{
...
...
@@ -318,10 +313,6 @@ export default{
}
},
components
:{
ChannelTalk
},
data
:()
=>
({
//스크롤 헤더 트래커
navPositionList
:
[],
...
...
@@ -369,7 +360,7 @@ export default{
async
getGuideIndex
()
{
this
.
loadingPageList
=
true
await
this
.
$axios
.
get
(
'
/guide
/index'
)
await
this
.
$axios
.
get
(
'
http://localhost:5000
/index'
)
.
then
(
res
=>
{
this
.
guideIndex
=
res
.
data
.
body
})
...
...
docs-front/layouts/error.vue
View file @
1c36c884
...
...
@@ -2,24 +2,9 @@
<div>
<v-container
class=
"error-container"
>
<v-row
no-gutters
justify=
"center"
align=
"center"
class=
"py-16"
>
<v-col
justify=
"center"
align=
"center"
>
<v-row
no-gutters
class=
"error_img_box"
>
<img
src=
"/error_img.png"
/>
<v-col
cols=
"12"
v-if=
"error.statusCode === 404"
v-html=
"pageNotFound"
justify=
"center"
align=
"center"
class=
"mb-16 error_text"
></v-col>
<v-col
cols=
"12"
v-else
justify=
"center"
v-html=
"otherError"
style=
"text-align:center;"
align=
"center"
class=
"mb-16 error_text"
>
</v-col>
<v-col
cols=
"12"
justify=
"center"
align=
"start"
>
<span
class=
"error_number"
>
{{
error
.
statusCode
}}
</span>
</v-col>
</v-row>
<v-row
no-gutters
justify=
"center"
align=
"center"
>
<NuxtLink
to=
"/"
class=
"home-btn"
style=
"margin-right: 16px; margin-top: 50px:"
>
홈으로
</NuxtLink>
</v-row>
</v-col>
<NuxtLink
to=
"/"
>
홈으로
</NuxtLink>
</v-row>
</v-container>
...
...
@@ -36,7 +21,6 @@ export default {
},
data
()
{
return
{
pageNotFound
:
"<h3>존재하지 않거나, 사용할 수 없는 페이지 입니다.</h3>"
}
},
head
()
{
...
...
@@ -47,182 +31,3 @@ export default {
}
}
</
script
>
<
style
lang=
"scss"
>
.error-container
{
margin-top
:
64px
;
}
@font-face
{
font-family
:
'EF_MACHO'
;
src
:
url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2206-01@1.0/EF_MACHO.woff2')
format
(
'woff2'
);
font-weight
:
normal
;
font-style
:
normal
;
}
.home-btn
{
height
:
42px
;
line-height
:
42px
;
width
:
120px
;
text-align
:
center
;
border-radius
:
5px
;
color
:
#fff
!
important
;
// background-color: #4f4f4f;
background
:
linear-gradient
(
70deg
,
#d16ac2
,
30%
,
#6347e2
);
background
:
-webkit-linear-gradient
(
70deg
,
#d16ac2
,
30%
,
#6347e2
);
}
.cont_center_error
{
position
:
relative
;
}
.cont_box_error
{
min-width
:
100%
;
}
.cont_error
{
position
:
absolute
;
top
:
38%
;
left
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
padding-bottom
:
0
!
important
;
}
.error_img_box
{
position
:
relative
;
img
{
margin
:auto
;
height
:
400px
;
}
}
.error_text
{
text-align
:
center
;
margin-bottom
:
65px
!
important
;
h3
{
margin-top
:
20px
;
font-size
:
1
.4em
;
}
}
.error_number
{
color
:
#fff
;
letter-spacing
:
10px
;
font-size
:
4
.6em
;
line-height
:
1
.1
;
text-shadow
:
0
2px
5px
#fff
;
position
:
absolute
;
top
:
calc
(
60%
-
25px
);
left
:
calc
(
50%
-
193px
);
font-family
:
'EF_MACHO'
!
important
;
animation
:
error_number
2
.2s
linear
infinite
;
}
@keyframes
error_number
{
0
%
{
opacity
:
1
;
}
10
%
{
opacity
:
.5
;
}
20
%
{
opacity
:
1
;
}
100
%
{
opacity
:
1
;
}
}
@media
screen
and
(
max-width
:
1024px
)
{
.cont_center_error
{
.cont_box_error
{
min-height
:
680px
;
}
.cont_error
{
margin-top
:
0px
;
}
img
{
height
:
250px
;
object-fit
:
cover
;
margin-top
:
0
;
}
.error_number
{
font-size
:
2
.3em
!
important
;
top
:
50%
;
left
:
calc
(
50%
-
119px
);
}
.error_text
{
h3
{
font-size
:
1
.2em
;
}
}
}
//.cont_center_error end
}
//@media screen and (max-width: 1024px) end
@media
screen
and
(
max-width
:
820px
)
{
.cont_center_error
{
.cont_box_error
{
min-height
:
680px
;
}
.cont_error
{
margin-top
:
0px
;
}
img
{
height
:
350px
;
}
.error_number
{
font-size
:
3
.6em
!
important
;
top
:
calc
(
55%
-
6px
);
left
:
calc
(
50%
-
170px
);
}
.error_text
{
h3
{
font-size
:
1
.2em
;
}
}
}
//.cont_center_error end
}
@media
screen
and
(
max-width
:
466px
)
{
.cont_center_error
{
.cont_error
{
top
:
45%
;
}
img
{
height
:
220px
;
}
.error_number
{
font-size
:
2em
!
important
;
top
:
161px
;
left
:
calc
(
50%
-
105px
);
}
.error_text
{
h3
{
font-size
:
1em
;
}
}
}
//.cont_center_error end
}
//@media screen and (max-width: 466px) end
@media
screen
and
(
max-width
:
360px
)
{
.cont_center_error
{
.cont_error
{
top
:
41%
;
}
img
{
height
:
170px
;
}
.error_number
{
font-size
:
1
.4em
!
important
;
top
:
124px
;
left
:
calc
(
50%
-
82px
);
}
.error_text
{
text-align
:
center
;
padding
:
0
15px
;
h3
{
font-size
:
1em
;
}
}
}
//.cont_center_error end
}
//@media screen and (max-width: 360px) end
</
style
>
docs-front/nuxt.config.js
View file @
1c36c884
import
webpack
from
'webpack
'
import
colors
from
'vuetify/es5/util/colors
'
...
...
@@ -31,13 +31,12 @@ export default {
]
},
// loading: '~/components/LoadingBar.vue',
loading
:
false
,
// Global CSS: https://go.nuxtjs.dev/config-css
css
:
[
"~/assets/scss/common.scss"
,
"~/assets/scss/
transition
.scss"
,
"~/assets/scss/
guide
.scss"
,
],
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
...
...
@@ -48,29 +47,34 @@ export default {
// Auto import components: https://go.nuxtjs.dev/config-components
components
:
true
,
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
buildModules
:
[
// https://go.nuxtjs.dev/vuetify
'@nuxtjs/axios'
,
'@nuxtjs/vuetify'
,
'@nuxtjs/svg'
],
// Modules: https://go.nuxtjs.dev/config-modules
modules
:
[
'@nuxtjs/auth'
,
'@nuxtjs/axios'
,
'@nuxtjs/pwa'
,
'nuxt-route-meta'
,
[
'cookie-universal-nuxt'
,
{
alias
:
'cookiz'
}],
"vue2-editor/nuxt"
,
'nuxt-healthcheck'
,
'nuxt-i18n'
,
'nuxt-healthcheck'
],
// Vuetify module configuration: https://go.nuxtjs.dev/config-vuetify
vuetify
:
{
customVariables
:
[
'~/assets/variables.scss'
],
treeShake
:
true
,
heme
:
{
dark
:
true
,
themes
:
{
dark
:
{
primary
:
colors
.
blue
.
darken2
,
accent
:
colors
.
grey
.
darken3
,
secondary
:
colors
.
amber
.
darken3
,
info
:
colors
.
teal
.
lighten1
,
warning
:
colors
.
amber
.
base
,
error
:
colors
.
deepOrange
.
accent4
,
success
:
colors
.
green
.
accent3
}
}
},
defaultAssets
:
{
font
:
{
family
:
'Noto Sans KR'
...
...
@@ -94,15 +98,6 @@ export default {
removeComments
:
true
,
// 👈 add this line
},
},
plugins
:
[
new
webpack
.
ProvidePlugin
({
// global modules
$
:
'jquery'
,
jQuery
:
'jquery'
,
IScroll
:
'iscroll'
,
// _: 'lodash'
})
],
extend
(
config
,
ctx
)
{
config
.
module
.
rules
.
push
({
enforce
:
'pre'
,
...
...
@@ -114,7 +109,9 @@ export default {
},
axios
:{
baseURL
:
'http://localhost:5000'
host
:
"http://localhost"
,
port
:
"5000"
,
prefix
:
"/"
,
},
healthCheck
:
{
...
...
@@ -123,10 +120,4 @@ export default {
return
JSON
.
stringify
({
result
:
'ok'
})
}
},
generate
:
{
minify
:
{
collapseWhitespace
:
false
}
}
}
\ No newline at end of file
docs-front/package-lock.json
0 → 100644
View file @
1c36c884
This source diff could not be displayed because it is too large. You can
view the blob
instead.
docs-front/package.json
View file @
1c36c884
...
...
@@ -10,30 +10,19 @@
},
"dependencies"
:
{
"@nuxtjs/axios"
:
"^5.13.6"
,
"@nuxtjs/pwa"
:
"^3.3.5"
,
"@nuxtjs/vuetify"
:
"^1.11.3"
,
"atob"
:
"^2.1.2"
,
"axios"
:
"^0.21.1"
,
"body-parser"
:
"^1.19.0"
,
"cookie-universal-nuxt"
:
"^2.1.5"
,
"core-js"
:
"^3.9.1"
,
"express"
:
"^4.17.1"
,
"express-session"
:
"^1.17.2"
,
"js-cookie"
:
"^2.2.1"
,
"nuxt"
:
"^2.15.3"
,
"core-js"
:
"^3.25.3"
,
"nuxt"
:
"^2.15.8"
,
"nuxt-healthcheck"
:
"^1.0.1"
,
"nuxt-i18n"
:
"^6.28.1"
,
"nuxt-route-meta"
:
"^2.2.1"
,
"nuxt-vuex-localstorage"
:
"^1.3.0"
,
"sass-loader"
:
"^10.2.0"
,
"vue"
:
"^2.7.10"
,
"vue-no-ssr"
:
"^1.1.1"
,
"vue-swatches"
:
"^2.1.1"
,
"vue-upload-component"
:
"^2.8.22"
,
"vue2-editor"
:
"^2.10.3"
,
"vuex-persistedstate"
:
"^4.0.0"
"vue-server-renderer"
:
"^2.7.10"
,
"vue-template-compiler"
:
"^2.7.10"
,
"vuetify"
:
"^2.6.10"
},
"devDependencies"
:
{
"@nuxtjs/svg"
:
"^0.2.0"
,
"@nuxtjs/vuetify"
:
"^1.12.3"
,
"raw-loader"
:
"^4.0.2"
}
}
docs-front/pages/_guide/index.vue
View file @
1c36c884
...
...
@@ -164,7 +164,7 @@ export default {
methods
:{
async
getGuide
(){
this
.
loading
=
true
await
this
.
$axios
.
get
(
'/guide'
,{
await
this
.
$axios
.
get
(
'
http://localhost:5000
/guide'
,{
params
:{
guideId
:
this
.
$store
.
state
.
guideId
}
...
...
docs-front/pages/index.vue
View file @
1c36c884
...
...
@@ -38,7 +38,7 @@ export default {
getGuideIndex
()
{
this
.
$store
.
state
.
guideId
=
null
this
.
$store
.
commit
(
'setGuide'
,
{
guideId
:
null
,
flag
:
false
})
this
.
$axios
.
get
(
'
/docs
/index'
)
this
.
$axios
.
get
(
'
http://localhost:5000
/index'
)
.
then
(
res
=>
{
this
.
guideIndex
=
res
.
data
.
body
})
...
...
docs-front/plugins/global.js
View file @
1c36c884
...
...
@@ -356,15 +356,6 @@ const rules = {
}
const
env
=
{
getPaymentCallbackUrl
(){
if
(
typeof
process
.
env
.
PAYMENT_CALLBACK_URL
===
'undefined'
){
return
'http://localhost:3000/console/admin/pay'
}
else
{
return
process
.
env
.
PAYMENT_CALLBACK_URL
}
}
}
const
lang
=
{
getString
(
key
){
...
...
@@ -534,7 +525,6 @@ export default ({app}, inject) => {
inject
(
'utils'
,
utils
);
inject
(
'regular'
,
regular
);
inject
(
'rules'
,
rules
);
inject
(
'env'
,
env
);
inject
(
'lang'
,
lang
);
inject
(
'properties'
,
properties
);
inject
(
'colors'
,
colors
);
...
...
docs-front/plugins/vuex-persis.js
deleted
100644 → 0
View file @
a2132183
import
createPersistedState
from
'vuex-persistedstate'
export
default
({
store
})
=>
{
createPersistedState
({
})(
store
)
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment