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
b44f1601
Commit
b44f1601
authored
Aug 28, 2020
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
临时提交
parent
26cbedf8
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
709 additions
and
596 deletions
+709
-596
pages.json
pages.json
+47
-47
goods.vue
pages/goods/goods.vue
+7
-7
order-commit.vue
pages/order/order-commit.vue
+15
-0
index.vue
pages/quick_share/index.vue
+546
-446
api.js
plugin/api.js
+94
-96
No files found.
pages.json
View file @
b44f1601
...
...
@@ -33,7 +33,7 @@
{
"path"
:
"pages/webbox/webbox"
}
],
"subPackages"
:
[{
"root"
:
"pages/goods"
,
...
...
@@ -81,7 +81,7 @@
"root"
:
"pages/live"
,
"plugins"
:
{
"live-player-plugin"
:
{
"version"
:
"1.1.
4
"
,
"version"
:
"1.1.
8
"
,
"provider"
:
"wx2b03c6e691cd7370"
}
},
...
...
@@ -253,51 +253,51 @@
}
]
},
{
"root"
:
"pages/microShop"
,
"pages"
:
[{
"path"
:
"index/index"
,
"style"
:
{
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"myClients/myClients"
},
{
"path"
:
"wdWithdrawal"
},
{
"path"
:
"wdOrder"
},
{
"path"
:
"wdCase"
},
{
"path"
:
"shopSettings"
},
{
"path"
:
"storeManagement/storeManagement"
},
{
"path"
:
"storeManagement/goodsEdit"
},
{
"path"
:
"storeManagement/addGoods"
},
{
"path"
:
"storeManagement/index"
}
]
},
{
"root"
:
"pages/quick_share"
,
"pages"
:
[{
"path"
:
"index"
}]
}
{
"root"
:
"pages/microShop"
,
"pages"
:
[{
"path"
:
"index/index"
,
"style"
:
{
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"myClients/myClients"
},
{
"path"
:
"wdWithdrawal"
},
{
"path"
:
"wdOrder"
},
{
"path"
:
"wdCase"
},
{
"path"
:
"shopSettings"
},
{
"path"
:
"storeManagement/storeManagement"
},
{
"path"
:
"storeManagement/goodsEdit"
},
{
"path"
:
"storeManagement/addGoods"
},
{
"path"
:
"storeManagement/index"
}
]
},
{
"root"
:
"pages/quick_share"
,
"pages"
:
[{
"path"
:
"index"
}]
}
],
"globalStyle"
:
{
"navigationBarTextStyle"
:
"black"
,
...
...
pages/goods/goods.vue
View file @
b44f1601
...
...
@@ -462,13 +462,13 @@ export default {
},
initImages
()
{
// let that = this;
let
info
=
uni
.
createSelectorQuery
().
in
(
this
);
info
.
select
(
".goods"
)
.
boundingClientRect
((
data
)
=>
{
console
.
log
(
"得到布局位置信息"
+
JSON
.
stringify
(
data
));
})
.
exec
();
//
let info = uni.createSelectorQuery().in(this);
//
info
//
.select(".goods")
//
.boundingClientRect((data) => {
//
console.log("得到布局位置信息" + JSON.stringify(data));
//
})
//
.exec();
// info
// .boundingClientRect(function (data) {
// console.log(data)
...
...
pages/order/order-commit.vue
0 → 100644
View file @
b44f1601
<
template
>
<view
class=
"commit-box"
>
</view>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
pages/quick_share/index.vue
View file @
b44f1601
<
style
>
.quick_top
{
display
:
flex
;
margin
:
10px
auto
;
}
.quick_top
{
display
:
flex
;
margin
:
10px
auto
;
}
.quick_slider
{
padding
:
5px
17px
;
border-radius
:
20px
;
background-color
:
#EBEBEB
;
color
:
#272727
;
display
:
inline-block
;
font-size
:
12px
;
margin-left
:
10px
;
letter-spacing
:
2px
;
}
.quick_slider
{
padding
:
5px
17px
;
border-radius
:
20px
;
background-color
:
#ebebeb
;
color
:
#272727
;
display
:
inline-block
;
font-size
:
12px
;
margin-left
:
10px
;
letter-spacing
:
2px
;
}
.quick_arrow
{
width
:
10%
;
}
.quick_arrow
{
width
:
10%
;
}
.quick_arrow
.u_icon
{
margin-left
:
20%
;
line-height
:
30px
;
color
:
#cd9621
;
font-size
:
20px
;
}
.quick_arrow
.u_icon
{
margin-left
:
20%
;
line-height
:
30px
;
color
:
#cd9621
;
font-size
:
20px
;
}
/* .checkedItem {
/* .checkedItem {
background-color: #ff547b;
color: #fff;
} */
.quick_arrow
.allTags
{
margin
:
20px
;
}
.quick_arrow
.allTags
{
margin
:
20px
;
}
.allTags_List
{
padding-bottom
:
20px
;
}
.allTags_List
{
padding-bottom
:
20px
;
}
.allTags_List
{
display
:
flex
;
}
.allTags_List
{
display
:
flex
;
}
.quick_Content
{
width
:
100%
;
}
.quick_Content
{
width
:
100%
;
}
.quick_Inner
{
display
:
flex
;
justify-content
:
space-between
;
padding
:
20px
;
}
.quick_Inner
{
display
:
flex
;
justify-content
:
space-between
;
padding
:
20px
;
}
.quick_Inner
:last-child
{
margin
:
0px
!important
;
}
.quick_ImgDiv
{
width
:
40px
;
height
:
40px
;
border-radius
:
50%
;
overflow
:
hidden
;
}
.quick_ImgDiv
{
width
:
40px
;
height
:
40px
;
border-radius
:
50%
;
overflow
:
hidden
;
}
.quick_ImgDiv
img
{
width
:
100%
;
height
:
100%
;
}
.quick_ImgDiv
img
{
width
:
100%
;
height
:
100
%
;
}
.quick_Center
{
position
:
relative
;
width
:
85
%
;
}
.quick_Center
{
position
:
relative
;
width
:
85%
;
}
.share_Content
{
position
:
absolute
;
right
:
0
;
top
:
0
;
padding
:
5px
10px
;
background-color
:
#faf3e3
;
border-radius
:
20px
;
font-size
:
12px
;
display
:
flex
;
min-width
:
50px
;
align-items
:
center
;
}
.share_Content
{
position
:
absolute
;
right
:
0
;
top
:
0
;
padding
:
5px
10px
;
background-color
:
#faf3e3
;
border-radius
:
20px
;
font-size
:
12px
;
display
:
flex
;
min-width
:
50px
;
align-items
:
center
;
}
.Quick_Shareicon
{
width
:
13px
;
height
:
13px
;
margin-right
:
5px
;
}
.Quick_Shareicon
{
width
:
13px
;
height
:
13px
;
margin-right
:
5px
;
}
.Quick_ImgContent
{
display
:
flex
;
justify-content
:
space-between
;
}
.quick_page
img
{
width
:
650
rpx
;
height
:
700
rpx
;
}
.quick_page
.hotsopt
{
position
:
absolute
;
background
:
transparent
;
border
:
none
;
outline
:
none
;
}
.quick_page
.hotsopt
::after
{
border
:
none
;
}
.qr_DialogBtn
{
position
:
absolute
;
bottom
:
30px
;
width
:
80%
;
background-color
:
#FF4048
;
color
:
#fff
;
margin
:
auto
;
left
:
50%
;
margin-left
:
-40%
;
border-radius
:
20px
;
}
.qr_Line
{
width
:
100%
;
height
:
1px
;
background-color
:
#F4F4F4
;
margin
:
10px
0
;
}
.Quick_ImgContent
{
display
:
flex
;
justify-content
:
space-between
;
}
.quick_page
img
{
width
:
650
rpx
;
height
:
700
rpx
;
}
.quick_page
.hotsopt
{
position
:
absolute
;
background
:
transparent
;
border
:
none
;
outline
:
none
;
}
.quick_page
.hotsopt
::after
{
border
:
none
;
}
.qr_DialogBtn
{
position
:
absolute
;
bottom
:
30px
;
width
:
80%
;
background-color
:
#ff4048
;
color
:
#fff
;
margin
:
auto
;
left
:
50%
;
margin-left
:
-40%
;
border-radius
:
20px
;
}
.qr_Line
{
width
:
100%
;
height
:
1px
;
background-color
:
#f4f4f4
;
margin
:
10px
0
0
0
;
}
</
style
>
<
template
>
<view
:style=
"
{ height: contentHeight }">
<u-tabs
name=
"Name"
:list=
"dataFirst"
:is-scroll=
"false"
:current=
"active"
:bar-width=
"80"
:font-size=
"32"
:active-color=
"mainColor"
@
change=
"getChild"
></u-tabs>
<scroll-view
scroll-x=
"true"
style=
"white-space: nowrap;display: flex;margin:10px auto;background-color:#EBEBEB;border-radius:20px;width:95%;overflow:hidden;"
>
<view
@
click=
"getSecond(item,index)"
style=
"padding:8px 17px;margin-left:0;"
:style=
"
{ color: index==active2 ? '#fff' : '#272727',backgroundColor:index==active2 ? mainColor:'' }" class="quick_slider" v-for="(item,index) in dataSecond" :key="index">
{{
item
.
Name
}}
</view>
</scroll-view>
<view
class=
"qr_Line"
></view>
<view
class=
"quick_top"
v-if=
"dataThird.length>0"
>
<scroll-view
scroll-x=
"true"
style=
"white-space: nowrap;display: flex;width:90%"
>
<view
@
click=
"getThird(item,index)"
:style=
"
{ color: index==active3 ? '#fff' : '#272727',backgroundColor:index==active3 ? mainColor:'' }" class="quick_slider" v-for="(item,index) in dataThird" :key="index">
{{
item
.
Name
}}
</view>
</scroll-view>
<view
class=
"quick_arrow"
v-if=
"dataThird.length>4"
>
<u-icon
class=
"u_icon"
name=
"arrow-up"
v-if=
"show"
@
click=
"show=false"
></u-icon>
<u-icon
class=
"u_icon"
name=
"arrow-down"
v-else
@
click=
"show=true"
></u-icon>
<u-popup
v-model=
"show"
mode=
"top"
>
<view
class=
"allTags"
>
全部标签
</view>
<view
class=
"allTags_List"
>
<view
@
click=
"getThird(item,index)"
:class=
"
{'checkedItem':index==active3}" class="quick_slider" v-for="(item,index) in dataThird" :key="index">
{{
item
.
Name
}}
</view>
</view>
</u-popup>
</view>
</view>
<scroll-view
:scroll-y=
"true"
style=
"background-color: #f0f4f7"
:enable-back-to-top=
"true"
:enable-flex=
"true"
@
scrolltolower=
"lower"
:style=
"
{ 'height': scrollHeight}">
<view
class=
"quick_Content"
style=
"width: 100%;min-height:100%"
>
<view
class=
"quick_Inner"
v-for=
"(item,index) in dataList"
:key=
"index"
style=
"margin-bottom:10px;background-color:#fff;"
>
<view
class=
"quick_ImgDiv"
>
<img
:src=
"item.HeadImg"
alt=
""
/>
</view>
<view
class=
"quick_Center"
>
<view
style=
"margin-bottom:10px;"
>
{{
item
.
UserName
}}
</view>
<view
v-html=
"item.MaterialInfo"
@
click=
"goUrl(item)"
style=
"margin-bottom:10px;"
></view>
<view
v-if=
"item.LinkUrl!=''"
@
click=
"goUrl(item)"
style=
"color:#b08b38;margin-bottom:10px;"
>
查看详情
</view>
<view
v-for=
"(sItem,i) in imgArr"
:key=
"i"
>
<view
style=
"flex-direction:row;display:flex;"
>
<!-- 横排布局 -->
<view
v-for=
"(subItem,index) in item.ImgList"
:key=
"index"
style=
"margin-bottom:3px;"
>
<!-- 遍历数组 -->
<view
v-if=
"index>=i*3&&index
<3
*(
i
+
1
)"
class=
"flex-item"
style=
"margin-right:5px;"
>
<!-- 分段显示 -->
<img
:src=
"subItem"
style=
"height:190rpx;width:190rpx;"
/>
</view>
</view>
</view>
</view>
<view
class=
"share_Content"
@
click=
"openShare(item)"
>
<image
src=
"@/static/images/icon/icon-share.png"
class=
"Quick_Shareicon"
/>
{{
item
.
ShareCount
}}
</view>
</view>
</view>
</view>
<u-loadmore
:status=
"status"
:load-text=
"loadText"
:font-size=
"24"
:margin-top=
"20"
:margin-bottom=
"20"
bg-color=
"#f3f4f6"
/>
</scroll-view>
<tabbar></tabbar>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
<u-popup
v-model=
"showDialog"
mode=
"center"
:mask-close-able=
"false"
custom-style=
"padding:0;background:none;"
>
<view
style=
"position: relative;"
>
<img
src=
"@/static/images/qrDialog.png"
mode=
"widthFix"
/>
<button
class=
"qr_DialogBtn"
@
click=
"showDialog=false"
>
确定
</button>
</view>
</u-popup>
</view>
<view
class=
"quick-box"
style=
"height:100vh;"
:style=
"
{ 'height': `calc(100vh - ${paddingBottm})` }"
>
<view
class=
"quick-head"
>
<u-tabs
name=
"Name"
:list=
"dataFirst"
:is-scroll=
"false"
:current=
"active"
:bar-width=
"80"
:font-size=
"28"
:active-color=
"mainColor"
@
change=
"getChild"
></u-tabs>
<view
style=
"white-space: nowrap;display: flex;margin:10px auto;background-color:#EBEBEB;border-radius:20px;width:95%;overflow:hidden;"
>
<view
@
click=
"getSecond(item,index)"
style=
"padding:8px 17px;margin-left:0;flex:1;text-align:center;"
:style=
"
{ color: index==active2 ? '#fff' : '#272727',backgroundColor:index==active2 ? mainColor:'' }"
class="quick_slider"
v-for="(item,index) in dataSecond"
:key="index"
>
{{
item
.
Name
}}
</view>
</view>
<view
class=
"qr_Line"
></view>
<view
class=
"quick_top"
v-if=
"dataThird.length>0"
>
<scroll-view
scroll-x=
"true"
style=
"white-space: nowrap;display: flex;width:90%"
>
<view
@
click=
"getThird(item,index)"
:style=
"
{ color: index==active3 ? '#fff' : '#272727',backgroundColor:index==active3 ? mainColor:'' }"
class="quick_slider"
v-for="(item,index) in dataThird"
:key="index"
>
{{
item
.
Name
}}
</view>
</scroll-view>
<view
class=
"quick_arrow"
v-if=
"dataThird.length>4"
>
<u-icon
class=
"u_icon"
name=
"arrow-up"
v-if=
"show"
@
click=
"show=false"
></u-icon>
<u-icon
class=
"u_icon"
name=
"arrow-down"
v-else
@
click=
"show=true"
></u-icon>
<u-popup
v-model=
"show"
mode=
"top"
>
<view
class=
"allTags"
>
全部标签
</view>
<view
class=
"allTags_List"
>
<view
@
click=
"getThird(item,index)"
:class=
"
{'checkedItem':index==active3}"
class="quick_slider"
v-for="(item,index) in dataThird"
:key="index"
>
{{
item
.
Name
}}
</view>
</view>
</u-popup>
</view>
</view>
</view>
<scroll-view
:scroll-y=
"true"
style=
"background-color: #f0f4f7;"
:enable-back-to-top=
"true"
:enable-flex=
"true"
@
scrolltolower=
"lower"
:style=
"
{ 'height': `calc(100% - ${scrollHeight})`}"
>
<view
class=
"quick_Content"
style=
"width: 100%;min-height:100%"
>
<view
class=
"quick_Inner"
v-for=
"(item,index) in dataList"
:key=
"index"
style=
"margin-bottom:10px;background-color:#fff;"
>
<view
class=
"quick_ImgDiv"
>
<img
:src=
"item.HeadImg"
alt
/>
</view>
<view
class=
"quick_Center"
>
<view
style=
"margin-bottom:10px;font-weight:bold"
>
{{
item
.
UserName
}}
</view>
<view
v-html=
"item.MaterialInfo"
@
click=
"goUrl(item)"
style=
"margin-bottom:10px;"
></view>
<view
v-if=
"item.LinkUrl!=''"
@
click=
"goUrl(item)"
style=
"color:#b08b38;margin-bottom:10px;"
>
查看详情
</view>
<view
v-for=
"(sItem,i) in imgArr"
:key=
"i"
>
<view
style=
"flex-direction:row;display:flex;"
>
<!-- 横排布局 -->
<view
v-for=
"(subItem,index) in item.ImgList"
:key=
"index"
style=
"margin-bottom:3px;"
>
<!-- 遍历数组 -->
<view
v-if=
"index>=i*3&&index
<3
*(
i
+
1
)"
class=
"flex-item"
style=
"margin-right:5px;"
>
<!-- 分段显示 -->
<img
:src=
"subItem"
style=
"height:190rpx;width:190rpx;"
/>
</view>
</view>
</view>
</view>
<view
class=
"share_Content"
@
click=
"openShare(item)"
>
<image
src=
"@/static/images/icon/icon-share.png"
class=
"Quick_Shareicon"
/>
{{
item
.
ShareCount
}}
</view>
</view>
</view>
</view>
<view
style=
"padding:10px 0;background:#FFF"
>
<u-loadmore
:status=
"status"
:load-text=
"loadText"
:font-size=
"24"
:margin-top=
"0"
:margin-bottom=
"0"
bg-color=
"#fff"
/>
</view>
</scroll-view>
<tabbar></tabbar>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
<u-popup
v-model=
"showDialog"
mode=
"center"
:mask-close-able=
"false"
custom-style=
"padding:0;background:none;"
>
<view
style=
"position: relative;"
>
<img
src=
"@/static/images/qrDialog.png"
mode=
"widthFix"
/>
<button
class=
"qr_DialogBtn"
@
click=
"showDialog=false"
>
确定
</button>
</view>
</u-popup>
</view>
</
template
>
<
script
>
import
auth
from
"@/components/auth/index"
;
import
tabbar
from
"@/components/tabbar/index"
;
export
default
{
data
()
{
return
{
show
:
false
,
pageTitle
:
'分享'
,
loading
:
true
,
showAuth
:
false
,
mainColor
:
''
,
u
:
{},
contentHeight
:
0
,
msg
:
{
Name
:
""
,
//页面名称
pageIndex
:
1
,
pageSize
:
10
,
},
active
:
0
,
//一级
active2
:
-
1
,
//二级选中
active3
:
-
1
,
//三级选中
conMsg
:
{
CateId
:
0
,
QStartDate
:
""
,
//开始时间
QEndDate
:
""
,
//结束时间
KeyWords
:
""
,
//页面名称
pageIndex
:
1
,
pageSize
:
10
,
total
:
0
,
},
//第一层数据
dataFirst
:
[],
//第二层
dataSecond
:
[],
//第三层
dataThird
:
[],
import
auth
from
"@/components/auth/index"
;
import
tabbar
from
"@/components/tabbar/index"
;
export
default
{
data
()
{
return
{
show
:
false
,
pageTitle
:
"分享"
,
loading
:
true
,
showAuth
:
false
,
mainColor
:
""
,
u
:
{},
msg
:
{
Name
:
""
,
//页面名称
pageIndex
:
1
,
pageSize
:
10
,
},
active
:
0
,
//一级
active2
:
-
1
,
//二级选中
active3
:
-
1
,
//三级选中
conMsg
:
{
CateId
:
0
,
QStartDate
:
""
,
//开始时间
QEndDate
:
""
,
//结束时间
KeyWords
:
""
,
//页面名称
pageIndex
:
1
,
pageSize
:
10
,
total
:
0
,
},
//第一层数据
dataFirst
:
[],
//第二层
dataSecond
:
[],
//第三层
dataThird
:
[],
//内容数据
dataList
:
[],
imgArr
:
[
0
,
1
,
2
],
showShare
:
false
,
// 显示分享
showAuth
:
false
,
//是否登录弹窗
scrollHeight
:
0
,
status
:
"loadmore"
,
pageCount
:
1
,
loadText
:
{
loadmore
:
"轻轻上拉,加载更多"
,
loading
:
"努力加载中"
,
nomore
:
"没有更多了"
,
},
goodTitle
:
''
,
//名称=>传子组件
images
:[],
//图片=>传子组件
qrHeight
:
160
,
showDialog
:
false
};
},
components
:
{
auth
,
tabbar
},
created
()
{
this
.
contentHeight
=
this
.
$utils
.
calcContentHeight
(
-
40
)
+
'px'
;
this
.
scrollHeight
=
this
.
$utils
.
calcContentHeight
(
-
40
+
this
.
qrHeight
)
+
'px'
;
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
},
mounted
()
{
let
currentPages
=
getCurrentPages
();
let
u
=
'/'
+
currentPages
[
currentPages
.
length
-
1
].
route
;
let
pages
=
wx
.
getStorageSync
(
'basedata'
)
?
wx
.
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
});
},
onLoad
(
option
)
{
this
.
getList
();
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
},
methods
:
{
//点击切换
changeHandler
(
i
)
{
this
.
active
=
i
;
},
//获取头部数据
getList
()
{
this
.
request2
({
url
:
'/api/Share/GetShareCategoryList'
,
data
:
this
.
msg
},
res
=>
{
var
data
=
res
.
data
;
this
.
dataFirst
=
data
;
if
(
data
&&
data
.
length
>
0
)
{
this
.
dataSecond
=
data
[
0
].
children
;
// if (data[0].children && data[0].children.length > 0) {
// this.dataThird = data[0].children[0].children
// }
}
if
(
this
.
dataFirst
.
length
>
0
){
this
.
conMsg
.
CateId
=
this
.
dataFirst
[
0
].
Id
;
this
.
getContent
();
}
}
);
},
//获取内容
getContent
()
{
this
.
request2
({
url
:
'/api/Share/AppGetShareFriendPage'
,
data
:
this
.
conMsg
},
res
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
dataList
=
this
.
dataList
.
concat
(
res
.
data
.
pageData
);
this
.
pageCount
=
res
.
data
.
pageCount
;
}
}
);
},
getChang
(){
if
(
this
.
dataThird
.
length
==
0
){
this
.
qrHeight
=
160
}
else
{
this
.
qrHeight
=
196
}
this
.
scrollHeight
=
this
.
$utils
.
calcContentHeight
(
-
40
+
this
.
qrHeight
)
+
'px'
;
},
//点击一级分类
getChild
(
index
)
{
this
.
dataList
=
[];
this
.
active
=
index
;
this
.
dataSecond
=
this
.
dataFirst
[
index
].
children
;
this
.
dataThird
=
[];
this
.
active2
=
-
1
;
this
.
active3
=
-
1
;
this
.
conMsg
.
CateId
=
this
.
dataFirst
[
index
].
Id
;
this
.
getContent
();
this
.
getChang
();
},
//点击二级分类
getSecond
(
item
,
index
)
{
this
.
dataList
=
[];
this
.
active2
=
index
;
this
.
dataThird
=
item
.
children
;
this
.
active3
=
-
1
;
this
.
conMsg
.
CateId
=
item
.
Id
;
this
.
getContent
();
this
.
getChang
();
},
//点击三级分类
getThird
(
item
,
index
)
{
this
.
dataList
=
[];
this
.
active3
=
index
;
this
.
show
=
false
;
this
.
conMsg
.
CateId
=
item
.
Id
;
this
.
getContent
();
this
.
getChang
();
},
reloadUserinfo
()
{
this
.
u
=
uni
.
getStorageSync
(
'mall_UserInfo'
);
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
},
closeShare
()
{
this
.
showShare
=
false
;
},
//点击分享
openShare
(
item
)
{
if
(
this
.
u
)
{
this
.
request2
({
url
:
'/api/Share/SetShareCount'
,
data
:
{
Id
:
item
.
Id
}
},
res
=>
{
if
(
res
.
resultCode
==
1
)
{
item
.
ShareCount
++
;
}
}
);
this
.
goodTitle
=
item
.
MaterialInfo
;
this
.
images
=
item
.
ImgList
;
this
.
sendQuanHandler
();
this
.
showShare
=
true
;
}
else
{
this
.
showAuth
=
true
;
}
},
//滚动加载
lower
(
e
)
{
if
(
this
.
conMsg
.
pageIndex
<
this
.
pageCount
)
{
this
.
conMsg
.
pageIndex
++
;
this
.
status
=
"loading"
;
this
.
getContent
();
}
else
{
this
.
status
=
"nomore"
;
}
},
//跳转
goUrl
(
item
){
if
(
item
.
LinkUrl
&&
item
.
LinkUrl
.
length
>
0
)
{
uni
.
navigateTo
({
url
:
item
.
LinkUrl
})
}
},
//分享复制
sendQuanHandler
()
{
this
.
copyHandler
();
//判断有图片再调用复制图片
if
(
this
.
images
.
length
>
0
){
setTimeout
(()
=>
{
this
.
savePicHandler
();
},
1000
);
}
},
//复制文字
copyHandler
()
{
uni
.
setClipboardData
({
data
:
this
.
goodTitle
,
});
},
savePicHandler
()
{
uni
.
showLoading
({
title
:
"正在下载图片"
,
});
let
arr
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
images
));
this
.
downLoadImage
(
arr
);
},
downLoadImage
(
arr
)
{
let
that
=
this
;
uni
.
downloadFile
({
url
:
arr
[
0
],
success
:
(
res
)
=>
{
if
(
res
.
statusCode
===
200
)
{
uni
.
saveImageToPhotosAlbum
({
filePath
:
res
.
tempFilePath
,
success
:
function
()
{
arr
.
splice
(
0
,
1
);
if
(
arr
.
length
>
0
)
{
that
.
downLoadImage
(
arr
);
}
else
{
uni
.
hideLoading
();
uni
.
showToast
({
title
:
"下载成功"
,
});
that
.
showDialog
=
true
;
}
},
fail
:
function
(
e
)
{
uni
.
hideLoading
();
that
.
$refs
.
uTips
.
show
({
title
:
"下载失败,请稍后重试"
,
type
:
"error"
,
duration
:
"2300"
,
});
},
});
}
else
{
uni
.
hideLoading
();
that
.
$refs
.
uTips
.
show
({
title
:
"下载失败,请稍后重试"
,
type
:
"error"
,
duration
:
"2300"
,
});
}
},
});
},
}
};
//内容数据
dataList
:
[],
imgArr
:
[
0
,
1
,
2
],
showShare
:
false
,
// 显示分享
showAuth
:
false
,
//是否登录弹窗
scrollHeight
:
0
,
status
:
"loadmore"
,
pageCount
:
1
,
loadText
:
{
loadmore
:
"轻轻上拉,加载更多"
,
loading
:
"努力加载中"
,
nomore
:
"没有更多了"
,
},
goodTitle
:
""
,
//名称=>传子组件
images
:
[],
//图片=>传子组件
qrHeight
:
160
,
showDialog
:
false
,
paddingBottm
:
"0px"
,
};
},
components
:
{
auth
,
tabbar
,
},
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
},
mounted
()
{
let
currentPages
=
getCurrentPages
();
let
u
=
"/"
+
currentPages
[
currentPages
.
length
-
1
].
route
;
let
pages
=
wx
.
getStorageSync
(
"basedata"
)
?
wx
.
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
,
});
setTimeout
(()
=>
{
this
.
getTabsHeight
();
this
.
getHeadHeight
();
},
1000
);
},
onLoad
(
option
)
{
this
.
getList
();
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
},
methods
:
{
getTabsHeight
()
{
let
that
=
this
;
const
query
=
uni
.
createSelectorQuery
().
in
(
this
);
query
.
select
(
".quick-box >>> .tabbarMain"
)
.
boundingClientRect
((
data
)
=>
{
that
.
paddingBottm
=
data
.
height
+
"px"
;
})
.
exec
();
},
getHeadHeight
()
{
let
that
=
this
;
const
query
=
uni
.
createSelectorQuery
().
in
(
this
);
query
.
select
(
".quick-head"
)
.
boundingClientRect
((
data
)
=>
{
that
.
scrollHeight
=
data
.
height
+
"px"
;
})
.
exec
();
},
//点击切换
changeHandler
(
i
)
{
this
.
active
=
i
;
},
//获取头部数据
getList
()
{
this
.
request2
(
{
url
:
"/api/Share/GetShareCategoryList"
,
data
:
this
.
msg
,
},
(
res
)
=>
{
var
data
=
res
.
data
;
this
.
dataFirst
=
data
;
if
(
data
&&
data
.
length
>
0
)
{
this
.
dataSecond
=
data
[
0
].
children
;
// if (data[0].children && data[0].children.length > 0) {
// this.dataThird = data[0].children[0].children
// }
}
if
(
this
.
dataFirst
.
length
>
0
)
{
this
.
conMsg
.
CateId
=
this
.
dataFirst
[
0
].
Id
;
this
.
getContent
();
}
}
);
},
//获取内容
getContent
()
{
this
.
request2
(
{
url
:
"/api/Share/AppGetShareFriendPage"
,
data
:
this
.
conMsg
,
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
dataList
=
this
.
dataList
.
concat
(
res
.
data
.
pageData
);
this
.
pageCount
=
res
.
data
.
pageCount
;
}
}
);
},
getChang
()
{
if
(
this
.
dataThird
.
length
==
0
)
{
this
.
qrHeight
=
160
;
}
else
{
this
.
qrHeight
=
196
;
}
},
//点击一级分类
getChild
(
index
)
{
this
.
dataList
=
[];
this
.
active
=
index
;
this
.
dataSecond
=
this
.
dataFirst
[
index
].
children
;
this
.
dataThird
=
[];
this
.
active2
=
-
1
;
this
.
active3
=
-
1
;
this
.
conMsg
.
CateId
=
this
.
dataFirst
[
index
].
Id
;
this
.
getContent
();
this
.
getChang
();
},
//点击二级分类
getSecond
(
item
,
index
)
{
this
.
dataList
=
[];
this
.
active2
=
index
;
this
.
dataThird
=
item
.
children
;
this
.
active3
=
-
1
;
this
.
conMsg
.
CateId
=
item
.
Id
;
this
.
getContent
();
this
.
getChang
();
},
//点击三级分类
getThird
(
item
,
index
)
{
this
.
dataList
=
[];
this
.
active3
=
index
;
this
.
show
=
false
;
this
.
conMsg
.
CateId
=
item
.
Id
;
this
.
getContent
();
this
.
getChang
();
},
reloadUserinfo
()
{
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
},
closeShare
()
{
this
.
showShare
=
false
;
},
//点击分享
openShare
(
item
)
{
if
(
this
.
u
)
{
this
.
request2
(
{
url
:
"/api/Share/SetShareCount"
,
data
:
{
Id
:
item
.
Id
,
},
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
item
.
ShareCount
++
;
}
}
);
this
.
goodTitle
=
item
.
MaterialInfo
;
this
.
images
=
item
.
ImgList
;
this
.
sendQuanHandler
();
this
.
showShare
=
true
;
}
else
{
this
.
showAuth
=
true
;
}
},
//滚动加载
lower
(
e
)
{
if
(
this
.
conMsg
.
pageIndex
<
this
.
pageCount
)
{
this
.
conMsg
.
pageIndex
++
;
this
.
status
=
"loading"
;
this
.
getContent
();
}
else
{
this
.
status
=
"nomore"
;
}
},
//跳转
goUrl
(
item
)
{
if
(
item
.
LinkUrl
&&
item
.
LinkUrl
.
length
>
0
)
{
uni
.
navigateTo
({
url
:
item
.
LinkUrl
,
});
}
},
//分享复制
sendQuanHandler
()
{
this
.
copyHandler
();
//判断有图片再调用复制图片
if
(
this
.
images
.
length
>
0
)
{
setTimeout
(()
=>
{
this
.
savePicHandler
();
},
1000
);
}
},
//复制文字
copyHandler
()
{
uni
.
setClipboardData
({
data
:
this
.
goodTitle
,
});
},
savePicHandler
()
{
uni
.
showLoading
({
title
:
"正在下载图片"
,
});
let
arr
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
images
));
this
.
downLoadImage
(
arr
);
},
downLoadImage
(
arr
)
{
let
that
=
this
;
uni
.
downloadFile
({
url
:
arr
[
0
],
success
:
(
res
)
=>
{
if
(
res
.
statusCode
===
200
)
{
uni
.
saveImageToPhotosAlbum
({
filePath
:
res
.
tempFilePath
,
success
:
function
()
{
arr
.
splice
(
0
,
1
);
if
(
arr
.
length
>
0
)
{
that
.
downLoadImage
(
arr
);
}
else
{
uni
.
hideLoading
();
uni
.
showToast
({
title
:
"下载成功"
,
});
that
.
showDialog
=
true
;
}
},
fail
:
function
(
e
)
{
uni
.
hideLoading
();
that
.
$refs
.
uTips
.
show
({
title
:
"下载失败,请稍后重试"
,
type
:
"error"
,
duration
:
"2300"
,
});
},
});
}
else
{
uni
.
hideLoading
();
that
.
$refs
.
uTips
.
show
({
title
:
"下载失败,请稍后重试"
,
type
:
"error"
,
duration
:
"2300"
,
});
}
},
});
},
},
};
</
script
>
plugin/api.js
View file @
b44f1601
export
default
{
install
(
Vue
,
options
)
{
Vue
.
prototype
.
host
=
"https://wx.weibaoge.cn/web/index.php?_mall_id=1285"
// Vue.prototype.host2 = "http://192.168.0.110:8200"
// Vue.prototype.host2 = "https://mallApi.oytour.com"
Vue
.
prototype
.
host2
=
"http://192.168.2.16:8088"
// Vue.prototype.host2 = "http://192.168.2.65"
Vue
.
prototype
.
request
=
function
(
param
,
success
,
failed
)
{
//网络请求
uni
.
request
({
url
:
this
.
host
+
"&r="
+
param
.
data
.
r
,
method
:
param
.
method
||
"GET"
,
header
:
param
.
header
||
{
'content-type'
:
"application/json"
},
data
:
param
.
data
,
success
:
res
=>
{
if
(
res
.
data
.
code
!=
0
&&
res
.
data
.
msg
!=
"商品未上架"
)
{
}
typeof
success
==
"function"
&&
success
(
res
.
data
);
},
fail
:
(
e
)
=>
{
console
.
log
(
"网络请求fail:"
+
JSON
.
stringify
(
e
));
uni
.
showModal
({
content
:
""
+
res
.
errMsg
});
typeof
failed
==
"function"
&&
failed
(
res
.
data
);
}
});
}
Vue
.
prototype
.
request2
=
function
(
param
,
success
,
failed
)
{
Vue
.
prototype
.
host
=
"https://wx.weibaoge.cn/web/index.php?_mall_id=1285"
// Vue.prototype.host2 = "http://192.168.0.110:8200"
// Vue.prototype.host2 = "https://mallApi.oytour.com"
Vue
.
prototype
.
host2
=
"https://mallApi.oytour.com"
// Vue.prototype.host2 = "http://192.168.2.65"
Vue
.
prototype
.
request
=
function
(
param
,
success
,
failed
)
{
//网络请求
uni
.
request
({
url
:
this
.
host
2
+
param
.
url
,
method
:
param
.
method
||
"
Post
"
,
url
:
this
.
host
+
"&r="
+
param
.
data
.
r
,
method
:
param
.
method
||
"
GET
"
,
header
:
param
.
header
||
{
'content-type'
:
"application/json"
},
data
:
{
MallBaseId
:
1
,
TenantId
:
1
,
OpenId
:
this
.
GetOpenId
().
OpenId
,
UserId
:
this
.
GetOpenId
().
UserId
,
SmallShopsId
:
this
.
GetOpenId
().
SmallShopsId
,
MiniAppId
:
this
.
GetMiniAppId
(),
msg
:
param
.
data
,
token
:
this
.
GetOpenId
().
token
},
data
:
param
.
data
,
success
:
res
=>
{
if
(
res
.
data
.
resultCode
==
10000
){
let
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
if
(
u
){
this
.
getLogin_t
(
u
)
typeof
failed
==
"function"
&&
failed
(
res
.
data
);
}
}
else
if
(
res
.
data
.
resultCode
!=
1
)
{
if
(
res
.
data
.
message
!=
''
){
uni
.
showToast
({
title
:
res
.
data
.
message
,
icon
:
"none"
,
});
}
typeof
failed
==
"function"
&&
failed
(
res
.
data
);
}
else
{
typeof
success
==
"function"
&&
success
(
res
.
data
);
if
(
res
.
data
.
code
!=
0
&&
res
.
data
.
msg
!=
"商品未上架"
)
{
}
typeof
success
==
"function"
&&
success
(
res
.
data
);
},
fail
:
(
e
)
=>
{
console
.
log
(
"网络请求fail:"
+
JSON
.
stringify
(
e
));
...
...
@@ -84,36 +29,89 @@ export default {
}
});
}
// token失效再次登录接口
Vue
.
prototype
.
getLogin_t
=
function
(
obj
)
{
let
pid
=
uni
.
getStorageSync
(
"pid"
)?
uni
.
getStorageSync
(
"pid"
).
pid
:
0
;
let
SmallShopId
=
uni
.
getStorageSync
(
"SmallShopId"
)?
uni
.
getStorageSync
(
"SmallShopId"
).
SmallShopId
:
0
;
this
.
request2
(
{
url
:
'/api/AppletLogin/Login'
,
data
:
{
Source
:
1
,
OpenId
:
obj
.
OpenId
,
Name
:
obj
.
Name
,
Photo
:
obj
.
Photo
,
Moblie
:
''
,
SuperiorId
:
pid
,
SmallShopId
:
SmallShopId
,
}
},
res
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
setStorageSync
(
'mall_UserInfo'
,
res
.
data
);
uni
.
removeStorageSync
(
'pid'
);
uni
.
removeStorageSync
(
'SmallShopId'
);
}
}
);
}
// 获取小程序APPID
Vue
.
prototype
.
request2
=
function
(
param
,
success
,
failed
)
{
//网络请求
uni
.
request
({
url
:
this
.
host2
+
param
.
url
,
method
:
param
.
method
||
"Post"
,
header
:
param
.
header
||
{
'content-type'
:
"application/json"
},
data
:
{
MallBaseId
:
1
,
TenantId
:
1
,
OpenId
:
this
.
GetOpenId
().
OpenId
,
UserId
:
this
.
GetOpenId
().
UserId
,
SmallShopsId
:
this
.
GetOpenId
().
SmallShopsId
,
MiniAppId
:
this
.
GetMiniAppId
(),
msg
:
param
.
data
,
token
:
this
.
GetOpenId
().
token
},
success
:
res
=>
{
if
(
res
.
data
.
resultCode
==
10000
)
{
let
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
if
(
u
)
{
this
.
getLogin_t
(
u
)
typeof
failed
==
"function"
&&
failed
(
res
.
data
);
}
}
else
if
(
res
.
data
.
resultCode
!=
1
)
{
if
(
res
.
data
.
message
!=
''
)
{
uni
.
showToast
({
title
:
res
.
data
.
message
,
icon
:
"none"
,
});
}
typeof
failed
==
"function"
&&
failed
(
res
.
data
);
}
else
{
typeof
success
==
"function"
&&
success
(
res
.
data
);
}
},
fail
:
(
e
)
=>
{
console
.
log
(
"网络请求fail:"
+
JSON
.
stringify
(
e
));
uni
.
showModal
({
content
:
""
+
res
.
errMsg
});
typeof
failed
==
"function"
&&
failed
(
res
.
data
);
}
});
}
// token失效再次登录接口
Vue
.
prototype
.
getLogin_t
=
function
(
obj
)
{
let
pid
=
uni
.
getStorageSync
(
"pid"
)
?
uni
.
getStorageSync
(
"pid"
).
pid
:
0
;
let
SmallShopId
=
uni
.
getStorageSync
(
"SmallShopId"
)
?
uni
.
getStorageSync
(
"SmallShopId"
).
SmallShopId
:
0
;
this
.
request2
({
url
:
'/api/AppletLogin/Login'
,
data
:
{
Source
:
1
,
OpenId
:
obj
.
OpenId
,
Name
:
obj
.
Name
,
Photo
:
obj
.
Photo
,
Moblie
:
''
,
SuperiorId
:
pid
,
SmallShopId
:
SmallShopId
,
}
},
res
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
setStorageSync
(
'mall_UserInfo'
,
res
.
data
);
uni
.
removeStorageSync
(
'pid'
);
uni
.
removeStorageSync
(
'SmallShopId'
);
}
}
);
}
// 获取小程序APPID
Vue
.
prototype
.
GetMiniAppId
=
function
()
{
return
'wxacd9f8cc3480d29e'
// return 'wxcf0727a7c78b501e' //旅小友
// return 'wxcf0727a7c78b501e' //旅小友
}
//获取OpenId
Vue
.
prototype
.
GetOpenId
=
function
()
{
...
...
@@ -122,7 +120,7 @@ export default {
OpenId
:
''
,
UserId
:
0
,
token
:
''
,
SmallShopsId
:
0
,
SmallShopsId
:
0
,
}
if
(
mall_userinfo
)
{
if
(
mall_userinfo
.
OpenId
)
{
...
...
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