Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
h5-front
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yimu
h5-front
Commits
02b7fce0
Commit
02b7fce0
authored
Mar 04, 2022
by
verestrasz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
60f123a3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
448 additions
and
191 deletions
+448
-191
blind-desc.vue
src/views/blind-box/blind-desc.vue
+2
-2
blind-detail.vue
src/views/blind-box/blind-detail.vue
+2
-2
blind-header.vue
src/views/blind-box/blind-header.vue
+2
-2
blind-img-swiper.vue
src/views/blind-box/blind-img-swiper.vue
+2
-5
index.vue
src/views/blind-box/index.vue
+2
-2
blind-goods.vue
src/views/tab-bar/home/goods-list/blind-goods.vue
+116
-177
blind-goods11.vue
src/views/tab-bar/home/goods-list/blind-goods11.vue
+201
-0
digital-collection-goods.vue
...iews/tab-bar/home/goods-list/digital-collection-goods.vue
+119
-0
home-header.vue
src/views/tab-bar/home/home-header.vue
+1
-0
index.vue
src/views/tab-bar/home/index.vue
+0
-0
vue.config.js
vue.config.js
+1
-1
No files found.
src/views/blind-box/blind-desc.vue
View file @
02b7fce0
<
template
>
<
template
>
<div
class=
"goods-desc-con"
>
<div
class=
"
blind-box-
goods-desc-con"
>
<!--
<div
class=
"copy-right flex-default"
@
click=
"showDialog"
>
<!--
<div
class=
"copy-right flex-default"
@
click=
"showDialog"
>
<div
class=
"left flex-default"
>
<div
class=
"left flex-default"
>
<m-icon
icon=
"icon-copy-right"
/>
<m-icon
icon=
"icon-copy-right"
/>
...
@@ -170,7 +170,7 @@ export default {
...
@@ -170,7 +170,7 @@ export default {
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.goods-desc-con {
.
blind-box-
goods-desc-con {
// background: #F5F7FB;
// background: #F5F7FB;
border-radius: 0px 0px 10px 10px;
border-radius: 0px 0px 10px 10px;
margin: 10px 0;
margin: 10px 0;
...
...
src/views/blind-box/blind-detail.vue
View file @
02b7fce0
<
template
>
<
template
>
<div
class=
"goods-detail-con"
>
<div
class=
"
blind-box-
goods-detail-con"
>
<div
class=
"desc"
>
<div
class=
"desc"
>
<div
class=
"header flex-default"
>
<div
class=
"header flex-default"
>
<m-icon
icon=
"icon-double-arrow"
:size=
"10"
className=
"icon"
/>
<m-icon
icon=
"icon-double-arrow"
:size=
"10"
className=
"icon"
/>
...
@@ -68,7 +68,7 @@ export default {
...
@@ -68,7 +68,7 @@ export default {
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.goods-detail-con {
.
blind-box-
goods-detail-con {
border-radius: 10px;
border-radius: 10px;
margin-top: 20px;
margin-top: 20px;
// padding-bottom: 15px;
// padding-bottom: 15px;
...
...
src/views/blind-box/blind-header.vue
View file @
02b7fce0
<
template
>
<
template
>
<div
class=
"goods-header-con flex-default"
ref=
"goodsHeader"
>
<div
class=
"
blind-box-
goods-header-con flex-default"
ref=
"goodsHeader"
>
<m-icon
:size=
"18"
icon=
"icon-back"
className=
"back-logo"
@
click=
"goBack"
/>
<m-icon
:size=
"18"
icon=
"icon-back"
className=
"back-logo"
@
click=
"goBack"
/>
<div
class=
"tab-list flex-default"
>
<div
class=
"tab-list flex-default"
>
<!--
<div
<!--
<div
...
@@ -64,7 +64,7 @@ export default {
...
@@ -64,7 +64,7 @@ export default {
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.goods-header-con {
.
blind-box-
goods-header-con {
width: 100%;
width: 100%;
padding: 10px;
padding: 10px;
position: sticky;
position: sticky;
...
...
src/views/blind-box/blind-img-swiper.vue
View file @
02b7fce0
<
template
>
<
template
>
<div>
<div>
<van-swipe
class=
"goods-img-swiper-con"
:show-indicators=
"false"
:loop=
"false"
>
<van-swipe
class=
"
blind-box-
goods-img-swiper-con"
:show-indicators=
"false"
:loop=
"false"
>
<van-swipe-item
<van-swipe-item
v-for=
"(item, index) of list"
v-for=
"(item, index) of list"
:key=
"'swiper-item-' + index"
:key=
"'swiper-item-' + index"
...
@@ -45,11 +45,8 @@ export default {
...
@@ -45,11 +45,8 @@ export default {
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.goods-img-swiper-con {
.
blind-box-
goods-img-swiper-con {
height: 312px;
height: 312px;
// background: #ffffff;
// background: url("~@/assets/img/blind-bg.png") no-repeat;
// background-size: 100% 100%;
.swiper-item {
.swiper-item {
text-align: center;
text-align: center;
padding-top: 15px;
padding-top: 15px;
...
...
src/views/blind-box/index.vue
View file @
02b7fce0
<
template
>
<
template
>
<mescroll-vue
<mescroll-vue
class=
"goods-con"
class=
"
blind-box-
goods-con"
ref=
"mescrollRef"
ref=
"mescrollRef"
@
init=
"mescrollInit"
@
init=
"mescrollInit"
:down=
"downOption"
:down=
"downOption"
...
@@ -327,7 +327,7 @@ export default {
...
@@ -327,7 +327,7 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.goods-con {
.
blind-box-
goods-con {
// background: #F6FAFF;
// background: #F6FAFF;
// background-size: 100% ;
// background-size: 100% ;
}
}
...
...
src/views/tab-bar/home/goods-list/blind-goods.vue
View file @
02b7fce0
<
template
>
<
template
>
<div
class=
"goods-list-template-con"
>
<div
<div
class=
"blind-goods-item-con"
>
class=
"item-list-con"
<div
class=
"header"
>
@
click=
"goGoods(data.goodsId, data.type, data.salesType)"
<div
class=
"title"
>
盲盒
</div>
>
<div
class=
"con-wrapper flex-default"
>
<div
class=
"left-img"
>
<img
class=
"thumb"
:src=
"data.thumb"
/>
<div
class=
"goods-stock"
v-if=
"data.stockCount"
>
<m-icon
icon=
"icon-hot-goods"
:size=
"10"
/>
<span>
热销中
</span>
</div>
<div
class=
"goods-stock"
v-else
>
<m-icon
icon=
"icon-sell-out"
:size=
"10"
/>
<span>
已售罄
</span>
</div>
</div>
</div>
<div
<div
class=
"right-con flex-default"
>
class=
"item-list-con flex-default"
<div
class=
"title"
>
v-for=
"(item, index) of list"
{{
data
.
name
}}
:key=
"'goods-item-' + index"
@
click=
"goGoods(item.goodsId, item.type,item.salesType)"
>
<div
class=
"left-img"
>
<img
class=
"thumb"
:src=
"item.thumb"
/>
<div
class=
"goods-stock"
v-if=
"item.stockCount"
>
<m-icon
icon=
"icon-hot-goods"
:size=
"10"
/>
<span>
热销中
</span>
</div>
<div
class=
"goods-stock"
v-else
>
<m-icon
icon=
"icon-sell-out"
:size=
"10"
/>
<span>
已售罄
</span>
</div>
</div>
</div>
<div
class=
"right-con flex-default"
>
<div
class=
"circulationCount flex-default"
>
<div
class=
"title"
>
<div
class=
"label"
>
限量
</div>
{{
item
.
name
}}
<div
class=
"num"
>
{{
data
.
circulationCount
}}
份
</div>
</div>
</div>
<div
class=
"circulationCount flex-default"
>
<div
class=
"value"
>
<div
class=
"label"
>
限量
</div>
<span
class=
"yen"
>
¥
</span>
{{
data
.
defaultPrice
||
0
}}
<div
class=
"num"
>
{{
item
.
circulationCount
}}
份
</div>
</div>
<div
class=
"value"
>
<span
class=
"yen"
>
¥
</span>
{{
item
.
defaultPrice
||
0
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
GoodsItem
from
"./goods-item.vue"
;
export
default
{
export
default
{
components
:
{
GoodsItem
,
},
props
:
{
props
:
{
title
:
{
data
:
{
type
:
String
,
type
:
Object
,
default
:
"电影专区"
,
default
:
()
=>
{
},
return
{};
line
:
{
},
type
:
Number
,
default
:
1
,
},
floorId
:
String
,
},
data
()
{
return
{
loading
:
true
,
list
:
[],
};
},
computed
:
{},
methods
:
{
requestData
()
{
this
.
loading
=
true
;
let
param
=
this
.
floorId
;
this
.
$api
({
apiName
:
"getFloorGoods"
,
postData
:
{
param
,
page
:
1
,
size
:
this
.
line
*
3
,
},
success
:
(
res
)
=>
{
this
.
list
=
res
.
list
;
setTimeout
(()
=>
{
this
.
loading
=
false
;
this
.
$emit
(
"loadSuccess"
);
},
500
);
},
});
},
},
},
},
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
>
.item-list-con {
.goods-list-template-con {
padding: 25px 0 0 0;
padding: 18px 11px;
.con-wrapper {
background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%);
background: url(~@/assets/img/blind-card.png) no-repeat;
.blind-goods-item-con {
background-size: 100% 100%;
.header {
margin-bottom: 10px;
justify-content: space-between;
padding: 28px;
align-items: center;
height: 160px;
color: #140603;
}
height: 50px;
.left-img {
line-height: 20px;
position: relative;
padding: 0 16px;
width: 120px;
// margin-bottom: 20px;
height: 146px;
.title {
border-radius: 10px;
font-weight: bold;
// overflow: hidden;
font-size: 16px;
.thumb {
align-items: flex-start;
width: 120px;
line-height: 20px;
height: 146px;
height: 15px;
border-radius: 10px;
object-fit: cover;
margin-top: -25px;
}
.goods-stock {
position: absolute;
background: rgba(0, 0, 0, 0.2);
border-radius: 0 0 10px 10px;
width: 120px;
height: 18px;
bottom: 25px;
left: 0;
line-height: 18px;
text-align: center;
span {
font-size: 11px;
color: #ffffff;
margin-left: 1px;
}
}
}
}
.item-list-con {
}
background: url(~@/assets/img/blind-card.png) no-repeat;
.right-con {
background-size: 100% 100%;
flex-direction: column;
margin-bottom: 45px;
align-items: flex-start;
padding: 28px;
justify-content: space-around;
height: 160px;
height: 130px;
.left-img {
padding: 5px 10px 10px;
position: relative;
.title {
width: 120px;
width: 170px;
height: 146px;
font-size: 15px;
border-radius: 10px;
font-weight: 500;
// overflow: hidden;
color: #030711;
.thumb {
line-height: 21px;
width: 120px;
overflow: hidden;
height: 146px;
text-overflow: ellipsis;
border-radius: 10px;
white-space: nowrap;
object-fit: cover;
}
margin-top: -25px;
.circulationCount {
}
width: 86px;
.goods-stock {
height: 16px;
position: absolute;
line-height: 16px;
background: rgba(0, 0, 0, 0.2);
font-size: 10px;
border-radius: 0 0 10px 10px;
overflow: hidden;
width: 120px;
border-radius: 2px;
height: 18px;
margin-bottom: 22px;
bottom: 25px;
.label {
left: 0;
width: 35px;
line-height: 18px;
height: 16px;
text-align: center;
text-align: center;
span {
background: #f3e0bc;
font-size: 11px;
color: #030711;
color: #ffffff;
}
margin-left: 1px;
.num {
}
// width: 51px;
}
padding:0 8px;
min-width: 51px;
height: 16px;
background: #4b4b4c;
color: #f3e0bc;
text-align: center;
}
}
.right-con {
}
flex-direction: column;
.value {
align-items: flex-start;
font-size: 22px;
justify-content: space-around;
color: #f78706;
height: 130px;
.yen {
padding:5px 10px 10px;
display: inline-block;
.title {
font-size: 14px;
width: 170px;
transform: scale(0.8);
font-size: 15px;
font-weight: normal;
font-weight: 500;
width: 14px;
color: #030711;
line-height: 21px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.circulationCount {
width: 86px;
height: 16px;
line-height: 16px;
font-size: 10px;
overflow: hidden;
border-radius: 2px;
margin-bottom: 22px;
.label {
width: 35px;
height: 16px;
text-align: center;
background: #f3e0bc;
color: #030711;
}
.num {
width: 51px;
height: 16px;
background: #4b4b4c;
color: #f3e0bc;
text-align: center;
}
}
.value {
font-size: 22px;
color: #f78706;
.yen {
display: inline-block;
font-size: 14px;
transform: scale(0.8);
font-weight: normal;
width: 14px;
}
}
}
}
}
}
}
}
...
...
src/views/tab-bar/home/goods-list/blind-goods11.vue
0 → 100644
View file @
02b7fce0
<
template
>
<div
class=
"goods-list-template-con"
>
<div
class=
"blind-goods-item-con"
>
<div
class=
"header"
>
<div
class=
"title"
>
盲盒
</div>
</div>
<div
class=
"item-list-con flex-default"
v-for=
"(item, index) of list"
:key=
"'goods-item-' + index"
@
click=
"goGoods(item.goodsId, item.type,item.salesType)"
>
<div
class=
"left-img"
>
<img
class=
"thumb"
:src=
"item.thumb"
/>
<div
class=
"goods-stock"
v-if=
"item.stockCount"
>
<m-icon
icon=
"icon-hot-goods"
:size=
"10"
/>
<span>
热销中
</span>
</div>
<div
class=
"goods-stock"
v-else
>
<m-icon
icon=
"icon-sell-out"
:size=
"10"
/>
<span>
已售罄
</span>
</div>
</div>
<div
class=
"right-con flex-default"
>
<div
class=
"title"
>
{{
item
.
name
}}
</div>
<div
class=
"circulationCount flex-default"
>
<div
class=
"label"
>
限量
</div>
<div
class=
"num"
>
{{
item
.
circulationCount
}}
份
</div>
</div>
<div
class=
"value"
>
<span
class=
"yen"
>
¥
</span>
{{
item
.
defaultPrice
||
0
}}
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
GoodsItem
from
"./goods-item.vue"
;
export
default
{
components
:
{
GoodsItem
,
},
props
:
{
title
:
{
type
:
String
,
default
:
"电影专区"
,
},
line
:
{
type
:
Number
,
default
:
1
,
},
floorId
:
String
,
},
data
()
{
return
{
loading
:
true
,
list
:
[],
};
},
computed
:
{},
methods
:
{
requestData
()
{
this
.
loading
=
true
;
let
param
=
this
.
floorId
;
this
.
$api
({
apiName
:
"getFloorGoods"
,
postData
:
{
param
,
page
:
1
,
size
:
this
.
line
*
3
,
},
success
:
(
res
)
=>
{
this
.
list
=
res
.
list
;
setTimeout
(()
=>
{
this
.
loading
=
false
;
this
.
$emit
(
"loadSuccess"
);
},
500
);
},
});
},
},
};
</
script
>
<
style
lang=
"less"
>
.goods-list-template-con {
padding: 18px 11px;
background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%);
.blind-goods-item-con {
.header {
justify-content: space-between;
align-items: center;
color: #140603;
height: 50px;
line-height: 20px;
padding: 0 16px;
// margin-bottom: 20px;
.title {
font-weight: bold;
font-size: 16px;
align-items: flex-start;
line-height: 20px;
height: 15px;
}
}
.item-list-con {
background: url(~@/assets/img/blind-card.png) no-repeat;
background-size: 100% 100%;
margin-bottom: 45px;
padding: 28px;
height: 160px;
.left-img {
position: relative;
width: 120px;
height: 146px;
border-radius: 10px;
// overflow: hidden;
.thumb {
width: 120px;
height: 146px;
border-radius: 10px;
object-fit: cover;
margin-top: -25px;
}
.goods-stock {
position: absolute;
background: rgba(0, 0, 0, 0.2);
border-radius: 0 0 10px 10px;
width: 120px;
height: 18px;
bottom: 25px;
left: 0;
line-height: 18px;
text-align: center;
span {
font-size: 11px;
color: #ffffff;
margin-left: 1px;
}
}
}
.right-con {
flex-direction: column;
align-items: flex-start;
justify-content: space-around;
height: 130px;
padding:5px 10px 10px;
.title {
width: 170px;
font-size: 15px;
font-weight: 500;
color: #030711;
line-height: 21px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.circulationCount {
width: 86px;
height: 16px;
line-height: 16px;
font-size: 10px;
overflow: hidden;
border-radius: 2px;
margin-bottom: 22px;
.label {
width: 35px;
height: 16px;
text-align: center;
background: #f3e0bc;
color: #030711;
}
.num {
width: 51px;
height: 16px;
background: #4b4b4c;
color: #f3e0bc;
text-align: center;
}
}
.value {
font-size: 22px;
color: #f78706;
.yen {
display: inline-block;
font-size: 14px;
transform: scale(0.8);
font-weight: normal;
width: 14px;
}
}
}
}
}
}
</
style
>
\ No newline at end of file
src/views/tab-bar/home/goods-list/digital-collection-goods.vue
0 → 100644
View file @
02b7fce0
<
template
>
<div
class=
"item-list-con"
@
click=
"goGoods(data.goodsId, data.type, data.salesType)"
>
<div
class=
"img-box"
>
<img
class=
"thumb"
:src=
"data.thumb"
/>
<div
class=
"goods-stock"
v-if=
"data.stockCount"
>
<m-icon
icon=
"icon-hot-goods"
:size=
"10"
/>
<span>
热销中
</span>
</div>
<div
class=
"goods-stock"
v-else
>
<m-icon
icon=
"icon-sell-out"
:size=
"10"
/>
<span>
已售罄
</span>
</div>
</div>
<div
class=
"goods-desc"
>
<div
class=
"name"
>
{{
data
.
name
}}
</div>
<div
class=
"desc flex-between"
>
<div
class=
"circulationCount flex-default"
>
<div
class=
"label"
>
限量
</div>
<div
class=
"num"
>
{{
data
.
circulationCount
}}
份
</div>
</div>
<div
class=
"value"
>
<m-price
class=
"price"
:amt=
"data.defaultPrice"
:rmbSize=
"14"
:intSize=
"22"
:floatSize=
"22"
/>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
data
:
{
type
:
Object
,
default
:
()
=>
{
return
{};
},
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.item-list-con{
margin: 0 5px;
background: #ffffff;
border-radius: 8px;
margin-bottom: 18px;
.img-box{
position: relative;
width: 343px;
height: 270px;
.thumb{
width: 100%;
height: 100%;
border-radius: 10px;
object-fit: cover;
}
.goods-stock{
position: absolute;
top: 14px;
left: 12px;
background: rgba(0, 0, 0, 0.2);
border-radius: 0 0 2px 2px;
// width: 120px;
height: 18px;
line-height: 18px;
text-align: center;
padding: 0 4px;
span {
font-size: 11px;
color: #ffffff;
margin-left: 1px;
margin-right: 1px;
}
}
}
.goods-desc{
padding: 10px 15px 16px;
border-radius: 0 0 8px 8px;
.name{
font-size: 18px;
font-weight: 500;
font-family: PingFangSC-Medium, PingFang SC;
color: #030711;
line-height: 25px;
margin-bottom: 8px;
}
.desc{
.circulationCount {
// width: 86px;
height: 16px;
line-height: 16px;
font-size: 10px;
overflow: hidden;
border-radius: 2px;
.label {
width: 35px;
height: 16px;
text-align: center;
background: #f3e0bc;
color: #030711;
}
.num {
// width: 51px;
padding:0 8px;
min-width: 51px;
height: 16px;
background: #4b4b4c;
color: #f3e0bc;
text-align: center;
}
}
}
}
}
</
style
>
\ No newline at end of file
src/views/tab-bar/home/home-header.vue
View file @
02b7fce0
...
@@ -21,6 +21,7 @@ export default {
...
@@ -21,6 +21,7 @@ export default {
props
:
{
props
:
{
downHight
:
Number
,
downHight
:
Number
,
upHight
:
Number
,
upHight
:
Number
,
isShowSticky
:
Boolean
},
},
data
()
{
data
()
{
return
{};
return
{};
...
...
src/views/tab-bar/home/index.vue
View file @
02b7fce0
This diff is collapsed.
Click to expand it.
vue.config.js
View file @
02b7fce0
...
@@ -65,7 +65,7 @@ module.exports = {
...
@@ -65,7 +65,7 @@ module.exports = {
// target: 'http://172.22.17.176:12008'
// target: 'http://172.22.17.176:12008'
// target: 'http://172.22.17.108:12008'
// target: 'http://172.22.17.108:12008'
// target: 'https://mall.inmvo.com/root'
// target: 'https://mall.inmvo.com/root'
target
:
'http
://172.22.20.54:9089
'
target
:
'http
s://testym.8n.cn/root
'
},
},
'/chat'
:
{
'/chat'
:
{
pathRewrite
:
{
pathRewrite
:
{
...
...
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