Skip to content
This repository has been archived by the owner on Aug 28, 2024. It is now read-only.

feat: grid-layout布局, hooks/stores模块独立 #43

Merged
merged 30 commits into from
Feb 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
99d6fdd
wip: layout store
hormers Feb 1, 2023
f355e16
Merge branch 'vbenjs:master' into master
hormers Feb 1, 2023
ea9fac0
wip: layout store
hormers Feb 1, 2023
2456e61
Merge branch 'vbenjs:master' into master
hormers Feb 2, 2023
eb97fbc
Merge branch 'vbenjs:master' into master
hormers Feb 2, 2023
2096779
perf: 格式化部分代码
hormers Feb 2, 2023
099d2b4
chore: Configure .npmrx
hormers Feb 2, 2023
1cb9848
wip: grid-layout
hormers Feb 2, 2023
b48f6d3
wip: grid-layout 完成基本布局
hormers Feb 2, 2023
3241d05
wip: grid-layout 布局切换过渡
hormers Feb 3, 2023
a13e56a
Merge branch 'vbenjs:master' into master
hormers Feb 3, 2023
8f89af4
feat: grid-layout Trigger组件
hormers Feb 3, 2023
a24ef44
Merge remote-tracking branch 'origin/master'
hormers Feb 4, 2023
61cb395
perf: grid-layout 样式优化
hormers Feb 4, 2023
0110a15
feat: grid-layout setting 组件
hormers Feb 4, 2023
8dc1962
Merge branch 'vbenjs:master' into master
hormers Feb 5, 2023
e4e2d82
pref: grid-layout setting
hormers Feb 6, 2023
74d3ab0
pref: grid-layout setting
hormers Feb 6, 2023
42a39a1
Merge branch 'vbenjs:master' into master
hormers Feb 6, 2023
0bd2c12
pref: grid-layout setting
hormers Feb 7, 2023
39c53f1
wip: @vben/stores, useAppConfig hooks
hormers Feb 8, 2023
4ab44f2
Merge branch 'vbenjs:master' into master
hormers Feb 8, 2023
570ea6d
feat: grid-layout ,useAppConfig
hormers Feb 8, 2023
f99efd7
feat: grid-layout ,useAppConfig
hormers Feb 8, 2023
1a54896
feat: grid-layout 界面功能配置
hormers Feb 9, 2023
73439d4
wip: grid-layout theme
hormers Feb 9, 2023
d1d01ec
pref: Remove the command loading
hormers Feb 9, 2023
f5f941c
feat: 新增grid-admin app做区分, 适配grid-layout
hormers Feb 9, 2023
ba84978
feat: 抽离apps下的hooks
hormers Feb 9, 2023
ba1ee76
wip: grid-layout theme color
hormers Feb 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ public-hoist-pattern[]=*eslint*
public-hoist-pattern[]=*prettier*
public-hoist-pattern[]=*vite-plugin-mock*
public-hoist-pattern[]=vite
strict-peer-dependencies=false
2 changes: 1 addition & 1 deletion apps/admin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
"@vben/hooks": "workspace:*",
"@vben/layouts": "workspace:*",
"@vben/locale": "workspace:*",
"@vben/pinia": "workspace:*",
"@vben/request": "workspace:*",
"@vben/stores": "workspace:*",
"@vben/styles": "workspace:*",
"@vben/utils": "workspace:*",
"@vben/vbencomponents": "workspace:*",
Expand Down
1 change: 1 addition & 0 deletions apps/admin/src/layout/index.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<script lang="ts" setup>
import { Layout } from '@vben/layouts'

</script>

