Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
7bc8b318
U
uni-app
项目概览
DCloud
/
uni-app
2 个月 前同步成功
通知
717
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7bc8b318
编写于
12月 02, 2021
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(app): ensure entry page path when use condition (#2914#issuecomment-984422582)
上级
1f8688eb
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
47 addition
and
4 deletion
+47
-4
packages/uni-cli-shared/src/json/app/manifest/arguments.ts
packages/uni-cli-shared/src/json/app/manifest/arguments.ts
+9
-3
packages/uni-cli-shared/src/json/app/pages/uniConfig.ts
packages/uni-cli-shared/src/json/app/pages/uniConfig.ts
+38
-1
未找到文件。
packages/uni-cli-shared/src/json/app/manifest/arguments.ts
浏览文件 @
7bc8b318
...
...
@@ -2,16 +2,22 @@ export function initArguments(
manifestJson
:
Record
<
string
,
any
>
,
pagesJson
:
UniApp
.
PagesJson
)
{
const
args
=
parseArguments
(
pagesJson
)
if
(
args
)
{
manifestJson
.
plus
.
arguments
=
args
}
}
export
function
parseArguments
(
pagesJson
:
UniApp
.
PagesJson
)
{
if
(
process
.
env
.
NODE_ENV
!==
'
development
'
)
{
return
}
// 指定了入口
if
(
process
.
env
.
UNI_CLI_LAUNCH_PAGE_PATH
)
{
manifestJson
.
plus
.
arguments
=
JSON
.
stringify
({
return
JSON
.
stringify
({
path
:
process
.
env
.
UNI_CLI_LAUNCH_PAGE_PATH
,
query
:
process
.
env
.
UNI_CLI_LAUNCH_PAGE_QUERY
,
})
return
}
const
condition
=
pagesJson
.
condition
...
...
@@ -24,6 +30,6 @@ export function initArguments(
if
(
current
>=
list
.
length
)
{
current
=
0
}
manifestJson
.
plus
.
arguments
=
JSON
.
stringify
(
list
[
current
])
return
JSON
.
stringify
(
list
[
current
])
}
}
packages/uni-cli-shared/src/json/app/pages/uniConfig.ts
浏览文件 @
7bc8b318
...
...
@@ -6,6 +6,7 @@ import {
getNVueFlexDirection
,
getNVueStyleCompiler
,
}
from
'
../manifest
'
import
{
parseArguments
}
from
'
../manifest/arguments
'
import
{
getSplashscreen
}
from
'
../manifest/splashscreen
'
interface
AppUniConfig
{
...
...
@@ -24,6 +25,8 @@ interface AppUniConfig {
appname
:
string
compilerVersion
:
string
entryPagePath
:
string
entryPageQuery
:
string
realEntryPagePath
:
string
networkTimeout
:
{
request
:
number
connectSocket
:
number
...
...
@@ -41,6 +44,7 @@ export function normalizeAppUniConfig(
manifestJson
:
Record
<
string
,
any
>
)
{
const
{
autoclose
,
alwaysShowBeforeRender
}
=
getSplashscreen
(
manifestJson
)
const
config
:
AppUniConfig
=
{
pages
:
[],
globalStyle
:
pagesJson
.
globalStyle
,
...
...
@@ -57,7 +61,7 @@ export function normalizeAppUniConfig(
autoclose
,
},
compilerVersion
:
process
.
env
.
UNI_COMPILER_VERSION
,
entryPagePath
:
pagesJson
.
pages
[
0
].
path
,
...
parseEntryPagePath
(
pagesJson
)
,
networkTimeout
:
normalizeNetworkTimeout
(
manifestJson
.
networkTimeout
),
tabBar
:
pagesJson
.
tabBar
,
locales
:
initLocales
(
path
.
join
(
process
.
env
.
UNI_INPUT_DIR
,
'
locale
'
)),
...
...
@@ -65,3 +69,36 @@ export function normalizeAppUniConfig(
// TODO 待支持分包
return
JSON
.
stringify
(
config
)
}
function
parseEntryPagePath
(
pagesJson
:
UniApp
.
PagesJson
)
{
const
res
=
{
entryPagePath
:
''
,
entryPageQuery
:
''
,
realEntryPagePath
:
''
,
}
if
(
!
pagesJson
.
pages
.
length
)
{
return
res
}
res
.
entryPagePath
=
pagesJson
.
pages
[
0
].
path
const
argsJsonStr
=
parseArguments
(
pagesJson
)
if
(
argsJsonStr
)
{
try
{
const
args
=
JSON
.
parse
(
argsJsonStr
)
const
entryPagePath
=
args
.
path
||
args
.
pathName
const
realEntryPagePath
=
res
.
entryPagePath
if
(
entryPagePath
&&
realEntryPagePath
!==
entryPagePath
)
{
res
.
entryPagePath
=
entryPagePath
res
.
entryPageQuery
=
args
.
query
?
'
?
'
+
args
.
query
:
''
// non tabBar page
if
(
!
(
pagesJson
.
tabBar
?.
list
||
[]).
find
(
(
page
)
=>
page
.
pagePath
===
entryPagePath
)
)
{
res
.
realEntryPagePath
=
realEntryPagePath
}
}
}
catch
(
e
)
{}
}
return
res
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录