Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
b863a8e1
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,发现更多精彩内容 >>
提交
b863a8e1
编写于
3月 01, 2022
作者:
d-u-a
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(app-vue): 支持 live-pusher 组件
上级
cbdeeb47
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
45 addition
and
23 deletion
+45
-23
src/platforms/app-plus/service/api/context/live-pusher.js
src/platforms/app-plus/service/api/context/live-pusher.js
+13
-4
src/platforms/app-plus/view/components/live-pusher/index.vue
src/platforms/app-plus/view/components/live-pusher/index.vue
+32
-19
未找到文件。
src/platforms/app-plus/service/api/context/live-pusher.js
浏览文件 @
b863a8e1
...
@@ -4,7 +4,7 @@ import {
...
@@ -4,7 +4,7 @@ import {
function
operateLivePusher
(
livePusherId
,
pageVm
,
type
,
data
)
{
function
operateLivePusher
(
livePusherId
,
pageVm
,
type
,
data
)
{
const
pageId
=
pageVm
.
$page
.
id
const
pageId
=
pageVm
.
$page
.
id
UniServiceJSBridge
.
publishHandler
(
pageId
+
'
-live
-
pusher-
'
+
livePusherId
,
{
UniServiceJSBridge
.
publishHandler
(
pageId
+
'
-livepusher-
'
+
livePusherId
,
{
livePusherId
,
livePusherId
,
type
,
type
,
data
data
...
@@ -18,13 +18,21 @@ UniServiceJSBridge.subscribe('onLivePusherMethodCallback', ({
...
@@ -18,13 +18,21 @@ UniServiceJSBridge.subscribe('onLivePusherMethodCallback', ({
callback
.
invoke
(
callbackId
,
data
)
callback
.
invoke
(
callbackId
,
data
)
})
})
const
methods
=
[
'
preview
'
,
const
methods
=
[
'
start
'
,
'
start
'
,
'
stop
'
,
'
stop
'
,
'
pause
'
,
'
pause
'
,
'
resume
'
,
'
resume
'
,
'
switchCamera
'
,
'
switchCamera
'
,
'
snapshot
'
]
'
startPreview
'
,
'
stopPreview
'
,
'
snapshot
'
]
const
methodMapping
=
{
startPreview
:
'
preview
'
,
stopPreview
:
'
stop
'
}
export
class
LivePusherContext
{
export
class
LivePusherContext
{
constructor
(
id
,
pageVm
)
{
constructor
(
id
,
pageVm
)
{
...
@@ -43,7 +51,8 @@ export class LivePusherContext {
...
@@ -43,7 +51,8 @@ export class LivePusherContext {
methods
.
forEach
(
function
(
method
)
{
methods
.
forEach
(
function
(
method
)
{
LivePusherContext
.
prototype
[
method
]
=
callback
.
warp
(
function
(
options
,
callbackId
)
{
LivePusherContext
.
prototype
[
method
]
=
callback
.
warp
(
function
(
options
,
callbackId
)
{
options
.
callbackId
=
callbackId
options
.
callbackId
=
callbackId
operateLivePusher
(
this
.
id
,
this
.
pageVm
,
method
,
options
)
const
methodName
=
methodMapping
[
method
]
?
methodMapping
[
method
]
:
method
operateLivePusher
(
this
.
id
,
this
.
pageVm
,
methodName
,
options
)
})
})
})
})
...
...
src/platforms/app-plus/view/components/live-pusher/index.vue
浏览文件 @
b863a8e1
...
@@ -15,16 +15,6 @@ import {
...
@@ -15,16 +15,6 @@ import {
}
from
'
uni-mixins
'
}
from
'
uni-mixins
'
import
native
from
'
../../mixins/native
'
import
native
from
'
../../mixins/native
'
const
methods
=
[
'
preview
'
,
'
start
'
,
'
stop
'
,
'
pause
'
,
'
resume
'
,
'
switchCamera
'
,
'
snapshot
'
]
const
events
=
[
const
events
=
[
'
statechange
'
,
'
statechange
'
,
'
netstatus
'
,
'
netstatus
'
,
...
@@ -34,17 +24,19 @@ const events = [
...
@@ -34,17 +24,19 @@ const events = [
const
attrs
=
[
const
attrs
=
[
'
url
'
,
'
url
'
,
'
mode
'
,
'
mode
'
,
'
muted
'
'
muted
'
,
'
enableCamera
'
,
'
autoFocus
'
,
'
beauty
'
,
'
whiteness
'
,
'
aspect
'
,
'
minBitrate
'
]
]
export
default
{
export
default
{
name
:
'
LivePusher
'
,
name
:
'
LivePusher
'
,
mixins
:
[
subscriber
,
native
],
mixins
:
[
subscriber
,
native
],
props
:
{
props
:
{
id
:
{
type
:
String
,
default
:
''
},
url
:
{
url
:
{
type
:
String
,
type
:
String
,
default
:
''
default
:
''
...
@@ -56,6 +48,30 @@ export default {
...
@@ -56,6 +48,30 @@ export default {
muted
:
{
muted
:
{
type
:
[
Boolean
,
String
],
type
:
[
Boolean
,
String
],
default
:
false
default
:
false
},
enableCamera
:
{
type
:
[
Boolean
,
String
],
default
:
true
},
autoFocus
:
{
type
:
[
Boolean
,
String
],
default
:
true
},
beauty
:
{
type
:
[
Number
,
String
],
default
:
0
},
whiteness
:
{
type
:
[
Number
,
String
],
default
:
0
},
aspect
:
{
type
:
[
String
],
default
:
'
3:2
'
},
minBitrate
:
{
type
:
[
Number
],
default
:
200
}
}
},
},
computed
:
{
computed
:
{
...
@@ -105,10 +121,7 @@ export default {
...
@@ -105,10 +121,7 @@ export default {
type
,
type
,
data
=
{}
data
=
{}
})
{
})
{
console
.
log
(
'
_handleSubscribe type::
'
+
type
)
this
.
livePusher
&&
this
.
livePusher
[
type
](
data
)
if
(
methods
.
includes
(
type
))
{
this
.
livePusher
&&
this
.
livePusher
[
type
](
data
)
}
}
}
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录