Merge branch 'hotfix/苹果审核修改'
# Conflicts:
# uniapp/pages/goods/shareGoods.vue
| | |
| | | }, |
| | | "h5" : |
| | | { |
| | | "launchtype" : "local" |
| | | "launchtype" : "remote" |
| | | }, |
| | | "mp-weixin" : |
| | | { |
| | |
| | | uni.getSystemInfo({ |
| | | success: e => { |
| | | // #ifdef APP-PLUS |
| | | console.log(e) |
| | | if (e.platform == 'android') { |
| | | this.globalData.platform = 'android' |
| | | this.globalData.systemLevel = e.system |
| | |
| | | content: 'æ£æµå°ç½ç»æéå¯è½è®¾ç½®ä¸ºå
³éï¼æ¨å¯ä»¥å¨â设置â䏿£æ¥æ çº¿æ°æ®åèçªç§»å¨ç½ç»' |
| | | }) |
| | | }else{ |
| | | console.log("æ¯å¦è¯·æ±è¿ï¼"+that.globalData.hasinit) |
| | | if(!that.globalData.hasinit) |
| | | { |
| | | that.getAppInfo(); |
| | |
| | | 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() |
| | | } |
| | |
| | | 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å°±æ¯åå§åæå |
| | |
| | | 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 |
| | |
| | | that.globalData.ifwt = 0 |
| | | } |
| | | } |
| | | console.log(that.globalData.ifwt); |
| | | } else { |
| | | if (plus.runtime.isApplicationExist({pname:'com.tencent.mm', |
| | | action: 'weixin://' |
| | |
| | | } |
| | | } |
| | | // #endif |
| | | |
| | | }).catch(function(err) {}) |
| | | |
| | | }, |
| | |
| | | </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> |
| | |
| | | }, |
| | | onRestore() { |
| | | this.swpidx = 0 |
| | | console.log('ä¸æè¢«ç»æ¢'); |
| | | //console.log('ä¸æè¢«ç»æ¢'); |
| | | }, |
| | | pagescroll(e) { |
| | | this.$emit('scrollNum', e.detail.scrollTop) |
| | |
| | | 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) |
| | |
| | | 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) { |
| | |
| | | |
| | | <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> |
| | |
| | | |
| | | .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; |
| | | } |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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"> |
| | | è¾£å¦ä¼é |
| | | </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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
| | |
| | | "name" : "大è¿å®", |
| | | "appid" : "__UNI__FC8858A", |
| | | "description" : "大è¿å®app", |
| | | "versionName" : "1.1.3", |
| | | "versionCode" : 113, |
| | | "versionName" : "1.2.3", |
| | | "versionCode" : 123, |
| | | "transformPx" : false, |
| | | /* 5+Appç¹æç¸å
³ */ |
| | | "app-plus" : { |
| | |
| | | "nvueCompiler" : "uni-app", |
| | | "compilerVersion" : 3, |
| | | "splashscreen" : { |
| | | "alwaysShowBeforeRender" : true, |
| | | "waiting" : true, |
| | | "alwaysShowBeforeRender" : false, |
| | | "waiting" : false, |
| | | "autoclose" : true, |
| | | "delay" : 0 |
| | | }, |
| | |
| | | "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" : { |
| | |
| | | // "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": "æç" |
| | | } |
| | | ] |
| | |
| | | <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()'> |
| | |
| | | .snapUp-btn{ |
| | | width: 104rpx; |
| | | height: 44rpx; |
| | | background: linear-gradient(0deg, #E00604, #F85C21); |
| | | background: #f50d49; |
| | | border-radius: 8rpx; |
| | | font-size: 28rpx; |
| | | font-weight: 500; |
| | |
| | | </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> |
| | | æ¨å·²ç»æ¯æé«ç级,å¿«å»é请好åèµä½£éå§! |
| | | </view> |
| | | |
| | | <view class="left-info" v-if="user.level != 3"> |
| | | ç°å¨å级æä¸º{{pageInfo.topLevelName}},ç«å³èµ{{pageInfo.topFanli}}å
|
| | | </view> |
| | | <view class="left-info" v-else> |
| | | æ¨å·²ç»æ¯æé«ç级,å¿«å»é请好åèµä½£éå§! |
| | | </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> |
| | |
| | | <image class="detailpic" :src="items" mode="widthFix"></image> |
| | | </block> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | |
| | | <view class="bottombox"> |
| | | </view> |
| | | <view class="footerWrap rowSta"> |
| | |
| | | </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}} |
| | |
| | | è´ä¹°è¿ |
| | | </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 --> |
| | |
| | | border-radius: 5rpx; |
| | | padding: 0 20rpx; |
| | | margin-bottom: 20rpx; |
| | | |
| | | |
| | | .left-info { |
| | | font-size: 24rpx; |
| | | font-weight: 500; |
| | |
| | | |
| | | onLoad(options) { |
| | | this.appInfo = utils.getCacheSync('appInfo'); |
| | | console.log(this.appInfo) |
| | | // this.goodsInfo = JSON.parse(options.info); |
| | | 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() |
| | |
| | | <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"> |
| | |
| | | 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 { |
| | |
| | | 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({ |
| | |
| | | }) |
| | | },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(); |
| | | } |
| | |
| | | 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) |
| | |
| | | }).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] |
| | |
| | | stopswiper(){ |
| | | this.canrefush = true |
| | | }, |
| | | |
| | | // è·¯ç±è·³è½¬ |
| | | goPath(url) { |
| | | if (url == 'search') { |
| | |
| | | getTopheight() { |
| | | // è·åé¡¶é¨é«åº¦ |
| | | uni.createSelectorQuery().in(this).select('.fixed-container').boundingClientRect(data => { |
| | | console.log("å¾å°å¸å±ä½ç½®ä¿¡æ¯" + JSON.stringify(data)); |
| | | console.log(data.height+":----------------"); |
| | | this.Topheight = data.height |
| | | }).exec(); |
| | | }, |
| | |
| | | <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> |
| | |
| | | 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, |
| | |
| | | prevent: true, |
| | | inviteCodeShow:false, |
| | | inviterShow:false, |
| | | wxUser:"" |
| | | wxUser:"", |
| | | iscanbind:true, |
| | | isyj:false |
| | | }; |
| | | }, |
| | | onLoad(options) { |
| | |
| | | }, |
| | | methods: { |
| | | ...mapMutations(['login']), |
| | | doMobileLogin(mobRes) |
| | | { |
| | | var that=this; |
| | | uniCloud.callFunction({ |
| | | name: 'getPhoneNumber', // ä½ çäºå½æ°åç§° |
| | | data: { |
| | | 'access_token': mobRes.access_token, // 客æ·ç«¯ä¸é®ç»å½æ¥å£è¿åçaccess_token |
| | | 'openid': mobRes.openid, // 客æ·ç«¯ä¸é®ç»å½æ¥å£è¿åç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); |
| | |
| | | }, |
| | | 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) |
| | |
| | | }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('ç»å®æå'); |
| | |
| | | </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; |
| | |
| | | <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> |
| | |
| | | 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代表å®è£
|
| | | } else { |
| | | this.supportWx = false |
| | | } |
| | | } else { |
| | | if (plus.runtime.isApplicationExist({pname:'com.tencent.mm', |
| | | action: 'weixin://' |
| | | })) { |
| | | this.supportWx = true //æ¯å¦å®è£
微信 1代表å®è£
|
| | | } else { |
| | | this.supportWx = false |
| | | } |
| | | } |
| | | // #endif |
| | | }, |
| | | backHome() { |
| | | var pages = getCurrentPages(); |
| | | console.log(pages.length); |
| | |
| | | { |
| | | "normalColor":"#F73314", |
| | | "highlightColor":"#F73314" |
| | | }, |
| | | "privacyTerms":{ |
| | | "defaultCheckBoxState":false |
| | | } |
| | | |
| | | }, |
| | |
| | | if(res.errCode==30002) |
| | | {//忢ç»å½æ¹å¼ |
| | | that.isother=true; |
| | | univerifyManager.close(); |
| | | } |
| | | else |
| | | { |
| | |
| | | univerifyManager.close(); |
| | | },2000); |
| | | } |
| | | |
| | | that.isother=true; |
| | | } |
| | | }) |
| | |
| | | <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"> |
| | |
| | | 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 { |
| | |
| | | bbcList:'', |
| | | sct: 0, |
| | | inviteCodeShow:false, |
| | | inviterShow:false |
| | | inviterShow:false, |
| | | isshowtype:false, |
| | | hasshow:false |
| | | } |
| | | }, |
| | | onPageScroll(e) { |
| | |
| | | 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() { |
| | |
| | | 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) { |
| | | }) |
| | |
| | | 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 |
| | |
| | | <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' |
| | |
| | | }, |
| | | } |
| | | }, |
| | | 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({ |
| | |
| | | <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' |
| | |
| | | }, |
| | | } |
| | | }, |
| | | 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(); |
| | |
| | | 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', // æå®ä»¥application/jsonåédataå
çæ°æ® |
| | | dataType: 'json' // æå®è¿åå¼ä¸ºjsonæ ¼å¼ï¼èªå¨è¿è¡parse |
| | | }) |
| | | //console.log(res); // reséå
嫿æºå· |
| | | // æ§è¡ç¨æ·ä¿¡æ¯å
¥åºçæä½ï¼æ£å¸¸æ
åµä¸ä¸è¦æå®æ´ææºå·è¿åç»å端 |
| | | // å¦ææ°æ®åºå¨uniCloudä¸ï¼å¯ä»¥ç´æ¥å
¥åº |
| | | // å¦ææ°æ®åºä¸å¨uniCloudä¸ï¼å¯ä»¥éè¿ 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', // æå®ä»¥application/jsonåédataå
çæ°æ® |
| | | dataType: 'json' // æå®è¿åå¼ä¸ºjsonæ ¼å¼ï¼èªå¨è¿è¡parse |
| | | }) |
| | | //console.log(res); // reséå
嫿æºå· |
| | | // æ§è¡ç¨æ·ä¿¡æ¯å
¥åºçæä½ï¼æ£å¸¸æ
åµä¸ä¸è¦æå®æ´ææºå·è¿åç»å端 |
| | | // å¦ææ°æ®åºå¨uniCloudä¸ï¼å¯ä»¥ç´æ¥å
¥åº |
| | | // å¦ææ°æ®åºä¸å¨uniCloudä¸ï¼å¯ä»¥éè¿ uniCloud.httpclient APIï¼å°ææºå·éè¿httpæ¹å¼ä¼ éç»å
¶ä»æå¡å¨çæ¥å£ï¼è¯¦è§ï¼https://uniapp.dcloud.net.cn/uniCloud/cf-functions?id=httpclient |
| | | return apiRes |
| | | } |
| | | |
| | | }; |