Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mayi-mp-shop
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
程默
mayi-mp-shop
Commits
474985d9
Commit
474985d9
authored
Feb 23, 2021
by
李嘉林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
视频组件
parent
731ac6f4
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
174 additions
and
10 deletions
+174
-10
src/main.js
+2
-0
src/pages/home/index.vue
+3
-5
src/pages/home/main.json
+3
-1
static/nativeComponents/GoodsList/index.js
+2
-2
static/nativeComponents/SharePopup/index.js
+8
-2
static/nativeComponents/VideoPlayer/index.js
+82
-0
static/nativeComponents/VideoPlayer/index.json
+4
-0
static/nativeComponents/VideoPlayer/index.wxml
+32
-0
static/nativeComponents/VideoPlayer/index.wxss
+38
-0
No files found.
src/main.js
View file @
474985d9
...
@@ -43,6 +43,8 @@ mpApp.webviewCallBack = function () { }
...
@@ -43,6 +43,8 @@ mpApp.webviewCallBack = function () { }
mpApp
.
shareInit
=
function
()
{};
mpApp
.
shareInit
=
function
()
{};
mpApp
.
themeColorCallBack
=
function
()
{};
mpApp
.
themeColorCallBack
=
function
()
{};
// 全局数据
mpApp
.
processEnv
=
process
.
env
;
console
.
log
(
'3555555'
,
wx
)
console
.
log
(
'3555555'
,
wx
)
// 全局跳转 data为link对象
// 全局跳转 data为link对象
mpApp
.
$themeToLink
=
$themeToLink
mpApp
.
$themeToLink
=
$themeToLink
...
...
src/pages/home/index.vue
View file @
474985d9
...
@@ -42,9 +42,6 @@
...
@@ -42,9 +42,6 @@
<div
v-if=
"item.componentCode == 'img-text' && item.componentInfo.visible == 1"
>
<div
v-if=
"item.componentCode == 'img-text' && item.componentInfo.visible == 1"
>
<img-text
:datas=
"item"
></img-text>
<img-text
:datas=
"item"
></img-text>
</div>
</div>
<div
v-if=
"item.componentCode == 'video-player' && item.componentInfo.visible == 1"
>
<videoPlayer
:datas=
"item"
></videoPlayer>
</div>
<div
v-if=
"item.componentCode == 'goods-search' && item.componentInfo.visible == 1"
>
<div
v-if=
"item.componentCode == 'goods-search' && item.componentInfo.visible == 1"
>
<goods-search
:datas=
"item"
></goods-search>
<goods-search
:datas=
"item"
></goods-search>
</div>
</div>
...
@@ -63,6 +60,9 @@
...
@@ -63,6 +60,9 @@
<div
v-if=
"item.componentCode == 'speedy-nav'"
>
<div
v-if=
"item.componentCode == 'speedy-nav'"
>
<speedy-nav
:datas=
"item"
></speedy-nav>
<speedy-nav
:datas=
"item"
></speedy-nav>
</div>
</div>
<div
v-if=
"item.componentCode == 'video-player'"
>
<video-player
:datas=
"item"
:indexs=
"index"
></video-player>
</div>
</div>
</div>
<bottomCont></bottomCont>
<bottomCont></bottomCont>
...
@@ -94,7 +94,6 @@ import partition from '@/components/basicTool/partition/index.vue'
...
@@ -94,7 +94,6 @@ import partition from '@/components/basicTool/partition/index.vue'
import
shopPopup
from
'@/components/basicTool/shop-popup/index.vue'
import
shopPopup
from
'@/components/basicTool/shop-popup/index.vue'
import
text
from
'@/components/content/text'
import
text
from
'@/components/content/text'
import
imgText
from
'@/components/content/imgText'
import
imgText
from
'@/components/content/imgText'
import
videoPlayer
from
'@/components/content/videoPlayer'
import
coupon
from
'@/components/activity/coupon'
import
coupon
from
'@/components/activity/coupon'
import
integralTurntable
from
'@/components/activity/integralTurntable'
import
integralTurntable
from
'@/components/activity/integralTurntable'
import
{
setTabBarActive
,
checkTabbarPage
,
themeColor
}
from
"../../utils/mayi.js"
;
import
{
setTabBarActive
,
checkTabbarPage
,
themeColor
}
from
"../../utils/mayi.js"
;
...
@@ -120,7 +119,6 @@ export default {
...
@@ -120,7 +119,6 @@ export default {
ThemeDataPlant
,
ThemeDataPlant
,
'text-text'
:
text
,
'text-text'
:
text
,
'img-text'
:
imgText
,
'img-text'
:
imgText
,
videoPlayer
,
coupon
,
coupon
,
integralTurntable
integralTurntable
},
},
...
...
src/pages/home/main.json
View file @
474985d9
...
@@ -12,7 +12,8 @@
...
@@ -12,7 +12,8 @@
"notice"
:
"/static/nativeComponents/Notice/index"
,
"notice"
:
"/static/nativeComponents/Notice/index"
,
"pop-up"
:
"/static/nativeComponents/PopUp/index"
,
"pop-up"
:
"/static/nativeComponents/PopUp/index"
,
"share-popup"
:
"/static/nativeComponents/SharePopup/index"
,
"share-popup"
:
"/static/nativeComponents/SharePopup/index"
,
"speedy-nav"
:
"/static/nativeComponents/SpeedyNav/index"
"speedy-nav"
:
"/static/nativeComponents/SpeedyNav/index"
,
"video-player"
:
"/static/nativeComponents/VideoPlayer/index"
},
},
"enablePullDownRefresh"
:
true
"enablePullDownRefresh"
:
true
}
}
\ No newline at end of file
static/nativeComponents/GoodsList/index.js
View file @
474985d9
...
@@ -346,9 +346,9 @@ const componentOptions = {
...
@@ -346,9 +346,9 @@ const componentOptions = {
let
linkVal
=
""
;
let
linkVal
=
""
;
if
(
goodsType
!=
1
)
{
if
(
goodsType
!=
1
)
{
if
(
style
==
"list"
)
{
if
(
style
==
"list"
)
{
linkVal
=
`/goods
/commodityMenu
?categoryName=
${
categoryName
}
&categoryId=
${
categoryId
}
`
;
linkVal
=
`/goods
Search/goodsSearch
?categoryName=
${
categoryName
}
&categoryId=
${
categoryId
}
`
;
}
else
{
}
else
{
linkVal
=
`/goods
/commodityMenu
`
;
linkVal
=
`/goods
Search/goodsSearch
`
;
}
}
}
else
{
}
else
{
linkVal
=
`/pointShop/productList?categoryName=
${
categoryName
}
&categoryId=
${
categoryId
}
`
;
linkVal
=
`/pointShop/productList?categoryName=
${
categoryName
}
&categoryId=
${
categoryId
}
`
;
...
...
static/nativeComponents/SharePopup/index.js
View file @
474985d9
const
app
=
getApp
();
const
app
=
getApp
();
const
{
$themeToLink
}
=
app
;
const
{
$themeToLink
,
processEnv
,
globalData
}
=
app
;
const
componentOptions
=
{
const
componentOptions
=
{
// 组件选项
// 组件选项
options
:
{
options
:
{
...
@@ -85,7 +85,13 @@ const componentOptions = {
...
@@ -85,7 +85,13 @@ const componentOptions = {
});
});
},
},
toPosters
()
{
toPosters
()
{
let
linkVal
=
`/goods/posters`
;
let
userInfo
=
wx
.
getStorageSync
(
"userInfo"
)
?
JSON
.
parse
(
wx
.
getStorageSync
(
"userInfo"
)):
''
;
let
queryHref
=
`
${
processEnv
.
BASE_URL
}
?mixid=
${
globalData
.
shopInfo
.
shopCode
}
`
;
let
linkVal
=
`/goods/posters?type=index&href=
${
queryHref
}
`
;
if
(
userInfo
)
{
linkVal
+=
`&nickname=
${
userInfo
.
nickName
}
`
;
}
console
.
log
(
linkVal
,
"------------------linkVal"
);
$themeToLink
({
type
:
1
,
link
:
linkVal
});
$themeToLink
({
type
:
1
,
link
:
linkVal
});
},
},
},
},
...
...
static/nativeComponents/VideoPlayer/index.js
0 → 100644
View file @
474985d9
const
componentOptions
=
{
// 组件选项
options
:
{
multipleSlots
:
true
},
behaviors
:
[],
properties
:
{
datas
:
{
type
:
Object
},
indexs
:
{
type
:
Number
}
},
// 组件数据
data
:
{
isPageHidden
:
false
,
// 页面是否处于隐藏状态
isPlay
:
false
,
videoContext
:
""
,
},
// 数据监听器
observers
:
{},
// 组件方法
methods
:
{
init
()
{},
playVideo
()
{
// 视频播放
if
(
this
.
data
.
datas
.
componentData
[
'nativeControl'
])
{
return
}
let
{
isPlay
}
=
this
.
data
;
if
(
isPlay
)
{
console
.
log
(
"暂停"
)
this
.
videoContext
.
pause
();
}
else
{
console
.
log
(
"播放"
)
this
.
videoContext
.
play
();
}
isPlay
=
!
isPlay
;
this
.
setData
({
isPlay
});
}
},
// 组件生命周期
lifetimes
:
{
created
()
{},
attached
()
{
this
.
init
();
},
ready
()
{
this
.
videoContext
=
wx
.
createVideoContext
(
`videoId
${
this
.
data
.
indexs
}
`
,
this
);
},
moved
()
{},
detached
()
{}
},
definitionFilter
()
{},
// 页面生命周期
pageLifetimes
:
{
// 页面被展示
show
()
{
const
{
isPageHidden
}
=
this
.
data
;
// show事件发生前,页面不是处于隐藏状态时
if
(
!
isPageHidden
)
{
return
;
}
// 重新执行定时器等操作
},
// 页面被隐藏
hide
()
{
this
.
setData
({
isPageHidden
:
true
});
// 清除定时器等操作
},
// 页面尺寸变化时
resize
()
{}
}
};
Component
(
componentOptions
);
static/nativeComponents/VideoPlayer/index.json
0 → 100644
View file @
474985d9
{
"component"
:
true
,
"usingComponents"
:
{}
}
static/nativeComponents/VideoPlayer/index.wxml
0 → 100644
View file @
474985d9
<view class="VideoPlayer">
<view class="title" wx:if="{{datas.componentData['title']}}">
<text>{{datas.componentData['title']}}</text>
</view>
<view class="main">
<view class="isVideo" wx:if="{{datas.componentData['type']<3}}">
<video
bindtap="playVideo"
id="videoId{{indexs}}"
src="{{datas.componentData['videoUrl']}}"
show-center-play-btn="{{datas.componentData['nativeControl']}}"
type="video/mp4"
controls="{{datas.componentData['nativeControl']}}"
loop="{{datas.componentData['loopPlay']}}"
poster="{{datas.componentData['poster']}}"
/>
<view
class="playerBtn"
bindtap="playVideo"
wx:if="{{!isPlay&&!datas.componentData['nativeControl']}}"
>
<image src="http://mayi-newshop.oss-cn-shanghai.aliyuncs.com/public/png/06420e41-cd0b-4913-a1ef-9056ceebcc95.png" />
</view>
</view>
<!-- 代码片段展示 -->
<!-- <view class="isCodeSnippets">
</view> -->
</view>
</view>
static/nativeComponents/VideoPlayer/index.wxss
0 → 100644
View file @
474985d9
.VideoPlayer {
}
.title {
font-size: 36rpx;
padding: 20rpx 40rpx;
color: #333;
font-weight: bold;
}
.main{
width: 100%;
}
.main .isVideo{
width: 100%;
position: relative;
}
.main .isVideo video{
width: 100%;
}
.main .isVideo .playerBtn{
position: absolute;
top: 50%;
left: 50%;
width: 120rpx;
height: 120rpx;
margin-top: -60rpx;
margin-left: -60rpx;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
-o-border-radius: 50%;
overflow: hidden;
}
.main .isVideo .playerBtn image{
width: 100%;
height: 100%;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment