Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
靖轩达人
uni-app
提交
8a1a36a5
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,发现更多精彩内容 >>
提交
8a1a36a5
编写于
2月 07, 2020
作者:
d-u-a
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add api uni.createRewardedVideoAd
上级
47436782
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
2457 addition
and
2234 deletion
+2457
-2234
lib/apis.js
lib/apis.js
+6
-1
lib/modules.json
lib/modules.json
+6
-0
packages/uni-app-plus/dist/index.v3.js
packages/uni-app-plus/dist/index.v3.js
+2351
-2233
src/platforms/app-plus/service/api/ad/rewarded-video-ad.js
src/platforms/app-plus/service/api/ad/rewarded-video-ad.js
+92
-0
src/platforms/app-plus/service/api/index.js
src/platforms/app-plus/service/api/index.js
+2
-0
未找到文件。
lib/apis.js
浏览文件 @
8a1a36a5
...
...
@@ -201,6 +201,10 @@ const third = [
'
setPageMeta
'
]
const
ad
=
[
'
createRewardedVideoAd
'
]
const
apis
=
[
...
base
,
...
network
,
...
...
@@ -214,7 +218,8 @@ const apis = [
...
event
,
...
file
,
...
canvas
,
...
third
...
third
,
...
ad
]
module
.
exports
=
apis
lib/modules.json
浏览文件 @
8a1a36a5
...
...
@@ -206,4 +206,10 @@
"uni.base64ToArrayBuffer"
:
true
,
"uni.arrayBufferToBase64"
:
true
}
},
{
"name"
:
"ad"
,
"title"
:
"广告"
,
"apiList"
:
{
"uni.createRewardedVideoAd"
:
true
}
}]
packages/uni-app-plus/dist/index.v3.js
浏览文件 @
8a1a36a5
...
...
@@ -213,6 +213,10 @@ var serviceContext = (function () {
'
setPageMeta
'
];
const
ad
=
[
'
createRewardedVideoAd
'
];
const
apis
=
[
...
base
,
...
network
,
...
...
@@ -226,7 +230,8 @@ var serviceContext = (function () {
...
event
,
...
file
,
...
canvas
,
...
third
...
third
,
...
ad
];
var
apis_1
=
apis
;
...
...
@@ -6483,7 +6488,7 @@ var serviceContext = (function () {
}
for
(
const
name
in
formData
)
{
if
(
formData
.
hasOwnProperty
(
name
))
{
uploader
.
addData
(
name
,
formData
[
name
]
);
uploader
.
addData
(
name
,
String
(
formData
[
name
])
);
}
}
if
(
files
&&
files
.
length
)
{
...
...
@@ -8791,6 +8796,92 @@ var serviceContext = (function () {
:
requestComponentInfo
(
pageVm
,
queue
,
callback
);
}
const
eventNames
=
[
'
load
'
,
'
close
'
,
'
error
'
];
class
RewardedVideoAd
{
constructor
(
adpid
)
{
this
.
_options
=
{
adpid
:
adpid
};
const
_callbacks
=
this
.
_callbacks
=
{};
eventNames
.
forEach
(
item
=>
{
_callbacks
[
item
]
=
[];
const
name
=
item
[
0
].
toUpperCase
()
+
item
.
substr
(
1
);
this
[
`on
${
name
}
`
]
=
function
(
callback
)
{
_callbacks
[
item
].
push
(
callback
);
};
});
this
.
_isLoad
=
false
;
this
.
_loadPromiseResolve
=
null
;
this
.
_loadPromisereject
=
null
;
const
rewardAd
=
this
.
_rewardAd
=
plus
.
ad
.
createRewardedVideoAd
(
this
.
_options
);
rewardAd
.
onLoad
((
e
)
=>
{
this
.
_isLoad
=
true
;
this
.
_dispatchEvent
(
'
load
'
,
{});
if
(
this
.
_loadPromiseResolve
!=
null
)
{
this
.
_loadPromiseResolve
();
this
.
_loadPromiseResolve
=
null
;
}
});
rewardAd
.
onClose
((
e
)
=>
{
this
.
_dispatchEvent
(
'
close
'
,
{
isEnded
:
e
.
isEnded
});
});
rewardAd
.
onError
((
e
)
=>
{
const
detail
=
{
code
:
e
.
code
,
message
:
e
.
message
};
this
.
_dispatchEvent
(
'
error
'
,
detail
);
if
(
this
.
_loadPromisereject
!=
null
)
{
this
.
_loadPromisereject
(
detail
);
this
.
_loadPromisereject
=
null
;
}
});
this
.
_loadAd
();
}
load
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
this
.
_isLoad
)
{
resolve
();
return
}
this
.
_loadPromiseResolve
=
resolve
;
this
.
_loadPromisereject
=
reject
;
this
.
_loadAd
();
})
}
show
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
this
.
_isLoad
)
{
this
.
_rewardAd
.
show
();
resolve
();
}
else
{
reject
();
}
})
}
_loadAd
()
{
this
.
_isLoad
=
false
;
this
.
_rewardAd
.
load
();
}
_dispatchEvent
(
name
,
data
)
{
this
.
_callbacks
[
name
].
forEach
(
callback
=>
{
if
(
typeof
callback
===
'
function
'
)
{
callback
(
data
||
{});
}
});
}
}
function
createRewardedVideoAd
({
adpid
=
''
}
=
{})
{
return
new
RewardedVideoAd
(
adpid
)
}
var
api
=
/*#__PURE__*/
Object
.
freeze
({
...
...
@@ -8920,7 +9011,8 @@ var serviceContext = (function () {
setTabBarStyle
:
setTabBarStyle$2
,
hideTabBar
:
hideTabBar$2
,
showTabBar
:
showTabBar$2
,
requestComponentInfo
:
requestComponentInfo$2
requestComponentInfo
:
requestComponentInfo$2
,
createRewardedVideoAd
:
createRewardedVideoAd
});
var
platformApi
=
Object
.
assign
(
Object
.
create
(
null
),
api
,
eventApis
);
...
...
@@ -8956,7 +9048,7 @@ var serviceContext = (function () {
return
page
&&
page
.
$page
.
id
}
const
eventNames
=
[
const
eventNames
$1
=
[
'
canplay
'
,
'
play
'
,
'
pause
'
,
...
...
@@ -9021,7 +9113,7 @@ var serviceContext = (function () {
this
.
id
=
id
;
this
.
_callbacks
=
{};
this
.
_options
=
{};
eventNames
.
forEach
(
name
=>
{
eventNames
$1
.
forEach
(
name
=>
{
this
.
_callbacks
[
name
.
toLowerCase
()]
=
[];
});
props
.
forEach
(
item
=>
{
...
...
@@ -9075,7 +9167,7 @@ var serviceContext = (function () {
}
}
eventNames
.
forEach
(
item
=>
{
eventNames
$1
.
forEach
(
item
=>
{
const
name
=
item
[
0
].
toUpperCase
()
+
item
.
substr
(
1
);
item
=
item
.
toLowerCase
();
InnerAudioContext
.
prototype
[
`on
${
name
}
`
]
=
function
(
callback
)
{
...
...
@@ -9140,7 +9232,7 @@ var serviceContext = (function () {
createInnerAudioContext
:
createInnerAudioContext
});
const
eventNames$
1
=
[
const
eventNames$
2
=
[
'
canplay
'
,
'
play
'
,
'
pause
'
,
...
...
@@ -9153,7 +9245,7 @@ var serviceContext = (function () {
'
waiting
'
];
const
callbacks$4
=
{};
eventNames$
1
.
forEach
(
name
=>
{
eventNames$
2
.
forEach
(
name
=>
{
callbacks$4
[
name
]
=
[];
});
...
...
@@ -9267,7 +9359,7 @@ var serviceContext = (function () {
}
}
eventNames$
1
.
forEach
(
item
=>
{
eventNames$
2
.
forEach
(
item
=>
{
const
name
=
item
[
0
].
toUpperCase
()
+
item
.
substr
(
1
);
BackgroundAudioManager
.
prototype
[
`on
${
name
}
`
]
=
function
(
callback
)
{
callbacks$4
[
item
].
push
(
callback
);
...
...
@@ -10996,6 +11088,23 @@ var serviceContext = (function () {
const
STORAGE_DATA_TYPE
=
'
__TYPE
'
;
const
STORAGE_KEYS
=
'
uni-storage-keys
'
;
function
parseValue
(
value
)
{
const
types
=
[
'
object
'
,
'
string
'
,
'
number
'
,
'
boolean
'
,
'
undefined
'
];
try
{
const
object
=
typeof
value
===
'
string
'
?
JSON
.
parse
(
value
)
:
value
;
const
type
=
object
.
type
;
if
(
types
.
indexOf
(
type
)
>=
0
)
{
const
keys
=
Object
.
keys
(
object
);
// eslint-disable-next-line valid-typeof
if
(
keys
.
length
===
2
&&
'
data
'
in
object
&&
typeof
object
.
data
===
type
)
{
return
object
.
data
}
else
if
(
keys
.
length
===
1
)
{
return
''
}
}
}
catch
(
error
)
{
}
}
function
setStorage$1
({
key
,
data
...
...
@@ -11006,6 +11115,11 @@ var serviceContext = (function () {
data
:
data
});
try
{
if
(
type
===
'
string
'
&&
parseValue
(
value
)
!==
undefined
)
{
localStorage
.
setItem
(
key
+
STORAGE_DATA_TYPE
,
type
);
}
else
{
localStorage
.
removeItem
(
key
+
STORAGE_DATA_TYPE
);
}
localStorage
.
setItem
(
key
,
value
);
}
catch
(
error
)
{
return
{
...
...
@@ -11035,22 +11149,26 @@ var serviceContext = (function () {
}
}
let
data
=
value
;
const
typeOrigin
=
localStorage
.
getItem
(
key
+
STORAGE_DATA_TYPE
)
||
''
;
const
type
=
typeOrigin
.
toLowerCase
();
if
(
type
!==
'
string
'
||
(
typeOrigin
===
'
String
'
&&
value
===
'
{"type":"undefined"}
'
))
{
try
{
const
object
=
JSON
.
parse
(
value
);
// 兼容H5和V3初期历史格式
let
object
=
JSON
.
parse
(
value
);
const
result
=
parseValue
(
object
);
if
(
result
!==
undefined
)
{
data
=
result
;
}
else
if
(
type
)
{
// 兼容App端历史格式
const
type
=
localStorage
.
getItem
(
key
+
STORAGE_DATA_TYPE
);
if
(
!
type
)
{
const
keys
=
Object
.
keys
(
object
);
if
(
keys
.
length
===
2
&&
'
type
'
in
object
&&
'
data
'
in
object
)
{
data
=
object
.
data
;
}
else
if
(
keys
.
length
===
1
&&
'
type
'
in
object
)
{
data
=
''
;
}
}
else
if
(
type
!==
'
String
'
)
{
data
=
object
;
data
=
typeof
data
===
'
string
'
?
JSON
.
parse
(
data
)
:
data
;
if
(
typeof
object
===
'
string
'
)
{
object
=
JSON
.
parse
(
object
);
// eslint-disable-next-line valid-typeof
data
=
typeof
object
===
(
type
===
'
null
'
?
'
object
'
:
type
)
?
object
:
data
;
}
}
}
catch
(
error
)
{
}
}
return
{
data
,
errMsg
:
'
getStorage:ok
'
...
...
src/platforms/app-plus/service/api/ad/rewarded-video-ad.js
0 → 100644
浏览文件 @
8a1a36a5
const
eventNames
=
[
'
load
'
,
'
close
'
,
'
error
'
]
class
RewardedVideoAd
{
constructor
(
adpid
)
{
this
.
_options
=
{
adpid
:
adpid
}
const
_callbacks
=
this
.
_callbacks
=
{}
eventNames
.
forEach
(
item
=>
{
_callbacks
[
item
]
=
[]
const
name
=
item
[
0
].
toUpperCase
()
+
item
.
substr
(
1
)
this
[
`on
${
name
}
`
]
=
function
(
callback
)
{
_callbacks
[
item
].
push
(
callback
)
}
})
this
.
_isLoad
=
false
this
.
_adError
=
false
this
.
_loadPromiseResolve
=
null
this
.
_loadPromiseReject
=
null
const
rewardAd
=
this
.
_rewardAd
=
plus
.
ad
.
createRewardedVideoAd
(
this
.
_options
)
rewardAd
.
onLoad
((
e
)
=>
{
this
.
_isLoad
=
true
this
.
_dispatchEvent
(
'
load
'
,
{})
if
(
this
.
_loadPromiseResolve
!=
null
)
{
this
.
_loadPromiseResolve
()
this
.
_loadPromiseResolve
=
null
}
})
rewardAd
.
onClose
((
e
)
=>
{
this
.
_loadAd
()
this
.
_dispatchEvent
(
'
close
'
,
{
isEnded
:
e
.
isEnded
})
})
rewardAd
.
onError
((
e
)
=>
{
const
{
code
}
=
e
this
.
_adError
=
(
code
&&
code
<
5005
)
this
.
_dispatchEvent
(
'
error
'
,
e
)
if
(
code
===
5005
&&
this
.
_loadPromiseReject
!=
null
)
{
this
.
_loadPromiseReject
(
e
)
this
.
_loadPromiseReject
=
null
}
})
this
.
_loadAd
()
}
load
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
this
.
_isLoad
)
{
resolve
()
return
}
this
.
_loadPromiseResolve
=
resolve
this
.
_loadPromiseReject
=
reject
this
.
_loadAd
()
})
}
show
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
this
.
_isLoad
)
{
this
.
_rewardAd
.
show
()
resolve
()
}
else
{
reject
(
new
Error
(
''
))
}
})
}
_loadAd
()
{
if
(
this
.
_adError
)
{
return
}
this
.
_isLoad
=
false
this
.
_rewardAd
.
load
()
}
_dispatchEvent
(
name
,
data
)
{
this
.
_callbacks
[
name
].
forEach
(
callback
=>
{
if
(
typeof
callback
===
'
function
'
)
{
callback
(
data
||
{})
}
})
}
}
export
function
createRewardedVideoAd
({
adpid
=
''
}
=
{})
{
return
new
RewardedVideoAd
(
adpid
)
}
src/platforms/app-plus/service/api/index.js
浏览文件 @
8a1a36a5
...
...
@@ -69,3 +69,5 @@ export {
export
*
from
'
./ui/tab-bar
'
export
*
from
'
./ui/request-component-info
'
export
*
from
'
./ad/rewarded-video-ad
'
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录