| 청사진 테마 | Windows 테마 | 마코스 테마 |
|---|---|---|
![]() | ![]() | ![]() |
이 프로젝트는 VUE 용 대화 형 웹 OS 템플릿을 만드는 것을 목표로합니다. 템플릿에는 개별 창 구성 요소, 네이브 바 및 앱 그리드에 필요한 논리가 모두 포함되어 있습니다. 사용자는 새로운 구성 요소 (사용자 정의 또는 기타)를 쉽게 등록 할 수 있습니다.
이 페이지의 Sidebae에서 최신 릴리스를 다운로드하십시오
vue.js가 설치되어 있는지 확인하십시오
VUE의 공식 문서
폴더의 이름을 vuejs-os-template 로 바꿉니다
CD 프로젝트 폴더에 CD를 설치하고 패키지 + 종속성을 설치하십시오
$ cd vuejs-os-template && npm install$ npm run serve슬롯 메소드에 창을 등록하면 사전 제작 된 창 템플릿에 빠르게 액세스 할 수 있습니다. 이 방법은 창 자체의 스타일 또는 레이아웃을 변경할 필요가없는 사용자에게 가장 적합합니다.
/src/store/index.js 로 이동하십시오
Windows State Array 내에 다음 스 니펫을 붙여서 새 창을 등록하십시오.
{
windowId : "UniqueWindowID" ,
windowState : "close" ,
displayName : "Unique Window" ,
windowComponent : 'window' ,
windowContent : 'Placeholder' ,
windowContentPadding : {
top : null ,
right : null ,
bottom : null ,
left : null
} ,
position : "absolute" ,
positionX : "10vw" ,
positionY : "10vh" ,
iconImage : "placeholder.png" ,
altText : "Placeholder Icon" ,
fullscreen : false
} ,windowId: "MyNewWindow" displayName: "New Window"/src/components/views 폴더에서 새 컨텐츠 구성 요소를 작성하고 'WindowContent'를 생성 된 새 컨텐츠 구성 요소의 이름으로 바꾸십시오. windowContent: "MyNewWindowContent"/src/components/views/mynewwindowcontent.vue
< template >
< p > this is my new window's content! </ p >
</ template >/src/App.vue 로 이동하십시오. import MyNewWindowContent from './components/views/MyNewWindowContent' components: {
... ,
MyNewWindowContent
}사용자 정의 창을 등록하면 각 창에 전용 객체 상태가있는 객체 상태가 표시되기 때문에 비교적 간단합니다. 창 자체의 레이아웃 또는 스타일을 수정 해야하는 경우 사용자 정의 창을 등록 할 수 있습니다 (즉, 창 상단 막대에서 버튼을 제거하거나 추가).
/src/store/index.js 로 이동하십시오
Windows State Array 내에 다음 스 니펫을 붙여서 새 창을 등록하십시오.
{
windowId : "UniqueWindowID" ,
windowState : "close" ,
displayName : "Unique Window" ,
windowComponent : 'window' ,
windowContent : 'Placeholder' ,
windowContentPadding : {
top : null ,
right : null ,
bottom : null ,
left : null
} ,
position : "absolute" ,
positionX : "10vw" ,
positionY : "10vh" ,
iconImage : "placeholder.png" ,
altText : "Placeholder Icon" ,
fullscreen : false
} ,windowId: "MyCustomWindow" displayName: "Custom Window" windowComponent: 'SpecialWindow'
SpecialWindow.vue 밑 /src/components/template 라는 새 창 구성 요소를 만들고 window.vue의 내용을이 새 파일에 복사하십시오 .
데모 목적으로, 우리는 단순히 창의 '상단 바'의 배경을 변경하고 슬롯 섹션을 대체하는 컨텐츠를 추가합니다.
이 CSS 스 니펫을 스타일 섹션 아래에 붙여 넣습니다.
. top-bar {
background-color : green !important ;
}이 HTML 스 니펫으로 슬롯 태그를 교체하십시오.
< p > This is my new custom window </ p >/src/App.vue 로 이동하십시오. import SpecialWindow from './components/template/SpecialWindow' components: {
... ,
SpecialWindow
}템플릿에는 세 가지 다른 테마, 기본 청사진 테마, MACOS 테마 및 Windows 테마가 포함되어 있습니다. 테마 간 전환은 비교적 쉽지만 특정 테마에는 약간의 조정이 필요할 수 있습니다.
/src/App.vue 로 이동하여 Blueprint Navbar 변형을 가져옵니다. import Navbar from './components/blueprint/Navbar' @import './assets/css/blueprint/app.css' ;
@import './assets/css/blueprint/window.css' ;
@import './assets/css/blueprint/appgrid.css' ;/src/App.vue 로 이동하여 Windows Navbar 변형을 가져옵니다. import Navbar from './components/windows/Navbar' @import './assets/css/windows/app.css' ;
@import './assets/css/windows/window.css' ;
@import './assets/css/windows/appgrid.css' ;/src/App.vue 로 이동하여 MacOS Navbar 변형 및 MacOS 상단 Navbar를 가져옵니다. import Navbar from './components/macos/Navbar'
import TopNavbar from './components/macos/TopNavbar.vue'components: {
... ,
TopNavbar
} `` `
3. Under the style section of App.vue, import the MacOS CSS variant.
` `` css
@ import './assets/css/macos/app.css' ;
@ import './assets/css/macos/window.css' ;
@ import './assets/css/macos/appgrid.css' ; | 이름 | 설명 | 유형 |
|---|---|---|
| 윈도우 | 창을 식별하기위한 고유 한 ID | 끈 |
| 창 상태 | 윈도우의 개방형, 닫히거나 최소화 된 상태를 추적합니다 | 끈 |
| DisplayName | 앱 그리드 및 창 헤더 제목에서 창에 대한 레이블 | 끈 |
| Windowcomponent | Window의 자체 UI는 사용자 정의 창을 사용하도록 변경할 수 있습니다. 사용자 정의 창 등록 섹션을 참조하십시오. | 끈 |
| WindowContent | Tracks Window의 컨텐츠 구성 요소는 표준 창을 사용하는 경우 슬롯 아래에 삽입됩니다. 슬롯 섹션이있는 Windows 등록을 참조하십시오. | 끈 |
| WindowContentPadding | 창 내에서 콘텐츠 패딩을 설정합니다 | 문자열 또는 널 |
| 위치 | 창의 CSS 위치를 설정합니다 | 끈 |
| 위치 X | 창의 초기 x 변위를 설정합니다 | 끈 |
| 위치 | 창의 강한 y 변위를 설정합니다 | 끈 |
| 상징 | 창의 아이콘 이미지의 이름, 아이콘은 /assets/icons/ | 끈 |
| alttext | 아이콘의 대체 텍스트 | 끈 |
| 전체 화면 | 창이 전체 화면에 있는지 여부를 추적합니다 | 부울 |
/assets/css/ , 그것으로 가야합니다!