From afb7bcf6e31979be352bfcf14812d52339478cef Mon Sep 17 00:00:00 2001 From: zhaojs <349234519@qq.com> Date: 星期日, 25 六月 2023 08:55:23 +0800 Subject: [PATCH] Merge tag '苹果审核修改' into develop --- uniapp/components/colGoods.vue | 4 uniapp/components/indexPage.vue | 30 uniapp/uniCloud-aliyun/cloudfunctions/getPhoneNumber/index.js | 43 uniapp/static/images/tabBar/ne_bend.png | 0 uniapp/static/images/tabBar/ne_mine_act.png | 0 uniapp/static/images/tabBar/ne_xb.png | 0 uniapp/pages/login/bindingPhone.vue | 141 + uniapp/pages/rankinglist/fengqiang.vue | 24 uniapp/App.vue | 7 uniapp/pages/goods/shareGoods.vue | 8 uniapp/static/images/tabBar/ne_qiang.png | 0 uniapp/components/sh_page/indexNewPage.vue | 612 +++++++ uniapp/static/images/tabBar/ne_mine.png | 0 uniapp/pages.json | 20 uniapp/pages/rankinglist/xianbao.vue | 43 uniapp/static/images/tabBar/ne_xb_act.png | 0 uniapp/components/sh_page/minePage.vue | 780 +++++++++ uniapp/pages/find/findGoods.vue | 4 uniapp/components/sh_page/indexCont.vue | 1853 ++++++++++++++++++++++ uniapp/components/sh_page/matherPage.vue | 460 +++++ uniapp/static/images/tabBar/ne_index_act.png | 0 uniapp/manifest.json | 19 uniapp/static/images/tabBar/ne_qiang_act.png | 0 uniapp/pages/goods/goodsDetail.vue | 68 uniapp/pages/mine/setting/cancellation.vue | 3 uniapp/static/images/tabBar/ne_bend_act.png | 0 uniapp/static/images/tabBar/ne_index.png | 0 uniapp/.hbuilderx/launch.json | 2 uniapp/pages/mine/mine.vue | 42 uniapp/pages/login/wxlogin.vue | 39 uniapp/pages/index/index.vue | 84 uniapp/components/sh_page/findPage.vue | 603 +++++++ uniapp/components/rowGoods.vue | 20 33 files changed, 4,752 insertions(+), 157 deletions(-) diff --git a/uniapp/.hbuilderx/launch.json b/uniapp/.hbuilderx/launch.json index 9284d7d..4e0cff3 100644 --- a/uniapp/.hbuilderx/launch.json +++ b/uniapp/.hbuilderx/launch.json @@ -14,7 +14,7 @@ }, "h5" : { - "launchtype" : "local" + "launchtype" : "remote" }, "mp-weixin" : { diff --git a/uniapp/App.vue b/uniapp/App.vue index 2940aa8..a85e536 100644 --- a/uniapp/App.vue +++ b/uniapp/App.vue @@ -91,7 +91,6 @@ uni.getSystemInfo({ success: e => { // #ifdef APP-PLUS - console.log(e) if (e.platform == 'android') { this.globalData.platform = 'android' this.globalData.systemLevel = e.system @@ -151,7 +150,6 @@ content: '妫�娴嬪埌缃戠粶鏉冮檺鍙兘璁剧疆涓哄叧闂紝鎮ㄥ彲浠ュ湪鈥滆缃�濅腑妫�鏌ユ棤绾挎暟鎹強铚傜獫绉诲姩缃戠粶' }) }else{ - console.log("鏄惁璇锋眰杩囷細"+that.globalData.hasinit) if(!that.globalData.hasinit) { that.getAppInfo(); @@ -173,7 +171,6 @@ var route = routes[routes.length - 1].route } // #ifdef APP-PLUS - console.log(this.globalData.canlisten) if (this.globalData.canlisten && route != 'pages/mine/tools/turnChain') { getClipboard() } @@ -190,7 +187,6 @@ if (uni.getSystemInfoSync().platform == 'ios') { const plug = uni.requireNativePlugin('xiguazhu-baichuan'); - console.log(plug) plug.init({}, result => { //console.log('1111111111111111111'); console.log(result); // code绛変簬0灏辨槸鍒濆鍖栨垚鍔� @@ -204,7 +200,6 @@ getAppInfo: function() { var that = this; this.$u.api.comminInt({}).then(e => { - console.log(e) if (e.code != 0) return that.$alert(e.msg) that.globalData.hasinit=true; that.globalData.appinfo = e.data.basic @@ -225,6 +220,7 @@ that.globalData.ifwt = 0 } } + console.log(that.globalData.ifwt); } else { if (plus.runtime.isApplicationExist({pname:'com.tencent.mm', action: 'weixin://' @@ -237,6 +233,7 @@ } } // #endif + }).catch(function(err) {}) }, diff --git a/uniapp/components/colGoods.vue b/uniapp/components/colGoods.vue index 238232d..cc6d194 100644 --- a/uniapp/components/colGoods.vue +++ b/uniapp/components/colGoods.vue @@ -17,12 +17,12 @@ </view> <view class="goodsPrice-goodSale colCen borderBox"> <view class="couponInfo-bar rowCen"> - <view class="couponbox rowCenCen" v-if="items.couponPrice>0 || items.faction=='w'"> + <view class="couponbox rowCenCen" style="border: 1px solid #f50d49; color: #f50d49; background: none;" v-if="items.couponPrice>0 || items.faction=='w'"> <view> {{items.faction=='w' ?(items.discount+'鎶�'):items.couponPrice+'鍏冨埜'}} </view> </view> - <view class="backPrice rowCenCen"> + <view class="backPrice rowCenCen" style="background: #f50d49;"> <view>杩攞{items.fanli}}鍏�</view> </view> </view> diff --git a/uniapp/components/indexPage.vue b/uniapp/components/indexPage.vue index c239708..92cca2e 100644 --- a/uniapp/components/indexPage.vue +++ b/uniapp/components/indexPage.vue @@ -595,7 +595,7 @@ }, onRestore() { this.swpidx = 0 - console.log('涓嬫媺琚粓姝�'); + //console.log('涓嬫媺琚粓姝�'); }, pagescroll(e) { this.$emit('scrollNum', e.detail.scrollTop) @@ -626,21 +626,23 @@ this.$u.api.getBanner({ type: '1,3,4,5,11,12,13,14' }).then(e => { - console.log(e) if (e.code == 1) return that.$alert(e.msg); var res = e.data.info; - this.topBannerList = res.topBannerList; - this.headerColor = this.topBannerList[0].colour; - this.singleLineList = res.singleLineList; - this.doubleLineList = res.doubleLineList; - this.bottomBannerList = res.bottomBannerList; - this.fastenter=res.indexbanner; - this.popBannerSList=res.popBannerSList; - this.enterTop=res.enterTop; - this.enterDown=res.enterDown; + if(res.topBannerList&&res.topBannerList.length>0) + { + that.topBannerList = res.topBannerList; + that.headerColor = that.topBannerList[0].colour; + } + that.singleLineList = res.singleLineList; + that.doubleLineList = res.doubleLineList; + that.bottomBannerList = res.bottomBannerList; + that.fastenter=res.indexbanner; + that.popBannerSList=res.popBannerSList; + that.enterTop=res.enterTop; + that.enterDown=res.enterDown; setTimeout(() => { - this.triggeredstate = false; - this._freshing = false; + that.triggeredstate = false; + that._freshing = false; }, 300) }).catch(function(err) { console.log(err) @@ -696,7 +698,7 @@ pageSize: 10, type: type }).then(e => { - console.log(e) + // console.log(e) if (e.code != 0) return that.$alert(e.msg) var res = e.data.list; if (res.length < 10) { diff --git a/uniapp/components/rowGoods.vue b/uniapp/components/rowGoods.vue index 6a2d257..2741ca8 100644 --- a/uniapp/components/rowGoods.vue +++ b/uniapp/components/rowGoods.vue @@ -17,12 +17,12 @@ <view class="cardbottom-container colCenEnd"> <view class="discounts-container rowCen borderBox"> - <view class="coupon-box rowCenCen" v-if="items.couponPrice>0 || items.sourceType=='wph'"> + <view class="coupon-box rowCenCen" style="border: 1px solid #f50d49; color: #f50d49; background: none;" v-if="items.couponPrice>0 || items.sourceType=='wph'"> <view> {{items.sourceType=='wph'?items.discount+'鎶�':items.couponPrice+'鍏冨埜'}} </view> </view> - <view class="back-box rowCenCen" v-if="items.fanli"> + <view class="back-box rowCenCen" style="background: #f50d49;" v-if="items.fanli"> <view> 杩攞{items.fanli}}鍏� </view> @@ -89,21 +89,27 @@ .goodsnameinfo-content { width: 100%; - + position: relative; .typeIcon-content { width: 60rpx; height: 24rpx; - margin-right: 5rpx; + position: absolute; + top: 7rpx; } .tradename { flex: 1; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; font-size: 28rpx; font-weight: 500; + text-indent: 2.5em; color: #333333; + text-overflow: -o-ellipsis-lastline; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + line-clamp: 2; + -webkit-box-orient: vertical; } } diff --git a/uniapp/components/sh_page/findPage.vue b/uniapp/components/sh_page/findPage.vue new file mode 100644 index 0000000..92ec140 --- /dev/null +++ b/uniapp/components/sh_page/findPage.vue @@ -0,0 +1,603 @@ +<template> + <view class="find-wrapper wrapperLayer"> + <view class="pageNavigationBar-container colCen"> + <view class="topbarbox"></view> + <view class="headerNavigationbar rowCenBet borderBox"> + <view class="backIcon rowCenSta"> + + </view> + <view class="pageState rowCen"> + <block v-for="(items,index) in titleStates" :key="index"> + <view class="items-box rowCenCen" :class="stateCurrent==index?'itm-active':''" @tap="exchangeState(index)"> + <view>{{items.title}}</view> + </view> + </block> + </view> + <view class="emptybox rowCenEnd"> + </view> + </view> + </view> + + <view class="topbarbox"> + </view> + <view class="pagebottom-container colCen"> + <view class="warterfall_list" style="width: 100%;"> + <view class="list_container"> + <view class="water-flow-column colCen" v-for="(col, c) in currentArray" :key="c"> + <view class="fallitem colCen" :id="col.id" style="width: 100%;"> + <block v-for="(itms, idx) in col.list" :key="idx"> + <view class="first-item" v-if="c==0 && idx==0 && itms.blist"> + <swiper class="bannerswiper" :indicator-dots="true" :duration="1000"> + <swiper-item v-for="(swiperitm,swiperidx) in itms.blist"> + <view class="swiper-item" @tap='gobanersrc(swiperitm)'> + <image class="gifpic" :src="swiperitm.image" mode="widthFix"></image> + </view> + </swiper-item> + </swiper> + </view> + + <view class="card-items" v-else @tap="gofindDetails(itms.album_id)"> + <view class="topimg-area colCen"> + <view class="bigimg defIcon"> + <image :src="itms.good_list_json[0].pic" mode="aspectFill"></image> + </view> + <view class="smallimgs rowCen"> + <image class="smimg" :src="itms.good_list_json[1].pic" mode="aspectFill"></image> + <image class="smimg" :src="itms.good_list_json[2].pic" mode="aspectFill"></image> + </view> + <view class="imgsnum-box rowCenCen"> + <view>{{itms.goods_count}}娆�</view> + </view> + </view> + <view class="info-area colCen"> + <view class="title"> + {{itms.title}} + </view> + <view class="tipsList-box"> + <!-- <block v-for="(tipsit,tipsid) in itms.tipsList" :key="tipsid"> --> + <view class="tips-container rowCen"> + {{itms.label}} + </view> + <!-- </block> --> + </view> + + <view class="userContent-likenum rowStaBet"> + <view class="left-headerbox rowSta"> + <image class="avator-img" :src="itms.anchor.head_img" mode="aspectFill"></image> + <view class="name-time"> + <view class="name"> + 灏忓畼绮鹃�� + </view> + <view class="time" v-text="getTimer(itms.update_time)"> + <!-- {{getTimer(itms.updateTime)}} --> + </view> + </view> + </view> + <view class="right-likebtn rowCen" @click.stop="like(c,idx)"> + <image class="heart" src="../../static/images/home/heartred.png" mode="aspectFill" v-if="itms.flag"></image> + <image class="heart" src="../../static/images/home/heart.png" mode="aspectFill" v-else></image> + <view class="likeNum" :style="itms.flag?'color:#FE3738':''"> + {{itms.like_num}} + </view> + </view> + </view> + </view> + </view> + </block> + </view> + </view> + </view> + <aLoadMore :status="loadstate" mode="loading3" :showTitle='true' color="#999999"></aLoadMore> + </view> + </view> + </view> +</template> + +<script> + import drawtab from '../../utils/mineTab.js' + import util from '../../utils/utils.js' + var a = 0 + export default { + + data() { + return { + stateCurrent: 1, + titleStates: [{ + title: '鍏虫敞' + }, + { + title: '鍙戠幇' + } + ], + + pageDateList: [], //瑙嗛鍒楄〃 + refrenshColunmDataList: [], //缂撳瓨鐨勬暟缁� + internalDataList: [], + + currentArray: [{ + id: 'water-fall-1', + list: [] + }, + { + id: 'water-fall-2', + list: [] + } + ], + + loginBack:false, + + loadstate: 'loading', + pageCurrent: 1, + canload: false + } + }, + watch: { + pageDateList(nval, oval) { + console.log(nval.length, '鏂扮殑鍒楄〃鏁版嵁杩涙潵浜唦'); + this.canload = false + if (nval.length > 0) { + this.$nextTick(() => { + for (var i = this.refrenshColunmDataList.length; i < nval.length; i++) { + this.internalDataList.push(nval[i]) + if(i==nval.length-1){ + console.log(nval.length); + console.log(this.refrenshColunmDataList.length); + if(nval.length-this.refrenshColunmDataList.length<20){ + this.canload = false + }else{ + this.canload = true + } + }else{ + this.canload = false + } + } + }) + } else { + this.externalRefrensh() + this.internalDataList = [] + } + }, + + internalDataList(nval, oval) { + this.getPushContainer(); + } + }, + created() { + this.getAlldata(); + if(this.loginBack){ + this.loginBack = false + this.getAlldata() + } + drawtab.nativeView.show() + }, + onHide() { + drawtab.nativeView.hide() + }, + onReachBottom() { + if (this.canload) { + if(this.stateCurrent==1){ + this.getAlldata() + }else{ + this.getMyfollow() + } + } + }, + methods: { + like(a, b) { + this.currentArray.forEach((items, index) => { + if (a == index) { + items.list.forEach((itm, idx) => { + if (b == idx) { + if (!itm.flag) { + var that = this; + this.$u.api.likeAlbum({ + album_id:itm.album_id + }).then(e => { + if(e.code != 0) return that.$alert(e.msg) + itm.flag = true + itm.like_num++ + }).catch(function (err) { + }) + } + } + }) + } + }) + }, + + exchangeState(idx) { + if (this.stateCurrent != idx) { + this.pageCurrent = 1 + this.pageDateList = [] + this.loadstate = 'loading' + this.canload = false + this.stateCurrent = idx + if(this.stateCurrent==1){ + this.getAlldata() + }else{ + this.getMyfollow() + } + } + }, + + getAlldata() { + var that = this; + this.$u.api.getAlbum({ + pageSize: 20, + page: this.pageCurrent, + }).then(e => { + if(e.code != 0) return that.$alert(e.msg) + var res = e.data; + console.log(res) + uni.stopPullDownRefresh() + that.pageDateList = that.pageDateList.concat(res.list) + if (res.list.length < 20) { + that.loadstate = 'nomore'; + that.canload = false; + } else { + that.loadstate = 'loading'; + // this.canload = true; + that.pageCurrent ++; + } + if (res.banner.length > 0) { + var obj = {} + obj.blist = res.banner + that.pageDateList.unshift(obj) + console.log(that.pageDateList); + } + }).catch(function (err) { + }) + }, + + getMyfollow(){ + var user = uni.getStorageSync('userInfo'); + if(user == ""){ + uni.redirectTo({ + url:"../login/wxlogin" + }) + } + var that = this; + this.$u.api.myFollowAlbum({ + pageSize:20, + page:this.pageCurrent, + }).then(e => { + if(e.code != 0) return that.$alert(e.msg) + var res = e.data.list; + console.log(res); + uni.stopPullDownRefresh() + that.pageDateList = that.pageDateList.concat(res) + if (res.length < 20) { + that.loadstate = 'nomore'; + that.canload = false; + } else { + that.loadstate = 'loading'; + that.canload = true; + that.pageCurrent ++; + } + }).catch(function (err) { + }) + + }, + + gofindDetails(id) { + console.log(id) + uni.navigateTo({ + url: "/pages/find/findGoods?id=" + id + }) + }, + + gobanersrc(info){ + util.goUrl(info) + }, + + + /** + * 鑾峰彇鑺傜偣淇℃伅 + */ + getPushContainer() { + let sortList = []; + this.$nextTick(() => { + uni.createSelectorQuery().in(this) + .selectAll('.fallitem') + .boundingClientRect() + .exec(res => { + if (res) { + sortList = res[0]; + sortList.sort((a, b) => { + return a.height - b.height; + }); + this.pushShiftData(sortList[0]); + } + }); + }) + }, + + pushShiftData(pushObj) { + //鍐呴儴鏁版嵁internalDataList + if (this.internalDataList.length > 0) { + this.currentArray.forEach((items, index) => { + if (items.id == pushObj.id) { + items.list.push(this.internalDataList[0]); + let shiftObj = this.internalDataList.shift(); + this.pushLoadData(shiftObj); + } + }); + } + }, + + //缂撳瓨鏁扮粍 + pushLoadData(shiftObj) { + this.refrenshColunmDataList.push(shiftObj) + }, + + externalRefrensh() { + this.refrenshColunmDataList = []; + console.log(this.currentArray); + for (let i = 0; i < this.currentArray.length; i++) { + this.currentArray[i].list = []; + } + }, + + getTimer(stringTime) { + + var minute = 1000 * 60; + var hour = minute * 60; + var day = hour * 24; + var week = day * 7; + var month = day * 30; + var time1 = new Date().getTime(); //褰撳墠鐨勬椂闂存埑 + var time2 = Date.parse(new Date((stringTime.replace(/\-/g, '/')))); //鎸囧畾鏃堕棿鐨勬椂闂存埑 + var time = time1 - time2; + + var result = null; + if (time < 0) {} else if (time / month >= 1) { + result = parseInt(time / month) + "鏈堝墠"; + } else if (time / week >= 1) { + result = parseInt(time / week) + "鍛ㄥ墠"; + } else if (time / day >= 1) { + result = parseInt(time / day) + "澶╁墠"; + } else if (time / hour >= 1) { + result = parseInt(time / hour) + "灏忔椂鍓�"; + } else if (time / minute >= 1) { + result = parseInt(time / minute) + "鍒嗛挓鍓�"; + } else { + result = "鍒氬垰锛�"; + } + return result; + } + }, + onPullDownRefresh() { + this.pageCurrent = 1 + this.pageDateList = [] + this.loadstate = 'loading' + this.canload = false + if(this.stateCurrent==0){ + this.getMyfollow() + }else{ + this.getAlldata() + } + } + } +</script> + +<style lang="scss"> + .find-wrapper { + width: 100%; + + .pageNavigationBar-container { + width: 100%; + position: fixed; + top: 0; + left: 0; + z-index: 100; + background-color: #FFFFFF; + + .headerNavigationbar { + width: 100%; + height: 90rpx; + padding: 0 32rpx; + + .backIcon { + width: 60rpx; + height: 32rpx; + z-index: 1; + + image { + width: 17rpx; + height: 32rpx; + } + } + + .pageState { + .items-box { + width: 170rpx; + font-size: 36rpx; + font-weight: 500; + color: #666666; + } + + .itm-active { + font-size: 36rpx; + font-weight: bold; + color: #333333; + } + } + + .emptybox { + width: 60rpx; + height: 32rpx; + } + } + } + + .pagebottom-container { + width: 100%; + margin-top: 110rpx; + padding: 0 20rpx; + + .warterfall_list { + width: 100%; + + .list_container { + width: 100%; + display: flex; + justify-content: space-between; + + .water-flow-column { + width: 346rpx; + + .fallitem { + width: 100%; + + .first-item { + width: 346rpx; + margin-bottom: 20rpx; + + /deep/.bannerswiper { + width: 100%; + height: 500rpx; + overflow: hidden; + + .gifpic { + border-radius: 16rpx; + } + + .uni-swiper-dot { + box-sizing: border-box; + width: 13rpx; + height: 13rpx; + border: 1rpx solid #FFFFFF; + border-radius: 50%; + background-color: transparent; + } + + .uni-swiper-dot-active { + width: 13rpx; + height: 13rpx; + background: #E75D00; + border: none; + } + } + } + + .card-items { + width: 346rpx; + border-radius: 16rpx; + margin-bottom: 20rpx; + overflow: hidden; + background-color: #FFFFFF; + + .topimg-area { + width: 100%; + position: relative; + + .bigimg { + width: 100%; + height: 346rpx; + } + + .smallimgs { + .smimg { + width: 173rpx; + height: 173rpx; + } + } + + .imgsnum-box { + position: absolute; + height: 40rpx; + background: rgba(0, 0, 0, 0.6); + padding: 0 6rpx; + border-radius: 8rpx; + z-index: 10; + right: 20rpx; + bottom: 20rpx; + font-size: 24rpx; + font-weight: 500; + color: #FFFFFF; + } + } + + .info-area { + width: 100%; + padding: 10rpx; + + .title { + width: 100%; + font-size: 28rpx; + font-weight: 500; + color: #333333; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin-bottom: 15rpx; + } + + .tipsList-box { + width: 100%; + display: flex; + flex-wrap: wrap; + + .tips-container { + height: 34rpx; + background: #FFF3F3; + border-radius: 4rpx; + font-size: 24rpx; + font-weight: 500; + color: #ED4015; + margin-right: 10rpx; + margin-bottom: 10rpx; + } + } + + .userContent-likenum { + width: 100%; + margin-top: 15rpx; + + .left-headerbox { + .avator-img { + width: 40rpx; + height: 40rpx; + border-radius: 50%; + } + + .name-time { + margin-left: 15rpx; + + .name { + font-size: 24rpx; + font-weight: 500; + color: #333333; + } + + .time { + font-size: 20rpx; + font-weight: 500; + color: #999999; + } + } + } + + .right-likebtn { + .heart { + width: 26rpx; + height: 24rpx; + } + + .likeNum { + font-size: 24rpx; + font-weight: 500; + color: #333333; + margin-left: 15rpx; + } + } + } + } + } + } + } + } + } + } + } +</style> diff --git a/uniapp/components/sh_page/indexCont.vue b/uniapp/components/sh_page/indexCont.vue new file mode 100644 index 0000000..4079eb0 --- /dev/null +++ b/uniapp/components/sh_page/indexCont.vue @@ -0,0 +1,1853 @@ +<template> + <view class="page-content"> + <scroll-view class="swiper-scroll" :refresher-background='headerColor' @scroll='pagescroll' scroll-y="true" + :scroll-top='scrollindex' :scroll-anchoring='true' scroll-with-animation lower-threshold='500' + @scrolltolower="getNextPage" :refresher-threshold='75' :refresher-triggered='triggeredstate' + :refresher-enabled='canrefresh && canrefush' @refresherrefresh='refresh' @refresherrestore="onRestore" + refresher-default-style='none' :bounce='false' @refresherpulling="pulling"> + <view class="indexbody-index-wrapper colCen borderBox"> + <view class="topheaderCard-container colCen borderBox"> + <view class="ellipse" :style="'background:'+ headerColor +';'"></view> + </view> + <view class="loading-img rowCenCen" :style="'margin-top:'+(Topheight-77)+'px;'"> + <view class="imgbox defIcon"> + <image src="@/static/images/home/loading.gif" mode="aspectFill"></image> + </view> + </view> + <view class="pageBody-container colCen borderBox"> + <view class="column-container"> + <view class="bannerSwiper-container colCenCen borderBox" v-if="topBannerList.length>0"> + <swiper class="swiper-box" :current="swpidx + " @change="changeColor" :autoplay="true" :interval="3000" :duration="500" :indicator-dots="true" + :indicator-active-color="'#fff'" circular> + <swiper-item v-for="(items,index) in topBannerList" :key='index'> + <view class="swiper-item defIcon" @click="goUrl(items)"> + <image :src="items.image" mode="aspectFit"></image> + </view> + + + </swiper-item> + </swiper> + </view> + + + <!-- 閲戝垰鍖� --> + <view class="navslider-box" v-if="navbarShowList.length > 0"> + <swiper class="swiper-type swiper-nav" + :indicator-dots="navbarList.length > 10 ? true : false" indicator-color="#eaeaea" + indicator-active-color="#FE3A33" :duration="500" :style="sliderH"> + <swiper-item v-for="(sliderItem, index) in navbarShowList" :key="index"> + <view class="slider_itemslist rowSta"> + <view class="item colCen" v-for="(item, idx) in sliderItem" :key="idx" + @click="goUrl(item)"> + <image :src="item.image" :lazy-load="true" mode="aspectFit"></image> + <view class="desc">{{ item.mname }}</view> + </view> + </view> + </swiper-item> + </swiper> + </view> + + <!--鍗曞垪鍥剧墖--> + <!-- <view class="centerSwiper-container colCenCen borderBox" v-if="singleLineList.length>0"> + <swiper class="swiper-box" :autoplay="true" :interval="5000" :duration="300" circular> + <swiper-item v-for="(items,index) in singleLineList" :key='index'> + <view class="swiper-item defIcon" @click="goUrl(items)"> + <image :src="items.image" mode="aspectFit"></image> + </view> + </swiper-item> + </swiper> + </view> --> + <!--蹇嵎鍏ュ彛鍥炬爣--> + <view class="c-loading-img rowCenCen"> + <view class="imgbox defIcon" v-for="(eitem,index) in fastenter" :key="index" @click="goUrl(eitem)"> + <image :src="eitem.image"></image> + </view> + </view> + <!--宸﹁疆鎾紝鍙充袱琛�--> + <view class="centerflex f_contant"> + <view class="f_centerSwiper-container swiper-box swiper-item f_left"> + <swiper class="swiper-box" :autoplay="true" :interval="3000" :duration="300" :indicator-active-color="'#fff'" :indicator-dots="true" circular> + <swiper-item v-for="(items,index) in popBannerSList" :key='index'> + <view class="swiper-item defIcon" @click="goUrl(items)"> + <image :src="items.image" mode="aspectFit"></image> + </view> + </swiper-item> + </swiper> + </view> + <view class="f_right"> + <view class="f_imgcon" v-if='enterTop.length>0' > + <image :src="enterTop[0].image" @click="goUrl(enterTop[0])"></image> + </view> + <view class="f_imgcon" v-if='enterDown.length>0'> + <image :src="enterDown[0].image" @click="goUrl(enterDown[0])"></image> + </view> + </view> + </view> + + <!--鍙屽垪鍥剧墖--> + <view class="cardsList-container rowCenBet borderBox" v-if="doubleLineList.length>0"> + <block v-for="(items,index) in doubleLineList" :key='index'> + <view class="card-items defIcon" @click="goUrl(items)"> + <image :src="items.image" mode="aspectFill" lazy-load="true"></image> + </view> + </block> + </view> + + </view> + </view> + + <view class="pagebottomBody-container colCen borderBox"> + + <view class="bottomSwiper-container colCenCen borderBox" v-if="bottomBannerList.length>0"> + <swiper class="swiper-box" :autoplay="true" :interval="3000" :duration="300" circular> + <swiper-item v-for="(items,index) in bottomBannerList" :key='index'> + <view class="swiper-item defIcon" @click="goUrl(items)"> + <image :src="items.image" mode="widthFix"></image> + </view> + </swiper-item> + </swiper> + </view> + + </view> + + <view class="goods-bottom-List colCen borderBox"> + <view class="bottomTypebar-container colCen borderBox"> + <view class="typeList rowCenCen borderBox"> + <block v-for="(items,index) in typedataList" :key='index'> + <view class="type-items-container colCenCen" @click="switchtype(items,index)" + :class="bottomCurrent==index?'type-container-active':''"> + <view class="mainTitle"> + {{items.mainTitle}} + </view> + <view class="subtitle rowCenCen"> + <view>{{items.subTitle}}</view> + </view> + </view> + </block> + </view> + </view> + + <view class="bottomGoods-list-container rowCenBet borderBox" + v-if="bottomGoodsList.length>0"> + <block v-for="(items,index) in bottomGoodsList" :key="index"> + <view class="goods-items" @click="goDetails(items)"> + <colGoods :items="items"></colGoods> + </view> + </block> + + <aLoadMore :status="loadstatus" mode="loading3" :showTitle='true' color="#999999"> + </aLoadMore> + </view> + </view> + </view> + </scroll-view> + <slideTop v-if="scrollTop>1000" @toTop='scrolltoTops'></slideTop> + </view> +</template> +<script> + import utils from '@/utils/utils.js' + import slideTop from '@/components/slideTop.vue' + import colGoods from '@/components/colGoods.vue' + import empowerModel from '@/components/empowerModel.vue' + export default { + props: { + recomendType: { + type: Number, + default: 1 + }, + Topheight: { + type: Number, + default: 90 + }, + canrefush: { + type: Boolean + }, + fixedClass: { + type: Boolean, + default: false + } + }, + components: { + slideTop, + colGoods, + empowerModel + }, + data() { + return { + fallingList: [], + pageHeight: '', + headerColor: '', + topBannerList: [], + singleLineList: [], + doubleLineList: [], + bottomBannerList: [], + navbarShowList: [], + navbarList: [], + sliderH: '', + scrollTop: 0, + scrollindex: 0, + zdmList: [], + phbList: [], + dyList: [], + rqList: [], + typedataList: [ + { + mainTitle: '浜笢', + subTitle: '瀹樻柟淇濋殰', + type: 2 + }, + { + mainTitle: '鎶栭煶', + subTitle: '濂界墿鎶㈣喘', + type: 6 + }, + { + mainTitle: '鎷煎澶�', + subTitle: '鐧句嚎琛ヨ创', + type: 3 + }, + { + mainTitle: '鍞搧浼�', + subTitle: '澶х墝绮鹃��', + type: 4 + } + ], + bottomType: 1, + bottomCurrent: 0, + bottomGoodsList: [], + loadingState: false, + currentPage: 1, + loadstatus: 'loading', + + beanCurd: { + BaiYiBuTie: '', + JDMiaoSha: '', + LiveGoods: '', + PDDOne: '' + }, + triggeredstate: true, + swpidx: 0, + canrefresh: true, + fastenter:[], + popBannerSList:[], + enterTop:[], + enterDown:[] + } + }, + watch: { + + recomendType(nval, oval){ + if(nval != oval)this.changeRecommend() + }, + navbarList(nval, oval) { + let index = 0; + while (index < nval.length) { + this.navbarShowList.push(nval.slice(index, (index += 10))); + } + if (this.navbarList.length > 5) { + this.sliderH = 'height:345rpx;'; + } else { + this.sliderH = 'height:160rpx;'; + } + }, + headerColor: { + handler(nvl, ovl) { + this.$emit('passColor', nvl) + }, + immediate: true + } + }, + created() { + this._freshing = false; + this.changeRecommend(); + uni.$emit('initpage') + this.getBannerInfo(); + this.getHomeMenuList(); + this.getrecommendGoods(); + this.getbottomGoodsList(this.bottomType); + this.getGOODSfalling(); + this.getRQList(); + }, + mounted() { + this.$emit('scrolltoTop') + this.fixedClass = false; + setTimeout(() => { + this.getfixedHeight() + }, 1500) + }, + methods: { + changeRecommend(){ + var tmp_1 = { + mainTitle: '澶╃尗', + subTitle: '澶╃尗鐑攢', + type: 5 + }; + var tmp_2 = { + mainTitle: '鎺ㄨ崘', + subTitle: '涓轰綘鎺ㄨ崘', + type: 1 + }; + var open_like_recommend = uni.getStorageSync('open_like_recommend'); + if(this.typedataList.length == 5)this.typedataList.shift() + if(open_like_recommend == 1){ + this.typedataList.unshift(tmp_2); + this.bottomType = tmp_2.type; + }else{ + this.typedataList.unshift(tmp_1); + this.bottomType = tmp_1.type; + } + this.currentPage = 1; + this.getbottomGoodsList(this.bottomType); + }, + getGOODSfalling() { + var that = this; + this.$u.api.superDiscountGoods({ + page:1, + pageSize:10 + }).then(e => { + if(e.code != 0) return that.$alert(e.msg) + that.fallingList = e.data.list + }).catch(function (err) { + }) + }, + pulling(e) {}, + refresh(e) { + this.triggeredstate = true + if (this._freshing) return; + this._freshing = true; + this.getBannerInfo(); + this.getrecommendGoods(); + this.getGOODSfalling(); + this.getbottomGoodsList(this.bottomType); + setTimeout(() => { + this.triggeredstate = false; + this._freshing = false; + }, 8000) + }, + goUrl1(e) { + let url = e.currentTarget.dataset.url; + console.log(url); + uni.navigateTo({ + url: url + }); + }, + onRestore() { + this.swpidx = 0 + }, + pagescroll(e) { + this.$emit('scrollNum', e.detail.scrollTop) + this.scrollTop = e.detail.scrollTop + if (!e.detail.scrollTop > 0) { + setTimeout(() => { + this.canrefresh = true + }) + } else { + // this.canrefresh = false + } + }, + + scrolltoTops() { + this.scrollindex = this.scrollTop + this.$nextTick(() => { + this.scrollindex = 0 + }) + }, + + onAbort() { + console.log('refushstop'); + }, + + getBannerInfo() { + // banner鏁版嵁 + var that = this; + this.$u.api.getBanner({ + type: '1,3,4,5,11,12,13,14' + }).then(e => { + if (e.code == 1) return that.$alert(e.msg); + var res = e.data.info; + console.log(res); + if(res.topBannerList&&res.topBannerList.length>0) + { + that.topBannerList = res.topBannerList; + //that.headerColor = that.topBannerList[0].colour; + } + that.singleLineList = res.singleLineList; + that.doubleLineList = res.doubleLineList; + that.bottomBannerList = res.bottomBannerList; + that.fastenter=res.indexbanner; + that.popBannerSList=res.popBannerSList; + that.enterTop=res.enterTop; + that.enterDown=res.enterDown; + setTimeout(() => { + that.triggeredstate = false; + that._freshing = false; + }, 300) + }).catch(function(err) { + console.log(err) + }) + }, + + goTik() { + uni.navigateTo({ + url: '../active/tiktoklist' + }) + }, + + godydetails(itm) { + const info = {} + info.nowInfo = itm + info.pageCurrent = 2 + info.type = 0 + info.storgeList = this.dyList + utils.setCache('pathInfo', info) + uni.navigateTo({ + url: '../active/dyvideoDetails' + }) + }, + + getHomeMenuList() { + var that = this; + var datalist=[{"id":51,"mname":"娣樺疂杩斿埄","group":"1","type":"1","image":"https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/%E5%85%A8.png","parameter_json":{"appId":"","route":"","url":"/pages/active/tmsearch","cmark":"","activityId":"","goodsId":"","goods_platform":"","template_id":"","jtk_act_id":""},"url_type":"1","is_top":"0"},{"id":3,"mname":"浜笢杩斿埄","group":"1","type":"1","image":"https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/%E7%BD%91.png","parameter_json":{"appId":"","route":"","url":"../active/jdSearch","cmark":"","activityId":"","goodsId":"","goods_platform":"","template_id":"","jtk_act_id":""},"url_type":"1","is_top":"0"},{"id":49,"mname":"鎶栭煶杩斿埄","group":"1","type":"1","image":"https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/%E4%BC%98.png","parameter_json":{"appId":"","route":"","url":"/pages/active/dysearch","cmark":"","activityId":"","goodsId":"","goods_platform":"","template_id":"","jtk_act_id":""},"url_type":"1","is_top":"0"},{"id":5,"mname":"鎷煎澶氳繑鍒�","group":"1","type":"1","image":"https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/%E6%83%A0.png","parameter_json":{"appId":"","route":"","url":"../active/pddsearch","cmark":"","activityId":"","goodsId":"","goods_platform":"","template_id":"","jtk_act_id":""},"url_type":"1","is_top":"0"},{"id":7,"mname":"鍞搧浼氳繑鍒�","group":"1","type":"1","image":"https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/%E5%88%B8.png","parameter_json":{"appId":"","route":"","url":"/pages/active/vipsearch","cmark":"","activityId":"","goodsId":"","goods_platform":"","template_id":"","jtk_act_id":""},"url_type":"1","is_top":"0"},{"id":10,"mname":"缇庡洟绾㈠寘","group":"1","type":"1","image":"https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/%E8%B4%AD.png","parameter_json":{"appId":"","route":"","url":"/pages/mine/mt","cmark":"","activityId":"","goodsId":"","goods_platform":"","template_id":"","jtk_act_id":""},"url_type":"1","is_top":"0"},{"id":11,"mname":"楗夸簡涔堢孩鍖�","group":"1","type":"1","image":"https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/%E7%89%A9.png","parameter_json":{"appId":"","route":"","url":"/pages/mine/elm","cmark":"","activityId":"","goodsId":"","goods_platform":"","template_id":"","jtk_act_id":""},"url_type":"1","is_top":"0"},{"id":8,"mname":"鐢靛奖7鎶�","group":"1","type":"1","image":"https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/%E6%8B%BF.png","parameter_json":{"appId":"","route":"","url":"","cmark":"","activityId":"","goodsId":"","goods_platform":"","template_id":"","jtk_act_id":"17"},"url_type":"11","is_top":"0"},{"id":2,"mname":"9.9鍖呴偖","group":"1","type":"1","image":"https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/%E8%BF%94.png","parameter_json":{"appId":"","route":"","url":"../active/specialOffer","cmark":"","activityId":"","goodsId":"","goods_platform":"","template_id":"","jtk_act_id":""},"url_type":"1","is_top":"0"},{"id":6,"mname":"澶х墝浼橀��","group":"1","type":"1","image":"https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/%E5%88%A9.png","parameter_json":{"appId":"","route":"","url":"../active/brandSale","cmark":"","activityId":"","goodsId":"","goods_platform":"","template_id":"","jtk_act_id":""},"url_type":"1","is_top":"0"}]; + + that.navbarList = datalist; + // this.$u.api.getHomeMenu({ + // type: 1 + // }).then(e => { + // console.log(e); + // if (e.code != 0) return that.$alert(e.msg) + // that.navbarList = e.data.list; + // }).catch(function(err) {}) + + }, + + getrecommendGoods() { + var that = this; + this.$u.api.getMQD({}).then(e => { + if (e.code != 0) return that.$alert(e.msg) + that.zdmList = e.data.zdm; + that.phbList = e.data.phb; + that.dyList = e.data.dygoods; + }).catch(function(err) {}) + }, + + getbottomGoodsList(type) { + var that = this; + this.$u.api.getGoodThing({ + deviceType: getApp().globalData.platform == 'android' ? (getApp().globalData.systemLevel < 10 ? + 'IMEI' : 'OAID') : 'IDFA', + deviceValue: getApp().globalData.equipmentNumber, + pageId: 1, + pageSize: 10, + type: type + }).then(e => { + if (e.code != 0) return that.$alert(e.msg) + var res = e.data.list; + if (res.length < 10) { + that.loadingState = false + that.loadstatus = 'normal' + } else { + that.currentPage++ + that.loadstatus = 'loading' + that.loadingState = true + } + that.bottomGoodsList = res + }).catch(function(err) {}) + }, + + getNextPage() { + if (this.loadingState) { + this.loadingState = false + var that = this; + this.$u.api.getGoodThing({ + deviceType: getApp().globalData.platform == 'android' ? (getApp().globalData.systemLevel < + 10 ? 'IMEI' : 'OAID') : 'IDFA', + deviceValue: getApp().globalData.equipmentNumber, + pageId: this.currentPage, + pageSize: 10, + type: this.bottomType + }).then(e => { + if (e.code != 0) return that.$alert(e.msg) + var res = e.data.list; + if (res.length < 10) { + that.loadingState = false + that.loadstatus = 'normal' + } else { + that.currentPage++ + that.loadstatus = 'loading' + that.loadingState = true + } + that.bottomGoodsList = that.bottomGoodsList.concat(res) + }).catch(function(err) {}) + } + }, + + switchtype(info, idx) { + if (this.bottomCurrent != idx) { + this.currentPage = 1; + this.bottomType = info.type; + this.getbottomGoodsList(this.bottomType); + this.$nextTick(() => { + this.$emit('scrolltoview') + this.bottomCurrent = idx; + }) + } + }, + + getfixedHeight(e) { + uni.createSelectorQuery().in(this).select('.goods-bottom-List').boundingClientRect(data => { + this.$emit('pushfixed', data.top) + }).exec(); + }, + + changeColor(e) { + this.swpidx = e.detail.current + this.topBannerList.forEach((itm, idx) => { + if (idx == e.detail.current) { + this.headerColor = itm.colour + } + }) + }, + + goUrl(info) { + utils.goUrl(info, this) + }, + goFUrl(info) + { + uni.navigateTo({ + url: info.url + }); + }, + gojgqUrl(info) { + if (info.urlType == '0') { + uni.navigateTo({ + url: '../webView/webView?url=' + info.murl + }) + } else if (info.urlType == 1) { + uni.navigateTo({ + url: info.murl + }) + } else if (info.urlType == '2') { + // #ifdef APP-PLUS + if (plus.os.name == 'Android') { + console.log(plus.os.name); + plus.runtime.openURL(info.murl, res => { + uni.navigateTo({ + url: '../webView/webView?url=' + info.murl + }) + }, 'com.taobao.taobao'); + } else { + info.murl = info.murl.split('//')[1] + plus.runtime.openURL('taobao://' + info.murl, function(res) { + uni.navigateTo({ + url: '../webView/webView?url=' + info.murl + }) + }, 'taobao://'); + } + // #endif + } + }, + + goDetails(info) { + //info.searchSource = 1 + uni.navigateTo({ + url: '../goods/goodsDetail?info=' + encodeURIComponent(JSON.stringify(info)) + }) + }, + + + getRQList() { + // 閲戝垰鍖� + var that = this; + this.$u.api.getM({}).then(e => { + if (e.code != 0) return that.$alert(e.msg) + that.rqList = e.data; + }).catch(function(err) {}) + + // this.$http.post('tb/getM', 'application/json').then((res) => { + // console.log("rexiao========================" + JSON.stringify(res)) + // this.rqList = res; + // }) + }, + gorxb() { + console.log("=======================" + JSON.stringify(this.rqList)) + uni.navigateTo({ + url: '../webView/webView?url=' + this.rqList.fqbUrl + }) + }, + goddq() { + uni.navigateTo({ + url: '../webView/webView?url=' + this.rqList.ddqUrl + }) + } + } + } +</script> + +<style lang="scss"> + .f_contant + { + display: flex; + justify-content: space-between; + width: 96%; + height: 500rpx; + flex-direction: row; + padding: 20rpx 0; + margin: auto; + .f_left{ + width:49%; + border-radius: 12rpx; + background: #fff; + } + .f_right{ + width:49%; + display: flex; + flex-direction: column; + justify-content: space-between; + } + .f_imgcon + { + height: 49%; + border-radius: 12rpx; + image + { + width:100%; + border-radius: 12rpx; + height: 100%; + } + } + .f_centerSwiper-container { + + + .swiper-box { + width: 100%; + height: 100%; + + .swiper-item { + width: 100%; + height: 100%; + } + } + } + } + + .c-loading-img { + width: 96%; + height: 132rpx; + background: #fff; + margin: auto; + margin-top: 20rpx; + border-radius: 12rpx; + justify-content:space-between; + padding:5rpx; + + .imgbox { + width: 158rpx; + height: 105rpx; + // max-height: 72rpx; + } + } + .juan { + height: 28rpx; + background: linear-gradient(90deg, #ff8873 0, #ff4f4f 100%); + border-radius: 4rpx; + padding: 0 10rpx 0 2rpx; + font-size: 19rpx; + font-weight: 400; + color: #fff; + line-height: 28rpx; + } + + .juan text { + background: #fff; + border-radius: 2rpx 0 0 2rpx; + font-size: 20rpx; + color: #FE3A33; + margin: auto 10rpx auto 0; + min-width: 24rpx; + max-width: 24rpx; + min-height: 24rpx; + max-height: 24rpx; + display: inline-block; + line-height: 24rpx; + text-align: center; + vertical-align: middle; + margin-top: -4rpx; + } + + .loading-img { + width: 100%; + height: 150rpx; + margin-bottom: 16rpx; + + .imgbox { + width: 208rpx; + height: 126rpx; + // max-height: 72rpx; + } + } + + .swiper-scroll { + width: 100%; + height: 100vh; + } + + .indexbody-index-wrapper { + width: 100%; + position: relative; + + .topheaderCard-container { + width: 100%; + height: 380rpx; + position: absolute; + + .ellipse { + width: 130%; + height: 100%; + border-radius: 0 0 50% 50%; + } + } + + .pageBody-container { + width: 100%; + //background-color: #FFFFFF; + //margin-bottom: 16rpx; + + .column-container { + width: 100%; + z-index: 10; + + .bannerSwiper-container { + width: 100%; + height: 230rpx; + padding: 0 16rpx; + margin-bottom: 16rpx; + + /deep/.swiper-box { + width: 100%; + height: 100%; + + .swiper-item { + width: 100%; + height: 100%; + border-radius: 12rpx; + overflow: hidden; + } + + .uni-swiper-dot { + width: 20rpx; + height: 6rpx; + border-radius: 3rpx; + } + } + } + + + .centerSwiper-container { + width: 100%; + height: 190rpx; + padding: 0 20rpx; + margin-bottom: 16rpx; + + .swiper-box { + width: 100%; + height: 100%; + + .swiper-item { + width: 100%; + height: 100%; + } + } + } + + .cardsList-container { + width: 100%; + flex-wrap: wrap; + padding: 0 20rpx; + margin-bottom: 16rpx; + + .card-items { + width: 340rpx; + height: 135rpx; + overflow: hidden; + border-radius: 8rpx; + margin-bottom: 10rpx; + } + } + + /deep/.navslider-box { + margin: auto; + width: 96%; + background-color: #FFFFFF; + border-radius: 12rpx; + + .swiper-type { + width: 100%; + + .slider_itemslist { + width: 100%; + flex-wrap: wrap; + padding: 20rpx 0; + + .item { + width: 20%; + margin-bottom: 30rpx; + + image { + width: 80rpx; + height: 80rpx; + margin-bottom: 10rpx; + } + + .desc { + font-size: 28rpx; + font-weight: 400; + color: #333333; + } + } + } + } + + .uni-swiper-dot { + width: 20rpx; + height: 6rpx; + border-radius: none; + } + } + } + } + + .pagebottomBody-container { + width: 100%; + padding: 0 20rpx; + margin: 6rpx 0; + + .goodsFalling-container { + width: 100%; + height: 505rpx; + background: #FFFFFF; + border-radius: 16rpx; + margin-bottom: 20rpx; + + .box-bar-content { + width: 100%; + height: 110rpx; + padding: 0 20rpx; + + .title-text { + font-size: 32rpx; + font-weight: 500; + color: #333333; + } + + .tips-txt { + height: 30rpx; + background: linear-gradient(-90deg, #7619EC, #A429F3); + border-radius: 15rpx 15rpx 15rpx 0px; + font-size: 24rpx; + font-weight: 500; + color: #FFFFFF; + margin-left: 20rpx; + padding: 0 20rpx; + } + } + + .goodsScroll-container { + width: 100%; + height: 395rpx; + + .scrollgoods-box { + width: 100%; + height: 100%; + + .scrollList-content { + white-space: nowrap; + padding-left: 8rpx; + + .goods-items { + display: inline-block; + width: 226rpx; + height: 390rpx; + border-radius: 8rpx; + overflow: hidden; + margin-right: 20rpx; + + .items-container { + width: 100%; + height: 100%; + + .image-content { + width: 226rpx; + height: 226rpx; + position: relative; + border-radius: 8rpx; + overflow: hidden; + + .spec-box { + width: 100%; + height: 30rpx; + background: linear-gradient(86deg, #FD8E0E, #FFBD0A); + border-radius: 0px 0px 8rpx 8rpx; + font-size: 22rpx; + font-weight: 500; + color: #FFFFFF; + position: absolute; + bottom: 0; + } + } + + .goodsinfo-content { + width: 100%; + height: 160rpx; + padding: 0 10rpx; + + .goodsName-box { + width: 100%; + line-height: 34rpx; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 24rpx; + font-weight: 400; + color: #444444; + margin-top: 5rpx; + } + + .price-info-container { + width: 100%; + + .nowPrice-content { + .rmbicon { + font-size: 24rpx; + font-weight: 400; + color: #FF4242; + line-height: 34rpx; + } + + .nowprice { + font-size: 26rpx; + font-weight: bold; + color: #FF4242; + line-height: 34rpx; + } + } + + .oldPrice-content { + margin-left: 10rpx; + + .oldprice { + text-decoration: line-through; + line-height: 34rpx; + font-size: 24rpx; + font-weight: 500; + color: #999999; + } + } + } + + .saleNum-container { + width: 100%; + margin-top: 5rpx; + + .content-box { + height: 30rpx; + background: #FAE7AD; + border-radius: 5rpx; + overflow: hidden; + + .txt-tips { + font-size: 24rpx; + font-weight: 500; + color: #613309; + padding: 0 6rpx; + } + + .salenum { + height: 30rpx; + background: linear-gradient(9deg, #F63F4E, #FC5F13); + padding: 0 14rpx; + font-size: 24rpx; + font-weight: 500; + color: #FFFFFF; + border-radius: 5rpx; + } + } + } + + .likeNum-container { + width: 100%; + font-size: 24rpx; + font-weight: 500; + color: #FE3738; + margin-top: 5rpx; + + .txt { + color: #333333; + } + } + } + } + } + } + } + } + } + + .welfare-container { + width: 100%; + background: #FFFFFF; + border-radius: 16rpx; + margin-bottom: 20rpx; + + .titlebar-container { + width: 100%; + height: 110rpx; + padding: 0 20rpx; + + .left-content { + .titletext { + font-size: 32rpx; + font-weight: 500; + color: #333333; + } + } + + .right-arrowContent { + font-size: 24rpx; + font-weight: 400; + color: #999999; + } + } + + .goodsList-container { + width: 100%; + + .goods-items-container { + width: 100%; + height: 260rpx; + padding-left: 10rpx; + padding-right: 35rpx; + background: #FFFFFF; + border-radius: 16rpx; + margin-bottom: 20rpx; + + .left-imagecontent { + width: 220rpx; + height: 220rpx; + border-radius: 8rpx; + overflow: hidden; + } + + .right-goodsinfo-container { + margin-left: 20rpx; + width: 420rpx; + height: 220rpx; + + .top-content-box { + width: 100%; + + .goodsnameinfo-content { + width: 100%; + margin-bottom: 12rpx; + + .typeIcon-content { + width: 60rpx; + height: 24rpx; + margin-right: 5rpx; + margin-top: 8rpx; + } + + .tradename { + width: 400rpx; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 28rpx; + font-weight: 400; + color: #333333; + } + } + + .desc-box { + width: 100%; + height: 60rpx; + font-size: 24rpx; + font-weight: 500; + line-height: 30rpx; + color: #999999; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + } + } + + .btm-content-box { + width: 100%; + + .discounts-container { + width: 100%; + margin-bottom: 15rpx; + + .coupon-box { + width: 102rpx; + height: 30rpx; + background: url(@/static/images/goods/couponbac.png)no-repeat; + background-size: 100% 100%; + font-size: 20rpx; + font-weight: 500; + color: #FF4242; + } + + .back-box { + height: 30rpx; + padding: 0 10rpx; + background: linear-gradient(-90deg, #7619EC, #A429F3); + border-radius: 5rpx; + margin-left: 8rpx; + font-size: 20rpx; + font-weight: 500; + color: #FFFFFF; + white-space: nowrap; + } + } + + .price-saleNums-container { + width: 100%; + + .left-price-box { + .nowpirce { + .rmb { + font-size: 24rpx; + font-weight: 600; + color: #FF4242; + line-height: 30rpx; + } + + .num { + font-size: 30rpx; + line-height: 34rpx; + font-weight: bold; + color: #FF4242; + } + } + + .original-price { + font-size: 24rpx; + font-weight: 400; + color: #999999; + margin-left: 15rpx; + line-height: 30rpx; + } + } + + .saleNum-content { + font-size: 24rpx; + font-weight: 500; + color: #999999; + } + } + } + } + } + } + } + .bottomSwiper-container { + width: 100%; + height: 160rpx; + padding: 0 20rpx; + background-color: #FFFFFF; + + .swiper-box { + width: 100%; + height: 100%; + + .swiper-item { + width: 100%; + height: 100%; + } + } + } + + .van-row { + width: 100%; + + .van-col { + float: left; + box-sizing: border-box; + min-height: 2rpx; + width: 50%; + + .home-row { + background: #fff; + border-radius: 12rpx; + padding: 0 16rpx 0 16rpx; + margin-bottom: 16rpx; + + .title { + display: flex; + align-items: center; + width: 100%; + justify-content: space-between; + height: 100rpx; + + .name { + font-weight: 700; + font-size: 28rpx; + color: #333; + } + + .tagg { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKoAAAAcCAYAAADx5STqAAAAAXNSR0IArs4c6QAABYhJREFUeF7tnEtsFVUYx39n5j7m3tsCbWkpLYVizaUUKAIWAgoWLUoCiY8EjejK+CJGjVa78A0mxsREE+PCjTujJsTEJQkPdaEbFy4N7jXGleFRpPfeOeabc+b2XqiJkpmkZc4kJE2BkzPf95v/95jvjGKBS7+Nx3G0Aq3focxlJgiZAu7AZ5CQAaBjof970/4uBLr74JlPoLwJKAD6pr3d1G5McQm830H/htY/4KkzBJWflBqY1VqQQymlxNptl/xF2yWQquOEEayzHAFeQrPNeia1/S/qhT1gFti9Eyb3Q+fD4K8A6mLXRb31JbC5OZT6GdRHlEZOCqRaa+9aWNusrI/gq5M09AwbgU8J2dciG0K5uEyu7HhH7lTuPK/goSkYHIfOx8BfBjQyZYoEoY9DUTtTSn2Pr4+pYvUXrbWvlBIDtwPXVNJpDqD4HOizLpJFBdDswNnqEbnrq8CeMZjYDPRC35PgdTpQkyFX+BJgxdLC2Z/4PK6C6ulWZY3ga0L6KgfRfAMUrRf8ZPayRFcR60h07y3B/feBryE/AH1Pg98J2ilqwp4Vg/ooruJ5D6jg1lMxrKoJ6QwbCPkO6LfuySW8iaW73MFdsHYNXJ2FYAhWPQu55aBdjpqCU8WoOVB/4DcmVTB6PoI1UlSNYoYzaO52StqSFEnI39wPeyegEYKeg8JaWP2cAzUFQluWtMrqnaM0MqWUitoB6GkeRfGFzRXigindrSzm1cUqYqqKB4f2QiUwnShdg+IQDLwAuRVOUdP1oSm0FEdVufqlhP6AK5wlZI9T0xY1rQH7qlAdhrkaeL5R1OI6GHyxXVFV1P5L123ZW92qqvqRUu4epWfYT8jpKIk1upFti8dV/nAFJm8HbQtSZUENhmHda5DralFUDeHf2UMp3TuOWWzghQeUfoUTwJtOTa3VxTx5YGocujuhHho1ledXiqd8D/RIB6Bsn+sQ/C7oGM/8M54Ct0ZV8d5VeppzKPa7/NRyJgXU9lUwvh7mGvJCz/yJ285K1PNKVIHi5aF+AXofhMFjJofNeEBKGFabp6pvJfSfJ6Sa+bAf90x7fJjcAn5rTSmwCoP2vYekAfJzWINCL6x/Cwp9Jod1oCbJqgn/yvtVQv8lqW+TXH3JriVm2bsO+rugXjcwRmJqoW0WTQo8DxpXYOh56D0E9UsW5CV794t344rLDlRxT1xAVcuwfb3JS+NwH8PZDP/y73PQmIUVu2HkDVtwLV4/L/mdRaBmPfTHPdOygjvXQlA04EVqakO+iftWXeVnyU8D2PA+VEaNskZpgbsStkBL6HfFlBmJ2NEFIz1Qi9VUQT0e8hFI4/DvQ/0iDD0FQ09A/bKDNGE6W5ZrKaZce8rYZZUPRemV2lwg78FwN5Tytrtsh3ukX9oxBmMfGlVtDv6k560Mr2zbU+qEa/jHFMgoRJyvinlKMtq3EjqDFhZFVRuw8QPo3ucKqHSfoGsa/u4V6jygseHFRDLoONENHUUItS2g/oKBo1B93eSlzTnydD2W0dXbX6GKEdxQyjUoNEFdDpW8UVRR0kI/bPsMgn7TQ3U90zSfofahlAhUsfg0Z+0bKpsXpLmHRb52DOqOClQKRMccpR01+h4MPQK1CyBNf3elZYHrx/zc4PQCto5B3RZARwC1i7DyXtj6sX2B52Z30iJ0fmh/ocHp+OSpO4pi7B+DujUPZemnFmDnV7BsC9RnXTsqPUr//ShKs36IYXWH++ZBva0AhTm45WXYMG2U1TX2k8b0vx/ua8Lqjkub+khaVV1lGKvD8mHY9TXkSu4wX3KI3vhx6euUNasfoIjf+6/phzFg03FYfdiM87kCKjlU51f6/x+gaIU1s5/0ib+KMroFDh+DnrvM3Km7krHADX7S5x9NQ+SquvQhJAAAAABJRU5ErkJggg==); + background-size: 100% 100%; + display: flex; + align-items: center; + font-size: 22rpx; + height: 38rpx; + color: #FFFFFF; + width: 186rpx; + + .ddq { + text-align: center; + display: inline-block; + width: 76rpx; + font-size: 22rpx; + margin-left: 4rpx; + } + + view { + font-size: 24rpx; + color: #ff6101; + margin-left: 14rpx; + } + } + + .tag { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIYAAAAcCAYAAACkhMe0AAAAAXNSR0IArs4c6QAAAydJREFUaEPtW0trU0EU/r5b+0BdNkHbBLqp4mPjwo0FoWJR3LvwH4iCIO4EEfwBbgSpiyqIdOHKrWiLG4X+AaH4BJtIG4VWbElqc4+c+4g3aRJuSiideAa6aJiZe853Ps5rZogmQ0Q8AEJSpFjcj/7qaQjPA5gAOQpgBCIHm6213xxFgFyHLy/h8TYzo4tsVENJQdIPyFEqXgZxE5BTEAw4qrKJnQ4BH4A6hE8gLtURQ0T6SFblR/EYfJkG5Kx6jmjfeKH+u41Q6b5ts/Y4AlsA9sHH85qBa57iZ2EKVXkGIAtAyaDEUCYZGfa4VbsmHrkeGLtGipVvF0HvBUQGAVQB9HXtY7aROwgoMWqkKBWOQvAGkEMAQpdio1cRiNODRv3UGfwLJSJClApzACbNU/QqF4II0C4liHJIfgXlQhhKSoUrEJmNcgpdbKO3EEgWDuXIzvUaBuUqXoP+XWbzHyjyZQilgTlAzpi36C02RNpo2CAE84A8BAffYmvr1zZNKxUfY2MV7V0FZad8X5pEH15FiWa4iY1eQSD0FOI9QvbwdW1FtFMsSCkAah+Lsrx0D8Qd8xa9woWaHmFVSSzgj3eOIyMbIqIFRUtyxN4i9BgrS/NR0pmMQz2H0n+oUOT95Qaz+QdKCpJabaYalFJhESJHokaWhZFUsDkzqQpPJjicX4jbEmklV2L8hsiBtAtsnlMIGDGcMtfuCGuhZHdwdu4rbZPPZKLZTDNLPp2zd0cCty1Xk/duGne1crUjnJ2cXN/g8obeoVxeRS63GVyxCHsX2ryoOz+xBpeTtu5Y6GQrogJwA5D3gD+DTP6ptsi3E8Na4h2j7OiCxkO0mCxPkFm9Sp7cVO9Ra4mrknaI5qipdy62hg0lhv71g7jFTO5+stcRX9SxY/edg+zyyshreJ+xtn6c4+OVWBm7qOOyWbslO7EJkRPM5j/G4cSu9nULXJf3aUWMIM+Inw0sF6ZAuwzssp07kL11KEluYs8HOoDU/amagOppa+vks4Ec9uDIfaOn0SDyFjKDzNq1puVq4y72RDENri7PYRnUBpdMYzj3OL4Dmmxy/QW0ErCCkfeAigAAAABJRU5ErkJggg==) no-repeat 50%; + background-size: 100% 100%; + display: flex; + align-items: center; + color: red; + font-size: 22rpx; + height: 38rpx; + width: 162rpx; + + image { + width: 22rpx; + height: 18rpx; + margin: 0 8rpx 0 12rpx; + } + } + } + + .g-row { + display: flex; + margin: 0 -12rpx; + + view { + margin: 0 4rpx; + overflow: hidden; + + .pic { + position: relative; + border-radius: 12rpx; + margin: 0; + + .num { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAAAXNSR0IArs4c6QAAAuFJREFUSEu9V01rFEEQfW8GFSR+oIKKoPiFiAgh5KDgQY1486bB6F2PuYiCCklAD4mIKIIoIiKaaKIIihcT4h+I4lnxKOIhXpKLxJ2S/pjZnp6endlEbAi7SXfXq3r1uqpC2CUCYnCAHBpKZKpnPVZEx4H4BES6IdwMJB3p2aV8MgMcPxWzd6IhH3pOgtEVAJ0ABIA5I+qrv9RW80h+VwDS3NOfZpcqMhIiM+eWYf7bNTRwUVshEojQ7jLFrR2d64vjK2UAEYeQyPSRYQvWMK4gzhn3AywxmN3JuEtzZiPUbE0dPo1ExiCSmPgtjTnGPAuaKofRKofsdcrksTVo/J4G0AVARWciS1OTpahdwLA3lMlDZ7CAZzmwFDEHGuCo4JSbhDLAdwdHIegDkACIaosiVa6rRP9yplCrVK3SNwe+gLIbopXph9E04T+LVOqtXobrQPYsXnfPIWL1ow6Joh06HEDRCgkZrJJ+S8CyHL7qslA1dZ2B+IqposDsUyY6QzXLmk11FNKTv6d+d5evP7NPebG/BeAiklRaamylkbF9/wiwnnOUp3v/M+CTPU5R9L2skmk7xTSl9PEuMQXGT7rKcAToeh4oQLV4KYqO8mhn+dWlBKglWezPlIfbFwdY0u8qRArKg20tAN0RoRaHTRGE2CHmKPe3ismTJxhdSJwcqjMFTbXYz981ZYn8Srm3xbheCMD7gx4EnOW3ntCQ1WxdVj0ySrm7SY1RRe+1AYeX8sZV58WbSYI8S7mzUfXBcLfIReTZ9XMUcsj43IAoMPmE5R1HKbc3lL/DOr63PqMg1U8ExH3s//mccmtd2hoDqnFzFojQpbwwEeiBTK0YEUfYP3tJj6Ryc60tbUsMxwCmEak0RXrkjDCClTuu8vzHBT10y43Vtt1XqDA4EoScpLKnJvXPYHydF369lHHE7DURU4Y72nzRpUzMA/gBYgaI3uLPqve8/H1W0YhBiPp3Qt38C/sjQ6T/3LUKAAAAAElFTkSuQmCC); + background-size: 100% auto; + position: absolute; + top: 0; + left: 0; + z-index: 10; + width: 32rpx; + height: 32rpx; + line-height: 32rpx; + text-align: center; + display: block; + color: #fff; + } + + .van-image { + // position: relative; + display: inline-block; + border-radius: 12rpx; + height: 140rpx; + width: 140rpx; + + image { + border-radius: 12rpx; + width: 100%; + height: 100%; + } + } + } + + .time { + text-align: center; + height: 36rpx; + background-image: linear-gradient(270deg, #ff7300, #ffb717); + color: #fff; + font-size: 20rpx; + line-height: 36rpx; + padding-left: 12rpx; + border-radius: 12rpx; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + } + + .my { + height: 72rpx; + display: flex; + font-weight: 700; + justify-content: center; + align-items: center; + font-size: 26rpx; + color: #ff2b22; + } + } + } + } + } + } + + .everysBuying-container { + width: 100%; + height: 414rpx; + border-radius: 16rpx; + background-color: #FFFFFF; + margin-bottom: 20rpx; + + .box-bar-content { + width: 100%; + padding: 0 20rpx; + + .title-text { + font-size: 32rpx; + font-weight: 500; + color: #333333; + margin: 20rpx 0; + } + + .tips-txt { + height: 30rpx; + background: linear-gradient(-90deg, #7619EC, #A429F3); + border-radius: 15rpx 15rpx 15rpx 0px; + font-size: 24rpx; + font-weight: 500; + color: #FFFFFF; + margin-left: 20rpx; + padding: 0 20rpx; + } + } + + .goodsScroll-container { + width: 100%; + height: 310rpx; + margin-top: 20rpx; + + .scrollgoods-box { + width: 100%; + height: 100%; + + .scrollList-content { + white-space: nowrap; + padding-left: 8rpx; + + .goods-items { + display: inline-block; + width: 220rpx; + height: 310rpx; + border-radius: 8rpx; + overflow: hidden; + + .items-container { + width: 100%; + height: 100%; + + .image-content { + width: 166rpx; + height: 166rpx; + margin-top: 10rpx; + } + + .goodsinfo-content { + width: 100%; + height: 120rpx; + padding: 0 10rpx; + + .goodsName-box { + width: 100%; + line-height: 34rpx; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 24rpx; + font-weight: 400; + color: #444444; + margin-top: 5rpx; + } + + .coupons-container { + width: 100%; + margin-top: 10rpx; + + .couponbac-content { + width: 160rpx; + height: 30rpx; + background: url(@/static/images/goods/quanbg.png) no-repeat; + background-size: 100% 100%; + border-radius: 5rpx; + + .textsTip { + font-size: 20rpx; + font-weight: 400; + color: #FFFFFF; + margin-left: 10rpx; + white-space: nowrap; + } + .coupons-value { + font-size: 20rpx; + font-weight: 500; + color: #FF4242; + white-space: nowrap; + margin-left: 30rpx; + } + } + } + + .price-info-container { + width: 100%; + margin-top: 10rpx; + + .nowPrice-content { + .rmbicon { + font-size: 24rpx; + font-weight: 400; + color: #FF4242; + line-height: 34rpx; + } + + .nowprice { + font-size: 26rpx; + font-weight: bold; + color: #FF4242; + line-height: 34rpx; + } + } + + .oldPrice-content { + margin-left: 10rpx; + + .oldprice { + text-decoration: line-through; + line-height: 34rpx; + font-size: 24rpx; + font-weight: 500; + color: #999999; + } + } + } + } + } + } + } + } + } + } + + .looting-container { + width: 100%; + height: 600rpx; + background: linear-gradient(-90deg, #7619EC, #A429F3); + padding: 0 22rpx; + + .titlebar-container { + width: 100%; + + .iconbar-content { + width: 500rpx; + height: 53rpx; + margin-top: 20rpx; + margin-bottom: 10rpx; + } + + .title-text { + font-size: 32rpx; + font-weight: bold; + font-style: italic; + color: #FFFFFF; + margin-bottom: 25rpx; + } + } + + + .goodscontents { + width: 100%; + background: #F7F7F7; + + .scrollgoods-box { + width: 100%; + height: 360rpx; + margin-top: 20rpx; + + .scrollList-content { + height: 360rpx; + padding-left: 10rpx; + white-space: nowrap; + + .goods-items { + width: 220rpx; + height: 360rpx; + margin-right: 10rpx; + border-radius: 8rpx; + display: inline-block; + overflow: hidden; + background-color: #FFFFFF; + + .items-container { + width: 100%; + height: 100%; + + .image-content { + width: 220rpx; + height: 220rpx; + margin-top: 10rpx; + } + + .goodsinfo-content { + width: 100%; + height: 140rpx; + padding: 0 10rpx; + + .goodsName-box { + width: 100%; + line-height: 34rpx; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 24rpx; + font-weight: 400; + color: #444444; + margin-top: 5rpx; + } + + .coupons-container { + width: 100%; + margin-top: 10rpx; + + .couponbac-content { + width: 100rpx; + height: 30rpx; + background: url(@/static/images/goods/couponbac.png)no-repeat; + background-size: 100% 100%; + border-radius: 5rpx; + + .coupons-value { + font-size: 20rpx; + font-weight: 500; + color: #FF4242; + white-space: nowrap; + } + } + } + + .price-info-container { + width: 100%; + + .nowPrice-content { + .rmbicon { + line-height: 34rpx; + font-size: 20rpx; + font-weight: 400; + color: #FF4242; + } + + .nowprice { + font-size: 28rpx; + font-weight: 400; + color: #FF4242; + } + } + + .oldPrice-content { + margin-left: 10rpx; + + .oldprice { + line-height: 34rpx; + text-decoration: line-through; + font-size: 20rpx; + font-weight: 400; + color: #999999; + } + } + } + } + } + } + } + } + + .moreGoods-bar { + width: 100%; + height: 60rpx; + font-size: 24rpx; + font-weight: 400; + color: #999999; + } + } + } + + .Tiktok-container { + width: 100%; + height: 475rpx; + padding: 0 20rpx; + background-color: #FFFFFF; + + .titlebar-container { + width: 100%; + height: 90rpx; + + .left-content { + .titletext { + font-size: 32rpx; + font-weight: 500; + color: #333333; + } + + .bubble-box { + width: 200rpx; + height: 25rpx; + margin-left: 5rpx; + background: linear-gradient(-90deg, #7619EC, #A429F3); + border-radius: 12rpx 12rpx 12rpx 0px; + font-size: 20rpx; + font-weight: 400; + color: #FFFFFF; + } + } + + .right-arrowContent { + font-size: 24rpx; + font-weight: 400; + color: #999999; + } + } + + .goodsTopList { + width: 100%; + height: 340rpx; + + .scrollgoods-box { + width: 100%; + height: 340rpx; + + .scrollList-content { + height: 360rpx; + white-space: nowrap; + + .goods-items { + width: 220rpx; + height: 340rpx; + border-radius: 8rpx; + margin-right: 10rpx; + overflow: hidden; + background-color: #FFFFFF; + display: inline-block; + + .items-container { + width: 100%; + height: 100%; + + .image-content { + width: 220rpx; + height: 220rpx; + position: relative; + + .playback-volume { + position: absolute; + z-index: 1; + top: 14rpx; + left: 14rpx; + background: rgba(0, 0, 0, 0.5); + padding: 5rpx 15rpx; + border-radius: 15rpx; + font-size: 20rpx; + font-weight: 500; + color: #FFFFFF; + + text { + font-size: 28rpx; + } + } + + .suspend { + position: absolute; + top: 90; + left: 90; + width: 40rpx; + height: 40rpx; + } + } + + .goodsinfo-content { + width: 100%; + height: 120rpx; + + .goodsName-box { + width: 100%; + line-height: 34rpx; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 24rpx; + font-weight: 400; + color: #444444; + margin-top: 5rpx; + } + + .coupons-container { + width: 100%; + margin-top: 10rpx; + + .couponbac-content { + width: 100rpx; + height: 30rpx; + background: url(@/static/images/goods/couponbac.png)no-repeat; + background-size: 100% 100%; + + .coupons-value { + font-size: 20rpx; + font-weight: 500; + color: #FF4242; + white-space: nowrap; + } + } + } + + .price-info-container { + width: 100%; + + .nowPrice-content { + .rmbicon { + line-height: 34rpx; + font-size: 20rpx; + font-weight: 400; + color: #FF4242; + } + + .nowprice { + font-size: 28rpx; + font-weight: 400; + color: #FF4242; + } + } + + .oldPrice-content { + margin-left: 10rpx; + + .oldprice { + line-height: 34rpx; + text-decoration: line-through; + font-size: 20rpx; + font-weight: 400; + color: #999999; + } + } + } + } + } + } + } + } + } + } + } + + .goods-bottom-List { + width: 100%; + + .bottomTypebar-container { + width: 100%; + height: 115rpx; + + .typeList { + width: 100%; + height: 100%; + + .type-items-container { + width: 150rpx; + height: 100%; + + .mainTitle { + font-size: 30rpx; + font-weight: 500; + color: #333333; + margin-bottom: 5rpx; + } + + .subtitle { + width: 110rpx; + height: 36rpx; + background: transparent; + border-radius: 18rpx; + font-size: 24rpx; + font-weight: 500; + color: #666666; + } + } + + .type-container-active { + .mainTitle { + color: #0f0f0f; + } + + .subtitle { + background: #0f0f0f; + color: #FFFFFF; + } + } + } + + .imbibition { + width: 100%; + height: 115rpx; + z-index: 600; + position: fixed; + background-color: #FFFFFF; + } + } + + + .bottomGoods-list-container { + width: 100%; + padding: 0 20rpx; + flex-wrap: wrap; + + .goods-items { + margin-bottom: 20rpx; + } + } + } + } + + @-webkit-keyframes fadeInOut { + 0% { + opacity: 0; + } + + 25% { + opacity: 0.5; + } + + 50% { + opacity: 1; + } + + 75% { + opacity: 1; + } + } +</style> diff --git a/uniapp/components/sh_page/indexNewPage.vue b/uniapp/components/sh_page/indexNewPage.vue new file mode 100644 index 0000000..8050ddd --- /dev/null +++ b/uniapp/components/sh_page/indexNewPage.vue @@ -0,0 +1,612 @@ +<template> + <view style="background: #fff;" class="index-wrapper wrapperLayer borderBox"> + <view class="fixed-container colCen borderBox" style="background: #0f0f0f;"> + <view class="topbarbox"></view> + <view class="headerSearch-container rowCenBet borderBox"> + <view class="leftgoSearchbox rowCen borderBox" @click="goPath('search')"> + <view class="searchicon rowCenCen iconfont"> + <view></view> + </view> + <view class="hotSearchbox rowCenCen"> + <view>杈撳叆鍟嗗搧鍚嶆垨绮樿创瀹濊礉鏍囬鎼滅储</view> + </view> + </view> + <view class="rightgoMsg rowCenCen iconfont searchImg" @click="goPath('turnChain')"> + <image src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/zhuanlian.png"></image> + </view> + <view class="rightgoMsg rowCenCen iconfont" @click="goPath('officialNotice')"> + <view></view> + <u-badge v-show="isNewMessage" :is-dot="true" type="success"></u-badge> + </view> + </view> + + <view class="categoryNavbar-container rowCenBet"> + <scroll-view class="categoryScroll" scroll-x scroll-with-animation @scroll="rowscroll" :scroll-into-view="nowcurrentid" :scroll-left="scrollleftnum"> + <block v-for="(items,index) in categoryList" :key='index'> + <view class="category-container"> + <view class="category-items colCenCen" @click="cateChange(index)" :id="categoryCurrent==index?'category-items-active':''" :class="categoryCurrent==index?'category-items-active':''"> + <view class="categoryname"> + {{items.cname}} + </view> + <view class="bottom-border"></view> + </view> + </view> + </block> + </scroll-view> + + <view class="category-icon-box rowCenCen" @click="showCateModel()"> + <view class="iconfont"></view> + </view> + </view> + </view> + <!-- 寮规 --> + <view class="categoryModel-wrapper" @touchmove.prevent> + <view class="shadow" :class="cateModel?'showShadow':''" @click="closeModel()"></view> + <view class="category-content" :style="'top:'+Topheight+'px'" :class="cateModel?'showcate':''"> + <view class="catelist-box colCen borderBox" v-if="cateModel"> + <view class="titlebar rowCen"> + <view>閫夋嫨鍒嗙被</view> + </view> + + <view class="list-container borderBox rowCen"> + <block v-for="(items,index) in categoryList" :key='index'> + <view class="cate-items colCen" v-if="index!=0" @click="changeCurrent(index,items.cid)"> + <view class="picbox defIcon"> + <image :src="items.cpic" mode="aspectFill" :lazy-load="true"></image> + </view> + <view class="catename"> + {{items.cname}} + </view> + </view> + </block> + </view> + </view> + </view> + </view> + + <view class="body-container colCen borderBox"> + <swiper class="pageSwiper" :disable-touch='canswiper' duration="200" :current='categoryCurrent' @change='changeCatepage' @transition='swipering' @animationfinish='stopswiper'> + <swiper-item v-for="(items,index) in categoryList" :key='index' :current-item-id='items.cid'> + <view v-if='index==0'> + <indexPage ref='indexPage' :recomendType="recomendType" :canrefush='canrefush' :fixedClass='fixedClass' @scrolltoTop='scrolltoTop' @scrolltoview='scrolltoview' + @pushfixed='getfixed' @scrollNum='getScroll' :Topheight='Topheight' @passColor='getColor'></indexPage> + </view> + <view v-else> + <categoryPage v-if="index==categoryCurrent+1 || index==categoryCurrent-1 || index==categoryCurrent" :parentId='items.cid' + :Topheight='Topheight' :canrefush='canrefush' :canload='index==categoryCurrent'> + </categoryPage> + </view> + </swiper-item> + </swiper> + </view> + + <!-- 寮规 --> + <view class="categoryModel-wrapper" @touchmove.prevent> + <view class="shadow" :class="cateModel?'showShadow':''" @click="closeModel()"></view> + <view class="category-content" :style="'top:'+Topheight+'px'" :class="cateModel?'showcate':''"> + <view class="catelist-box colCen borderBox" v-if="cateModel"> + <view class="titlebar rowCen"> + <view>閫夋嫨鍒嗙被</view> + </view> + + <view class="list-container borderBox rowCen"> + <block v-for="(items,index) in categoryList" :key='index'> + <view class="cate-items colCen" v-if="index!=0" @click="changeCurrent(index,items.cid)"> + <view class="picbox defIcon"> + <image :src="items.cpic" mode="aspectFill" :lazy-load="true"></image> + </view> + <view class="catename"> + {{items.cname}} + </view> + </view> + </block> + </view> + </view> + </view> + </view> + + <view class="body-container colCen borderBox"> + <swiper class="pageSwiper" :disable-touch='canswiper' duration="200" :current='categoryCurrent' @change='changeCatepage' @transition='swipering' @animationfinish='stopswiper'> + <swiper-item v-for="(items,index) in categoryList" :key='index' :current-item-id='items.cid'> + <view v-if='index==0'> + <indexPage ref='indexPage' :recomendType="recomendType" :canrefush='canrefush' :fixedClass='fixedClass' @scrolltoTop='scrolltoTop' @scrolltoview='scrolltoview' + @pushfixed='getfixed' @scrollNum='getScroll' :Topheight='Topheight' @passColor='getColor'></indexPage> + </view> + <view v-else> + <categoryPage v-if="index==categoryCurrent+1 || index==categoryCurrent-1 || index==categoryCurrent" :parentId='items.cid' + :Topheight='Topheight' :canrefush='canrefush' :canload='index==categoryCurrent'> + </categoryPage> + </view> + </swiper-item> + </swiper> + </view> + <!-- 寮规骞垮憡 --> + <u-mask :show="showBulletFrame"> + <view class="warp"> + <!-- <view @tap.stop> --> + <image class="pic" :src="BulletFrameData.image" mode="aspectFit" @tap.stop="goToShowBulletFrame(BulletFrameData)"/> + <!-- </view> --> + <view class="clone" @click="showBulletFrame = false"> + <image class="image" width="64rpx" height="64rpx" src="/static/images/app/close.png"></image> + </view> + </view> + </u-mask> + </view> +</template> + +<script> + import utils from '@/utils/utils.js' + import indexPage from '@/components/sh_page/indexCont.vue'; + import categoryPage from '@/components/categoryPage.vue'; + export default { + props: { + recomendType: { + type: Number, + default: 1 + }, + Topheight: { + type: Number, + default: 90 + }, + fixedClass: { + type: Boolean, + default: false + } + }, + components: { + indexPage, + categoryPage + }, + data() { + return { + BulletFrameData:{}, + showBulletFrame:false, // 鐢ㄤ簬鎺у埗寮规骞垮憡鐨勬樉绀� + isNewMessage:false, + shareShow: false, + bannerColor: '', + cateModel: false, + categoryCurrent: 0, + current: 1, + scrollTop: 0, + categoryList: [], + canswiper:false, + scrollleftnum:0, + rowLeft:0, + canrefush:false, + nowcurrentid:'', + + } + }, + created() { + + this.getCategoryList(); + this.getPopBannerInfo(); + if(this.categoryList){ + this.getCategoryList(); + } + this.getNewMessage(); + //this.$refs.indexPage.changeRecommend(); + var open_like_recommend = uni.getStorageSync('open_like_recommend'); + this.recomendType = open_like_recommend == "" ? 1 : open_like_recommend; + }, + onShow() { + var user= uni.getStorageSync('userInfo'); + console.log(user); + if(!user.invitation_code) + { + setTimeout(function(){ + + uni.reLaunch({ + url:"/pages/login/wxlogin" + }) + },1000); + return; + } + + }, + watch: {}, + methods: { + goToShowBulletFrame(info){ + this.showBulletFrame = false + utils.goUrl(info, this) + }, + getPopBannerInfo() { + // banner鏁版嵁 + var that = this; + this.$u.api.getBanner({ + type: '7' + }).then(e => { + if (e.code == 1) return that.$alert(e.msg); + var res = e.data.info; + if(res.length > 0){ + this.showBulletFrame = true; + this.BulletFrameData = res[0] + } + }).catch(function(err) { + }) + }, + getNewMessage(){ + var that = this; + this.$u.api.getTopMessId({}).then(e => { + if(e.code != 0)return that.$alert(e.msg) + if(e.data.id){ + let oldId = uni.getStorageSync('topMessageId'); + if(oldId != e.data.id)that.isNewMessage = true; + } + }).catch(function (err) { + }) + }, + rowscroll(e){ + this.rowLeft = e.scrollLeft + }, + currentscroll(left){ + this.nowcurrentid = '' + this.scrollleftnum = this.rowLeft + this.$nextTick(()=>{ + this.nowcurrentid = 'category-items-active' + }) + }, + getCategoryList() { + var that = this; + this.$u.api.getTopCalss({ctype:1,parentId:0}).then(e => { + if(e.code != 0)return that.$alert(e.msg) + var obj = {} + obj.cname = '鎺ㄨ崘'; + obj.cid = 0; + obj.ctype = 0; + that.categoryList = e.data.list; + that.categoryList.unshift(obj); + }).catch(function (err) { + }) + }, + + // 椤甸潰鏍峰紡澶勭悊 + getColor(color) { + this.bannerColor = color; + }, + + getfixed(e) { + this.fixedHeight = e + }, + + changeCurrent(idx, cid) { + this.categoryCurrent = idx + this.canrefush = true + this.closeModel() + }, + + scrolltoview() { + this.scrollindex = this.scrollTop + this.$nextTick(() => { + this.scrollindex = this.fixedHeight - (this.Topheight) + }); + }, + + scrolltoTop() { + this.scrollindex = 0 + }, + + scrollmorePage() { + if (this.categoryCurrent == 0) { + this.$refs.indexPage[0].getNextPage() + } + }, + + swipering(){ + this.canrefush = false + }, + + stopswiper(){ + this.canrefush = true + }, + + // 璺敱璺宠浆 + goPath(url) { + if (url == 'search') { + uni.navigateTo({ + url: '../search/search' + }) + } else if (url == 'officialNotice') { + uni.navigateTo({ + url: './officialNotice' + }) + } + else if(url=='turnChain') + { + uni.navigateTo({ + url: '../mine/tools/turnChain' + }) + } + }, + + gobanurl(info) { + console.log(info); + if (info.urlType == '0') { + uni.navigateTo({ + url: '../webView/webView?url=' + info.url + }) + } else if (info.urlType == 1) { + console.log(info.murl); + uni.navigateTo({ + url: info.murl + }) + } + }, + + showCateModel() { + this.cateModel = !this.cateModel + }, + closeModel() { + this.cateModel = false + }, + changeCatepage(e) { + // 婊戝姩鍒囨崲 + this.bannerColor = '#EE1B14' + this.categoryCurrent = e.detail.current + this.currentscroll() + }, + cateChange(idx) { + // 鍒嗙被鐐瑰嚮 + this.closeModel() + this.categoryCurrent = idx + }, + getTopheight() { + // 鑾峰彇椤堕儴楂樺害 + console.log("寮�濮嬭幏鍙栭珮搴�") + uni.createSelectorQuery().in(this).select('.fixed-container').boundingClientRect(data => { + console.log("寰楀埌甯冨眬浣嶇疆淇℃伅" + JSON.stringify(data)); + this.Topheight = data.height + }).exec(); + }, + + goDetail(info) { + console.log(info); + uni.navigateTo({ + url: '../goods/goodsDetail?info=' + encodeURIComponent(JSON.stringify(info)) + }) + }, + + getScroll(e) { + this.scrollTop = e + }, + + gotik(e) { + uni.navigateTo({ + url: '../active/tiktoklist' + }) + } + } + } +</script> + + +<style lang="scss"> + .index-wrapper { + height: 100vh; + overflow: hidden; + + .body-container { + width: 100%; + + .pageSwiper { + width: 100%; + overflow: hidden; + height: 100vh; + + .swiper-scroll { + width: 100%; + overflow: hidden; + height: 100vh; + } + } + } + + .fixed-container { + width: 100%; + position: fixed; + top: 0; + left: 0; + padding: 0 32rpx; + z-index: 600; + background-color: #EE1B14; + // transition: all 0.5s; + + .headerSearch-container { + width: 100%; + height: 100rpx; + z-index: 100; + + .leftgoSearchbox { + width: 575rpx; + height: 70rpx; + background-color: #FFFFFF; + border: 1rpx solid #EDEDED; + border-radius: 35rpx; + + .searchicon { + width: 28rpx; + height: 28rpx; + margin-left: 20rpx; + font-size: 30rpx; + font-weight: 400; + color: #999999; + } + + .hotSearchbox { + font-size: 28rpx; + font-weight: 400; + color: #999999; + margin-left: 18rpx; + } + } + + .rightgoMsg { + width: 40rpx; + height: 40rpx; + font-size: 50rpx; + color: #FFFFFF; + } + } + .searchImg{ + image{ + width: 40rpx; + height: 40rpx; + font-size: 50rpx; + color: #FFFFFF; + } + } + + .categoryNavbar-container { + width: 100%; + height: 80rpx; + + .categoryScroll { + width: 640rpx; + height: 60rpx; + white-space: nowrap; + display: flex; + + .category-container { + display: inline-block; + + .category-items { + margin-right: 30rpx; + + .categoryname { + font-size: 28rpx; + font-weight: 400; + color: #FFFFFF; + } + + .bottom-border { + display: none; + background-color: #FFFFFF; + width: 65rpx; + height: 4rpx; + border-radius: 1rpx; + margin-top: 5rpx; + } + } + + .category-items-active { + .categoryname { + font-size: 32rpx; + font-weight: 400; + color: #FFFFFF; + } + + .bottom-border { + display: block; + } + } + } + } + + .category-icon-box { + width: 32rpx; + height: 32rpx; + color: #FFFFFF; + font-size: 32rpx; + margin-bottom: 10rpx; + } + } + } + + .categoryModel-wrapper { + position: fixed; + top: 0; + left: 0; + width: 100%; + z-index: 100; + + .shadow { + display: none; + } + + .showShadow { + width: 100%; + height: 100vh; + display: block; + background: rgba(0, 0, 0, 0.3); + } + + .category-content { + width: 100%; + background-color: #FFFFFF; + border-bottom-left-radius: 24rpx; + border-bottom-right-radius: 24rpx; + z-index: 600; + position: absolute; + max-height: 0vh; + + .catelist-box { + width: 100%; + + .titlebar { + width: 100%; + height: 60rpx; + font-size: 24rpx; + font-weight: 500; + color: #333333; + padding: 0 32rpx; + } + + .list-container { + width: 100%; + margin-top: 30rpx; + padding: 0 5rpx; + flex-wrap: wrap; + + .cate-items { + width: 185rpx; + margin-bottom: 40rpx; + + .picbox { + width: 95rpx; + height: 95rpx; + } + + .catename { + font-size: 24rpx; + font-weight: 400; + color: #333333; + margin-top: 20rpx; + } + } + } + } + } + + .showcate { + transition: all 0.5s; + max-height: 100vh; + } + } + } + .warp{ + position: relative; + top:50%; + left:50%; + transform: translate(-50%, -50%); + display:flex; + align-items: center; + justify-content: center; + width: 100%; + .pic{ + // width: 86.6%; + // height: 100vw; + } + } + .clone { + position:absolute; + bottom: -150rpx; + transform: translate(calc(50% - 32rpx)); + .image { + width: 64rpx; + margin: 0 auto; + height: 64rpx; + display: block; + } + } +</style> + diff --git a/uniapp/components/sh_page/matherPage.vue b/uniapp/components/sh_page/matherPage.vue new file mode 100644 index 0000000..fb1e28f --- /dev/null +++ b/uniapp/components/sh_page/matherPage.vue @@ -0,0 +1,460 @@ +<template> + <view class="spicyMother-wrapper wrapperLayer"> + <view class="topbarbox"></view> + <view class="topbac-content"> + <view class="topbarbox"></view> + <view class="colorContent defIcon"> + <image src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/inde_top_bg.png" mode="aspectFill"></image> + </view> + </view> + + <view class="fixed-content colCen"> + <view class="topbarbox"></view> + <view class="barbac"></view> + <view class="headerBar-container colCen"> + <view class="borderBox rowCenBet headerbox"> + <view class="leftbackicon defIcon" @tap="goback()"> + <image src="@/static/images/home/returnWhite.png" mode=""></image> + </view> + <view class="titleBox rowCen"> + <view class="titleText"> + 杈e浼橀�� + </view> + </view> + <view class="rightEmpty"> + </view> + </view> + </view> + </view> + + <view class="pageContent-container colCen"> + <view class="adv-content defIcon"> + <image src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/lama.png" mode=""></image> + </view> + + + <view class="category-bar rowCen"> + <scroll-view class="categorybar-scroll" scroll-x :class="scrollTop>fiexdtop?'tofixed':''" :style="'top:'+(scrollTop>fiexdtop?fiexdHeight:'0')+'px;'"> + <block v-for="(items,index) in navList" :key="index"> + <view class="rangeItem" :class="nowCurrent==items.cid?'rangeItem-active':''" @tap="changeRange(items.cid)"> + <view class="boxcontent colCenCen"> + <view class="nameBox"> + {{items.cname}} + </view> + <view class="border"></view> + </view> + </view> + </block> + </scroll-view> + </view> + + <view class="goodsList-container colCen borderBox"> + <view class="goods-content rowStaBet"> + <view class="goods-items borderBox colCen" v-for="(items,index) in goodsList" :key='index' @click="goDetail(items)"> + <colGoods :items="items"></colGoods> + </view> + <aLoadMore :status="loadstatus" mode="loading3" :showTitle='true' color="#999999"></aLoadMore> + </view> + </view> + </view> + </view> +</template> + +<script> + import colGoods from '../../components/colGoods.vue' + export default { + components:{ + colGoods + }, + data() { + return { + navList: [], + nowCurrent: '', + fiexdHeight:0, + fiexdtop:0, + scrollTop:0, + goodsList: [], + pageCurrent: 1, + canloadmore: false, + loadstatus: 'loading' + } + }, + created() { + this.getNav() + }, + onPageScroll(e) { + this.scrollTop = e.scrollTop + }, + onReachBottom() { + if(this.canloadmore){ + this.getData() + } + }, + mounted() { + setTimeout(()=>{ + uni.createSelectorQuery().in(this).select('.fixed-content').boundingClientRect(data => { + console.log(data); + this.fiexdHeight =data.height + }).exec(); + uni.createSelectorQuery().in(this).select('.category-bar').boundingClientRect(data => { + console.log(data); + this.fiexdtop =data.top - this.fiexdHeight + }).exec(); + }) + }, + methods: { + getNav() { + var that = this; + this.$u.api.getTopCalss({ctype:7}).then(e => { + if(e.code != 0)return that.$alert(e.msg) + that.navList = e.data.list; + that.nowCurrent = that.navList[0].cid + that.getData() + }).catch(function (err) { + }) + }, + getData() { + var that = this; + this.$u.api.optimusMaterial({ + materialId: this.nowCurrent, + pageSize: 20, + page: this.pageCurrent + }).then(e => { + if(e.code != 0)return that.$alert(e.msg) + uni.stopPullDownRefresh(); + var res = e.data; + console.log(res); + if (res.list < 10) { + that.pageCurrent++ + that.canloadmore = false + that.loadstatus = 'nomarl' + } else { + that.canloadmore = true + that.loadstatus = 'loading' + that.pageCurrent++ + } + that.goodsList = this.goodsList.concat(res.list) + }).catch(function (err) { + }) + }, + + changeRange(id) { + this.pageCurrent = 1 + this.canloadmore = false + this.nowCurrent = id + this.loadstatus = 'loading' + this.goodsList = [] + this.getData() + }, + + goDetail(info) { + console.log(info); + uni.navigateTo({ + url: '../goods/goodsDetail?info=' + encodeURIComponent(JSON.stringify(info)) + }) + }, + goback() { + uni.navigateBack({ + delta: 1 + }) + }, + }, + onPullDownRefresh() { + this.pageCurrent = 1 + this.goodsList = [] + this.canloadmore = false + this.getData() + } + } +</script> + +<style lang="scss"> + .spicyMother-wrapper { + width: 100%; + position: relative; + + .topbac-content { + width: 100%; + height: 300rpx; + position: absolute; + top: 0; + left: 0; + + .colorContent { + width: 100%; + height: 300rpx; + } + } + + .fixed-content { + width: 100%; + overflow: hidden; + position: fixed; + top: 0; + left: 0; + z-index: 100; + + .barbac { + width: 100%; + height: 300rpx; + background: url('https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/inde_top_bg.png')no-repeat; + background-size: 100% 100%; + position: absolute; + pointer-events: none; + top: 0; + left: 0; + } + + .headerBar-container { + width: 100%; + height: 90rpx; + z-index: 100; + + .headerbox { + width: 100%; + height: 90rpx; + padding: 0 32rpx; + + .leftbackicon { + width: 32rpx; + height: 32rpx; + display: flex; + align-items: center; + justify-content: flex-start; + + image { + width: 17rpx; + height: 32rpx; + } + } + + .titleBox { + .titleIcon { + width: 46rpx; + height: 37rpx; + } + + .titleText { + font-size: 32rpx; + font-weight: 500; + color: #FFFFFF; + margin-left: 15rpx; + z-index: 101; + } + } + + .rightEmpty { + width: 32rpx; + height: 32rpx; + } + } + } + } + + .pageContent-container { + width: 100%; + margin-top: 110rpx; + + .adv-content { + width: 100%; + height: 204rpx; + border-radius: 12rpx; + overflow: hidden; + padding: 0 32rpx; + } + + .category-bar { + width: 100%; + height: 95rpx; + + .categorybar-scroll { + width: 100%; + height: 95rpx; + white-space: nowrap; + padding-left: 32rpx; + + .rangeItem { + display: inline-flex; + margin-right: 45rpx; + height: 100%; + + .boxcontent { + height: 100%; + + .nameBox { + font-size: 30rpx; + font-weight: 500; + color: #333333; + } + + .border { + width: 60%; + height: 2rpx; + background: transparent; + } + } + } + + .rangeItem-active { + .boxcontent { + .nameBox { + font-size: 32rpx; + } + + .border { + background: #BF14FD; + margin-top: 8rpx; + } + } + } + } + } + + .goodsList-container { + z-index: 1; + width: 100%; + padding: 0 32rpx; + margin-top: 10rpx; + + .goods-content { + width: 100%; + flex-wrap: wrap; + + .goods-items { + width: 336rpx; + height: 546rpx; + margin-bottom: 20rpx; + + .items-container { + width: 336rpx; + height: 100%; + overflow: hidden; + border-radius: 8rpx; + background-color: #FFFFFF; + + .image-container { + width: 100%; + height: 336rpx; + } + + .goodsInfo { + width: 100%; + height: 190rpx; + margin-top: 10rpx; + padding: 0 10rpx 10rpx 10rpx; + + .topgoodsname-box { + width: 100%; + + .goodsName-box { + width: 100%; + + .typeIcon-content { + width: 60rpx; + height: 24rpx; + margin-right: 5rpx; + } + + .goodsText { + width: 250rpx; + font-size: 28rpx; + line-height: 34rpx; + font-weight: 400; + color: #333333; + white-space: nowrap; + overflow-x: hidden; + text-overflow: ellipsis; + } + } + + .couponInfo-bar { + width: 100%; + margin-top: 20rpx; + + .couponbox { + width: 100rpx; + height: 30rpx; + line-height: 30rpx; + text-align: center; + background: url(../../static/images/goods/couponbac.png)no-repeat; + background-size: 100% 100%; + font-size: 20rpx; + font-weight: 500; + color: #FF4242; + margin-right: 10rpx; + } + + .backPrice { + width: 100rpx; + height: 30rpx; + background: linear-gradient(-90deg, #7619EC, #A429F3); + border-radius: 5rpx; + font-size: 20rpx; + font-weight: 500; + text-align: center; + line-height: 30rpx; + color: #FFFFFF; + } + } + } + + .goodsPrice-goodSale { + width: 100%; + + .goods-price { + width: 100%; + font-size: 20rpx; + font-weight: 500; + color: #999999; + line-height: 34rpx; + + .font { + font-weight: 500; + color: #999999; + line-height: 32rpx; + margin-right: 10rpx; + } + + .rmb { + font-weight: bold; + color: #FF4242; + line-height: 32rpx; + } + + .price { + color: #FF4242; + font-weight: 500; + font-size: 28rpx; + } + } + + .saleNum-box { + width: 100%; + font-size: 20rpx; + font-weight: 400; + line-height: 34rpx; + color: #999999; + } + + .shopinfo-box { + width: 100%; + font-size: 20rpx; + font-weight: 400; + line-height: 34rpx; + color: #999999; + } + } + } + } + + } + } + } + } + } + .tofixed{ + position: fixed; + z-index: 100; + background-color: #FFFFFF; + } +</style> diff --git a/uniapp/components/sh_page/minePage.vue b/uniapp/components/sh_page/minePage.vue new file mode 100644 index 0000000..0ca2475 --- /dev/null +++ b/uniapp/components/sh_page/minePage.vue @@ -0,0 +1,780 @@ +<template> + <view class="minePage-wrapper"> + <view class="fixed-box colCen" style="background:#0f0f0f"> + <view class="topbarbox"></view> + <view class="navigate-container rowCenBet"> + <view class="setting-box" style="opacity: 0;"> +  + </view> + <view class="pagetitle" v-if="sct>0.5"> + 涓汉涓績 + </view> + <view class="setting-box iconfont" @tap="goPage('./setting/setting')"> +  + </view> + </view> + </view> + <view class="headerbox-container colCen"> + <view class="topbarbox"></view> + <view class="headerbox-container rowCenEnd borderBox"> + </view> + <view class="userInfo-content rowStaBet borderBox"> + <view class="leftuserInfo rowCen"> + <view class="head-content defIcon"> + <image :src="user.avatar" mode="aspectFill"></image> + <view class="vipcard rowCenCen"> + <view>{{user.level_name}}</view> + </view> + </view> + <view class="userName-inviteCode-container"> + <view class="userNamebox"> + {{user.nickname}} + </view> + <view class="under-container rowCen"> + <view class="inviteCodebox rowCen" @tap='setcode()'> + {{user.invitation_code?'閭�璇风爜:' + user.invitation_code:'鐐瑰嚮濉啓閭�璇风爜'}} + </view> + <view class="clipbtn" @tap="clipCode()" v-if="user.invitation_code"> + <view>澶嶅埗</view> + </view> + </view> + </view> + </view> + </view> + </view> + <view class="mine-under-container colCen borderBox"> + + <!-- <view class="swiper-container borderBox" v-if="bannerList.length>0"> + <swiper class="banerContent" :autoplay="true" :interval="3000" :duration="1000" circular> + <swiper-item v-for="(items,index) in bannerList" :key="index" @tap="goUrl(items)"> + <view class="swiper-items defIcon"> + <image :src="items.image" mode="aspectFit"></image> + </view> + </swiper-item> + </swiper> + </view> --> + + <view class="setting-wrapper wrapperLayer colCen"> + + <view class="body-container colCen"> + <view class="userSet-content infoContainer colCen"> + <view v-for="(items,index) in alllist" :key="index" class="keyvalueBox rowCenBet borderBox" @tap="goUrl(items)"> + <view class="leftKey"> + <view style="margin-right: 40rpx;"><image style="width: 60rpx;height: 60rpx;" :src="items.image" mode="aspectFill"></image></view> + + {{items.mname}} + </view> + <view class="rightvalue rowCen"> + <view class="arrow-icon defIcon"> + <image src="@/static/images/goods/arrow.png" mode=""></image> + </view> + </view> + </view> + </view> + </view> + </view> + <u-toast ref="uToast" /> + + <u-popup v-model="inviteCodeShow" mode="center" border-radius="32" :mask-close-able='true'> + <inviteCodeModel @closeModel='closeinvite' @confirm='nextStep'></inviteCodeModel> + </u-popup> + + <u-popup v-model="inviterShow" mode="center" border-radius="32" v-if="inviterShow" :mask-close-able='true'> + <inviter-model ref='invitermodel' @rewrite='rewriteCode' @setInvite='setCodebtn'></inviter-model> + </u-popup> + </view> + </view> +</template> + +<script> + import { + mapMutations + } from "vuex"; + import util from '@/utils/utils.js' + import APPUpdate from "@/utils/appUpdate.js"; + import inviteCodeModel from '@/components/inviteCode.vue' + import inviterModel from '@/components/inviterModel.vue' + export default { + props: { + + }, + components: { + inviteCodeModel, + inviterModel + }, + data() { + return { + user: '', + appInfo: '', + dingdanList: '', + wuLiaoList: '', + bannerList: '', + cygnList: '', + xstgList: '', + gongJuList: '', + profit: '', + platform: '', + showtar: false, + bbcList:'', + sct: 0, + inviteCodeShow:false, + inviterShow:false, + alllist:[] + } + }, + onPageScroll(e) { + if (e.scrollTop < 50) { + this.sct = e.scrollTop / 20 + } + }, + onPullDownRefresh() + { + this.getuserInfo(); + this.centerInfo(); + this.getmoneyInfo(); + this.getInit(); + uni.stopPullDownRefresh(); + }, + created() { + if(!this.hasLogin){ + uni.reLaunch({ + url:"/pages/login/wxlogin" + }) + }else{ + //getApp().watch(this.ifwtChange,'ifwt') + this.centerInfo() + this.getbanner() + } + if(this.hasLogin){ + this.getInit(); + this.getmoneyInfo() + this.getuserInfo() + } + }, + methods: { + getInit() + { + if(!getApp().globalData.hasinit) + { + getApp().getAppInfo(); + setTimeout(()=>{ + this.getInit(); + },2000) + } + + // #ifdef APP-PLUS + console.log(getApp().globalData.ifwt) + this.appInfo = uni.getStorageSync('appInfo'); + this.showtar = getApp().globalData.ifwt == 1 ? false : true; + this.platform = plus.os.name + // #endif + }, + getmoneyInfo() { + var that = this; + this.$u.api.getEstimateAmount({}).then(e => { + if(e.code == 1)return that.$alert(e.msg); + this.profit = e.data; + }).catch(function (err) { + }) + }, + golevelRules() { + uni.navigateTo({ + url: '../goods/privilege' + }) + }, + getuserInfo() { + var that = this; + this.$u.api.getUserInfo({}).then(e => { + that.user = e.data.userinfo; + util.setCache('userInfo', e.data.userinfo) + }).catch(function (err) { + console.log(err) + }) + }, + getbanner() { + // banner鏁版嵁 + var that = this; + this.$u.api.getBanner({type:'2'}).then(e => { + if(e.code == 1)return that.$alert(e.msg); + console.log(e.data.info) + that.bannerList = e.data.info; + }).catch(function (err) { + }) + }, + + centerInfo() { + this.user = uni.getStorageSync('userInfo'); + var that = this; + this.$u.api.userHomemenu({}).then(e => { + var res = e.data.list; + console.log(res); + that.cygnList = res.cygnList + that.xstgList = res.xstgList + that.gongJuList = res.gongJuList + that.dingdanList = res.dingdanList + that.wuLiaoList = res.wuLiaoList + that.alllist=res.gongJuList; + }).catch(function (err) { + console.log(err); + }) + // this.$http.post('homeMenu/getPersonalCenter').then(res => { + // console.log(res,'鏁版嵁sssssssssssss'); + // this.dingdanList = res.dingdanList + // this.wuLiaoList = res.wuLiaoList + // this.wuLiaoList = res.wuLiaoList + // this.cygnList = res.cygnList + // this.xstgList = res.xstgList + // this.gongJuList = res.gongJuList + // }) + }, + + clipCode() { + uni.setClipboardData({ + data: this.user.invitation_code, + success: () => { + uni.showToast({ + title: '澶嶅埗鎴愬姛', + duration: 2000, + icon: "none" + }) + uni.setStorageSync('clipboard', this.user.invitation_code); + } + }) + }, + + goPage(url) { + console.log(url); + if (url == './inviteFriends' && !this.user.invitation_code) { + this.inviteCodeShow = true + } else { + uni.navigateTo({ + url: url + }) + } + }, + + goUrl(info) { + console.log(info) + if(info.url_type == 15) + {//寰俊瀹㈡湇 + let wechat = null + let parameter = info.parameter_json; + plus.share.getServices(res => { + wechat = res.find(i => i.id === 'weixin') + if (wechat) { + wechat.openCustomerServiceChat({ + corpid: parameter.cmark, //浼佷笟ID + url: parameter.url, //瀹㈡湇鍦板潃 + }, src => { + console.log("success:", JSON.stringify(src)) + }, err => { + console.log("error:", JSON.stringify(err)) + }) + } else { + uni.showToast({ + title: '褰撳墠鐜涓嶆敮鎸佸井淇℃搷浣�', + icon: "error" + }); + } + }, function() { + uni.showToast({ + title: "鑾峰彇鏈嶅姟澶辫触锛屼笉鏀寔璇ユ搷浣溿��" + JSON.stringify(e), + icon: 'none' + }) + }); + } + else + { + util.goUrl(info,this) + } + + }, + cpr_version(a, b) { + console.log(a); + var _a = this.toNum(a), + _b = this.toNum(b); + if (_a == _b) return false + if (_a < _b) return false + if (_a > _b) return true + }, + + toNum(a) { + var a = a.toString(); + //涔熷彲浠ヨ繖鏍峰啓 var c=a.split(/\./); + var c = a.split('.'); + var num_place = ["", "0", "00", "000", "0000"], + r = num_place.reverse(); + for (var i = 0; i < c.length; i++) { + var len = c[i].length; + c[i] = r[len] + c[i]; + } + var res = c.join(''); + return res; + }, + + shareApp() { + // #ifdef APP-PLUS + var txtdata + if (plus.os.name == 'Android') { + txtdata = getApp().globalData.appinfo.appName + '鐨勪笅杞介摼鎺ヤ负锛�' + getApp().globalData.appinfo.appAndroidDownUrl + + '\n閭�璇风爜锛�' + this.user.inviteCode + } else { + txtdata = getApp().globalData.appinfo.appName + '鐨勪笅杞介摼鎺ヤ负锛�' + getApp().globalData.appinfo.appIosDownUrl + '\n閭�璇风爜锛�' + + this.user.inviteCode + } + uni.setClipboardData({ + data: txtdata, + success: res => { + console.log(res) + uni.showToast({ + title: '涓嬭浇閾炬帴宸插鍒秪蹇幓鍒嗕韩缁欏ソ鍙嬪惂锛�', + icon: 'none' + }) + uni.setStorageSync('clipboard', txtdata); + } + }); + // #endif + }, + + setcode() { + if (this.user.invitation_code == '' && this.user) { + this.inviteCodeShow = true + } + }, + closeinvite(){ + this.inviteCodeShow = false + }, + nextStep(e){ + uni.setStorageSync('inviterInfo',e) + this.inviteCodeShow = false + this.inviterShow = true + }, + rewriteCode(){ + this.inviteCodeShow = true + this.inviterShow = false + }, + setCodebtn(){ + this.inviteCodeShow = false + this.inviterShow = false + this.getuserInfo() + } + } + } +</script> + +<style lang="scss"> + .minePage-wrapper { + width: 100%; + .fixed-box { + position: fixed; + width: 100%; + z-index: 1000; + + .navigate-container { + width: 100%; + height: 90rpx; + padding: 0 30rpx; + + .setting-box { + font-size: 34rpx; + color: #FFFFFF; + } + + .pagetitle { + font-size: 32rpx; + color: #FFFFFF; + font-weight: 500; + } + } + } + + .headerbox-container { + width: 100%; + height: 426rpx; + position: relative; + background: #0f0f0f; + + .headerbox-container { + width: 100%; + height: 90rpx; + padding: 0 32rpx; + } + + .userInfo-content { + width: 100%; + + .leftuserInfo { + margin-left: 30rpx; + + .head-content { + width: 115rpx; + height: 115rpx; + position: relative; + + .vipcard { + position: absolute; + width: 100%; + height: 36rpx; + border-radius: 18rpx; + background: linear-gradient(0deg, #F7C394, #EFE0D6); + font-size: 22rpx; + font-weight: 500; + color: #613309; + bottom: -15rpx; + } + + image { + border-radius: 50%; + } + } + + .userName-inviteCode-container { + margin-left: 25rpx; + + .userNamebox { + font-size: 34rpx; + font-weight: bold; + color: #FFFFFF; + } + + .under-container { + margin-top: 20rpx; + + .inviteCodebox { + height: 36rpx; + font-size: 28rpx; + font-weight: 400; + color: #0f0f0f; + padding: 0 18rpx; + background: #fff; + border-radius: 18rpx; + } + + .clipbtn { + width: 80rpx; + height: 36rpx; + background: #FFFFFF; + border-radius: 18rpx; + text-align: center; + font-size: 24rpx; + font-weight: 400; + color: #0f0f0f; + margin-left: 20rpx; + } + } + } + } + + .inviteBtn { + width: 176rpx; + height: 44rpx; + background: #E457FD; + border-radius: 22rpx 0px 0px 22rpx; + font-size: 24rpx; + font-weight: 500; + color: #FFFFFF; + margin-top: 30rpx; + } + } + + .profit-container { + width: 100%; + margin-top: 70rpx; + + .profit-items { + width: 25%; + color: #FFFFFF; + + .price-num { + font-size: 28rpx; + font-weight: bold; + } + + .price-txt { + font-size: 24rpx; + font-weight: 500; + } + } + } + + .account-assets-container { + width: 100%; + padding: 0 30rpx; + position: absolute; + bottom: -65rpx; + + .cardBac-container { + width: 100%; + height: 126rpx; + background: linear-gradient(4deg, #FEEEE1, #FBE0CF); + border-radius: 16rpx; + padding: 0 20rpx; + + .left-content { + margin-top: 25rpx; + + .balance { + font-size: 28rpx; + font-weight: 500; + color: #613309; + } + + .notice-bar { + margin-top: 10rpx; + + .iconfont { + font-size: 28rpx; + font-weight: 500; + color: #613309; + } + + .noticeTxt { + max-width: 505rpx; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 24rpx; + font-weight: 500; + color: #613309; + margin-left: 20rpx; + } + } + } + + .right-content { + margin-top: 18rpx; + + .cashOut-btn { + width: 120rpx; + height: 50rpx; + background: #2F385B; + border-radius: 25rpx; + font-size: 26rpx; + font-weight: 500; + color: #FFFFFF; + } + + .accumulations { + font-size: 22rpx; + font-weight: 500; + color: #613309; + margin-top: 20rpx; + line-height: 20rpx; + + .arrow { + font-size: 18rpx; + line-height: 20rpx; + margin-top: 5rpx; + } + } + } + } + } + } + .vip-info-container { + width: 100%; + height: 60rpx; + background: #FFF2CF; + border-radius: 16rpx; + padding: 0 20rpx; + margin-bottom: 20rpx; + + .left-info { + font-size: 24rpx; + font-weight: 500; + color: #593A0F; + } + + .rt-btn { + width: 152rpx; + height: 44rpx; + background-color: rgba(0, 0, 0, 0.6); + border-radius: 22rpx; + + .vipimg { + width: 27rpx; + height: 24rpx; + } + + .level-txt { + font-size: 24rpx; + font-weight: 500; + color: #FFFFFF; + margin-left: 10rpx; + } + } + } + .mine-under-container { + width: 100%; + margin-top: 0rpx; + padding: 0 30rpx; + + .nav-container { + width: 100%; + height: 142rpx; + background: #FFFFFF; + border-radius: 16rpx; + padding: 0 26rpx; + margin-bottom: 20rpx; + + .nav-items { + .itemsicon { + width: 60rpx; + height: 60rpx; + } + + .itemstxt { + font-size: 24rpx; + font-weight: 500; + color: #333333; + margin-top: 15rpx; + } + } + } + + .swiper-container { + width: 100%; + margin-bottom: 20rpx; + + .banerContent { + width: 100%; + height: 180rpx; + + .swiper-items { + width: 100%; + height: 100%; + } + } + } + + .matter-tranform-container { + width: 100%; + height: 140rpx; + background: #FFFFFF; + border-radius: 16rpx; + margin-bottom: 20rpx; + + .pushing-matter { + .leftIteminfo { + color: #333333; + + .itemName { + font-size: 30rpx; + font-weight: bold; + } + + .itemexplain { + font-size: 24rpx; + font-weight: 500; + } + } + } + + .centerBorder { + width: 2rpx; + height: 92rpx; + background: #F1F1F1; + margin: 0 60rpx; + } + } + + .commonFunctions-container { + width: 100%; + background-color: #FFFFFF; + border-radius: 16px; + margin-bottom: 20rpx; + + .card-title { + width: 100%; + padding: 0 28rpx; + font-size: 30rpx; + font-weight: bold; + margin: 30rpx 0; + color: #333333; + } + + .function-list { + width: 100%; + flex-wrap: wrap; + + .function-items { + width: 25%; + margin-bottom: 30rpx; + + .iconbox { + width: 60rpx; + height: 60rpx; + } + + .itemName { + margin-top: 20rpx; + font-size: 24rpx; + font-weight: 500; + color: #333333; + } + } + } + } + } + } + + .setting-wrapper { + .body-container { + width: 100%; + margin-top: 20rpx; + + .infoContainer { + width: 100%; + background-color: #FFFFFF; + + .keyvalueBox { + width: 100%; + height: 100rpx; + border-bottom: 1rpx solid #F2F2F2; + padding: 0 30rpx; + + .leftKey { + font-size: 28rpx; + font-weight: 500; + color: #333333; + display:flex; + align-items:center; + + span { + font-size: 24rpx; + font-weight: 500; + color: #999999; + } + } + + .rightvalue { + .rightText { + font-size: 24rpx; + font-weight: 400; + color: #999999; + margin-right: 15rpx; + } + + .arrow-icon { + width: 10rpx; + height: 18rpx; + } + } + } + } + + .logOut { + width: 100%; + height: 100rpx; + margin-top: 20rpx; + background-color: #FFFFFF; + + .outText { + font-size: 28rpx; + font-weight: 500; + color: #333333; + } + } + } + } +</style> diff --git a/uniapp/manifest.json b/uniapp/manifest.json index 3dabb34..0e3a85b 100644 --- a/uniapp/manifest.json +++ b/uniapp/manifest.json @@ -2,8 +2,8 @@ "name" : "澶ц繑瀹�", "appid" : "__UNI__FC8858A", "description" : "澶ц繑瀹榓pp", - "versionName" : "1.1.3", - "versionCode" : 113, + "versionName" : "1.2.3", + "versionCode" : 123, "transformPx" : false, /* 5+App鐗规湁鐩稿叧 */ "app-plus" : { @@ -12,8 +12,8 @@ "nvueCompiler" : "uni-app", "compilerVersion" : 3, "splashscreen" : { - "alwaysShowBeforeRender" : true, - "waiting" : true, + "alwaysShowBeforeRender" : false, + "waiting" : false, "autoclose" : true, "delay" : 0 }, @@ -128,11 +128,14 @@ "splashscreen" : { "androidStyle" : "default", "android" : { - "hdpi" : "E:/OPProject/鍙戠増鐢╛鍕垮垹/寮�灞�/寮�灞忓皬.png", - "xhdpi" : "E:/OPProject/鍥剧墖/寮�灞�/寮�灞忎腑.png", - "xxhdpi" : "E:/OPProject/鍥剧墖/寮�灞�/寮�灞忓ぇ.png" + "hdpi" : "E:/OPProject/鍙戠増鐢╛鍕垮垹/android/480X762.9.png", + "xhdpi" : "E:/OPProject/鍙戠増鐢╛鍕垮垹/android/720X1242.9.png", + "xxhdpi" : "E:/OPProject/鍙戠増鐢╛鍕垮垹/android/1080x1882.9.png" }, - "iosStyle" : "common" + "iosStyle" : "storyboard", + "ios" : { + "storyboard" : "E:/OPProject/鍙戠増鐢╛鍕垮垹/ios/CustomStoryboard.zip" + } }, "icons" : { "android" : { diff --git a/uniapp/pages.json b/uniapp/pages.json index b96baae..c928bfb 100644 --- a/uniapp/pages.json +++ b/uniapp/pages.json @@ -880,33 +880,33 @@ // "height": "60px", "list": [{ "pagePath": "pages/index/index", - "iconPath": "static/images/tabBar/home.png", - "selectedIconPath": "static/images/tabBar/homeActive.png", + "iconPath": "static/images/tabBar/ne_index.png", + "selectedIconPath": "static/images/tabBar/ne_index_act.png", "text": " 棣栭〉" }, { "pagePath": "pages/rankinglist/fengqiang", - "iconPath": "static/images/tabBar/fqbico_un.png", - "selectedIconPath": "static/images/tabBar/fqbico_in.png", + "iconPath": "static/images/tabBar/ne_qiang.png", + "selectedIconPath": "static/images/tabBar/ne_qiang_act.png", "text": "鐤姠姒�" }, { "pagePath": "pages/rankinglist/xianbao", - "iconPath": "static/images/tabBar/find.png", - "selectedIconPath": "static/images/tabBar/findactive.png", + "iconPath": "static/images/tabBar/ne_xb.png", + "selectedIconPath": "static/images/tabBar/ne_xb_act.png", "text": "绾挎姤" }, { "pagePath": "pages/community/community", - "iconPath": "static/images/tabBar/talentSay.png", - "selectedIconPath": "static/images/tabBar/talentSayactive.png", + "iconPath": "static/images/tabBar/ne_bend.png", + "selectedIconPath": "static/images/tabBar/ne_bend_act.png", "text": "鏈湴鐢熸椿" }, { "pagePath": "pages/mine/mine", - "iconPath": "static/images/tabBar/mine.png", - "selectedIconPath": "static/images/tabBar/mineActive.png", + "iconPath": "static/images/tabBar/ne_mine.png", + "selectedIconPath": "static/images/tabBar/ne_mine_act.png", "text": "鎴戠殑" } ] diff --git a/uniapp/pages/find/findGoods.vue b/uniapp/pages/find/findGoods.vue index c84b413..70b6372 100644 --- a/uniapp/pages/find/findGoods.vue +++ b/uniapp/pages/find/findGoods.vue @@ -11,7 +11,7 @@ <image class="avator-img" :src="anchor.head_img" mode="aspectFill"></image> <view class="author-name-box"> - {{anchor.nickname}} + 灏忓畼绮鹃�� </view> <view class="follow-btn rowCenCen" @tap='followFnc()'> @@ -424,7 +424,7 @@ .snapUp-btn{ width: 104rpx; height: 44rpx; - background: linear-gradient(0deg, #E00604, #F85C21); + background: #f50d49; border-radius: 8rpx; font-size: 28rpx; font-weight: 500; diff --git a/uniapp/pages/goods/goodsDetail.vue b/uniapp/pages/goods/goodsDetail.vue index b06bed0..f635732 100644 --- a/uniapp/pages/goods/goodsDetail.vue +++ b/uniapp/pages/goods/goodsDetail.vue @@ -75,25 +75,26 @@ </view> </view> <view class="vip-info-container rowCenBet" v-if="!showtar || platform!='iOS'"> - <view class="left-info" v-if="user.level != 3"> - 鐜板湪鍗囩骇鎴愪负{{pageInfo.topLevelName}},绔嬪嵆璧歿{pageInfo.topFanli}}鍏� - </view> - <view class="left-info" v-else> - 鎮ㄥ凡缁忔槸鏈�楂樼瓑绾�,蹇幓閭�璇峰ソ鍙嬭禋浣i噾鍚�! - </view> + + <view class="left-info" v-if="user.level != 3"> + 鐜板湪鍗囩骇鎴愪负{{pageInfo.topLevelName}},绔嬪嵆璧歿{pageInfo.topFanli}}鍏� + </view> + <view class="left-info" v-else> + 鎮ㄥ凡缁忔槸鏈�楂樼瓑绾�,蹇幓閭�璇峰ソ鍙嬭禋浣i噾鍚�! + </view> - <view class="rt-btn rowCenCen" @tap="golevelRules()" v-if="user.level != 3"> - <image class="vipimg" src="../../static/images/goods/vip.png" mode="aspectFill"></image> - <view class="level-txt"> - 绔嬪嵆鍗囩骇 - </view> - </view> - <view class="rt-btn rowCenCen" @tap="golevelRules()" v-else> - <image class="vipimg" src="../../static/images/goods/vip.png" mode="aspectFill"></image> - <view class="level-txt"> - 绔嬪嵆鏌ョ湅 - </view> - </view> + <view class="rt-btn rowCenCen" @tap="golevelRules()" v-if="user.level != 3"> + <image class="vipimg" src="../../static/images/goods/vip.png" mode="aspectFill"></image> + <view class="level-txt"> + 绔嬪嵆鍗囩骇 + </view> + </view> + <view class="rt-btn rowCenCen" @tap="golevelRules()" v-else> + <image class="vipimg" src="../../static/images/goods/vip.png" mode="aspectFill"></image> + <view class="level-txt"> + 绔嬪嵆鏌ョ湅 + </view> + </view> </view> <view class="quanWrap" v-if="optionsInfo.couponPrice>0 || pageInfo.couponPrice>0"> <image src="../../static/images/goods/qbg.png" mode='aspectFit' class="quanBg"></image> @@ -186,10 +187,7 @@ <image class="detailpic" :src="items" mode="widthFix"></image> </block> </view> - </view> - - <view class="bottombox"> </view> <view class="footerWrap rowSta"> @@ -215,7 +213,7 @@ </view> </view> - <view class="right-container rowCen borderBox"> + <!-- <view class="right-container rowCen borderBox" v-if="!showtar || platform!='iOS'"> <view class="leftsharebox btnbox colCenCen" @tap="goPath()"> <view class="priceText"> 锟{optionsInfo.fanli}} @@ -235,7 +233,29 @@ 璐拱杩� </view> </view> - </view> + </view> --> + + <view class="right-container rowCen borderBox"> + <view class="leftsharebox btnbox colCenCen" style="background: #ffb030;" @tap="goPath()"> + <view class="priceText"> + 锟{optionsInfo.fanli}} + </view> + <view class="texttips"> + 鍒嗕韩璧� + </view> + </view> + <view class="rightbackbox btnbox colCenCen" style="background: #fe0350;" @tap="getCouponUrl()"> + <view v-if="frompage=='freebuy'" class="priceText"> + 锟{optionsInfo.actualPrice}} + </view> + <view v-else class="priceText"> + 锟{optionsInfo.fanli}} + </view> + <view class="texttips"> + 璐拱杩� + </view> + </view> + </view> </view> </view> <!-- taobao --> @@ -987,7 +1007,7 @@ border-radius: 5rpx; padding: 0 20rpx; margin-bottom: 20rpx; - + .left-info { font-size: 24rpx; font-weight: 500; diff --git a/uniapp/pages/goods/shareGoods.vue b/uniapp/pages/goods/shareGoods.vue index e8dcdb0..f9e334f 100644 --- a/uniapp/pages/goods/shareGoods.vue +++ b/uniapp/pages/goods/shareGoods.vue @@ -256,10 +256,10 @@ onLoad(options) { this.appInfo = utils.getCacheSync('appInfo'); - console.log(this.appInfo) - // this.goodsInfo = JSON.parse(options.info); - this.goodsInfo = JSON.parse(decodeURIComponent(options.info)); - console.log(this.goodsInfo,"@@@@this.goodsInfo") + console.log(options.info) + console.log(JSON.parse(options.info)) + this.goodsInfo = JSON.parse(options.info); + this.imageList = this.goodsInfo.imgs this.getJumpUrl(this.goodsInfo) this.getuserInfo() diff --git a/uniapp/pages/index/index.vue b/uniapp/pages/index/index.vue index b5cf339..a0b0e24 100644 --- a/uniapp/pages/index/index.vue +++ b/uniapp/pages/index/index.vue @@ -1,5 +1,8 @@ <template> - <view class="index-wrapper wrapperLayer borderBox"> + <view v-if="isshowtype"> + <indexnewPage :Topheight="Topheight" :recomendType="recomendType" :canrefush='canrefush' :fixedClass='fixedClass'></indexnewPage> + </view> + <view v-else class="index-wrapper wrapperLayer borderBox"> <view class="fixed-container colCen borderBox" :style="'background:'+ (categoryCurrent>0?'#EE1B14':(scrollTop>30?'#EE1B14;':bannerColor) +';')"> <view class="topbarbox"></view> <view class="headerSearch-container rowCenBet borderBox"> @@ -97,10 +100,12 @@ import utils from '@/utils/utils.js' import indexPage from '../../components/indexPage.vue'; import categoryPage from '../../components/categoryPage.vue'; + import indexnewPage from '../../components/sh_page/indexNewPage.vue'; export default { components: { indexPage, - categoryPage + categoryPage, + indexnewPage }, data() { return { @@ -121,15 +126,18 @@ scrollleftnum:0, rowLeft:0, nowcurrentid:'', - recomendType:1 + recomendType:1, + isshowtype:false, + hasshow:false, } }, onLoad() { + this.getCategoryList(); this.getPopBannerInfo(); }, onShow() { - if(!this.hasLogin){ + /* if(!this.hasLogin){ setTimeout(function(){ uni.reLaunch({ @@ -137,19 +145,24 @@ }) },1000); return; - } - var user= uni.getStorageSync('userInfo'); - console.log(user); - if(!user.invitation_code) + } */ + if(!this.hasshow) { - setTimeout(function(){ - - uni.reLaunch({ - url:"/pages/login/wxlogin" - }) - },1000); - return; + this.shShow(); } + + /* var user= uni.getStorageSync('userInfo'); + console.log(user); */ + // if(!user.invitation_code) + // { + // setTimeout(function(){ + + // uni.reLaunch({ + // url:"/pages/login/wxlogin" + // }) + // },1000); + // return; + // } if(this.categoryList){ this.getCategoryList(); } @@ -159,10 +172,47 @@ this.recomendType = open_like_recommend == "" ? 1 : open_like_recommend; }, onReady() { + console.log("鑾峰彇楂樹綆") this.getTopheight() }, watch: {}, methods: { + shShow() + { + var that=this; + this.$u.api.comminInt({}).then(e => { + that.hasshow=true; + // #ifdef APP-PLUS + if (plus.os.name == 'iOS') { + if (e.data.basic.iosExamine && plus.runtime.version == e.data.basic.IosExamineV) { + that.isshowtype=true; + } else { + that.isshowtype=false; + console.log("璺宠浆"); + if(!that.hasLogin){ + uni.reLaunch({ + url:"/pages/login/wxlogin" + }) + } + var user= uni.getStorageSync('userInfo'); + if(!user.invitation_code) + { + setTimeout(function(){ + + uni.reLaunch({ + url:"/pages/login/wxlogin" + }) + },1000); + return; + } + } + console.log(that.isshowtype); + } + // #endif + }).catch(function(err) { + console.log(err); + }) + }, goToShowBulletFrame(info){ this.showBulletFrame = false utils.goUrl(info, this) @@ -175,7 +225,6 @@ }).then(e => { if (e.code == 1) return that.$alert(e.msg); var res = e.data.info; - console.log(res) if(res.length > 0){ this.showBulletFrame = true; this.BulletFrameData = res[0] @@ -257,7 +306,6 @@ stopswiper(){ this.canrefush = true }, - // 璺敱璺宠浆 goPath(url) { if (url == 'search') { @@ -311,7 +359,7 @@ getTopheight() { // 鑾峰彇椤堕儴楂樺害 uni.createSelectorQuery().in(this).select('.fixed-container').boundingClientRect(data => { - console.log("寰楀埌甯冨眬浣嶇疆淇℃伅" + JSON.stringify(data)); + console.log(data.height+":----------------"); this.Topheight = data.height }).exec(); }, diff --git a/uniapp/pages/login/bindingPhone.vue b/uniapp/pages/login/bindingPhone.vue index 606ec64..a4d1ba6 100644 --- a/uniapp/pages/login/bindingPhone.vue +++ b/uniapp/pages/login/bindingPhone.vue @@ -5,28 +5,36 @@ <view class="titleText"> 缁戝畾鎵嬫満鍙� </view> - - <view class="input-container colCen"> - <view class="outSidebox rowCen" :class="selectedInput=='phone'?'outSidebox-active':''"> - <input type="number" data-type='phone' @focus="changeType" @blur="cleanActive" v-model="phone" - placeholder="璇疯緭鍏ユ墜鏈哄彿" placeholder-class="input-placeHolder" /> - </view> + <view v-if="iscanbind" class="goaccount rowCenCen" @tap="mobShow()"> + <view>鏈満鎵嬫満鍙蜂竴閿粦瀹�</view> </view> - - <view class="input-container colCen"> - <view class="outSidebox rowCenBet" data-type='pass' - :class="selectedInput=='code'?'outSidebox-active':''"> - <input @focus="changeType" @blur="cleanActive" data-type='code' type="number" v-model="code" - placeholder="璇疯緭鍏ラ獙璇佺爜" placeholder-class="input-placeHolder" /> - <view class="getcodebox" :class="canGetCode?'colorTxt':''" @click="getCode()"> - {{canGetCode?'鑾峰彇楠岃瘉鐮�':second+'s鍚庨噸鏂拌幏鍙�'}} + <view v-else> + <view class="input-container colCen"> + <view class="outSidebox rowCen" :class="selectedInput=='phone'?'outSidebox-active':''"> + <input type="number" data-type='phone' @focus="changeType" @blur="cleanActive" v-model="phone" + placeholder="璇疯緭鍏ユ墜鏈哄彿" placeholder-class="input-placeHolder" /> + </view> </view> - </view> - <view class="login-btn rowCenCen" :class="code&&phone?'colorfulbtn':''" @click="bindMobile()"> - <view class="btn-font"> - 缁戝畾 + <view class="input-container colCen"> + <view class="outSidebox rowCenBet" data-type='pass' + :class="selectedInput=='code'?'outSidebox-active':''"> + <input @focus="changeType" @blur="cleanActive" data-type='code' type="number" v-model="code" + placeholder="璇疯緭鍏ラ獙璇佺爜" placeholder-class="input-placeHolder" /> + <view class="getcodebox" :class="canGetCode?'colorTxt':''" @click="getCode()"> + {{canGetCode?'鑾峰彇楠岃瘉鐮�':second+'s鍚庨噸鏂拌幏鍙�'}} + </view> + </view> + </view> + + <view class="login-btn rowCenCen" :class="code&&phone?'colorfulbtn':''" @click="bindMobile()"> + <view class="btn-font"> + 缁戝畾 + </view> + </view> + <view style="text-align: center; width: 100%;margin-top: 30rpx;" @click="mobShow()"> + 鏈満鎵嬫満鍙蜂竴閿粦瀹� </view> </view> </view> @@ -51,6 +59,7 @@ import MD5 from '../../utils/md5.js' import config from '../../utils/config.js' import utils from '../../utils/utils.js' + const univerifyManager = uni.getUniverifyManager(); export default { components: { inviteCodeModel, @@ -72,7 +81,9 @@ prevent: true, inviteCodeShow:false, inviterShow:false, - wxUser:"" + wxUser:"", + iscanbind:true, + isyj:false }; }, onLoad(options) { @@ -90,6 +101,77 @@ }, methods: { ...mapMutations(['login']), + doMobileLogin(mobRes) + { + var that=this; + uniCloud.callFunction({ + name: 'getPhoneNumber', // 浣犵殑浜戝嚱鏁板悕绉� + data: { + 'access_token': mobRes.access_token, // 瀹㈡埛绔竴閿櫥褰曟帴鍙h繑鍥炵殑access_token + 'openid': mobRes.openid, // 瀹㈡埛绔竴閿櫥褰曟帴鍙h繑鍥炵殑openid + 'op_type':'getmob' + } + }).then(res => { + console.log(res); + that.phone=res.result.mobile; + univerifyManager.close(); + that.isyj=true; + that.bindMobile(); + }).catch(err=>{ + // 澶勭悊閿欒 + console.log(err) + that.iscanbind=false; + that.$alert('鑾峰彇鎵嬫満鍙风爜澶辫触锛岃浣跨敤鍏朵粬鏂瑰紡缁戝畾') + setTimeout(function(){ + univerifyManager.close(); + },2000); + that.isyj=false; + }) + }, + mobShow() + { + var that=this; + univerifyManager.login({ + provider: 'univerify', + univerifyStyle: { // 鑷畾涔夌櫥褰曟鏍峰紡 + "fullScreen":false, + "authButton": + { + "normalColor":"#F73314", + "highlightColor":"#F73314", + "title":"鏈満鍙风爜涓�閿粦瀹�" + }, + "otherLoginButton":{ + "title":"鍏朵粬缁戝畾鏂瑰紡" + }, + "privacyTerms":{ + "defaultCheckBoxState":false + } + + }, + success(res){ // 鑾峰彇鎴愬姛 + console.log(res.authResult); + that.doMobileLogin(res.authResult); + }, + fail(res){ // 鐧诲綍澶辫触 + console.log(res) + if(res.errCode==30002) + {//鍒囨崲鐧诲綍鏂瑰紡 + that.iscanbind=false; + univerifyManager.close(); + } + else + { + that.$alert('鑾峰彇鎵嬫満鍙风爜澶辫触锛岃浣跨敤鍏朵粬鏂瑰紡缁戝畾') + setTimeout(function(){ + univerifyManager.close(); + },2000); + } + + that.iscanbind=false; + } + }) + }, backHome() { var pages = getCurrentPages(); console.log(pages.length); @@ -132,11 +214,14 @@ }, bindMobile(){ var that = this; - if(!this.hasLogin && this.wxUser != ""){ + console.log(this.hasLogin) + console.log(this.wxUser) + if(this.wxUser != ""){ this.$u.api.bindMobileLogin({ wxUser : encodeURIComponent(JSON.stringify(that.wxUser)), mobile:this.phone, - captcha:this.code + captcha:this.code, + isyj:this.isyj }).then(e => { console.log(e) if (e.code != 0) return that.$alert(e.msg) @@ -161,7 +246,8 @@ }else{ this.$u.api.changeMobile({ mobile:this.phone, - captcha:this.code + captcha:this.code, + isyj:this.isyj }).then(e => { if(e.code != 0) return that.$alert(e.msg) that.$alert('缁戝畾鎴愬姛'); @@ -284,6 +370,17 @@ </script> <style lang="scss"> + .goaccount { + width: 100%; + height: 100rpx; + background: #FFFFFF; + border: 1rpx solid #999999; + border-radius: 50rpx; + font-size: 30rpx; + font-weight: 500; + color: #333333; + margin-top: 30rpx; + } .login-wrapper { width: 100%; min-height: 100vh; diff --git a/uniapp/pages/login/wxlogin.vue b/uniapp/pages/login/wxlogin.vue index 912d100..511649a 100644 --- a/uniapp/pages/login/wxlogin.vue +++ b/uniapp/pages/login/wxlogin.vue @@ -4,7 +4,7 @@ <view class="pageContent borderBox colCen"> <image class="applogo" :src="appInfo.logo" mode="aspectFill"></image> - <view class="wxlogoBtn rowCenCen" @tap="wxlogin()" v-if="haswxlogin"> + <view class="wxlogoBtn rowCenCen" @tap="wxlogin()" v-if="supportWx"> <image class="logoIcon" src="../../static/images/mine/wxwhite.png" mode=""></image> <view>寰俊涓�閿櫥褰�</view> </view> @@ -47,19 +47,41 @@ isread: false, haswxlogin: false, isSupportMob:false, - isother:false + isother:false, + supportWx:true } }, onLoad() { this.appInfo = uni.getStorageSync('appInfo') - console.log(this.appInfo.iosExamine) - console.log(getApp().globalData.ifwt) - //this.haswxlogin = this.appInfo.iosExamine ? false : (getApp().globalData.ifwt == 1 ? true : false) - this.haswxlogin = getApp().globalData.ifwt == 1 ? true :false; + this.checkSupportWx(); this.isSupportMoblie(); }, methods: { ...mapMutations(['login']), + checkSupportWx() + { + // #ifdef APP-PLUS + if (plus.os.name == 'iOS') { + if (plus.runtime.isApplicationExist({ + action: 'weixin://' + }) && plus.runtime.isApplicationExist({ + action: 'taobao://' + })) { + this.supportWx = true //鏄惁瀹夎寰俊鍜屾窐瀹� 1浠h〃瀹夎 + } else { + this.supportWx = false + } + } else { + if (plus.runtime.isApplicationExist({pname:'com.tencent.mm', + action: 'weixin://' + })) { + this.supportWx = true //鏄惁瀹夎寰俊 1浠h〃瀹夎 + } else { + this.supportWx = false + } + } + // #endif + }, backHome() { var pages = getCurrentPages(); console.log(pages.length); @@ -126,6 +148,9 @@ { "normalColor":"#F73314", "highlightColor":"#F73314" + }, + "privacyTerms":{ + "defaultCheckBoxState":false } }, @@ -138,6 +163,7 @@ if(res.errCode==30002) {//鍒囨崲鐧诲綍鏂瑰紡 that.isother=true; + univerifyManager.close(); } else { @@ -146,6 +172,7 @@ univerifyManager.close(); },2000); } + that.isother=true; } }) diff --git a/uniapp/pages/mine/mine.vue b/uniapp/pages/mine/mine.vue index 79acd4b..87f34a6 100644 --- a/uniapp/pages/mine/mine.vue +++ b/uniapp/pages/mine/mine.vue @@ -1,5 +1,8 @@ <template> - <view class="minePage-wrapper"> + <view v-if="isshowtype"> + <minePage></minePage> + </view> + <view v-else class="minePage-wrapper"> <view class="fixed-box colCen" style="background:linear-gradient(263deg, #D20CFC, #8905F6);"> <view class="topbarbox"></view> <view class="navigate-container rowCenBet"> @@ -263,10 +266,12 @@ import APPUpdate from "../../utils/appUpdate.js"; import inviteCodeModel from '../../components/inviteCode.vue' import inviterModel from '../../components/inviterModel.vue' + import minePage from '../../components/sh_page/minePage.vue' export default { components: { inviteCodeModel, - inviterModel + inviterModel, + minePage, }, data() { return { @@ -284,7 +289,9 @@ bbcList:'', sct: 0, inviteCodeShow:false, - inviterShow:false + inviterShow:false, + isshowtype:false, + hasshow:false } }, onPageScroll(e) { @@ -317,23 +324,47 @@ this.getmoneyInfo() this.getuserInfo() } + if(!this.hasshow) + { + this.shShow(); + } }, methods: { + shShow() + { + var that=this; + this.$u.api.comminInt({}).then(e => { + that.hasshow=true; + // #ifdef APP-PLUS + if (plus.os.name == 'iOS') { + if (e.data.basic.iosExamine && plus.runtime.version == e.data.basic.IosExamineV) { + that.isshowtype=true; + } else { + that.isshowtype=false; + } + } + // #endif + }).catch(function(err) { + console.log(err); + }) + }, getInit() { + console.log(getApp().globalData) if(!getApp().globalData.hasinit) { + console.log('鍒濆鍖�1111') getApp().getAppInfo(); setTimeout(()=>{ this.getInit(); },2000) } - // #ifdef APP-PLUS console.log(getApp().globalData.ifwt) this.appInfo = uni.getStorageSync('appInfo'); this.showtar = getApp().globalData.ifwt == 1 ? false : true; - this.platform = plus.os.name + this.platform = plus.os.name; + // #endif }, getmoneyInfo() { @@ -363,7 +394,6 @@ var that = this; this.$u.api.getBanner({type:'2'}).then(e => { if(e.code == 1)return that.$alert(e.msg); - console.log(e.data.info) that.bannerList = e.data.info; }).catch(function (err) { }) diff --git a/uniapp/pages/mine/setting/cancellation.vue b/uniapp/pages/mine/setting/cancellation.vue index 80e8ca1..ed90266 100644 --- a/uniapp/pages/mine/setting/cancellation.vue +++ b/uniapp/pages/mine/setting/cancellation.vue @@ -125,10 +125,13 @@ if (this.prevent && this.canGetCode) { this.prevent = false var timerChuo = new Date().getTime() + console.log(this.userinfo.mobile); + console.log(this.userinfo); this.$u.api.sendSms({ mobile: this.userinfo.mobile, event: 'cancel' }).then(e => { + console.log(e); if(e.code != 0) return that.$alert(e.msg) that.canGetCode = false that.prevent = true diff --git a/uniapp/pages/rankinglist/fengqiang.vue b/uniapp/pages/rankinglist/fengqiang.vue index 2d53a0e..bfff77a 100644 --- a/uniapp/pages/rankinglist/fengqiang.vue +++ b/uniapp/pages/rankinglist/fengqiang.vue @@ -1,15 +1,23 @@ <template> - <view> + <view v-if="isshowtype"> + <matherPage></matherPage> + </view> + <view v-else> <web-view :webview-styles="webviewStyles" :src="webviewUrl" @message='received'></web-view> </view> </template> <script> + import matherPage from '@/components/sh_page/matherPage.vue'; var wv export default { + components:{ + matherPage + }, data() { return { webviewUrl: '', + isshowtype:false, webviewStyles: { progress: { color: '#EE1B14' @@ -17,6 +25,20 @@ }, } }, + onShow() + { + // #ifdef APP-PLUS + var showtar = getApp().globalData.ifwt == 1 ? false : true; + var platform = plus.os.name; + //showtar&&platform=='iOS' + if(showtar&&platform=='iOS') + {//璺宠浆new + this.isshowtype=true; + + return; + } + // #endif + }, onLoad(options) { if(!this.hasLogin){ uni.reLaunch({ diff --git a/uniapp/pages/rankinglist/xianbao.vue b/uniapp/pages/rankinglist/xianbao.vue index 18dbfc6..eace27c 100644 --- a/uniapp/pages/rankinglist/xianbao.vue +++ b/uniapp/pages/rankinglist/xianbao.vue @@ -1,15 +1,23 @@ <template> - <view> + <view v-if="isshowtype"> + <findPage></findPage> + </view> + <view v-else> <web-view :webview-styles="webviewStyles" :src="webviewUrl" @message='received'></web-view> </view> </template> <script> + import findPage from '@/components/sh_page/findPage.vue'; //var wv export default { + components:{ + findPage + }, data() { return { webviewUrl: '', + isshowtype:false, webviewStyles: { progress: { color: '#EE1B14' @@ -17,17 +25,30 @@ }, } }, - onLoad(options) { - if(!this.hasLogin){ - uni.reLaunch({ - url:"/pages/login/wxlogin" - }) - } - else{ - const value = uni.getStorageSync('userInfo'); - this.webviewUrl = encodeURI('http://dfgapp.ushopvip.com/html/xianbao.html?token='+value.token); - } + onShow() + { + // #ifdef APP-PLUS + var showtar = getApp().globalData.ifwt == 1 ? false : true; + var platform = plus.os.name; + //showtar&&platform=='iOS' + if(showtar&&platform=='iOS') + {//璺宠浆new + this.isshowtype=true; + } + else + { + if(!this.hasLogin){ + uni.reLaunch({ + url:"/pages/login/wxlogin" + }) + } + } + // #endif + }, + onLoad(options) { + const value = uni.getStorageSync('userInfo'); + this.webviewUrl = encodeURI('http://dfgapp.ushopvip.com/html/xianbao.html?token='+value.token); }, onReady() { this.clearMuiBack(); diff --git a/uniapp/static/images/tabBar/ne_bend.png b/uniapp/static/images/tabBar/ne_bend.png new file mode 100644 index 0000000..e697bdc --- /dev/null +++ b/uniapp/static/images/tabBar/ne_bend.png Binary files differ diff --git a/uniapp/static/images/tabBar/ne_bend_act.png b/uniapp/static/images/tabBar/ne_bend_act.png new file mode 100644 index 0000000..1415a14 --- /dev/null +++ b/uniapp/static/images/tabBar/ne_bend_act.png Binary files differ diff --git a/uniapp/static/images/tabBar/ne_index.png b/uniapp/static/images/tabBar/ne_index.png new file mode 100644 index 0000000..44f709e --- /dev/null +++ b/uniapp/static/images/tabBar/ne_index.png Binary files differ diff --git a/uniapp/static/images/tabBar/ne_index_act.png b/uniapp/static/images/tabBar/ne_index_act.png new file mode 100644 index 0000000..b07a956 --- /dev/null +++ b/uniapp/static/images/tabBar/ne_index_act.png Binary files differ diff --git a/uniapp/static/images/tabBar/ne_mine.png b/uniapp/static/images/tabBar/ne_mine.png new file mode 100644 index 0000000..91b9da0 --- /dev/null +++ b/uniapp/static/images/tabBar/ne_mine.png Binary files differ diff --git a/uniapp/static/images/tabBar/ne_mine_act.png b/uniapp/static/images/tabBar/ne_mine_act.png new file mode 100644 index 0000000..51f4cfd --- /dev/null +++ b/uniapp/static/images/tabBar/ne_mine_act.png Binary files differ diff --git a/uniapp/static/images/tabBar/ne_qiang.png b/uniapp/static/images/tabBar/ne_qiang.png new file mode 100644 index 0000000..589e39f --- /dev/null +++ b/uniapp/static/images/tabBar/ne_qiang.png Binary files differ diff --git a/uniapp/static/images/tabBar/ne_qiang_act.png b/uniapp/static/images/tabBar/ne_qiang_act.png new file mode 100644 index 0000000..824ea97 --- /dev/null +++ b/uniapp/static/images/tabBar/ne_qiang_act.png Binary files differ diff --git a/uniapp/static/images/tabBar/ne_xb.png b/uniapp/static/images/tabBar/ne_xb.png new file mode 100644 index 0000000..8199e00 --- /dev/null +++ b/uniapp/static/images/tabBar/ne_xb.png Binary files differ diff --git a/uniapp/static/images/tabBar/ne_xb_act.png b/uniapp/static/images/tabBar/ne_xb_act.png new file mode 100644 index 0000000..537de9d --- /dev/null +++ b/uniapp/static/images/tabBar/ne_xb_act.png Binary files differ diff --git a/uniapp/uniCloud-aliyun/cloudfunctions/getPhoneNumber/index.js b/uniapp/uniCloud-aliyun/cloudfunctions/getPhoneNumber/index.js index cb7b278..7750205 100644 --- a/uniapp/uniCloud-aliyun/cloudfunctions/getPhoneNumber/index.js +++ b/uniapp/uniCloud-aliyun/cloudfunctions/getPhoneNumber/index.js @@ -16,20 +16,31 @@ msg:'鑾峰彇鎵嬫満鍙峰け璐�' } } - var apiUrl='http://dfgapp.ushopvip.com/api/user/mobilelogin'; - const apiRes = await uniCloud.httpclient.request(apiUrl, { - method: 'POST', - data: { - mobile: res.phoneNumber, - captcha:'000', - ismobouth:true - }, - contentType: 'json', // 鎸囧畾浠pplication/json鍙戦�乨ata鍐呯殑鏁版嵁 - dataType: 'json' // 鎸囧畾杩斿洖鍊间负json鏍煎紡锛岃嚜鍔ㄨ繘琛宲arse - }) - //console.log(res); // res閲屽寘鍚墜鏈哄彿 - // 鎵ц鐢ㄦ埛淇℃伅鍏ュ簱绛夋搷浣滐紝姝e父鎯呭喌涓嬩笉瑕佹妸瀹屾暣鎵嬫満鍙疯繑鍥炵粰鍓嶇 - // 濡傛灉鏁版嵁搴撳湪uniCloud涓婏紝鍙互鐩存帴鍏ュ簱 - // 濡傛灉鏁版嵁搴撲笉鍦╱niCloud涓婏紝鍙互閫氳繃 uniCloud.httpclient API锛屽皢鎵嬫満鍙烽�氳繃http鏂瑰紡浼犻�掔粰鍏朵粬鏈嶅姟鍣ㄧ殑鎺ュ彛锛岃瑙侊細https://uniapp.dcloud.net.cn/uniCloud/cf-functions?id=httpclient - return apiRes + if(event.op_type=='getmob') + {//鑾峰彇鎵嬫満鍙� + return { + code:0, + mobile:res.phoneNumber + } + } + else + {//鎵嬫満鍙蜂竴閿櫥褰� + var apiUrl='http://dfgapp.ushopvip.com/api/user/mobilelogin'; + const apiRes = await uniCloud.httpclient.request(apiUrl, { + method: 'POST', + data: { + mobile: res.phoneNumber, + captcha:'000', + ismobouth:true + }, + contentType: 'json', // 鎸囧畾浠pplication/json鍙戦�乨ata鍐呯殑鏁版嵁 + dataType: 'json' // 鎸囧畾杩斿洖鍊间负json鏍煎紡锛岃嚜鍔ㄨ繘琛宲arse + }) + //console.log(res); // res閲屽寘鍚墜鏈哄彿 + // 鎵ц鐢ㄦ埛淇℃伅鍏ュ簱绛夋搷浣滐紝姝e父鎯呭喌涓嬩笉瑕佹妸瀹屾暣鎵嬫満鍙疯繑鍥炵粰鍓嶇 + // 濡傛灉鏁版嵁搴撳湪uniCloud涓婏紝鍙互鐩存帴鍏ュ簱 + // 濡傛灉鏁版嵁搴撲笉鍦╱niCloud涓婏紝鍙互閫氳繃 uniCloud.httpclient API锛屽皢鎵嬫満鍙烽�氳繃http鏂瑰紡浼犻�掔粰鍏朵粬鏈嶅姟鍣ㄧ殑鎺ュ彛锛岃瑙侊細https://uniapp.dcloud.net.cn/uniCloud/cf-functions?id=httpclient + return apiRes + } + }; -- Gitblit v1.9.3