12.31移动端开源代码更新
parent
955ea2fdee
commit
f4e2327095
|
@ -1,12 +1,12 @@
|
|||
|
||||
let domain = 'https://api.dev.java.crmeb.net/'
|
||||
let domain = 'https://xxx.xxx'
|
||||
|
||||
module.exports = {
|
||||
// 请求域名 格式: https://您的域名
|
||||
// #ifdef MP
|
||||
HTTP_REQUEST_URL: domain,
|
||||
// #endif
|
||||
|
||||
HTTP_ADMIN_URL:'https://xxx.xxx.xxx', //PC后台的API请求地址,上传图片用
|
||||
// #ifdef H5
|
||||
//H5接口是浏览器地址
|
||||
// HTTP_REQUEST_URL: window.location.protocol+"//"+window.location.host,
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
"quickapp" : {},
|
||||
/* 小程序特有相关 */
|
||||
"mp-weixin" : {
|
||||
"appid" : "11",
|
||||
"appid" : "123",
|
||||
"setting" : {
|
||||
"urlCheck" : true,
|
||||
"minified" : true,
|
||||
|
|
|
@ -534,7 +534,7 @@
|
|||
that.attribute.productAttr = res.data.productAttr || [];
|
||||
that.productValue = res.data.productValue;
|
||||
that.onceNum = res.data.storeCombination.onceNum;
|
||||
that.DefaultSelect();
|
||||
|
||||
// that.PromotionCode = res.data.storeInfo.code_base
|
||||
// #ifdef H5
|
||||
that.setShare();
|
||||
|
@ -548,8 +548,19 @@
|
|||
// #ifndef H5
|
||||
that.downloadFilestoreImage();
|
||||
// #endif
|
||||
let productAttr = res.data.productAttr.map(item => {
|
||||
return {
|
||||
attrName : item.attrName,
|
||||
attrValues: item.attrValues.split(','),
|
||||
id:item.id,
|
||||
isDel:item.isDel,
|
||||
productId:item.productId,
|
||||
type:item.type
|
||||
}
|
||||
});
|
||||
that.$set(that.attribute,'productAttr',productAttr);
|
||||
// that.setProductSelect();
|
||||
|
||||
that.DefaultSelect();
|
||||
|
||||
setTimeout(function() {
|
||||
that.infoScroll();
|
||||
|
|
|
@ -315,7 +315,6 @@
|
|||
that.$store.commit("PRODUCT_TYPE", 'normal');
|
||||
let statusBarHeight = '';
|
||||
var pages = getCurrentPages();
|
||||
//that.returnShow = pages.length === 1 ? false : true;
|
||||
//设置商品列表高度
|
||||
uni.getSystemInfo({
|
||||
success: function(res) {
|
||||
|
@ -324,18 +323,29 @@
|
|||
//res.windowHeight:获取整个窗口高度为px,*2为rpx;98为头部占据的高度;
|
||||
},
|
||||
});
|
||||
this.isLogin && silenceBindingSpread();
|
||||
// #ifndef APP-PLUS
|
||||
this.navH = app.globalData.navHeight
|
||||
// #endif
|
||||
// #ifdef APP-PLUS
|
||||
this.navH = 90
|
||||
// #endif
|
||||
// #ifdef MP
|
||||
let menuButtonInfo = uni.getMenuButtonBoundingClientRect()
|
||||
this.meunHeight = menuButtonInfo.height
|
||||
this.backH = (that.navH / 2) + (this.meunHeight / 2)
|
||||
|
||||
// #ifdef MP || APP-NVUE
|
||||
// 小程序链接进入获取绑定关系id
|
||||
// if(options.spread) app.globalData.spread = options.spread;
|
||||
setTimeout(()=>{
|
||||
if(options.spread){
|
||||
app.globalData.spread = options.spread;
|
||||
spread(options.spread).then(res => {})
|
||||
}
|
||||
},2000)
|
||||
// #endif
|
||||
that.$set(that,'theme',that.$Cache.get('theme')); //用户从分享卡片进入的场景下获取主题色配置
|
||||
// #endif
|
||||
if (!options.scene && !options.id){
|
||||
this.showSkeleton = false;
|
||||
this.$util.Tips({
|
||||
|
@ -358,14 +368,12 @@
|
|||
this.id = options.id;
|
||||
}
|
||||
}
|
||||
// #endif
|
||||
|
||||
if (this.isLogin) {
|
||||
this.id = options.id;
|
||||
this.getSeckillDetail();
|
||||
} else {
|
||||
this.$Cache.set('login_back_url',
|
||||
'/pages/activity/goods_seckill_details/index?id=' + this.id + '&spread=' + app.globalData.spid?app.globalData.spid:0);
|
||||
'/pages/activity/goods_seckill_details/index?id=' + this.id + '&spread=' + app.globalData.spread?app.globalData.spread:0);
|
||||
toLogin();
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
|
@ -380,6 +388,7 @@
|
|||
.exec();
|
||||
// #endif
|
||||
})
|
||||
silenceBindingSpread();
|
||||
},
|
||||
methods: {
|
||||
kefuClick(){
|
||||
|
@ -444,6 +453,17 @@
|
|||
|
||||
this.getProductReplyList();
|
||||
this.getProductReplyCount();
|
||||
let productAttr = res.data.productAttr.map(item => {
|
||||
return {
|
||||
attrName : item.attrName,
|
||||
attrValues: item.attrValues.split(','),
|
||||
id:item.id,
|
||||
isDel:item.isDel,
|
||||
productId:item.productId,
|
||||
type:item.type
|
||||
}
|
||||
});
|
||||
this.$set(this.attribute,'productAttr',productAttr);
|
||||
// #ifdef H5
|
||||
that.storeImage = that.storeInfo.image;
|
||||
that.make();
|
||||
|
|
|
@ -507,7 +507,7 @@
|
|||
return {
|
||||
title: that.productInfo.storeName || '',
|
||||
imageUrl: that.productInfo.image || '',
|
||||
path: '/pages/goods_details/index?id=' + that.id + '&spid=' + that.uid,
|
||||
path: '/pages/goods_details/index?id=' + that.id + '&spread=' + that.uid,
|
||||
}
|
||||
},
|
||||
// #endif
|
||||
|
@ -769,11 +769,17 @@
|
|||
uni.setNavigationBarTitle({
|
||||
title: productInfo.storeName.substring(0, 7) + "..."
|
||||
})
|
||||
// var navList = ['商品', '评价', '详情'];
|
||||
// if (goodArray.length) {
|
||||
// navList.splice(2, 0, '推荐')
|
||||
// }
|
||||
//that.$set(that, 'navList', navList);
|
||||
let productAttr = this.attr.productAttr.map(item => {
|
||||
return {
|
||||
attrName : item.attrName,
|
||||
attrValues: item.attrValues.split(','),
|
||||
id:item.id,
|
||||
isDel:item.isDel,
|
||||
productId:item.productId,
|
||||
type:item.type
|
||||
}
|
||||
});
|
||||
this.$set(this.attr,'productAttr',productAttr);
|
||||
if (that.isLogin) {
|
||||
that.getCartCount();
|
||||
//#ifdef H5
|
||||
|
|
|
@ -94,11 +94,11 @@
|
|||
</navigator>
|
||||
</view>
|
||||
<view class="listBox acea-row">
|
||||
<view class="list" :class='item.isGet ? "listHui" : "listActive" ' v-for="(item, index) in couponList" :key="index">
|
||||
<view class="tit line1" :class='item.isGet ? "pricehui" : "titActive" '>{{item.name}}</view>
|
||||
<view class="price" :class='item.isGet ? "pricehui" : "icon-color" '>{{item.money?Number(item.money):''}}<text class="yuan">元</text></view>
|
||||
<view class="ling" v-if="!item.isGet" :class='item.isGet ? "pricehui" : "icon-color" ' @click="getCoupon(item.id,index)">领取</view>
|
||||
<view class="ling" v-else :class='item.isGet ? "pricehui fonthui" : "icon-color" '>已领取</view>
|
||||
<view class="list" :class='item.isUse ? "listHui" : "listActive" ' v-for="(item, index) in couponList.slice(0,2)" :key="index">
|
||||
<view class="tit line1" :class='item.isUse ? "pricehui" : "titActive" '>{{item.name}}</view>
|
||||
<view class="price" :class='item.isUse ? "pricehui" : "icon-color" '>{{item.money?Number(item.money):''}}<text class="yuan">元</text></view>
|
||||
<view class="ling" v-if="!item.isUse" :class='item.isUse ? "pricehui" : "icon-color" ' @click="getCoupon(item.id,index)">领取</view>
|
||||
<view class="ling" v-else :class='item.isUse ? "pricehui fonthui" : "icon-color" '>已领取</view>
|
||||
<view class="priceM">满{{item.minPrice?Number(item.minPrice):''}}元可用</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -110,20 +110,6 @@
|
|||
<b_combination></b_combination>
|
||||
<c_bargain></c_bargain>
|
||||
|
||||
<!-- 精品推荐 -->
|
||||
<view class='boutique'>
|
||||
<swiper autoplay="true" indicator-dots="true" :circular="circular" :interval="interval"
|
||||
:duration="duration" indicator-color="rgba(0,0,0,.4)" indicator-active-color="#fff">
|
||||
<block v-for="(item,index) in bastBanner" :key="index">
|
||||
<swiper-item>
|
||||
<navigator :url='item.url' style='width:100%;height:100%;' hover-class='none'>
|
||||
<image :src="item.pic" class="slide-image" />
|
||||
</navigator>
|
||||
</swiper-item>
|
||||
</block>
|
||||
</swiper>
|
||||
</view>
|
||||
|
||||
<!-- 首页推荐 -->
|
||||
<!-- :class="iSshowH?'on':''" -->
|
||||
<view class="sticky-box" :style="'top:'+(marTop)+'px;'">
|
||||
|
@ -132,7 +118,7 @@
|
|||
<view class="tab nav-bd" id="tab_list">
|
||||
<view id="tab_item" :class="{ 'active': listActive == index}" class="item"
|
||||
v-for="(item, index) in explosiveMoney" :key="index" @click="ProductNavTab(item,index)">
|
||||
<view class="txt">{{item.title}}</view>
|
||||
<view class="txt">{{item.name}}</view>
|
||||
<view class="label">{{item.info}}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -170,56 +156,6 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 分类页 -->
|
||||
<view class="productList" v-if="navIndex>0" :style="'margin-top:'+prodeuctTop+'px'">
|
||||
<block v-if="sortProduct.length>0">
|
||||
<view class='list acea-row row-between-wrapper' :class='is_switch==true?"":"on"'>
|
||||
<view class='item' :class='is_switch==true?"":"on"' hover-class='none'
|
||||
v-for="(item,index) in sortProduct" :key="index" @click="godDetail(item)">
|
||||
<view class='pictrue' :class='is_switch==true?"":"on"'>
|
||||
<image :src='item.image' :class='is_switch==true?"":"on"'></image>
|
||||
<span class="pictrue_log_class"
|
||||
:class="is_switch === true ? 'pictrue_log_big' : 'pictrue_log'"
|
||||
v-if="item.activityH5 && item.activityH5.type === '1'">秒杀</span>
|
||||
<span class="pictrue_log_class"
|
||||
:class="is_switch === true ? 'pictrue_log_big' : 'pictrue_log'"
|
||||
v-if="item.activityH5 && item.activityH5.type === '2'">砍价</span>
|
||||
<span class="pictrue_log_class"
|
||||
:class="is_switch === true ? 'pictrue_log_big' : 'pictrue_log'"
|
||||
v-if="item.activityH5 && item.activityH5.type === '3'">拼团</span>
|
||||
</view>
|
||||
<view class='text' :class='is_switch==true?"":"on"'>
|
||||
<view class='name line1'>{{item.storeName}}</view>
|
||||
<view class='money font-color' :class='is_switch==true?"":"on"'>¥<text
|
||||
class='num'>{{item.price}}</text></view>
|
||||
<view class='vip acea-row row-between-wrapper' :class='is_switch==true?"":"on"'>
|
||||
<view class='vip-money' v-if="item.vipPrice && item.vipPrice > 0">¥{{item.vipPrice}}
|
||||
<image src='../../static/images/vip.png'></image>
|
||||
</view>
|
||||
<view>已售{{Number(item.sales) + Number(item.ficti) || 0 }}{{item.unitName}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class='loadingicon acea-row row-center-wrapper' v-if='sortProduct.length > 0'>
|
||||
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<Loading :loaded="loadend" :loading="loading"></Loading>
|
||||
<block v-if="sortProduct.length == 0">
|
||||
<view class="noCommodity">
|
||||
<view class='pictrue'>
|
||||
<image src='../../static/images/noShopper.png'></image>
|
||||
</view>
|
||||
<recommend :hostProduct="hostProduct"></recommend>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
<!-- <coupon-window :window='window' :couponList="couponList" @onColse="onColse"></coupon-window> -->
|
||||
<!-- #ifdef MP -->
|
||||
<!-- <authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse" :isGoIndex="false"></authorize> -->
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
@ -325,7 +261,6 @@
|
|||
imgUrls: [],
|
||||
itemNew: [],
|
||||
menus: [],
|
||||
bastBanner: [],
|
||||
bastInfo: '',
|
||||
fastInfo: '',
|
||||
fastList: [],
|
||||
|
@ -361,7 +296,6 @@
|
|||
limit: 10,
|
||||
},
|
||||
is_switch: true,
|
||||
hostProduct: [],
|
||||
hotPage: 1,
|
||||
hotLimit: 10,
|
||||
hotScroll: false,
|
||||
|
@ -409,11 +343,6 @@
|
|||
uni.getSystemInfo({
|
||||
success(res) {
|
||||
that.$store.commit("SYSTEM_PLATFORM", res.platform);
|
||||
console.log(res.platform) //手机牌子
|
||||
console.log(res.model) //手机型号
|
||||
console.log(res.screenWidth) //屏幕宽度
|
||||
console.log(res.screenHeight) //屏幕高度
|
||||
|
||||
}
|
||||
});
|
||||
uni.getLocation({
|
||||
|
@ -460,7 +389,7 @@
|
|||
let that = this;
|
||||
//领取优惠券
|
||||
setCouponReceive(id).then(function(res) {
|
||||
that.$set(that.couponList[index], 'isGet', true);
|
||||
that.$set(that.couponList[index], 'isUse', true);
|
||||
that.$util.Tips({
|
||||
title: '领取成功'
|
||||
});
|
||||
|
@ -540,55 +469,6 @@
|
|||
})
|
||||
},
|
||||
// #endif
|
||||
// 关闭优惠券弹窗
|
||||
onColse() {
|
||||
this.$set(this, "window", false);
|
||||
},
|
||||
//分类产品
|
||||
get_product_list: function(isPage) {
|
||||
let that = this;
|
||||
if (that.loadend) return;
|
||||
if (that.loading) return;
|
||||
that.loading = true;
|
||||
that.loadTitle = '';
|
||||
getProductslist(that.where).then(res => {
|
||||
if (that.where.page == 1 && res.data.list.length == 0) {
|
||||
that.hotScroll = false
|
||||
that.hotPage = 1
|
||||
that.hostProduct = []
|
||||
this.get_host_product()
|
||||
}
|
||||
let list = res.data.list;
|
||||
let productList = that.$util.SplitArray(list, that.sortProduct);
|
||||
let loadend = list.length < that.where.limit;
|
||||
that.loadend = loadend;
|
||||
that.loading = false;
|
||||
that.loadTitle = loadend ? '已全部加载' : '加载更多';
|
||||
that.$set(that, 'sortProduct', productList);
|
||||
that.$set(that.where, 'page', that.where.page + 1);
|
||||
}).catch(err => {
|
||||
that.loading = false;
|
||||
that.loadTitle = '加载更多';
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取我的推荐
|
||||
*/
|
||||
get_host_product: function() {
|
||||
let that = this;
|
||||
that.loading = true;
|
||||
|
||||
if (that.hotScroll) return
|
||||
getProductHot(
|
||||
that.hotPage,
|
||||
that.hotLimit,
|
||||
).then(res => {
|
||||
that.hotPage++
|
||||
that.hotScroll = res.data.list.length < that.hotLimit
|
||||
that.hostProduct = that.hostProduct.concat(res.data.list)
|
||||
});
|
||||
},
|
||||
|
||||
// 首页数据
|
||||
getIndexConfig: function() {
|
||||
let that = this;
|
||||
|
@ -601,8 +481,6 @@
|
|||
that.$set(that, "imgUrls", res.data.banner);
|
||||
that.$set(that, "menus", res.data.menus);
|
||||
that.$set(that, "roll", res.data.roll ? res.data.roll : []);
|
||||
that.$set(that, "bastBanner", res.data.bastBanner || []);
|
||||
that.$set(that, "couponList", res.data.couponList || []);
|
||||
// #ifdef H5
|
||||
that.$store.commit("SET_CHATURL", res.data.yzfUrl);
|
||||
Cache.set('chatUrl', res.data.yzfUrl);
|
||||
|
@ -611,6 +489,7 @@
|
|||
that.goodType = res.data.explosiveMoney[0].type
|
||||
this.getGroomList();
|
||||
this.shareApi();
|
||||
this.getcouponList();
|
||||
// #ifdef H5
|
||||
// that.subscribe = res.data.subscribe;
|
||||
// #endif
|
||||
|
@ -665,46 +544,6 @@
|
|||
Cache.set('chatUrl', data.yzfUrl);
|
||||
})
|
||||
},
|
||||
// setOpenShare:function(mss){
|
||||
// getWechatConfig()
|
||||
// .then(res => {
|
||||
// let data = res.data;
|
||||
// console.log('调试配置');
|
||||
// console.log(data);
|
||||
// WechatJSSDK.config({
|
||||
// debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
||||
// appId: data.appId, // 必填,公众号的唯一标识
|
||||
// timestamp: data.timestamp, // 必填,生成签名的时间戳
|
||||
// nonceStr: data.nonceStr, // 必填,生成签名的随机串
|
||||
// signature: data.signature,// 必填,签名
|
||||
// jsApiList: data.jsApiList // 必填,需要使用的JS接口列表
|
||||
// });
|
||||
// WechatJSSDK.error(function(res){
|
||||
// console.log('error')
|
||||
// console.log(res);
|
||||
// });
|
||||
// WechatJSSDK.ready(function () { //需在用户可能点击分享按钮前就先调用
|
||||
// WechatJSSDK.onMenuShareAppMessage({
|
||||
// title: mss.title, // 分享标题
|
||||
// desc: mss.synopsis, // 分享描述
|
||||
// link: location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
|
||||
// imgUrl: mss.img, // 分享图标
|
||||
// success: function (res) {
|
||||
// console.log('success');
|
||||
// console.log(res);
|
||||
// // 设置成功
|
||||
// },
|
||||
// fail:function(err){
|
||||
// console.log('err');
|
||||
// console.log(err);
|
||||
// }
|
||||
// })
|
||||
// });
|
||||
// }).catch(err => {
|
||||
// console.log(err);
|
||||
// reject(err);
|
||||
// });
|
||||
// },
|
||||
// 微信分享;
|
||||
setOpenShare: function(data) {
|
||||
let that = this;
|
||||
|
@ -776,7 +615,24 @@
|
|||
this.params.page++
|
||||
this.tempArr = this.tempArr.concat(data.list)
|
||||
})
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 获取我的推荐
|
||||
*/
|
||||
get_host_product: function() {
|
||||
let that = this;
|
||||
that.loading = true;
|
||||
|
||||
if (that.hotScroll) return
|
||||
getProductHot(
|
||||
that.hotPage,
|
||||
that.hotLimit,
|
||||
).then(res => {
|
||||
that.hotPage++
|
||||
that.hotScroll = res.data.list.length < that.hotLimit
|
||||
that.hostProduct = that.hostProduct.concat(res.data.list)
|
||||
});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
let self = this
|
||||
|
@ -802,9 +658,7 @@
|
|||
};
|
||||
},
|
||||
// #endif
|
||||
// 滚动到底部
|
||||
onReachBottom() {
|
||||
|
||||
if (this.navIndex == 0) {
|
||||
// 首页加载更多
|
||||
if (this.params.page != 1) {
|
||||
|
@ -819,14 +673,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
// 滚动监听
|
||||
// onPageScroll(e) {
|
||||
// console.log(e)
|
||||
// let self = this
|
||||
// if (e.scrollTop == 1276) {
|
||||
// self.isFixed = true
|
||||
// }
|
||||
// }
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
@ -1258,578 +1104,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
.live-wrapper {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
border-radius: 16rpx;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
}
|
||||
|
||||
.live-top {
|
||||
z-index: 20;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #fff;
|
||||
width: 180rpx;
|
||||
height: 54rpx;
|
||||
border-radius: 0rpx 0px 18rpx 0px;
|
||||
|
||||
image {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 10rpx;
|
||||
/* #ifdef H5 */
|
||||
display: block;
|
||||
/* #endif */
|
||||
}
|
||||
}
|
||||
|
||||
.live-title {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 6rpx;
|
||||
width: 100%;
|
||||
height: 70rpx;
|
||||
line-height: 70rpx;
|
||||
text-align: center;
|
||||
font-size: 30rpx;
|
||||
color: #fff;
|
||||
background: rgba(0, 0, 0, .35);
|
||||
}
|
||||
|
||||
&.mores {
|
||||
width: 100%;
|
||||
|
||||
.item {
|
||||
position: relative;
|
||||
width: 320rpx;
|
||||
display: inline-block;
|
||||
border-radius: 16rpx;
|
||||
overflow: hidden;
|
||||
margin-right: 20rpx;
|
||||
|
||||
image {
|
||||
width: 320rpx;
|
||||
height: 180rpx;
|
||||
border-radius: 16rpx;
|
||||
}
|
||||
|
||||
.live-title {
|
||||
height: 40rpx;
|
||||
line-height: 40rpx;
|
||||
text-align: center;
|
||||
font-size: 22rpx;
|
||||
}
|
||||
|
||||
.live-top {
|
||||
width: 120rpx;
|
||||
height: 36rpx;
|
||||
font-size: 22rpx;
|
||||
|
||||
image {
|
||||
width: 20rpx;
|
||||
height: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.hot-img {
|
||||
/* #ifndef H5 */
|
||||
margin-top: 40rpx;
|
||||
|
||||
/* #endif */
|
||||
swiper,
|
||||
swiper-item image {
|
||||
width: 100%;
|
||||
height: 225rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.explosion {
|
||||
width: 100%;
|
||||
height: 500rpx;
|
||||
margin-top: 20rpx;
|
||||
padding: 30rpx 20rpx;
|
||||
background-image: url('~@/static/images/explosion.png');
|
||||
background-size: 100% 100%;
|
||||
border-radius: 13px;
|
||||
|
||||
.hd {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
image {
|
||||
width: 147rpx;
|
||||
height: 35rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.txt {
|
||||
width: 220rpx;
|
||||
height: 36rpx;
|
||||
background: linear-gradient(90deg, rgba(255, 168, 0, 1) 0%, rgba(255, 34, 15, 1) 100%);
|
||||
border-radius: 26rpx 0px 26rpx 0px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-size: 22rpx;
|
||||
box-shadow: 3px 1px 1px 1px rgba(255, 203, 199, .8);
|
||||
}
|
||||
}
|
||||
|
||||
.bd {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 28rpx;
|
||||
|
||||
.item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
position: relative;
|
||||
width: 325rpx;
|
||||
height: 180rpx;
|
||||
margin-bottom: 20rpx;
|
||||
margin-right: 20rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
padding: 0 20rpx;
|
||||
box-sizing: border-box;
|
||||
|
||||
image {
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
}
|
||||
|
||||
.con-box {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
width: 120rpx;
|
||||
height: 100%;
|
||||
|
||||
.title {
|
||||
color: #282828;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.con {
|
||||
color: #999999;
|
||||
font-size: 20rpx;
|
||||
}
|
||||
|
||||
.go {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: 10rpx;
|
||||
width: 112rpx;
|
||||
height: 36rpx;
|
||||
border-radius: 18rpx;
|
||||
color: #fff;
|
||||
font-size: 26rpx;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
|
||||
image {
|
||||
width: 26rpx;
|
||||
height: 26rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:first-child .go {
|
||||
background: linear-gradient(90deg, rgba(75, 196, 255, 1) 0%, rgba(32, 126, 255, 1) 100%);
|
||||
}
|
||||
|
||||
&:nth-child(2) .go {
|
||||
background: linear-gradient(90deg, rgba(255, 144, 67, 1) 0%, rgba(255, 83, 29, 1) 100%);
|
||||
}
|
||||
|
||||
&:nth-child(3) .go {
|
||||
background: linear-gradient(90deg, rgba(150, 225, 135, 1) 0%, rgba(72, 206, 44, 1) 100%);
|
||||
}
|
||||
|
||||
&:nth-child(4) .go {
|
||||
background: linear-gradient(90deg, rgba(255, 197, 96, 1) 0%, rgba(255, 156, 0, 1) 100%);
|
||||
}
|
||||
|
||||
&:nth-child(2n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.spike-box {
|
||||
margin-top: 20rpx;
|
||||
padding: 23rpx 20rpx;
|
||||
border-radius: 24rpx;
|
||||
background-color: #fff;
|
||||
overflow: hidden;
|
||||
box-shadow: 0px 0px 16px 3px rgba(0, 0, 0, 0.04);
|
||||
|
||||
.hd {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 500rpx;
|
||||
|
||||
.icon {
|
||||
width: 38rpx;
|
||||
height: 38rpx;
|
||||
margin-right: 8rpx;
|
||||
}
|
||||
|
||||
.title {
|
||||
width: 134rpx;
|
||||
height: 33rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.more {
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
|
||||
.iconfont {
|
||||
margin-left: 6rpx;
|
||||
font-size: 25rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.spike-wrapper {
|
||||
width: 100%;
|
||||
margin-top: 27rpx;
|
||||
|
||||
.spike-item {
|
||||
display: inline-block;
|
||||
width: 222rpx;
|
||||
margin-right: 20rpx;
|
||||
|
||||
.img-box {
|
||||
position: relative;
|
||||
height: 222rpx;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 222rpx;
|
||||
border-radius: 16rpx;
|
||||
}
|
||||
|
||||
.msg {
|
||||
position: absolute;
|
||||
left: 10rpx;
|
||||
bottom: 16rpx;
|
||||
width: 86rpx;
|
||||
height: 30rpx;
|
||||
background: rgba(255, 255, 255, 1);
|
||||
border: 1px solid rgba(255, 109, 96, 1);
|
||||
border-radius: 6rpx;
|
||||
font-size: 20rpx;
|
||||
color: $theme-color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.info {
|
||||
margin-top: 8rpx;
|
||||
padding: 0 10rpx;
|
||||
|
||||
.name {
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.price-box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.tips {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 28rpx;
|
||||
height: 28rpx;
|
||||
background-color: $theme-color;
|
||||
color: #fff;
|
||||
font-size: 20rpx;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.price {
|
||||
display: flex;
|
||||
margin-left: 10rpx;
|
||||
color: $theme-color;
|
||||
font-size: 28rpx;
|
||||
font-weight: bold;
|
||||
|
||||
text {
|
||||
font-size: 18rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.barg {
|
||||
width: 100%;
|
||||
height: 478rpx;
|
||||
margin-top: 20rpx;
|
||||
padding-left: 20rpx;
|
||||
background-image: url('~@/static/images/barg002.png');
|
||||
background-size: 100% 100%;
|
||||
|
||||
.title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding-top: 42rpx;
|
||||
|
||||
image {
|
||||
width: 463rpx;
|
||||
height: 39rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.barg-swiper {
|
||||
margin-top: 43rpx;
|
||||
padding-right: 20rpx;
|
||||
|
||||
.wrapper {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.list-box {
|
||||
flex-shrink: 0;
|
||||
width: 210rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
overflow: hidden;
|
||||
padding-bottom: 18rpx;
|
||||
margin-right: 20rpx;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 210rpx;
|
||||
}
|
||||
|
||||
.info-txt {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding-top: 15rpx;
|
||||
|
||||
.price {
|
||||
font-weight: 700;
|
||||
color: $theme-color;
|
||||
}
|
||||
|
||||
.txt {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 136rpx;
|
||||
height: 33rpx;
|
||||
margin-top: 10rpx;
|
||||
background: linear-gradient(90deg, $bg-star 0%, $bg-end 100%);
|
||||
border-radius: 17px;
|
||||
font-size: 22rpx;
|
||||
color: #fff;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.more-box {
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 80rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
|
||||
image {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
.txt {
|
||||
display: block;
|
||||
writing-mode: vertical-lr;
|
||||
font-size: 26rpx;
|
||||
line-height: 1.2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.group-wrapper {
|
||||
padding: 26rpx 20rpx;
|
||||
margin-top: 20rpx;
|
||||
background: #fff;
|
||||
border-radius: 24rpx;
|
||||
|
||||
.hd {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.icon {
|
||||
width: 38rpx;
|
||||
height: 38rpx;
|
||||
margin-right: 8rpx;
|
||||
}
|
||||
|
||||
.title {
|
||||
width: 134rpx;
|
||||
height: 33rpx;
|
||||
}
|
||||
|
||||
.person {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 40rpx;
|
||||
|
||||
.avatar-box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
image {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
border-radius: 50%;
|
||||
margin-right: -10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.num {
|
||||
margin-left: 18rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.more {
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
|
||||
.iconfont {
|
||||
margin-left: 6rpx;
|
||||
font-size: 25rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.group-scroll {
|
||||
width: 100%;
|
||||
margin-top: 25rpx;
|
||||
|
||||
.group-item {
|
||||
display: inline-block;
|
||||
width: 222rpx;
|
||||
margin-right: 20rpx;
|
||||
box-shadow: 0px 2px 6px 2px rgba(0, 0, 0, 0.03);
|
||||
border-radius: 16rpx;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 222rpx;
|
||||
border-radius: 16rpx 16rpx 0 0;
|
||||
}
|
||||
|
||||
.info {
|
||||
padding: 8rpx 13rpx;
|
||||
|
||||
.name {
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.price-box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10rpx;
|
||||
|
||||
.tips {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 76rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 6rpx;
|
||||
background: linear-gradient(90deg, rgba(255, 0, 0, .1) 0%, rgba(255, 84, 0, .1) 100%);
|
||||
border-radius: 2px;
|
||||
font-size: 20rpx;
|
||||
color: $theme-color;
|
||||
}
|
||||
|
||||
.price {
|
||||
font-size: 26rpx;
|
||||
color: $theme-color;
|
||||
font-weight: 700;
|
||||
|
||||
text {
|
||||
font-size: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.bom-btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 48rpx;
|
||||
background: linear-gradient(90deg, $bg-star 0%, $bg-end 100%);
|
||||
border-radius: 0px 0px 16rpx 16rpx;
|
||||
color: #fff;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.boutique {
|
||||
margin-top: 30rpx;
|
||||
height: 140rpx;
|
||||
width: 100%;
|
||||
|
||||
swiper,
|
||||
swiper-item,
|
||||
.slide-image {
|
||||
width: 100%;
|
||||
height: 140rpx;
|
||||
border-radius: 12rpx;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.nav-bd {
|
||||
display: flex;
|
||||
|
|
|
@ -323,7 +323,9 @@
|
|||
res.data.routine_my_menus.map((item) => {
|
||||
if (item.url.indexOf('service') !== -1) that.servicePic = item.pic
|
||||
})
|
||||
if(res.data.routine_my_banner){
|
||||
that.imgUrls = res.data.routine_my_banner
|
||||
}
|
||||
});
|
||||
},
|
||||
// 编辑页面
|
||||
|
|
|
@ -164,8 +164,8 @@
|
|||
that.$util.uploadImageOne({
|
||||
url: 'user/upload/image',
|
||||
name: 'multipart',
|
||||
model: "user",
|
||||
pid: 7
|
||||
model: "maintain",
|
||||
pid: 0
|
||||
}, function(res) {
|
||||
that.newAvatar = res.data.url;
|
||||
});
|
||||
|
|
|
@ -2,6 +2,7 @@ import {
|
|||
TOKENNAME,
|
||||
HTTP_REQUEST_URL
|
||||
} from '../config/app.js';
|
||||
import {HTTP_ADMIN_URL} from '@/config/app.js';
|
||||
import store from '../store';
|
||||
import {
|
||||
pathToBase64
|
||||
|
@ -452,8 +453,7 @@ export default {
|
|||
uni.showLoading({
|
||||
title: '图片上传中',
|
||||
});
|
||||
let urlPath = HTTP_REQUEST_URL + '/api/front/' + uploadUrl + "?model=" + model +
|
||||
"&pid=" + pid;
|
||||
let urlPath = HTTP_ADMIN_URL + '/admin/upload/image' + "?model=" + model + "&pid=" + pid
|
||||
let localPath = res.tempFilePaths[0];
|
||||
uni.uploadFile({
|
||||
url: urlPath,
|
||||
|
|
Loading…
Reference in New Issue