Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mallapp
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
viitto
mallapp
Commits
9f27ab19
Commit
9f27ab19
authored
Aug 26, 2020
by
zhengke
Browse files
Options
Browse Files
Download
Plain Diff
1
parents
479853e6
66d06b4e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1008 additions
and
12 deletions
+1008
-12
index.vue
components/pagetitle/index.vue
+4
-4
index.vue
pages/pintuan/index.vue
+117
-0
tuangood.vue
pages/pintuan/tuangood.vue
+879
-0
user-center.vue
pages/user-center/user-center.vue
+8
-8
search.png
static/images/icon/search.png
+0
-0
No files found.
components/pagetitle/index.vue
View file @
9f27ab19
...
...
@@ -52,13 +52,13 @@ export default {
return
{};
},
methods
:
{
clickTitleHandler
(
e
)
{
clickTitleHandler
()
{
if
(
this
.
ts
.
link
&&
this
.
ts
.
link
.
new_link_
url
&&
this
.
ts
.
link
.
new_link_
url
!=
""
this
.
ts
.
link
.
url
&&
this
.
ts
.
link
.
url
!=
""
)
{
uni
.
navigateTo
({
url
:
this
.
ts
.
link
.
new_link_
url
});
uni
.
navigateTo
({
url
:
this
.
ts
.
link
.
url
});
}
}
}
...
...
pages/pintuan/index.vue
0 → 100644
View file @
9f27ab19
<
template
>
<view>
<view
:style=
"
{ height: contentHeight + 'px' }" style="voerflow: hidden; overflow-y: auto;">
<view
class=
"head-pin-box"
>
<view
class=
"left"
>
<image
src=
"../../static/images/icon/search.png"
mode=
"widthfix"
style=
"width:20px;height:20px;"
/>
</view>
<view
class=
"middle"
></view>
<view
class=
"right"
>
<u-tabs
name=
"name"
:list=
"myPageData.home_pages.navs"
:is-scroll=
"true"
:active-color=
"mainColor"
:current=
"active"
:bar-width=
"80"
:font-size=
"32"
:bold=
"false"
@
change=
"changeHandler"
></u-tabs>
</view>
</view>
</view>
<tabbars></tabbars>
</view>
</
template
>
<
script
>
import
tabbars
from
"@/components/tabbar/index"
;
export
default
{
components
:
{
tabbars
,
},
data
()
{
return
{
contentHeight
:
0
,
pageTitle
:
"拼团"
,
advertisement
:{},
banners
:[]
};
},
mounted
()
{
let
currentPages
=
getCurrentPages
();
let
c
=
this
.
$uiConfig
.
is_bang
?
80
:
52
;
this
.
contentHeight
=
this
.
$utils
.
calcContentHeight
(
c
);
console
.
log
(
this
.
contentHeight
);
let
u
=
"/"
+
currentPages
[
currentPages
.
length
-
1
].
route
;
let
pages
=
uni
.
getStorageSync
(
"basedata"
)
?
uni
.
getStorageSync
(
"basedata"
).
bar_title
:
[];
pages
.
forEach
((
x
)
=>
{
if
(
x
.
value
==
u
)
{
this
.
pageTitle
=
x
.
new_name
?
x
.
new_name
:
x
.
name
;
}
});
uni
.
setNavigationBarTitle
({
title
:
this
.
pageTitle
,
});
// this.init();
// this.getStyle();
uni
.
showNavigationBarLoading
();
},
methods
:
{
init
()
{
let
h
=
this
.
apiheader
();
this
.
request
(
{
url
:
""
,
header
:
h
,
data
:
{
r
:
"plugin/pintuan/api/v2/index/index"
,
status
:
this
.
current
+
1
,
page
:
this
.
page
,
},
},
(
res
)
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
list
.
length
>
0
)
{
this
.
g
=
this
.
g
.
concat
(
res
.
data
.
list
);
}
}
);
},
},
};
</
script
>
<
style
>
.head-pin-box
{
height
:
80
rpx
;
display
:
flex
;
align-items
:
center
;
padding
:
0
20
rpx
;
}
.head-pin-box
.left
{
height
:
100%
;
width
:
90
rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.head-pin-box
.middle
{
width
:
2
rpx
;
background
:
#ddd
;
height
:
45
rpx
;
margin
:
0
20
rpx
;
}
.head-pin-box
.right
{
height
:
100%
;
flex
:
1
;
}
</
style
>
\ No newline at end of file
pages/pintuan/tuangood.vue
View file @
9f27ab19
<
template
>
<view
class=
"goods"
>
<view
class=
"u-skeleton"
v-if=
"isExsitGoods"
>
<view
class=
"u-skeleton-rect"
>
<u-swiper
:list=
"g.pic_url"
height=
"100"
unit=
"vw"
:interval=
"10000"
name=
"pic_url"
:border-radius=
"0"
@
click=
"previewImage"
></u-swiper>
<view
class=
"is_share"
v-if=
"g.share > 0"
style=
"top:240px;"
>
<image
src=
"@/static/images/icon/WechatIMG424.png"
style=
"width: 20px; margin-left: 12px; opacity: 1;height: auto;"
mode=
"widthFix"
/>
<view
style=
"
display: flex;
flex-direction: column;
margin-left: 8px;
font-size: 11px;
color: #fff;
opacity: 1;
"
>
<Text>
即刻分享赚
</Text>
<Text>
¥
{{
g
.
share
}}
</Text>
</view>
</view>
<view
class=
"is_share"
v-if=
"g.myBuyCommission > 0"
>
<image
src=
"@/static/images/icon/WechatIMG424.png"
style=
"width: 20px; margin-left: 12px; opacity: 1;height: auto;"
mode=
"widthFix"
/>
<view
style=
"
display: flex;
flex-direction: column;
margin-left: 8px;
font-size: 11px;
color: #fff;
opacity: 1;
"
>
<Text>
即刻购买省
</Text>
<Text>
¥
{{
g
.
myBuyCommission
}}
</Text>
</view>
</view>
</view>
<view
class=
"g-info"
>
<view
class=
"g-name u-skeleton-rect"
>
<view
v-if=
"g.marketingLogo.iswords&&g.marketingLogo.iswords==1 && g.marketingLogo.words!=''"
class=
"Logo"
:style=
"
{color: g.marketingLogo.wordsColor,
background:g.marketingLogo.wordsBack ,}"
>
{{
g
.
marketingLogo
.
words
}}
</view>
<image
v-if=
"g.marketingLogo.iswords&&g.marketingLogo.iswords==2&& g.marketingLogo.ico!=''"
mode=
"heightFix"
:src=
"g.marketingLogo.ico"
style=
" height: 12px;margin-right: 5px"
/>
{{
g
.
name
}}
</view>
<view
class=
"g-price-box"
>
<view
class=
"left"
>
<view
class=
"price u-skeleton-rect"
:style=
"
{ color: mc }">
<text
class=
"small"
>
¥
</text>
<text
class=
"numfont"
>
{{
g
.
price_min
==
g
.
price_max
?
g
.
price_min
:
g
.
price_min
+
'-'
+
g
.
price_max
}}
</text>
</view>
<!-- TODO is_common_user_member_price 普通用户会员价 -->
<!-- TODO is_member_user_member_price 会员用户会员价 -->
<view
class=
"sell u-skeleton-rect"
>
<text
class=
"oprice"
v-if=
"setting.is_underline_price == 1"
>
{{
g
.
original_price
}}
</text>
<text
v-if=
"setting.is_sales == 1"
>
已售出
{{
g
.
sales
}}{{
g
.
unit
}}
</text>
</view>
</view>
<view
class=
"right u-skeleton-rect"
@
click=
"openShare"
v-if=
"isAllowShare == 1"
>
<image
src=
"@/static/images/icon/icon-share.png"
class=
"share-icon"
/>
<text>
分享
</text>
</view>
</view>
</view>
<view
class=
"sku-box u-skeleton-rect"
style=
"align-items: flex-start;"
>
<view
class=
"label"
style=
"margin-top: 5px;"
>
活动
</view>
<view
class=
"content"
style=
"display: flex;flex-direction: column"
>
<view
style=
"display: flex;flex-direction: row;align-items: center;margin-bottom: 5px;"
v-if=
"g.goods_marketing_award.integral.title != ''"
>
<u-tag
text=
"送积分"
type=
"error"
/>
<text
style=
"margin-left: 5px; font-size: 12px;"
>
{{
g
.
goods_marketing_award
.
integral
.
title
}}
</text>
</view>
<view
style=
"display: flex;flex-direction: row;align-items: center"
v-if=
"g.goods_marketing_award.PresentFXGradeMsg != ''"
@
click=
"goVIP"
>
<u-tag
text=
"送会员"
type=
"error"
/>
<text
style=
"margin-left: 5px; font-size: 12px;"
>
{{
g
.
goods_marketing_award
.
PresentFXGradeMsg
}}
</text>
</view>
<view
style=
"display: flex;flex-direction: row;align-items: center;margin-top: 5px;"
@
click=
"goUrl(g.FreeShippingUrl)"
v-if=
"g.freeShippingName != null && g.freeShippingName != '' && (g.fullMoneyPinkage > 0 || g.fullNumPinkage > 0)"
>
<view
style=
"color: #fa3534;background: #fef0f0;padding: 12rpx 22rpx; font-size: 22rpx;margin-right: 5px;border: 1px solid #fde2e2;border-radius: 6rpx;"
>
{{
g
.
freeShippingName
!=
null
?
g
.
freeShippingName
:
''
}}
</view>
{{
g
.
fullMoneyPinkage
>
0
&&
g
.
fullNumPinkage
==
0
?
g
.
fullMoneyPinkage
+
'元包邮'
:
''
}}
{{
g
.
fullMoneyPinkage
==
0
&&
g
.
fullNumPinkage
>
0
?
g
.
fullNumPinkage
+
'件包邮'
:
''
}}
</view>
<!--
<view
style=
"margin-top: 5px;"
v-if=
"
g.goods_marketing_award.PresentFXGradeMsg == ''
&& g.goods_marketing_award.integral.title == '' &&
g.freeShippingName!=null && g.freeShippingName !='' &&(g.fullMoneyPinkage == 0 && g.fullNumPinkage==0)
"
>
<text>
暂无活动
</text>
</view>
-->
</view>
</view>
<view
class=
"sku-box u-skeleton-rect"
style=
"align-items: flex-start;"
v-if=
"sku.length > 0"
>
<view
class=
"label"
>
选择
</view>
<view
class=
"content"
>
<view
class=
"sku-chosen"
@
click=
"chosenSku"
>
<view
class=
"sku"
>
{{
currentSku
.
attr_list
.
length
>
0
?
'已'
:
'请'
}}
选择
{{
sku
}}
</view>
<view
class=
"arrow"
>
<u-icon
name=
"arrow"
:size=
"32"
color=
"#111"
></u-icon>
</view>
</view>
<view
class=
"suk-item"
style=
"flex-wrap: wrap;"
>
<template
v-if=
"skuimage.length > 0"
>
<view
v-for=
"(x, i) in skuimage"
class=
"item img"
style=
"margin-bottom: 5px;"
:key=
"i"
>
<image
:src=
"x"
style=
"width: 100%; height: 100%;"
/>
</view>
<view
class=
"item"
v-if=
"g.attr_groups[0].attr_list.length > 1"
>
共
{{
g
.
attr_groups
[
0
].
attr_list
.
length
}}
种
{{
g
.
attr_groups
[
0
].
attr_group_name
}}
可选
</view>
</
template
>
<
template
v-else
>
<template
v-for=
"(x, i) in g.attr_groups[0].attr_list"
>
<view
class=
"item"
v-if=
"i
<
5
"
:key=
"i"
style=
"margin-bottom: 5px;"
>
{{
x
.
attr_name
}}
</view>
</
template
>
<view
class=
"item"
v-if=
"g.attr_groups[0].attr_list.length > 1"
>
共{{ g.attr_groups[0].attr_list.length }}种{{ g.attr_groups[0].attr_group_name }}可选
</view>
</template>
</view>
</view>
</view>
<view
class=
"sku-box u-skeleton-rect"
v-if=
"setting.is_express == '1'"
>
<view
class=
"label"
>
快递
</view>
<view
class=
"content"
>
{{ g.express == '' ? '免运费' : '¥' + g.express }}
</view>
</view>
<view
class=
"sku-box u-skeleton-rect"
style=
"margin-top: -10;"
v-if=
"g.goods_marketing.shipping != ''"
>
<view
class=
"label"
>
包邮
</view>
<view
class=
"content"
>
{{ g.goods_marketing.shipping }}
</view>
</view>
<view
class=
"sku-box u-skeleton-rect"
style=
"margin-top: -10;"
v-if=
"g.goods_marketing.limit != ''"
>
<view
class=
"label"
>
限购
</view>
<view
class=
"content"
>
{{ g.goods_marketing.limit }}
</view>
</view>
<view
class=
"sku-box u-skeleton-rect"
v-if=
"comments.length == 0 && setting.is_comment == 1"
>
<view
class=
"label"
>
暂无评论信息
</view>
</view>
<view
class=
"comment"
v-if=
"comments.length > 0"
>
<view
class=
"chead"
>
<u-section
:bold=
"false"
:sub-color=
"secondary"
:show-split=
"false"
:title=
"`商品评价(${comments.length})`"
sub-title=
"查看更多"
@
click=
"clickCommentHandler"
font-size=
"24"
></u-section>
</view>
<view
class=
"content"
>
<view
class=
"u-box"
>
<view
class=
"user"
>
<u-avatar
:src=
"comments[0].UserPhotoPath"
:size=
"50"
></u-avatar>
<text
style=
"margin-left: 10px;"
>
{{ comments[0].UserName }}
</text>
</view>
<view
class=
"timer"
>
{{ comments[0].CreateDate }}
</view>
</view>
<view
class=
"ucontent"
>
{{ comments[0].Content }}
</view>
</view>
</view>
<u-divider
:margin-top=
"20"
:margin-bottom=
"20"
bg-color=
"transparent"
>
商品详情
</u-divider>
<view
class=
"details"
>
<!-- <rich-text :nodes="detailContent" @click="clickDescription"></rich-text> -->
<h-parse
:content=
"detailContent"
@
navigate=
"clickDescription"
></h-parse>
</view>
<u-divider
:margin-top=
"20"
:margin-bottom=
"20"
bg-color=
"transparent"
>
或许你喜欢
</u-divider>
<view
style=
"width: calc(100vw - 20px); margin-left: 10px; overflow: hidden;"
>
<goodlist
:list=
"recommend"
></goodlist>
</view>
<u-skeleton
v-if=
"loading"
:loading=
"true"
:animation=
"true"
bgcolor=
"#FFF"
></u-skeleton>
<goodsaction
v-if=
"!loading"
:good-name=
"g.name"
:cover-pic=
"g.cover_pic"
:favorite=
"g.favorite"
:good-id=
"id"
:total-stock=
"g.totalStock"
:status=
"g.status"
@
joincar=
"joinCar"
@
buy=
"buy"
></goodsaction>
<goodsku
v-if=
"!loading && showSku"
border-radius=
"10"
v-model=
"showSku"
:mask-close-able=
"true"
:safe-area-inset-bottom=
"true"
:good=
"g"
:option-type=
"ot"
:skued=
"currentSku"
@
close=
"closeSkuChosen"
></goodsku>
</view>
<u-empty
text=
"没有找到商品,或商品已下架"
mode=
"favor"
v-if=
"!isExsitGoods"
></u-empty>
<share
:good-id=
"id"
v-if=
"showShare"
:good-name=
"g.name"
:images=
"g.pic_url"
:advertising=
"g.advertising"
@
close=
"closeShare"
></share>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
<coupon
v-if=
"showCoupons"
:coupon-message=
"couponMessage"
@
goLook=
"goLook"
@
closeBtn=
"closeBtn"
></coupon>
</view>
</template>
<
script
>
// #ifdef APP-NVUE
const
dom
=
weex
.
requireModule
(
"dom"
);
// #endif
import
goodlist
from
"@/components/goods/list"
;
import
goodsaction
from
"./components/goodsaction"
;
import
goodsku
from
"@/components/goods/goodsku"
;
import
auth
from
"@/components/auth/index"
;
import
coupon
from
"@/components/coupons/coupons"
;
import
share
from
"./components/share/share"
;
import
hParse
from
"@/components/u-parse/parse.vue"
;
export
default
{
data
()
{
return
{
id
:
0
,
loading
:
true
,
g
:
{},
imgs
:
[],
mc
:
""
,
sku
:
""
,
skuimage
:
[],
comments
:
[],
secondary
:
""
,
detailContent
:
""
,
recommend
:
[],
showSku
:
false
,
ot
:
0
,
currentSku
:
{},
isExsitGoods
:
true
,
pageTitle
:
"商品详情"
,
setting
:
{},
prevPage
:
""
,
//自定义接手传递
opTionObj
:
{},
showShare
:
false
,
msg
:
{
pageIndex
:
1
,
pageSize
:
20
,
GoodsId
:
0
,
CommentGrade
:
0
,
},
showAuth
:
false
,
showCoupons
:
false
,
couponMessage
:
""
,
isAllowShare
:
1
,
u
:
{},
vipState
:
{},
};
},
components
:
{
goodlist
,
goodsaction
,
goodsku
,
auth
,
coupon
,
share
,
hParse
,
},
onLoad
(
option
)
{
this
.
opTionObj
=
option
;
console
.
log
(
option
,
"option"
);
if
(
option
&&
option
.
id
)
{
this
.
id
=
option
.
id
?
option
.
id
:
29
;
//40887 59512 46942
}
else
{
this
.
id
=
option
.
GoodsId
?
option
.
GoodsId
:
29
;
//40887 59512 46942
}
if
(
option
&&
option
.
custom_params
)
{
let
custom_params
=
JSON
.
parse
(
decodeURIComponent
(
option
.
custom_params
));
console
.
log
(
custom_params
);
if
(
custom_params
.
user_id
)
{
uni
.
setStorageSync
(
"pid"
,
{
pid
:
custom_params
.
user_id
});
}
}
if
(
option
&&
option
.
user_id
)
{
uni
.
setStorageSync
(
"pid"
,
{
pid
:
option
.
user_id
});
}
if
(
uni
.
getStorageSync
(
"AnchorName"
))
{
//如果有主播名称了先清除
uni
.
removeStorageSync
(
"AnchorName"
);
}
if
(
option
&&
option
.
AnchorName
)
{
//当传过来有主播名称的时候 存入缓存
uni
.
setStorageSync
(
"AnchorName"
,
{
AnchorName
:
option
.
AnchorName
});
}
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
this
.
init
();
this
.
initPage
();
this
.
getVipId
();
this
.
mc
=
this
.
$uiConfig
.
mainColor
;
this
.
secondary
=
this
.
$uiConfig
.
secondary
;
this
.
setting
=
uni
.
getStorageSync
(
"basedata"
).
mall
.
setting
;
wx
.
showShareMenu
({
withShareTicket
:
true
,
menus
:
[
"shareAppMessage"
,
"shareTimeline"
],
});
},
onShareTimeline
()
{
setTimeout
(()
=>
{
console
.
log
(
"分享调用"
);
this
.
getReceive
();
},
2500
);
let
uid
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
?
uni
.
getStorageSync
(
"mall_UserInfo"
).
UserId
:
0
;
let
title
=
this
.
g
.
app_share_title
!=
null
&&
this
.
g
.
app_share_title
!=
""
?
this
.
g
.
app_share_title
:
this
.
g
.
name
;
let
imageUrl
=
this
.
g
.
app_share_pic
!=
null
&&
this
.
g
.
app_share_pic
!=
""
?
this
.
g
.
app_share_pic
:
this
.
g
.
pic_url
[
0
].
pic_url
;
let
id
=
this
.
id
;
return
{
title
:
title
,
query
:
"id="
+
this
.
id
+
"&user_id="
+
uid
,
imageUrl
:
imageUrl
,
};
},
onShareAppMessage
(
res
)
{
setTimeout
(()
=>
{
console
.
log
(
"分享调用"
);
this
.
getReceive
();
},
2500
);
let
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
let
uid
=
u
.
UserId
?
u
.
UserId
:
0
;
return
{
title
:
this
.
g
.
app_share_title
!=
null
&&
this
.
g
.
app_share_title
!=
""
?
this
.
g
.
app_share_title
:
this
.
g
.
name
,
path
:
"/pages/goods/goods?id="
+
this
.
id
+
"&user_id="
+
uid
,
imageUrl
:
this
.
g
.
app_share_pic
!=
null
&&
this
.
g
.
app_share_pic
!=
""
?
this
.
g
.
app_share_pic
:
this
.
g
.
pic_url
[
0
].
pic_url
,
};
},
mounted
()
{
setTimeout
(()
=>
{
this
.
initImages
();
},
3000
);
},
methods
:
{
clickDescription
(
e
)
{
console
.
log
(
e
);
},
initImages
()
{
// let that = this;
let
info
=
uni
.
createSelectorQuery
().
in
(
this
);
info
.
select
(
".goods"
)
.
boundingClientRect
((
data
)
=>
{
console
.
log
(
"得到布局位置信息"
+
JSON
.
stringify
(
data
));
})
.
exec
();
},
reloadUserinfo
()
{
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
// this.showAuth = false;
this
.
init
();
this
.
initPage
();
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
},
initPage
()
{
let
currentPages
=
getCurrentPages
();
let
u
=
"/"
+
currentPages
[
currentPages
.
length
-
1
].
route
;
let
pages
=
uni
.
getStorageSync
(
"basedata"
)
?
uni
.
getStorageSync
(
"basedata"
).
bar_title
:
[];
pages
.
forEach
((
x
)
=>
{
if
(
x
.
value
==
u
)
{
this
.
pageTitle
=
x
.
new_name
?
x
.
new_name
:
x
.
name
;
}
});
uni
.
setNavigationBarTitle
({
title
:
this
.
pageTitle
,
});
},
clickCommentHandler
()
{
uni
.
navigateTo
({
url
:
"/pages/goods/comment-list?id="
+
this
.
id
,
});
},
getVipId
()
{
//获取会员ID
this
.
request2
(
{
url
:
"/api/AppletGoods/GetAppletVipGradeInfo"
,
data
:
{},
},
(
res
)
=>
{
if
(
res
.
data
)
{
this
.
vipState
=
res
.
data
.
VIPModel
;
}
// this.initRecommend();
}
);
},
goVIP
()
{
//跳转到购买的页面查看
let
GradeId
=
this
.
vipState
.
Id
;
uni
.
navigateTo
({
url
:
"/pages/share/buyInterest/index?showLook=1&GradeId="
+
GradeId
,
});
},
init
()
{
this
.
loading
=
true
;
this
.
request2
(
{
url
:
"/api/AppletGoods/GetAppletGoodsInfo"
,
data
:
{
GoodsId
:
this
.
id
,
},
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
g
=
res
.
data
.
goods
;
this
.
g
.
totalStock
=
0
;
this
.
g
.
attr
.
forEach
((
x
)
=>
{
this
.
g
.
totalStock
+=
x
.
stock
;
});
this
.
g
.
marketingLogo
=
JSON
.
parse
(
this
.
g
.
marketingLogo
);
this
.
isAllowShare
=
res
.
data
.
goods
.
isAllowShare
;
//1为可以分享 2为不能分享
if
(
this
.
isAllowShare
==
2
)
{
//隐藏分享的按钮
wx
.
hideShareMenu
({
menus
:
[
"shareAppMessage"
,
"shareTimeline"
],
});
}
this
.
g
.
pic_url
.
forEach
((
x
)
=>
{
this
.
imgs
.
push
(
x
.
pic_url
);
});
if
(
this
.
g
.
attr_groups
.
length
>
0
)
{
this
.
g
.
attr_groups
.
forEach
((
x
,
i
)
=>
{
if
(
i
>
0
)
{
this
.
sku
+=
","
;
}
this
.
sku
+=
x
.
attr_group_name
;
});
this
.
g
.
attr_groups
[
0
].
attr_list
.
forEach
((
x
)
=>
{
if
(
x
.
pic_url
)
{
this
.
skuimage
.
push
(
x
.
pic_url
);
}
});
}
var
richtext
=
this
.
g
.
detail
;
// richtext = richtext.replace(
// /
<
img
/
g
,
// '
<
img
style
=
"margin-top:-4px;width:100%"
'
// );
this.detailContent = richtext;
this.loading = false;
//登录在调用评论接口
if (this.u) {
this.initComments();
this.setFootMarkInfo(res.data.goods.id);
}
this.initRecommend();
} else {
this.isExsitGoods = false;
}
}
);
},
previewImage(i) {
uni.previewImage({
urls: this.imgs,
current: i,
longPressActions: {
itemList: ["发送给朋友", "保存图片", "收藏"],
success: function (data) {
console.log(
"选中了第" +
(data.tapIndex + 1) +
"个按钮,第" +
(data.index + 1) +
"张图片"
);
},
fail: function (err) {
console.log(err.errMsg);
},
},
});
},
initComments() {
this.msg.GoodsId = this.id;
this.request2(
{
url: "/api/AppletOrder/GetAppletGoodsCommentPageList",
data: this.msg,
},
(res) => {
this.comments = res.data.pageData;
// this.initRecommend();
},
(err) => {
this.u = uni.getStorageSync("mall_UserInfo");
this.init();
this.initPage();
}
);
},
initRecommend() {
this.request2(
{
url: "/api/AppletGoods/GetAppletGoodsRecommendListForZY",
data: {
RecommendType: 1,
},
},
(res) => {
this.recommend = res.data.List;
}
);
},
setFootMarkInfo(id) {
this.request2(
{
url: "/api/AppletUser/SetUserFootMarkInfo",
data: {
GoodsId: id,
},
},
(res) => {}
);
},
joinCar() {
console.log("触发1");
this.showSku = true;
this.ot = 0;
},
buy() {
this.showSku = true;
this.ot = 1;
},
chosenSku() {
if (this.u) {
this.showSku = true;
this.ot = 2;
} else {
this.showAuth = true;
}
},
closeSkuChosen(obj) {
this.sku = "";
if (obj) {
this.currentSku = obj;
obj.attr_list.forEach((x, i) => {
if (i > 0) {
this.sku += ",";
}
this.sku += `"${x.attr_name}" `;
});
} else {
this.g.attr_groups.forEach((x, i) => {
if (i > 0) {
this.sku += ",";
}
this.sku += x.attr_group_name;
});
}
},
closeShare() {
this.showShare = false;
},
openShare() {
this.showShare = true;
},
getReceive() {
//分享进入调取领券接口
// 1-分享,2-购买并付款
this.request2(
{
url: "/api/AppletUser/ShareCoupon",
data: {
TriggerType: 1,
},
},
(res) => {
console.log(res, "res");
if (res.couponResultCode == 1) {
this.couponMessage = res.couponMessage;
this.showCoupons = true;
}
}
);
},
goLook() {
this.showCoupons = true;
uni.navigateTo({
url: "/pages/coupon/index/index",
});
},
closeBtn() {
this.showCoupons = false;
},
goUrl(url) {
uni.navigateTo({
url: url,
});
},
},
};
</
script
>
<
style
>
@font-face
{
font-family
:
"oswald"
;
src
:
url("https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/smallapp/Oswald-Regular.ttf")
;
}
.goods
{
height
:
100%
;
background
:
#f5f5f5
;
padding-bottom
:
55px
;
}
.goods
.g-info
{
background
:
#fff
;
padding
:
10px
;
}
.goods
.g-info
.g-name
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
font-size
:
16px
;
height
:
45px
;
}
.goods
.g-info
.g-price-box
{
display
:
flex
;
align-items
:
flex-end
;
}
.goods
.g-info
.g-price-box
.left
{
flex
:
1
;
width
:
1px
;
}
.goods
.g-info
.g-price-box
.left
.price
{
margin
:
15px
0
;
font-size
:
24px
;
font-weight
:
bold
;
height
:
31px
;
}
.goods
.g-info
.g-price-box
.left
.price
.small
{
font-size
:
16px
;
}
.goods
.numfont
{
font-family
:
"oswald"
;
font-weight
:
unset
;
}
.goods
.g-info
.g-price-box
.left
.sell
{
font-size
:
12px
;
color
:
gray
;
}
.goods
.g-info
.g-price-box
.left
.sell
.oprice
{
text-decoration
:
line-through
;
margin-right
:
12px
;
}
.goods
.g-info
.g-price-box
.right
{
width
:
30px
;
margin-left
:
20px
;
height
:
100%
;
font-size
:
12px
;
color
:
#333
;
}
.goods
.g-info
.g-price-box
.right
.share-icon
{
width
:
22px
;
height
:
22px
;
margin-bottom
:
12
rpx
;
}
.goods
.sku-box
{
margin
:
10px
0
;
background
:
#fff
;
display
:
flex
;
padding
:
15px
10px
;
align-items
:
center
;
}
.goods
.sku-box
.label
{
font-size
:
12px
;
color
:
gray
;
margin-right
:
15px
;
}
.goods
.details
{
padding
:
10px
;
}
.goods
.sku-box
.content
{
width
:
1px
;
flex
:
1
;
color
:
#000
;
font-size
:
12px
;
}
.goods
.sku-box
.content
.sku-chosen
{
display
:
flex
;
align-items
:
center
;
}
.goods
.sku-box
.content
.sku-chosen
.arrow
{
width
:
20px
;
}
.goods
.sku-box
.content
.sku-chosen
.sku
{
font-size
:
12px
;
width
:
1
rpx
;
flex
:
1
;
}
.goods
.sku-box
.content
.suk-item
{
margin-top
:
10px
;
display
:
flex
;
}
.goods
.sku-box
.content
.suk-item
.item
{
margin-right
:
5px
;
background
:
#f5f5f5
;
height
:
24px
;
line-height
:
24px
;
font-size
:
12px
;
padding
:
0
5px
;
border-radius
:
3px
;
overflow
:
hidden
;
color
:
#999
;
}
.goods
.sku-box
.content
.suk-item
.item.img
{
padding
:
0
;
width
:
24px
;
}
.goods
.comment
{
margin
:
10px
0
;
background
:
#fff
;
padding
:
10px
;
}
.goods
.comment
.chead
{
padding-bottom
:
10px
;
border-bottom
:
1px
solid
#f1f1f1
;
}
.goods
.comment
.content
{
display
:
flex
;
flex-direction
:
column
;
margin-top
:
15px
;
}
.goods
.comment
.content
.u-box
{
display
:
flex
;
margin-bottom
:
10px
;
align-items
:
center
;
}
.goods
.comment
.content
.u-box
.user
{
flex
:
1
;
font-size
:
12px
;
color
:
gray
;
align-items
:
center
;
display
:
flex
;
}
.goods
.comment
.content
.u-box
.timer
{
font-size
:
12px
;
color
:
gray
;
text-align
:
right
;
flex
:
1
;
}
.goods
.comment
.content
.u-box
.ucontent
{
font-size
:
12px
;
color
:
#000
;
margin-top
:
10px
;
}
.goods
.detals
{
padding
:
10px
;
background
:
#fff
;
margin-top
:
10px
;
}
.goods
.detals
*
{
max-width
:
100%
;
}
.goods
.is_share
{
width
:
120px
;
height
:
45px
;
border-top-left-radius
:
22.5px
;
border-bottom-left-radius
:
22.5px
;
background
:
#111
;
opacity
:
0.8
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
position
:
absolute
;
top
:
300px
;
right
:
0
;
}
.goods
.Logo
{
padding
:
1px
5px
;
display
:
inline-block
;
font-size
:
22
rpx
;
margin-right
:
5
rpx
;
border-radius
:
4px
;
}
</
style
>
pages/user-center/user-center.vue
View file @
9f27ab19
...
...
@@ -195,17 +195,17 @@ export default {
onLoad
()
{
this
.
navHeight
=
this
.
$navHeight
-
2
;
this
.
u
=
wx
.
getStorageSync
(
'basedata'
).
user_info
;
this
.
mall_UserInfo
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
?
uni
.
getStorageSync
(
"mall_UserInfo"
):{}
;
this
.
mall_UserInfo
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
this
.
nav
=
uni
.
getMenuButtonBoundingClientRect
().
top
+
'px'
;
this
.
headStyle
.
background
=
`linear-gradient(to right, '#6E75EA',80%, '#B984EC')`
;
this
.
headStyle
.
paddingTop
=
this
.
nav
;
// if (!this.u
) {
// this.u
= {
//
nickname: '未登录',
//
avatarUrl: ''
//
};
//
this.showAuth = true;
//
}
if
(
!
this
.
mall_UserInfo
)
{
this
.
mall_UserInfo
=
{
nickname
:
'未登录'
,
avatarUrl
:
''
};
this
.
showAuth
=
true
;
}
},
mounted
()
{
let
currentPages
=
getCurrentPages
();
...
...
static/images/icon/search.png
0 → 100644
View file @
9f27ab19
683 Bytes
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