<template>
Expand Down
2 changes: 1 addition & 1 deletion apps/admin/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { createApp } from 'vue'
import { router } from '@/router'
import { setupRouteGuard } from '@/router/guard'
import { setupI18n } from '@vben/locale'
import { setupPinia } from '@vben/pinia'
import { setupPinia } from '@vben/stores'
import { initApplication } from './init-application'
import { registerComponents } from '../init-components'
;(async () => {
Expand Down
1 change: 0 additions & 1 deletion apps/admin/src/pages/sys/login/login.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import ForgetPasswordForm from './forget-password-form.vue'
import RegisterForm from './register-form.vue'
import MobileForm from './mobile-form.vue'
import QrCodeForm from './qrcode-form.vue'
import { DarkModeToggle } from '@vben/layouts'
const { bem } = createNamespace('login')

defineProps({
Expand Down
2 changes: 1 addition & 1 deletion apps/admin/src/store/auth.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { defineStore } from '@vben/pinia'
import { defineStore } from 'pinia'
import { asyncRoutes, PAGE_NOT_FOUND_ROUTE } from '@/router/routes'
import { filterTree } from '@vben/utils'
import { Menu } from '@vben/types'
Expand Down
2 changes: 1 addition & 1 deletion apps/admin/src/store/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
ProjectConfig,
TransitionSetting,
} from '@vben/types'
import { defineStore } from '@vben/pinia'
import { defineStore } from 'pinia'
import { deepMerge } from '@vben/utils'
import { APP_DARK_MODE_KEY_, ThemeEnum } from '@vben/constants'
import { darkMode, projectSetting } from '@/setting'
Expand Down
2 changes: 1 addition & 1 deletion apps/admin/src/store/lock.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { LockInfo } from '@vben/types'
import { defineStore } from '@vben/pinia'
import { defineStore } from 'pinia'
import { useUserStore } from '@/store/user'

interface LockState {
Expand Down
2 changes: 1 addition & 1 deletion apps/admin/src/store/modules/app.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { defineStore } from '@vben/pinia'
import { defineStore } from 'pinia'
// import { pinia } from '@/pinia'
import { resetRouter } from '@/router'

Expand Down
2 changes: 1 addition & 1 deletion apps/admin/src/store/multipleTab.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type {
Router,
} from 'vue-router'
import { toRaw, unref } from 'vue'
import { defineStore } from '@vben/pinia'
import { defineStore } from 'pinia'

import { useGo, useRedo } from '@vben/hooks'
// import { Persistent } from '/@/utils/cache/persistent';
Expand Down
2 changes: 1 addition & 1 deletion apps/admin/src/store/test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { defineStore } from '@vben/pinia'
import { defineStore } from 'pinia'

export const useTest = defineStore({
id: 'use--test',
Expand Down
2 changes: 1 addition & 1 deletion apps/admin/src/store/user.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { LoginParams } from '@/apis/auth'
import { defineStore } from '@vben/pinia'
import { defineStore } from 'pinia'
import { BASIC_HOME_PATH, BASIC_LOGIN_PATH, PageEnum } from '@vben/constants'
// import { pinia } from '@/pinia'
import { router } from '@/router'
Expand Down
5 changes: 5 additions & 0 deletions apps/grid-admin/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# spa title
VITE_GLOB_APP_TITLE = Vben Admin

# spa shortname
VITE_GLOB_APP_SHORT_NAME = vben_admin
21 changes: 21 additions & 0 deletions apps/grid-admin/.env.development
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Whether to open mock
VITE_USE_MOCK = true

# public path
VITE_PUBLIC_PATH = /

# Cross-domain proxy, you can configure multiple
# Please note that no line breaks
VITE_PROXY = [["/basic-api","http://localhost:3000"]]
# VITE_PROXY=[["/api","https://vvbin.cn/test"]]

# Whether to enable https and http2 in the development environment
# it will greatly optimize the loading speed at the first startup
# 是否在开发环境开启 https 和 http2(开启后将大幅优化首次启动时加载速度)
VITE_USE_HTTPS = true

# Delete console
VITE_DROP_CONSOLE = false

# Basic interface address SPA
VITE_GLOB_API_URL=/basic-api
28 changes: 28 additions & 0 deletions apps/grid-admin/.env.production
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Whether to open mock
VITE_USE_MOCK = true

# public path
VITE_PUBLIC_PATH = /

# Delete console
VITE_DROP_CONSOLE = true

# Whether to enable gzip or brotli compression
# Optional: gzip | brotli | none
# If you need multiple forms, you can use `,` to separate
VITE_BUILD_COMPRESS = 'none'

# Whether to delete origin files when using compress, default false
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false

# Basic interface address SPA
VITE_GLOB_API_URL=/basic-api

# Whether to enable image compression
VITE_USE_IMAGEMIN= true

# use pwa
VITE_USE_PWA = false

# Is it compatible with older browsers
VITE_LEGACY = false
146 changes: 146 additions & 0 deletions apps/grid-admin/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="renderer" content="webkit" />
<meta
name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0"
/>
<title><%= title %></title>
<link rel="icon" href="/favicon.ico" />
</head>
<body>
<div id="app">
<style>
.app-loading {
display: flex;
width: 100%;
height: 100%;
justify-content: center;
align-items: center;
flex-direction: column;
background-color: #f4f7f9;
}

.app-loading .app-loading__wrap {
position: absolute;
top: 50%;
left: 50%;
display: flex;
transform: translate3d(-50%, -50%, 0);
justify-content: center;
align-items: center;
flex-direction: column;
}

.app-loading .dots {
display: flex;
padding: 98px;
justify-content: center;
align-items: center;
}

.app-loading .app-loading-title {
display: flex;
margin-top: 30px;
font-size: 30px;
color: rgb(0 0 0 / 85%);
justify-content: center;
align-items: center;
}

.app-loading .app-loading__logo {
display: block;
width: 90px;
margin: 0 auto;
margin-bottom: 20px;
}

.dot {
position: relative;
display: inline-block;
width: 48px;
height: 48px;
margin-top: 30px;
font-size: 32px;
transform: rotate(45deg);
box-sizing: border-box;
animation: antRotate 1.2s infinite linear;
}

.dot i {
position: absolute;
display: block;
width: 20px;
height: 20px;
background-color: #0065cc;
border-radius: 100%;
opacity: 30%;
transform: scale(0.75);
animation: antSpinMove 1s infinite linear alternate;
transform-origin: 50% 50%;
}

.dot i:nth-child(1) {
top: 0;
left: 0;
}

.dot i:nth-child(2) {
top: 0;
right: 0;
animation-delay: 0.4s;
}

.dot i:nth-child(3) {
right: 0;
bottom: 0;
animation-delay: 0.8s;
}

.dot i:nth-child(4) {
bottom: 0;
left: 0;
animation-delay: 1.2s;
}

@keyframes antRotate {
to {
transform: rotate(405deg);
}
}

@keyframes antRotate {
to {
transform: rotate(405deg);
}
}

@keyframes antSpinMove {
to {
opacity: 100%;
}
}

@keyframes antSpinMove {
to {
opacity: 100%;
}
}
</style>

<div class="app-loading">
<div class="app-loading__wrap">
<img src="/logo.png" class="app-loading__logo" alt="Logo" />
<div class="app-loading-dots">
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
</div>
<div class="app-loading-title"><%= title %></div>
</div>
</div>
</div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
Loading