Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
a7702be4
U
uni-app
项目概览
DCloud
/
uni-app
6 个月 前同步成功
通知
750
Star
38709
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
8
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
8
Issue
8
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
a7702be4
编写于
6月 25, 2024
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
wip: shadow
上级
934a2a17
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
36 addition
and
21 deletion
+36
-21
packages/uni-cli-shared/src/utils.ts
packages/uni-cli-shared/src/utils.ts
+9
-1
packages/uni-h5-vite/src/plugins/css.ts
packages/uni-h5-vite/src/plugins/css.ts
+22
-0
packages/uni-h5/style/framework/shadow.css
packages/uni-h5/style/framework/shadow.css
+0
-9
packages/uni-mp-vite/src/plugin/configResolved.ts
packages/uni-mp-vite/src/plugin/configResolved.ts
+5
-11
未找到文件。
packages/uni-cli-shared/src/utils.ts
浏览文件 @
a7702be4
...
...
@@ -243,7 +243,7 @@ export function normalizeEmitAssetFileName(fileName: string) {
return
fileName
}
export
function
createIdent
()
{
function
createIdent
()
{
if
(
process
.
env
.
UNI_INPUT_DIR
)
{
const
manifestJson
=
parseManifestJsonOnce
(
process
.
env
.
UNI_INPUT_DIR
)
const
id
=
(
manifestJson
.
appid
||
''
).
replace
(
'
__UNI__
'
,
''
)
...
...
@@ -253,3 +253,11 @@ export function createIdent() {
}
return
''
}
export
function
createShadowImageUrl
(
cdn
:
number
,
type
:
string
=
'
grey
'
)
{
const
ident
=
createIdent
()
const
identStr
=
ident
?
`
${
ident
}
/`
:
''
return
`https://cdn
${
(
cdn
||
0
)
+
(
process
.
env
.
UNI_APP_X
===
'
true
'
?
1000
:
0
)
||
''
}
.dcloud.net.cn/
${
identStr
}
img/shadow-
${
type
}
.png`
}
packages/uni-h5-vite/src/plugins/css.ts
浏览文件 @
a7702be4
...
...
@@ -3,8 +3,10 @@ import path from 'path'
import
{
type
Plugin
,
type
ResolvedConfig
,
normalizePath
}
from
'
vite
'
import
{
H5_FRAMEWORK_STYLE_PATH
,
buildInCssSet
,
createEncryptCssUrlReplacer
,
createShadowImageUrl
,
cssPostPlugin
,
getAssetHash
,
injectAssetPlugin
,
...
...
@@ -62,6 +64,26 @@ export function uniCssPlugin(): Plugin {
injectAssetPlugin
(
config
)
}
},
transform
(
code
,
id
)
{
if
(
normalizePath
(
id
).
endsWith
(
H5_FRAMEWORK_STYLE_PATH
+
'
shadow.css
'
))
{
const
url
=
createShadowImageUrl
(
0
,
'
grey
'
)
return
{
code
:
code
+
`
@keyframes shadow-preload {
0% {
background-image: url(
${
url
}
);
}
100% {
background-image: url(
${
url
}
);
}
}
`
,
map
:
{
mappings
:
''
},
}
}
},
async
generateBundle
()
{
if
(
!
isCombineBuiltInCss
(
resolvedConfig
)
||
!
buildInCssSet
.
size
)
{
return
...
...
packages/uni-h5/style/framework/shadow.css
浏览文件 @
a7702be4
...
...
@@ -6,12 +6,3 @@ body::after {
animation
:
shadow-preload
0.1s
;
animation-delay
:
3s
;
}
@keyframes
shadow-preload
{
0
%
{
background-image
:
url(https://cdn.dcloud.net.cn/img/shadow-grey.png)
;
}
100
%
{
background-image
:
url(https://cdn.dcloud.net.cn/img/shadow-grey.png)
;
}
}
packages/uni-mp-vite/src/plugin/configResolved.ts
浏览文件 @
a7702be4
...
...
@@ -4,7 +4,7 @@ import type { Plugin, ResolvedConfig } from 'vite'
import
type
{
EmittedAsset
}
from
'
rollup
'
import
{
createEncryptCssUrlReplacer
,
create
Ident
,
create
ShadowImageUrl
,
cssPostPlugin
,
injectAssetPlugin
,
injectCssPlugin
,
...
...
@@ -28,10 +28,9 @@ import {
const
debugNVueCss
=
debug
(
'
uni:nvue-css
'
)
const
cssVars
=
`page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}`
const
genShadowCss
=
(
cdn
:
string
)
=>
{
const
ident
=
createIdent
()
const
identStr
=
ident
?
`
${
ident
}
/`
:
''
return
`page::after{position:fixed;content:'';left:-1000px;top:-1000px;-webkit-animation:shadow-preload .1s;-webkit-animation-delay:3s;animation:shadow-preload .1s;animation-delay:3s}@-webkit-keyframes shadow-preload{0%{background-image:url(
${
cdn
}
/
${
identStr
}
img/shadow-grey.png)}100%{background-image:url(
${
cdn
}
/
${
identStr
}
img/shadow-grey.png)}}@keyframes shadow-preload{0%{background-image:url(
${
cdn
}
/
${
identStr
}
img/shadow-grey.png)}100%{background-image:url(
${
cdn
}
/
${
identStr
}
img/shadow-grey.png)}}`
const
genShadowCss
=
(
cdn
:
number
)
=>
{
const
url
=
createShadowImageUrl
(
cdn
,
'
grey
'
)
return
`page::after{position:fixed;content:'';left:-1000px;top:-1000px;-webkit-animation:shadow-preload .1s;-webkit-animation-delay:3s;animation:shadow-preload .1s;animation-delay:3s}@-webkit-keyframes shadow-preload{0%{background-image:url(
${
url
}
)}100%{background-image:url(
${
url
}
)}}@keyframes shadow-preload{0%{background-image:url(
${
url
}
)}100%{background-image:url(
${
url
}
)}}`
}
const
genComponentCustomHiddenCss
=
(
name
:
string
)
=>
...
...
@@ -103,12 +102,7 @@ export function createConfigResolved({
if
(
config
.
isProduction
)
{
return
(
cssCode
+
genShadowCss
(
`https://cdn
${
(
cdn
||
0
)
+
(
process
.
env
.
UNI_APP_X
===
'
true
'
?
1000
:
0
)
||
''
}
.dcloud.net.cn`
)
+
genShadowCss
(
cdn
||
0
)
+
cssVars
+
componentCustomHiddenCss
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录