Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BosomBaby
VueJS_01
提交
dac964c5
V
VueJS_01
项目概览
BosomBaby
/
VueJS_01
与 Fork 源项目一致
Fork自
BosomBaby / VueJS
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
VueJS_01
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
dac964c5
编写于
4月 24, 2023
作者:
6
630f2a19f082584524f6c27d
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Auto commit
上级
4f39fc67
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
226 addition
and
295 deletion
+226
-295
index.html
index.html
+1
-1
package.json
package.json
+1
-0
src/App.vue
src/App.vue
+222
-34
src/assets/base.css
src/assets/base.css
+2
-0
src/components/HelloWorld.vue
src/components/HelloWorld.vue
+0
-43
src/components/TheWelcome.vue
src/components/TheWelcome.vue
+0
-84
src/components/WelcomeItem.vue
src/components/WelcomeItem.vue
+0
-86
src/components/icons/IconCommunity.vue
src/components/icons/IconCommunity.vue
+0
-7
src/components/icons/IconDocumentation.vue
src/components/icons/IconDocumentation.vue
+0
-7
src/components/icons/IconEcosystem.vue
src/components/icons/IconEcosystem.vue
+0
-7
src/components/icons/IconSupport.vue
src/components/icons/IconSupport.vue
+0
-7
src/components/icons/IconTooling.vue
src/components/icons/IconTooling.vue
+0
-19
未找到文件。
index.html
浏览文件 @
dac964c5
...
...
@@ -4,7 +4,7 @@
<meta
charset=
"UTF-8"
/>
<link
rel=
"icon"
href=
"/favicon.ico"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<title>
Vite App
</title>
<title>
打造3D动态银河系特效
</title>
</head>
<body>
<div
id=
"app"
></div>
...
...
package.json
浏览文件 @
dac964c5
...
...
@@ -8,6 +8,7 @@
},
"dependencies"
:
{
"
guess
"
:
"
^1.0.2
"
,
"
three
"
:
"
^0.151.3
"
,
"
vue
"
:
"
^3.2.37
"
},
"devDependencies"
:
{
...
...
src/App.vue
浏览文件 @
dac964c5
<
template
>
<canvas
class=
"webgl"
></canvas>
</
template
>
<
script
setup
>
import
HelloWorld
from
'
./components/HelloWorld.vue
'
import
TheWelcome
from
'
./components/TheWelcome.vue
'
</
script
>
import
{
onMounted
}
from
'
vue
'
<
template
>
<header>
<img
alt=
"Vue logo"
class=
"logo"
src=
"./assets/logo.svg"
width=
"125"
height=
"125"
/>
import
*
as
THREE
from
'
three
'
import
{
OrbitControls
}
from
'
three/examples/jsm/controls/OrbitControls.js
'
import
Stats
from
'
three/examples/jsm/libs/stats.module.js
'
import
{
GUI
}
from
'
three/examples/jsm/libs/lil-gui.module.min.js
'
<div
class=
"wrapper"
>
<HelloWorld
msg=
"You did it!"
/>
</div>
</header>
let
canvas
let
scene
,
camera
,
renderer
let
stats
,
controls
,
gui
<main>
<TheWelcome
/>
</main>
</
template
>
//像素比
const
sizes
=
{
width
:
window
.
innerWidth
,
height
:
window
.
innerHeight
}
<
style
scoped
>
header
{
line-height
:
1.5
;
//初始化操作
let
init
=
()
=>
{
// 获取dom元素
canvas
=
document
.
querySelector
(
'
.webgl
'
)
// 场景初始化
scene
=
new
THREE
.
Scene
()
// 添加环境光
const
light
=
new
THREE
.
AmbientLight
(
0xdeedff
,
1.5
)
scene
.
add
(
light
)
let
pointLight
=
new
THREE
.
PointLight
(
0xffffff
)
pointLight
.
position
.
set
(
0
,
2
,
0
)
scene
.
add
(
pointLight
)
pointLight
=
new
THREE
.
PointLight
(
0xffffff
)
pointLight
.
position
.
set
(
2
,
0
,
0
)
scene
.
add
(
pointLight
)
pointLight
=
new
THREE
.
PointLight
(
0xffffff
)
pointLight
.
position
.
set
(
0
,
0
,
-
2
)
scene
.
add
(
pointLight
)
//相机
camera
=
new
THREE
.
PerspectiveCamera
(
45
,
sizes
.
width
/
sizes
.
height
,
1
,
1000
)
camera
.
position
.
set
(
6
,
5
,
6
)
camera
.
lookAt
(
scene
.
position
)
//渲染器
renderer
=
new
THREE
.
WebGLRenderer
({
canvas
:
canvas
,
antialias
:
true
})
renderer
.
setSize
(
sizes
.
width
,
sizes
.
height
)
// renderer.setClearColor('lightsalmon', 0.5)
renderer
.
setPixelRatio
(
window
.
devicePixelRatio
)
//控制器
controls
=
new
OrbitControls
(
camera
,
renderer
.
domElement
)
controls
.
enableDamping
=
true
controls
.
autoRotate
=
true
controls
.
autoRotateSpeed
=
10
//帧率检测
stats
=
new
Stats
()
document
.
body
.
appendChild
(
stats
.
domElement
)
}
// 自适应屏幕
let
onWindowsResize
=
()
=>
{
sizes
.
width
=
window
.
innerWidth
sizes
.
height
=
window
.
innerHeight
camera
.
aspect
=
sizes
.
width
/
sizes
.
height
camera
.
updateProjectionMatrix
()
renderer
.
setSize
(
sizes
.
width
,
sizes
.
height
)
renderer
.
setPixelRatio
(
window
.
devicePixelRatio
)
}
.logo
{
display
:
block
;
margin
:
0
auto
2rem
;
//双击全屏
let
onWindowsScreen
=
()
=>
{
let
isFullScreen
=
document
.
fullscreenElement
if
(
!
isFullScreen
)
{
renderer
.
domElement
.
requestFullscreen
()
}
else
{
document
.
exitFullscreen
()
}
}
@media
(
min-width
:
1024px
)
{
header
{
display
:
flex
;
place-items
:
center
;
padding-right
:
calc
(
var
(
--section-gap
)
/
2
);
}
.logo
{
margin
:
0
2rem
0
0
;
}
let
expandFunction
=
()
=>
{
window
.
addEventListener
(
'
resize
'
,
onWindowsResize
)
window
.
addEventListener
(
'
dblclick
'
,
onWindowsScreen
)
header
.wrapper
{
display
:
flex
;
place-items
:
flex-start
;
flex-wrap
:
wrap
;
}
}
// 创建粒子
let
params
=
{
count
:
50000
,
size
:
0.01
,
radius
:
5
,
branches
:
3
,
spin
:
1
,
randomness
:
0.2
,
randomnessPower
:
3
,
insideColor
:
'
#ff6030
'
,
outsideColor
:
'
#1b3984
'
}
let
geometry
=
null
let
material
=
null
let
particles
=
null
let
createGalaxy
=
()
=>
{
// 清空之前的粒子
if
(
particles
!==
null
)
{
geometry
.
dispose
()
material
.
dispose
()
scene
.
remove
(
particles
)
}
geometry
=
new
THREE
.
BufferGeometry
()
material
=
new
THREE
.
PointsMaterial
({
size
:
params
.
size
,
sizeAttenuation
:
true
,
blending
:
THREE
.
AdditiveBlending
,
vertexColors
:
true
})
const
vertexPoints
=
[]
const
vertexColors
=
[]
const
colorInside
=
new
THREE
.
Color
(
params
.
insideColor
)
const
colorOutside
=
new
THREE
.
Color
(
params
.
outsideColor
)
for
(
let
i
=
0
;
i
<
params
.
count
;
i
++
)
{
const
i3
=
i
*
3
const
radius
=
Math
.
random
()
*
params
.
radius
const
branchAngle
=
(
i
%
params
.
branches
)
/
params
.
branches
*
Math
.
PI
*
2
const
spinAngle
=
radius
*
params
.
spin
// 不能凸显内部距离
/* const randomX = (Math.random() - 0.5) * params.randomness
const randomY = (Math.random() - 0.5) * params.randomness
const randomZ = (Math.random() - 0.5) * params.randomness */
const
randomX
=
Math
.
pow
(
Math
.
random
(),
params
.
randomnessPower
)
*
(
Math
.
random
()
<
0.5
?
1
:
-
1
)
*
params
.
randomness
*
radius
const
randomY
=
Math
.
pow
(
Math
.
random
(),
params
.
randomnessPower
)
*
(
Math
.
random
()
<
0.5
?
1
:
-
1
)
*
params
.
randomness
*
radius
const
randomZ
=
Math
.
pow
(
Math
.
random
(),
params
.
randomnessPower
)
*
(
Math
.
random
()
<
0.5
?
1
:
-
1
)
*
params
.
randomness
*
radius
vertexPoints
[
i3
]
=
Math
.
cos
(
branchAngle
+
spinAngle
)
*
radius
+
randomX
vertexPoints
[
i3
+
1
]
=
randomY
vertexPoints
[
i3
+
2
]
=
Math
.
sin
(
branchAngle
+
spinAngle
)
*
radius
+
randomZ
// console.log(vertexPoints[i3],vertexPoints[i3 + 2]);
const
mixedColor
=
colorInside
.
clone
()
mixedColor
.
lerp
(
colorOutside
,
radius
)
vertexColors
[
i3
]
=
mixedColor
.
r
vertexColors
[
i3
+
1
]
=
mixedColor
.
g
vertexColors
[
i3
+
2
]
=
mixedColor
.
b
}
const
points
=
new
THREE
.
Float32BufferAttribute
(
vertexPoints
,
3
)
const
colors
=
new
THREE
.
Float32BufferAttribute
(
vertexColors
,
3
)
geometry
.
attributes
.
position
=
points
geometry
.
attributes
.
color
=
colors
particles
=
new
THREE
.
Points
(
geometry
,
material
)
particles
.
name
=
'
galaxy
'
scene
.
add
(
particles
)
}
// 添加gui
let
createGui
=
()
=>
{
gui
=
new
GUI
()
gui
.
add
(
params
,
'
count
'
,
1000
,
100000
,
1
).
onFinishChange
(
createGalaxy
)
gui
.
add
(
params
,
'
size
'
,
0.01
,
0.03
,
0.001
).
onFinishChange
(
createGalaxy
)
gui
.
add
(
params
,
'
radius
'
,
5
,
10
,
1
).
onFinishChange
(
createGalaxy
)
gui
.
add
(
params
,
'
branches
'
,
3
,
10
,
1
).
onFinishChange
(
createGalaxy
)
gui
.
add
(
params
,
'
spin
'
,
-
5
,
5
,
0.001
).
onFinishChange
(
createGalaxy
)
gui
.
add
(
params
,
'
randomness
'
,
0
,
2
,
0.001
).
onFinishChange
(
createGalaxy
)
gui
.
add
(
params
,
'
randomnessPower
'
,
1
,
10
,
0.001
).
onFinishChange
(
createGalaxy
)
gui
.
addColor
(
params
,
'
insideColor
'
).
onFinishChange
(
createGalaxy
)
gui
.
addColor
(
params
,
'
outsideColor
'
).
onFinishChange
(
createGalaxy
)
}
const
clock
=
new
THREE
.
Clock
()
let
animate
=
()
=>
{
const
elapsedTime
=
clock
.
getElapsedTime
()
// for (let i = 0; i
<
params
.
count
*
3
;
i
++
){
// const i3 = i * 3
// const x = particles.geometry.attributes.position.array[i3]
// particles.geometry.attributes.position.array[i3 + 2] = Math.sin(x + 2 * elapsedTime)
// }
// particles.geometry.attributes.position.needsUpdate=true
controls
.
update
()
stats
.
update
()
renderer
.
render
(
scene
,
camera
)
requestAnimationFrame
(
animate
)
}
onMounted
(()
=>
{
init
()
createGalaxy
()
createGui
()
animate
()
expandFunction
()
})
</
script
>
<
style
scoped
>
.webgl
{
position
:
fixed
;
top
:
0
;
left
:
0
;
bottom
:
0
;
}
</
style
>
src/assets/base.css
浏览文件 @
dac964c5
...
...
@@ -55,8 +55,10 @@
*
::after
{
box-sizing
:
border-box
;
margin
:
0
;
padding
:
0
;
position
:
relative
;
font-weight
:
normal
;
}
body
{
...
...
src/components/HelloWorld.vue
已删除
100644 → 0
浏览文件 @
4f39fc67
<
script
setup
>
defineProps
({
msg
:
{
type
:
String
,
required
:
true
}
})
</
script
>
<
template
>
<div
class=
"greetings"
>
<h1
class=
"green"
>
{{
msg
}}
</h1>
<h3>
You’ve successfully created a project with
<a
target=
"_blank"
href=
"https://vitejs.dev/"
>
Vite
</a>
+
<a
target=
"_blank"
href=
"https://vuejs.org/"
>
Vue 3
</a>
.
</h3>
</div>
</
template
>
<
style
scoped
>
h1
{
font-weight
:
500
;
font-size
:
2.6rem
;
top
:
-10px
;
}
h3
{
font-size
:
1.2rem
;
}
.greetings
h1
,
.greetings
h3
{
text-align
:
center
;
}
@media
(
min-width
:
1024px
)
{
.greetings
h1
,
.greetings
h3
{
text-align
:
left
;
}
}
</
style
>
src/components/TheWelcome.vue
已删除
100644 → 0
浏览文件 @
4f39fc67
<
script
setup
>
import
WelcomeItem
from
'
./WelcomeItem.vue
'
import
DocumentationIcon
from
'
./icons/IconDocumentation.vue
'
import
ToolingIcon
from
'
./icons/IconTooling.vue
'
import
EcosystemIcon
from
'
./icons/IconEcosystem.vue
'
import
CommunityIcon
from
'
./icons/IconCommunity.vue
'
import
SupportIcon
from
'
./icons/IconSupport.vue
'
</
script
>
<
template
>
<WelcomeItem>
<template
#icon
>
<DocumentationIcon
/>
</
template
>
<
template
#heading
>
Documentation
</
template
>
Vue’s
<a
target=
"_blank"
href=
"https://vuejs.org/"
>
official documentation
</a>
provides you with all information you need to get started.
</WelcomeItem>
<WelcomeItem>
<
template
#icon
>
<ToolingIcon
/>
</
template
>
<
template
#heading
>
Tooling
</
template
>
This project is served and bundled with
<a
href=
"https://vitejs.dev/guide/features.html"
target=
"_blank"
>
Vite
</a>
. The recommended IDE
setup is
<a
href=
"https://code.visualstudio.com/"
target=
"_blank"
>
VSCode
</a>
+
<a
href=
"https://github.com/johnsoncodehk/volar"
target=
"_blank"
>
Volar
</a>
. If you need to test
your components and web pages, check out
<a
href=
"https://www.cypress.io/"
target=
"_blank"
>
Cypress
</a>
and
<a
href=
"https://on.cypress.io/component"
target=
"_blank"
>
Cypress Component Testing
</a
>
.
<br
/>
More instructions are available in
<code>
README.md
</code>
.
</WelcomeItem>
<WelcomeItem>
<
template
#icon
>
<EcosystemIcon
/>
</
template
>
<
template
#heading
>
Ecosystem
</
template
>
Get official tools and libraries for your project:
<a
target=
"_blank"
href=
"https://pinia.vuejs.org/"
>
Pinia
</a>
,
<a
target=
"_blank"
href=
"https://router.vuejs.org/"
>
Vue Router
</a>
,
<a
target=
"_blank"
href=
"https://test-utils.vuejs.org/"
>
Vue Test Utils
</a>
, and
<a
target=
"_blank"
href=
"https://github.com/vuejs/devtools"
>
Vue Dev Tools
</a>
. If you need more
resources, we suggest paying
<a
target=
"_blank"
href=
"https://github.com/vuejs/awesome-vue"
>
Awesome Vue
</a>
a visit.
</WelcomeItem>
<WelcomeItem>
<
template
#icon
>
<CommunityIcon
/>
</
template
>
<
template
#heading
>
Community
</
template
>
Got stuck? Ask your question on
<a
target=
"_blank"
href=
"https://chat.vuejs.org"
>
Vue Land
</a>
, our official Discord server, or
<a
target=
"_blank"
href=
"https://stackoverflow.com/questions/tagged/vue.js"
>
StackOverflow
</a>
.
You should also subscribe to
<a
target=
"_blank"
href=
"https://news.vuejs.org"
>
our mailing list
</a>
and follow the official
<a
target=
"_blank"
href=
"https://twitter.com/vuejs"
>
@vuejs
</a>
twitter account for latest news in the Vue world.
</WelcomeItem>
<WelcomeItem>
<
template
#icon
>
<SupportIcon
/>
</
template
>
<
template
#heading
>
Support Vue
</
template
>
As an independent project, Vue relies on community backing for its sustainability. You can help
us by
<a
target=
"_blank"
href=
"https://vuejs.org/sponsor/"
>
becoming a sponsor
</a>
.
</WelcomeItem>
</template>
src/components/WelcomeItem.vue
已删除
100644 → 0
浏览文件 @
4f39fc67
<
template
>
<div
class=
"item"
>
<i>
<slot
name=
"icon"
></slot>
</i>
<div
class=
"details"
>
<h3>
<slot
name=
"heading"
></slot>
</h3>
<slot></slot>
</div>
</div>
</
template
>
<
style
scoped
>
.item
{
margin-top
:
2rem
;
display
:
flex
;
}
.details
{
flex
:
1
;
margin-left
:
1rem
;
}
i
{
display
:
flex
;
place-items
:
center
;
place-content
:
center
;
width
:
32px
;
height
:
32px
;
color
:
var
(
--color-text
);
}
h3
{
font-size
:
1.2rem
;
font-weight
:
500
;
margin-bottom
:
0.4rem
;
color
:
var
(
--color-heading
);
}
@media
(
min-width
:
1024px
)
{
.item
{
margin-top
:
0
;
padding
:
0.4rem
0
1rem
calc
(
var
(
--section-gap
)
/
2
);
}
i
{
top
:
calc
(
50%
-
25px
);
left
:
-26px
;
position
:
absolute
;
border
:
1px
solid
var
(
--color-border
);
background
:
var
(
--color-background
);
border-radius
:
8px
;
width
:
50px
;
height
:
50px
;
}
.item
:before
{
content
:
' '
;
border-left
:
1px
solid
var
(
--color-border
);
position
:
absolute
;
left
:
0
;
bottom
:
calc
(
50%
+
25px
);
height
:
calc
(
50%
-
25px
);
}
.item
:after
{
content
:
' '
;
border-left
:
1px
solid
var
(
--color-border
);
position
:
absolute
;
left
:
0
;
top
:
calc
(
50%
+
25px
);
height
:
calc
(
50%
-
25px
);
}
.item
:first-of-type:before
{
display
:
none
;
}
.item
:last-of-type:after
{
display
:
none
;
}
}
</
style
>
src/components/icons/IconCommunity.vue
已删除
100644 → 0
浏览文件 @
4f39fc67
<
template
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
width=
"20"
height=
"20"
fill=
"currentColor"
>
<path
d=
"M15 4a1 1 0 1 0 0 2V4zm0 11v-1a1 1 0 0 0-1 1h1zm0 4l-.707.707A1 1 0 0 0 16 19h-1zm-4-4l.707-.707A1 1 0 0 0 11 14v1zm-4.707-1.293a1 1 0 0 0-1.414 1.414l1.414-1.414zm-.707.707l-.707-.707.707.707zM9 11v-1a1 1 0 0 0-.707.293L9 11zm-4 0h1a1 1 0 0 0-1-1v1zm0 4H4a1 1 0 0 0 1.707.707L5 15zm10-9h2V4h-2v2zm2 0a1 1 0 0 1 1 1h2a3 3 0 0 0-3-3v2zm1 1v6h2V7h-2zm0 6a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3h-2zm-1 1h-2v2h2v-2zm-3 1v4h2v-4h-2zm1.707 3.293l-4-4-1.414 1.414 4 4 1.414-1.414zM11 14H7v2h4v-2zm-4 0c-.276 0-.525-.111-.707-.293l-1.414 1.414C5.42 15.663 6.172 16 7 16v-2zm-.707 1.121l3.414-3.414-1.414-1.414-3.414 3.414 1.414 1.414zM9 12h4v-2H9v2zm4 0a3 3 0 0 0 3-3h-2a1 1 0 0 1-1 1v2zm3-3V3h-2v6h2zm0-6a3 3 0 0 0-3-3v2a1 1 0 0 1 1 1h2zm-3-3H3v2h10V0zM3 0a3 3 0 0 0-3 3h2a1 1 0 0 1 1-1V0zM0 3v6h2V3H0zm0 6a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1H0zm3 3h2v-2H3v2zm1-1v4h2v-4H4zm1.707 4.707l.586-.586-1.414-1.414-.586.586 1.414 1.414z"
/>
</svg>
</
template
>
src/components/icons/IconDocumentation.vue
已删除
100644 → 0
浏览文件 @
4f39fc67
<
template
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
width=
"20"
height=
"17"
fill=
"currentColor"
>
<path
d=
"M11 2.253a1 1 0 1 0-2 0h2zm-2 13a1 1 0 1 0 2 0H9zm.447-12.167a1 1 0 1 0 1.107-1.666L9.447 3.086zM1 2.253L.447 1.42A1 1 0 0 0 0 2.253h1zm0 13H0a1 1 0 0 0 1.553.833L1 15.253zm8.447.833a1 1 0 1 0 1.107-1.666l-1.107 1.666zm0-14.666a1 1 0 1 0 1.107 1.666L9.447 1.42zM19 2.253h1a1 1 0 0 0-.447-.833L19 2.253zm0 13l-.553.833A1 1 0 0 0 20 15.253h-1zm-9.553-.833a1 1 0 1 0 1.107 1.666L9.447 14.42zM9 2.253v13h2v-13H9zm1.553-.833C9.203.523 7.42 0 5.5 0v2c1.572 0 2.961.431 3.947 1.086l1.107-1.666zM5.5 0C3.58 0 1.797.523.447 1.42l1.107 1.666C2.539 2.431 3.928 2 5.5 2V0zM0 2.253v13h2v-13H0zm1.553 13.833C2.539 15.431 3.928 15 5.5 15v-2c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM5.5 15c1.572 0 2.961.431 3.947 1.086l1.107-1.666C9.203 13.523 7.42 13 5.5 13v2zm5.053-11.914C11.539 2.431 12.928 2 14.5 2V0c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM14.5 2c1.573 0 2.961.431 3.947 1.086l1.107-1.666C18.203.523 16.421 0 14.5 0v2zm3.5.253v13h2v-13h-2zm1.553 12.167C18.203 13.523 16.421 13 14.5 13v2c1.573 0 2.961.431 3.947 1.086l1.107-1.666zM14.5 13c-1.92 0-3.703.523-5.053 1.42l1.107 1.666C11.539 15.431 12.928 15 14.5 15v-2z"
/>
</svg>
</
template
>
src/components/icons/IconEcosystem.vue
已删除
100644 → 0
浏览文件 @
4f39fc67
<
template
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
width=
"18"
height=
"20"
fill=
"currentColor"
>
<path
d=
"M11.447 8.894a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm0 1.789a1 1 0 1 0 .894-1.789l-.894 1.789zM7.447 7.106a1 1 0 1 0-.894 1.789l.894-1.789zM10 9a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0H8zm9.447-5.606a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm2 .789a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zM18 5a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0h-2zm-5.447-4.606a1 1 0 1 0 .894-1.789l-.894 1.789zM9 1l.447-.894a1 1 0 0 0-.894 0L9 1zm-2.447.106a1 1 0 1 0 .894 1.789l-.894-1.789zm-6 3a1 1 0 1 0 .894 1.789L.553 4.106zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zm-2-.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 2.789a1 1 0 1 0 .894-1.789l-.894 1.789zM2 5a1 1 0 1 0-2 0h2zM0 7.5a1 1 0 1 0 2 0H0zm8.553 12.394a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 1a1 1 0 1 0 .894 1.789l-.894-1.789zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zM8 19a1 1 0 1 0 2 0H8zm2-2.5a1 1 0 1 0-2 0h2zm-7.447.394a1 1 0 1 0 .894-1.789l-.894 1.789zM1 15H0a1 1 0 0 0 .553.894L1 15zm1-2.5a1 1 0 1 0-2 0h2zm12.553 2.606a1 1 0 1 0 .894 1.789l-.894-1.789zM17 15l.447.894A1 1 0 0 0 18 15h-1zm1-2.5a1 1 0 1 0-2 0h2zm-7.447-5.394l-2 1 .894 1.789 2-1-.894-1.789zm-1.106 1l-2-1-.894 1.789 2 1 .894-1.789zM8 9v2.5h2V9H8zm8.553-4.894l-2 1 .894 1.789 2-1-.894-1.789zm.894 0l-2-1-.894 1.789 2 1 .894-1.789zM16 5v2.5h2V5h-2zm-4.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zm-2.894-1l-2 1 .894 1.789 2-1L8.553.106zM1.447 5.894l2-1-.894-1.789-2 1 .894 1.789zm-.894 0l2 1 .894-1.789-2-1-.894 1.789zM0 5v2.5h2V5H0zm9.447 13.106l-2-1-.894 1.789 2 1 .894-1.789zm0 1.789l2-1-.894-1.789-2 1 .894 1.789zM10 19v-2.5H8V19h2zm-6.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zM2 15v-2.5H0V15h2zm13.447 1.894l2-1-.894-1.789-2 1 .894 1.789zM18 15v-2.5h-2V15h2z"
/>
</svg>
</
template
>
src/components/icons/IconSupport.vue
已删除
100644 → 0
浏览文件 @
4f39fc67
<
template
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
width=
"20"
height=
"20"
fill=
"currentColor"
>
<path
d=
"M10 3.22l-.61-.6a5.5 5.5 0 0 0-7.666.105 5.5 5.5 0 0 0-.114 7.665L10 18.78l8.39-8.4a5.5 5.5 0 0 0-.114-7.665 5.5 5.5 0 0 0-7.666-.105l-.61.61z"
/>
</svg>
</
template
>
src/components/icons/IconTooling.vue
已删除
100644 → 0
浏览文件 @
4f39fc67
<!-- This icon is from <https://github.com/Templarian/MaterialDesign>, distributed under Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0) license-->
<
template
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
aria-hidden=
"true"
role=
"img"
class=
"iconify iconify--mdi"
width=
"24"
height=
"24"
preserveAspectRatio=
"xMidYMid meet"
viewBox=
"0 0 24 24"
>
<path
d=
"M20 18v-4h-3v1h-2v-1H9v1H7v-1H4v4h16M6.33 8l-1.74 4H7v-1h2v1h6v-1h2v1h2.41l-1.74-4H6.33M9 5v1h6V5H9m12.84 7.61c.1.22.16.48.16.8V18c0 .53-.21 1-.6 1.41c-.4.4-.85.59-1.4.59H4c-.55 0-1-.19-1.4-.59C2.21 19 2 18.53 2 18v-4.59c0-.32.06-.58.16-.8L4.5 7.22C4.84 6.41 5.45 6 6.33 6H7V5c0-.55.18-1 .57-1.41C7.96 3.2 8.44 3 9 3h6c.56 0 1.04.2 1.43.59c.39.41.57.86.57 1.41v1h.67c.88 0 1.49.41 1.83 1.22l2.34 5.39z"
fill=
"currentColor"
></path>
</svg>
</
template
>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录