Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MuGuiLin
uni-app
提交
124cfdcf
U
uni-app
项目概览
MuGuiLin
/
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,发现更多精彩内容 >>
提交
124cfdcf
编写于
7月 27, 2021
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(App): onKeyboardHeightChange, offKeyboardHeightChange
上级
54b021ff
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
70 addition
and
4 deletion
+70
-4
packages/uni-app-plus/dist/uni-app-service.es.js
packages/uni-app-plus/dist/uni-app-service.es.js
+22
-0
packages/uni-app-plus/src/service/api/keyboard/keyboard.ts
packages/uni-app-plus/src/service/api/keyboard/keyboard.ts
+26
-3
packages/uni-app-plus/src/service/framework/app/initGlobalEvent.ts
...uni-app-plus/src/service/framework/app/initGlobalEvent.ts
+15
-0
packages/uni-shared/dist/uni-shared.cjs.js
packages/uni-shared/dist/uni-shared.cjs.js
+2
-0
packages/uni-shared/dist/uni-shared.d.ts
packages/uni-shared/dist/uni-shared.d.ts
+2
-0
packages/uni-shared/dist/uni-shared.es.js
packages/uni-shared/dist/uni-shared.es.js
+2
-1
packages/uni-shared/src/constants.ts
packages/uni-shared/src/constants.ts
+1
-0
未找到文件。
packages/uni-app-plus/dist/uni-app-service.es.js
浏览文件 @
124cfdcf
...
...
@@ -1129,6 +1129,7 @@ var serviceContext = (function (vue) {
const ON_LAUNCH = 'onLaunch';
const ON_ERROR = 'onError';
const ON_THEME_CHANGE = 'onThemeChange';
const ON_KEYBOARD_HEIGHT_CHANGE = 'onKeyboardHeightChange';
//Page
const ON_LOAD = 'onLoad';
const ON_READY = 'onReady';
...
...
@@ -6590,6 +6591,15 @@ var serviceContext = (function (vue) {
const hideKeyboard = defineAsyncApi(API_HIDE_KEYBOARD, (_, { resolve }) => {
plus.key.hideSoftKeybord();
resolve();
});
function onKeyboardHeightChangeCallback(res) {
UniServiceJSBridge.invokeOnCallback(ON_KEYBOARD_HEIGHT_CHANGE, res);
}
const onKeyboardHeightChange = defineOnApi(ON_KEYBOARD_HEIGHT_CHANGE, () => {
UniServiceJSBridge.on(ON_KEYBOARD_HEIGHT_CHANGE, onKeyboardHeightChangeCallback);
});
const offKeyboardHeightChange = defineOffApi(ON_KEYBOARD_HEIGHT_CHANGE, () => {
UniServiceJSBridge.off(ON_KEYBOARD_HEIGHT_CHANGE, onKeyboardHeightChangeCallback);
});
class DownloadTask {
...
...
@@ -8797,6 +8807,16 @@ var serviceContext = (function (vue) {
};
emit(ON_THEME_CHANGE, args);
});
let keyboardHeightChange = 0;
plusGlobalEvent.addEventListener('KeyboardHeightChange', function (event) {
// 安卓设备首次获取高度为 0
if (keyboardHeightChange !== event.height) {
keyboardHeightChange = event.height;
emit(ON_KEYBOARD_HEIGHT_CHANGE, {
height: keyboardHeightChange
});
}
});
plusGlobalEvent.addEventListener('plusMessage', subscribePlusMessage);
// nvue webview post message
plusGlobalEvent.addEventListener('WebviewPostMessage', subscribePlusMessage);
...
...
@@ -10776,6 +10796,8 @@ var serviceContext = (function (vue) {
chooseVideo: chooseVideo,
showKeyboard: showKeyboard,
hideKeyboard: hideKeyboard,
onKeyboardHeightChange: onKeyboardHeightChange,
offKeyboardHeightChange: offKeyboardHeightChange,
downloadFile: downloadFile,
request: request,
connectSocket: connectSocket,
...
...
packages/uni-app-plus/src/service/api/keyboard/keyboard.ts
浏览文件 @
124cfdcf
import
{
ON_KEYBOARD_HEIGHT_CHANGE
}
from
'
@dcloudio/uni-shared
'
import
{
API_SHOW_KEYBOARD
,
API_HIDE_KEYBOARD
,
defineAsyncApi
,
}
from
'
@dcloudio/uni-api
'
import
type
{
API_TYPE_SHOW_KEYBOARD
,
API_TYPE_HIDE_KEYBOARD
,
defineAsyncApi
,
defineOnApi
,
defineOffApi
,
}
from
'
@dcloudio/uni-api
'
export
const
showKeyboard
=
defineAsyncApi
<
API_TYPE_SHOW_KEYBOARD
>
(
...
...
@@ -23,3 +24,25 @@ export const hideKeyboard = defineAsyncApi<API_TYPE_HIDE_KEYBOARD>(
resolve
()
}
)
function
onKeyboardHeightChangeCallback
(
res
:
any
)
{
UniServiceJSBridge
.
invokeOnCallback
(
ON_KEYBOARD_HEIGHT_CHANGE
,
res
)
}
export
const
onKeyboardHeightChange
=
defineOnApi
<
typeof
uni
.
onKeyboardHeightChange
>
(
ON_KEYBOARD_HEIGHT_CHANGE
,
()
=>
{
UniServiceJSBridge
.
on
(
ON_KEYBOARD_HEIGHT_CHANGE
,
onKeyboardHeightChangeCallback
)
})
export
const
offKeyboardHeightChange
=
defineOffApi
<
typeof
uni
.
offKeyboardHeightChange
>
(
ON_KEYBOARD_HEIGHT_CHANGE
,
()
=>
{
UniServiceJSBridge
.
off
(
ON_KEYBOARD_HEIGHT_CHANGE
,
onKeyboardHeightChangeCallback
)
})
packages/uni-app-plus/src/service/framework/app/initGlobalEvent.ts
浏览文件 @
124cfdcf
...
...
@@ -3,6 +3,7 @@ import {
ON_APP_ENTER_BACKGROUND
,
ON_APP_ENTER_FOREGROUND
,
ON_THEME_CHANGE
,
ON_KEYBOARD_HEIGHT_CHANGE
,
}
from
'
@dcloudio/uni-shared
'
import
{
EVENT_BACKBUTTON
,
backbuttonListener
}
from
'
./utils
'
...
...
@@ -37,6 +38,20 @@ export function initGlobalEvent() {
}
)
let
keyboardHeightChange
=
0
plusGlobalEvent
.
addEventListener
(
'
KeyboardHeightChange
'
,
function
(
event
:
{
height
:
number
})
{
// 安卓设备首次获取高度为 0
if
(
keyboardHeightChange
!==
event
.
height
)
{
keyboardHeightChange
=
event
.
height
emit
(
ON_KEYBOARD_HEIGHT_CHANGE
,
{
height
:
keyboardHeightChange
,
})
}
}
)
plusGlobalEvent
.
addEventListener
(
'
plusMessage
'
,
subscribePlusMessage
)
// nvue webview post message
plusGlobalEvent
.
addEventListener
(
'
WebviewPostMessage
'
,
subscribePlusMessage
)
...
...
packages/uni-shared/dist/uni-shared.cjs.js
浏览文件 @
124cfdcf
...
...
@@ -837,6 +837,7 @@ const ON_HIDE = 'onHide';
const
ON_LAUNCH
=
'
onLaunch
'
;
const
ON_ERROR
=
'
onError
'
;
const
ON_THEME_CHANGE
=
'
onThemeChange
'
;
const
ON_KEYBOARD_HEIGHT_CHANGE
=
'
onKeyboardHeightChange
'
;
const
ON_PAGE_NOT_FOUND
=
'
onPageNotFound
'
;
const
ON_UNHANDLE_REJECTION
=
'
onUnhandledRejection
'
;
//Page
...
...
@@ -964,6 +965,7 @@ exports.ON_APP_ENTER_FOREGROUND = ON_APP_ENTER_FOREGROUND;
exports
.
ON_BACK_PRESS
=
ON_BACK_PRESS
;
exports
.
ON_ERROR
=
ON_ERROR
;
exports
.
ON_HIDE
=
ON_HIDE
;
exports
.
ON_KEYBOARD_HEIGHT_CHANGE
=
ON_KEYBOARD_HEIGHT_CHANGE
;
exports
.
ON_LAUNCH
=
ON_LAUNCH
;
exports
.
ON_LOAD
=
ON_LOAD
;
exports
.
ON_NAVIGATION_BAR_BUTTON_TAP
=
ON_NAVIGATION_BAR_BUTTON_TAP
;
...
...
packages/uni-shared/dist/uni-shared.d.ts
浏览文件 @
124cfdcf
...
...
@@ -219,6 +219,8 @@ export declare const ON_ERROR = "onError";
export
declare
const
ON_HIDE
=
"
onHide
"
;
export
declare
const
ON_KEYBOARD_HEIGHT_CHANGE
=
"
onKeyboardHeightChange
"
;
export
declare
const
ON_LAUNCH
=
"
onLaunch
"
;
export
declare
const
ON_LOAD
=
"
onLoad
"
;
...
...
packages/uni-shared/dist/uni-shared.es.js
浏览文件 @
124cfdcf
...
...
@@ -833,6 +833,7 @@ const ON_HIDE = 'onHide';
const
ON_LAUNCH
=
'
onLaunch
'
;
const
ON_ERROR
=
'
onError
'
;
const
ON_THEME_CHANGE
=
'
onThemeChange
'
;
const
ON_KEYBOARD_HEIGHT_CHANGE
=
'
onKeyboardHeightChange
'
;
const
ON_PAGE_NOT_FOUND
=
'
onPageNotFound
'
;
const
ON_UNHANDLE_REJECTION
=
'
onUnhandledRejection
'
;
//Page
...
...
@@ -928,4 +929,4 @@ function getEnvLocale() {
return
(
lang
&&
lang
.
replace
(
/
[
.:
]
.*/
,
''
))
||
'
en
'
;
}
export
{
ACTION_TYPE_ADD_EVENT
,
ACTION_TYPE_CREATE
,
ACTION_TYPE_EVENT
,
ACTION_TYPE_INSERT
,
ACTION_TYPE_PAGE_CREATE
,
ACTION_TYPE_PAGE_CREATED
,
ACTION_TYPE_REMOVE
,
ACTION_TYPE_REMOVE_ATTRIBUTE
,
ACTION_TYPE_REMOVE_EVENT
,
ACTION_TYPE_SET_ATTRIBUTE
,
ACTION_TYPE_SET_TEXT
,
ATTR_CLASS
,
ATTR_STYLE
,
BACKGROUND_COLOR
,
BUILT_IN_TAGS
,
COMPONENT_NAME_PREFIX
,
COMPONENT_PREFIX
,
COMPONENT_SELECTOR_PREFIX
,
DATA_RE
,
EventChannel
,
EventModifierFlags
,
NAVBAR_HEIGHT
,
NODE_TYPE_COMMENT
,
NODE_TYPE_ELEMENT
,
NODE_TYPE_PAGE
,
NODE_TYPE_TEXT
,
ON_ADD_TO_FAVORITES
,
ON_APP_ENTER_BACKGROUND
,
ON_APP_ENTER_FOREGROUND
,
ON_BACK_PRESS
,
ON_ERROR
,
ON_HIDE
,
ON_LAUNCH
,
ON_LOAD
,
ON_NAVIGATION_BAR_BUTTON_TAP
,
ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED
,
ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED
,
ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED
,
ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED
,
ON_PAGE_NOT_FOUND
,
ON_PAGE_SCROLL
,
ON_PULL_DOWN_REFRESH
,
ON_REACH_BOTTOM
,
ON_REACH_BOTTOM_DISTANCE
,
ON_READY
,
ON_RESIZE
,
ON_SHARE_APP_MESSAGE
,
ON_SHARE_TIMELINE
,
ON_SHOW
,
ON_TAB_ITEM_TAP
,
ON_THEME_CHANGE
,
ON_UNHANDLE_REJECTION
,
ON_UNLOAD
,
ON_WEB_INVOKE_APP_SERVICE
,
PLUS_RE
,
PRIMARY_COLOR
,
RESPONSIVE_MIN_WIDTH
,
SCHEME_RE
,
SELECTED_COLOR
,
TABBAR_HEIGHT
,
TAGS
,
UNI_SSR
,
UNI_SSR_DATA
,
UNI_SSR_GLOBAL_DATA
,
UNI_SSR_STORE
,
UNI_SSR_TITLE
,
UniBaseNode
,
UniCommentNode
,
UniElement
,
UniEvent
,
UniInputElement
,
UniNode
,
UniTextAreaElement
,
UniTextNode
,
WEB_INVOKE_APPSERVICE
,
addFont
,
cache
,
cacheStringFunction
,
callOptions
,
createRpx2Unit
,
debounce
,
decode
,
decodedQuery
,
defaultRpx2Unit
,
formatDateTime
,
formatLog
,
getCustomDataset
,
getEnvLocale
,
getLen
,
initCustomDataset
,
invokeArrayFns
,
isBuiltInComponent
,
isCustomElement
,
isNativeTag
,
isServiceCustomElement
,
isServiceNativeTag
,
normalizeDataset
,
normalizeEventType
,
normalizeTarget
,
once
,
parseEventName
,
parseQuery
,
parseUrl
,
passive
,
plusReady
,
removeLeadingSlash
,
sanitise
,
scrollTo
,
stringifyQuery
,
updateElementStyle
};
export
{
ACTION_TYPE_ADD_EVENT
,
ACTION_TYPE_CREATE
,
ACTION_TYPE_EVENT
,
ACTION_TYPE_INSERT
,
ACTION_TYPE_PAGE_CREATE
,
ACTION_TYPE_PAGE_CREATED
,
ACTION_TYPE_REMOVE
,
ACTION_TYPE_REMOVE_ATTRIBUTE
,
ACTION_TYPE_REMOVE_EVENT
,
ACTION_TYPE_SET_ATTRIBUTE
,
ACTION_TYPE_SET_TEXT
,
ATTR_CLASS
,
ATTR_STYLE
,
BACKGROUND_COLOR
,
BUILT_IN_TAGS
,
COMPONENT_NAME_PREFIX
,
COMPONENT_PREFIX
,
COMPONENT_SELECTOR_PREFIX
,
DATA_RE
,
EventChannel
,
EventModifierFlags
,
NAVBAR_HEIGHT
,
NODE_TYPE_COMMENT
,
NODE_TYPE_ELEMENT
,
NODE_TYPE_PAGE
,
NODE_TYPE_TEXT
,
ON_ADD_TO_FAVORITES
,
ON_APP_ENTER_BACKGROUND
,
ON_APP_ENTER_FOREGROUND
,
ON_BACK_PRESS
,
ON_ERROR
,
ON_HIDE
,
ON_
KEYBOARD_HEIGHT_CHANGE
,
ON_
LAUNCH
,
ON_LOAD
,
ON_NAVIGATION_BAR_BUTTON_TAP
,
ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED
,
ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED
,
ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED
,
ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED
,
ON_PAGE_NOT_FOUND
,
ON_PAGE_SCROLL
,
ON_PULL_DOWN_REFRESH
,
ON_REACH_BOTTOM
,
ON_REACH_BOTTOM_DISTANCE
,
ON_READY
,
ON_RESIZE
,
ON_SHARE_APP_MESSAGE
,
ON_SHARE_TIMELINE
,
ON_SHOW
,
ON_TAB_ITEM_TAP
,
ON_THEME_CHANGE
,
ON_UNHANDLE_REJECTION
,
ON_UNLOAD
,
ON_WEB_INVOKE_APP_SERVICE
,
PLUS_RE
,
PRIMARY_COLOR
,
RESPONSIVE_MIN_WIDTH
,
SCHEME_RE
,
SELECTED_COLOR
,
TABBAR_HEIGHT
,
TAGS
,
UNI_SSR
,
UNI_SSR_DATA
,
UNI_SSR_GLOBAL_DATA
,
UNI_SSR_STORE
,
UNI_SSR_TITLE
,
UniBaseNode
,
UniCommentNode
,
UniElement
,
UniEvent
,
UniInputElement
,
UniNode
,
UniTextAreaElement
,
UniTextNode
,
WEB_INVOKE_APPSERVICE
,
addFont
,
cache
,
cacheStringFunction
,
callOptions
,
createRpx2Unit
,
debounce
,
decode
,
decodedQuery
,
defaultRpx2Unit
,
formatDateTime
,
formatLog
,
getCustomDataset
,
getEnvLocale
,
getLen
,
initCustomDataset
,
invokeArrayFns
,
isBuiltInComponent
,
isCustomElement
,
isNativeTag
,
isServiceCustomElement
,
isServiceNativeTag
,
normalizeDataset
,
normalizeEventType
,
normalizeTarget
,
once
,
parseEventName
,
parseQuery
,
parseUrl
,
passive
,
plusReady
,
removeLeadingSlash
,
sanitise
,
scrollTo
,
stringifyQuery
,
updateElementStyle
};
packages/uni-shared/src/constants.ts
浏览文件 @
124cfdcf
...
...
@@ -29,6 +29,7 @@ export const ON_HIDE = 'onHide'
export
const
ON_LAUNCH
=
'
onLaunch
'
export
const
ON_ERROR
=
'
onError
'
export
const
ON_THEME_CHANGE
=
'
onThemeChange
'
export
const
ON_KEYBOARD_HEIGHT_CHANGE
=
'
onKeyboardHeightChange
'
export
const
ON_PAGE_NOT_FOUND
=
'
onPageNotFound
'
export
const
ON_UNHANDLE_REJECTION
=
'
onUnhandledRejection
'
//Page
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录