Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小浣熊撸代码
uni-app
提交
bd53408e
U
uni-app
项目概览
小浣熊撸代码
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
bd53408e
编写于
9月 09, 2021
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(h5): onPageNotFound #2876
上级
9bc6bdaf
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
36 addition
and
5 deletion
+36
-5
packages/uni-h5/dist/uni-h5.cjs.js
packages/uni-h5/dist/uni-h5.cjs.js
+3
-1
packages/uni-h5/dist/uni-h5.es.js
packages/uni-h5/dist/uni-h5.es.js
+16
-2
packages/uni-h5/src/framework/setup/index.ts
packages/uni-h5/src/framework/setup/index.ts
+14
-1
packages/uni-h5/src/framework/setup/provide/page.ts
packages/uni-h5/src/framework/setup/provide/page.ts
+3
-1
未找到文件。
packages/uni-h5/dist/uni-h5.cjs.js
浏览文件 @
bd53408e
...
...
@@ -6589,10 +6589,12 @@ function usePageRoute() {
query
=
uniShared
.
parseQuery
(
url
.
slice
(
searchPos
+
1
,
hashPos
>
-
1
?
hashPos
:
url
.
length
));
}
const
{
meta
}
=
__uniRoutes
[
0
];
const
path
=
"
/
"
+
meta
.
route
;
return
{
meta
,
query
,
path
:
"
/
"
+
meta
.
route
path
,
matched
:
[{
path
}]
};
}
function
initPageMeta
(
id
)
{
...
...
packages/uni-h5/dist/uni-h5.es.js
浏览文件 @
bd53408e
...
...
@@ -13288,10 +13288,12 @@ function usePageRoute() {
query = parseQuery(url.slice(searchPos + 1, hashPos > -1 ? hashPos : url.length));
}
const { meta } = __uniRoutes[0];
const path = "/" + meta.route;
return {
meta,
query,
path: "/" + meta.route
path,
matched: [{ path }]
};
}
function initPageMeta(id2) {
...
...
@@ -13732,7 +13734,7 @@ function setupApp(comp) {
setup(instance2) {
const route = usePageRoute();
const onLaunch = () => {
const { onLaunch: onLaunch2, onShow } = instance2;
const { onLaunch: onLaunch2, onShow
, onPageNotFound
} = instance2;
const path = route.path.substr(1);
const launchOptions = {
path: path || __uniRoutes[0].meta.route,
...
...
@@ -13742,6 +13744,18 @@ function setupApp(comp) {
};
onLaunch2 && invokeArrayFns$1(onLaunch2, launchOptions);
onShow && invokeArrayFns$1(onShow, launchOptions);
if (__UNI_FEATURE_PAGES__) {
if (!route.matched.length) {
const pageNotFoundOptions = {
notFound: true,
openType: "appLaunch",
path: route.path,
query: {},
scene: 1001
};
onPageNotFound && invokeArrayFns$1(onPageNotFound, pageNotFoundOptions);
}
}
};
injectAppLaunchHooks(instance2);
if (__UNI_FEATURE_PAGES__) {
...
...
packages/uni-h5/src/framework/setup/index.ts
浏览文件 @
bd53408e
...
...
@@ -134,7 +134,7 @@ export function setupApp(comp: any) {
return
route
.
query
}
const
onLaunch
=
()
=>
{
const
{
onLaunch
,
onShow
}
=
instance
const
{
onLaunch
,
onShow
,
onPageNotFound
}
=
instance
const
path
=
route
.
path
.
substr
(
1
)
const
launchOptions
=
{
path
:
path
||
__uniRoutes
[
0
].
meta
.
route
,
...
...
@@ -144,6 +144,19 @@ export function setupApp(comp: any) {
}
onLaunch
&&
invokeArrayFns
(
onLaunch
,
launchOptions
)
onShow
&&
invokeArrayFns
(
onShow
,
launchOptions
)
if
(
__UNI_FEATURE_PAGES__
)
{
if
(
!
route
.
matched
.
length
)
{
const
pageNotFoundOptions
=
{
notFound
:
true
,
openType
:
'
appLaunch
'
,
path
:
route
.
path
,
query
:
{},
scene
:
1001
,
}
onPageNotFound
&&
invokeArrayFns
(
onPageNotFound
,
pageNotFoundOptions
)
}
}
}
injectAppLaunchHooks
(
instance
)
if
(
__UNI_FEATURE_PAGES__
)
{
...
...
packages/uni-h5/src/framework/setup/provide/page.ts
浏览文件 @
bd53408e
...
...
@@ -37,10 +37,12 @@ export function usePageRoute() {
)
}
const
{
meta
}
=
__uniRoutes
[
0
]
const
path
=
'
/
'
+
meta
.
route
return
{
meta
,
query
:
query
,
path
:
'
/
'
+
meta
.
route
,
path
,
matched
:
[{
path
}],
}
}
function
initPageMeta
(
id
:
number
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录