Browse Source

我的收藏列表 品牌收藏 商品详情富文本优化 发布发现图片上传优化

master
Enzo 4 years ago
parent
commit
eb9277cc45
  1. 12
      common/js/animation.js
  2. 2
      common/js/config.js
  3. 22
      pages/discover/discoverdetails.vue
  4. 2
      pages/discover/publish.vue
  5. 1
      pages/index/onlineMall/onlineMall.vue
  6. 4
      pages/shop/goodsdetail.vue
  7. 45
      pages/shop/shopdetail.vue
  8. 122
      pages/user/my/collect.vue

12
common/js/animation.js

@ -28,13 +28,13 @@ export default class Animation {
}
positionInit () {
this.animate.translate3d(0,'-55px',0).step();
this.setData({
[`${this.id}.${this.name}`] : this.animate.export()
})
positionInit () {
this.animate.translate3d(0,'-55px',0).step();
this.setData({
[`${this.id}.${this.name}`] : this.animate.export()
})
}
}
down(){
this.animate.translate3d(0,'-100%',0).step();

2
common/js/config.js

@ -16,7 +16,7 @@ export default {
//https://demo-guojiang-ec-api.guojiang.club/
baseUrl: process.env.NODE_ENV === 'development' ?
'http://192.168.43.69/' : 'https://v3-ec-admin-dev.guojiang.club/', // 运行时自动替换变量
'http://192.168.3.29/' : 'https://v3-ec-admin-dev.guojiang.club/', // 运行时自动替换变量
},
PACKAGES: {
activity: false,

22
pages/discover/discoverdetails.vue

@ -1,5 +1,5 @@
<template>
<view>
<view v-if="$isRight(discover_details)">
<lf-nav :spreadOut="true" :showIcon="true" title="详情"></lf-nav>
<view class="lf-p-32">
<view class="lf-flex">
@ -19,7 +19,7 @@
{{discover_details.content}}
</view>
<view class="lf-flex-wrap lf-m-t-20">
<image v-for="(item,index) in discover_details.attachs" :key="index" class="qzone-img" :src="item.url" mode="aspectFill"></image>
<image v-for="(item,index) in discover_details.attachs" @click.stop="checkPicture(discover_details.attachs,index)" :key="index" class="qzone-img" :src="item.url" mode="aspectFill"></image>
</view>
<view class="lf-m-t-30 lf-row-between lf-p-l-50 lf-p-r-50">
<view class="lf-row-center" @click="addLike(discover_details.id)">
@ -142,6 +142,19 @@
this.getCommentList();
},
methods: {
checkPicture(image_list,current) {
if(image_list.length <= 0) return;
let list = [];
image_list.forEach((item,index) => {
list.push(item.url)
})
this.$u.throttle(() => {
uni.previewImage({
urls: list,
current: current
});
}, 500);
},
applySub(userid,commentid) {
this.ifApply = true;
this.apply_userid = userid;
@ -250,6 +263,7 @@
this.comment = '';
this.ifApply = false;
this.getCommentList();
this.getDiscoverDetails();
})
} else {
wx.showModal({
@ -294,6 +308,7 @@
console.log('更新评论列表')
this.comment = '';
this.getCommentList();
this.getDiscoverDetails();
})
} else {
wx.showModal({
@ -363,6 +378,9 @@
id: this.discover_id,
user_id: this.$cookieStorage.get('user_info').id
},
header: {
Authorization: this.$cookieStorage.get('user_token')
},
})
.then(res => {
if (res.data.code == 200) {

2
pages/discover/publish.vue

@ -128,7 +128,7 @@
let overstep = false;
tempFiles.map(item => {
// 10MB
if(item.size < 10464788){
if(item.size < 1000000){
image_list.push(item.path);
}else{
overstep = true;

1
pages/index/onlineMall/onlineMall.vue

@ -150,6 +150,7 @@
this.getBrandList();
let data_list = res.data.data || [];
let list = data_list.map(item => {
console.log('当前的图片',item.img)
return {
id: item.id,
original_price: item.market_price,

4
pages/shop/goodsdetail.vue

@ -165,7 +165,7 @@
<!-- 商品详情 -->
<view class="goods-detail">
<view class="lf-font-32 lf-font-bold lf-m-b-20">商品详情</view>
<rich-text :nodes="goods_detail.content"></rich-text>
<rich-text :nodes="formatRichText(goods_detail.content)"></rich-text>
<!-- <image class="goods-img" :src="item" v-for="(item, index) in goods_detail.content" :key="index" v-if="goods_detail.content_type == 'img'"></image> -->
</view>
<!-- 修饰专用 -->
@ -178,7 +178,7 @@
<view class="lf-m-t-1">客服</view>
</view>
<view class="lf-flex-column lf-row-center icon-item" @click="switchCollect">
<text class="lf-iconfont icon-shoucang2 icon-img" v-if="is_collect"></text>
<text class="lf-iconfont icon-shoucang2 icon-img lf-color-price" v-if="is_collect"></text>
<text class="lf-iconfont icon-shoucang11 icon-img" v-else></text>
<view class="lf-m-t-1">{{ is_collect ? '已收藏' : '收藏' }}</view>
</view>

45
pages/shop/shopdetail.vue

@ -22,9 +22,12 @@
<view><text class="lf-iconfont icon-pinglun shop-function"></text></view>
<view class="lf-font-24 lf-color-33">客服</view>
</button>
<button class="lf-row-center lf-flex-column menu-btn">
<view><text class="lf-iconfont icon-shoucang shop-function"></text></view>
<view class="lf-font-24 lf-color-333">收藏</view>
<button class="lf-row-center lf-flex-column menu-btn" @click="switchCollect">
<view>
<text class="lf-iconfont icon-shoucang2 shop-function lf-color-price" v-if="is_collect"></text>
<text class="lf-iconfont icon-shoucang11 shop-function" v-else></text>
</view>
<view class="lf-font-24 lf-color-333">{{ is_collect ? '已收藏' : '收藏' }}</view>
</button>
<button class="lf-row-center lf-flex-column menu-btn" open-type="share">
<view><text class="lf-iconfont icon-fenxiang shop-function"></text></view>
@ -45,7 +48,7 @@
</view>
</view>
<view class="recommend-box" >
<view class="goods-rom" v-for="(item,index) of detail.goods" :key="index" v-if="detail.goods.length">
<view class="goods-rom" v-for="(item,index) of detail.goods" :key="index" v-if="detail.goods.length" @click="$url('/pages/shop/goodsdetail?type=mail&goods_id='+item.id)">
<u-lazy-load threshold="-450" border-radius="8px 8px 0 0" :image="item.img" :index="index">
<view class="list-label">已售{{item.sale_count}}</view>
</u-lazy-load>
@ -115,7 +118,8 @@
title_current:0,
brand_id: 0,
detail: {},
search_val: ''
search_val: '',
is_collect: false
}
},
onLoad(options){
@ -123,15 +127,44 @@
this.getShopDetail();
},
methods: {
//
switchCollect(){
let userInfo = this.$cookieStorage.get('user_token') || {};
if(!userInfo){
this.$url('/pages/login/index');
return;
}
this.addCollcet()
},
addCollcet() {
this.$http.post({
api: 'api/collect/create',
data: {
type:'jc_brand',
collect_id: this.brand_id,
},
header: {
Authorization: this.$cookieStorage.get('user_token')
}
}).then(res => {
this.$msg(res.data.data);
this.getShopDetail();
}).catch(err => {
console.log("====", err);
})
},
getShopDetail(){
this.$http.get({
api: 'api/brand/detail',
data: {
brand_id: this.brand_id
},
header: {
Authorization: this.$cookieStorage.get('user_token')
}
}).then(res => {
console.log("getShopDetail", res);
this.detail = res.data.data;
this.is_collect = Boolean(res.data.data.is_collect) || false;
})
},
tabChange(index){

122
pages/user/my/collect.vue

@ -5,17 +5,17 @@
<u-tabs :list="tab_list" active-color="#15716E" inactive-color='#777777' :is-scroll="true" :current="title_current" @change="titletabChange"></u-tabs>
</view>
<view v-if="title_current==0">
<view class="lf-p-30 lf-flex" v-for="(item,index) of tab_list[title_current].list" :key="index">
<image class="collect-img" src="https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png" mode="aspectFill"></image>
<view class="lf-p-30 lf-flex" v-for="(item,index) of tab_list[title_current].list" :key="index" @click="$url('/pages/shop/shopdetail?id='+ item.collectable.id)">
<image class="collect-img" :src="item.collectable.logo" mode="aspectFill"></image>
<view class="lf-flex-column lf-m-l-20" style="width: 480rpx;min-height: 160rpx;justify-content: space-between;">
<view class="lf-font-36 lf-color-black lf-line-1">luckin coffee 瑞幸瑞幸咖啡瑞幸咖啡瑞幸咖啡瑞幸咖啡咖啡</view>
<view class="lf-font-24 lf-color-777">餐饮·美食18件在售</view>
<view class="lf-font-36 lf-color-black lf-line-1">{{item.collectable.name}}</view>
<view class="lf-font-24 lf-color-777">{{item.collectable.category}}{{item.collectable.goods_count}}件在售</view>
<view class="lf-font-24 lf-color-777">
<text class="lf-iconfont icon-dizhi lf-font-20 lf-color-primary"></text>
<text class="lf-m-l-10">L2</text>
<text class="lf-m-l-10">{{item.collectable.floor}}</text>
</view>
</view>
<view class="lf-iconfont icon-shoucang lf-font-38" style="color: #FF9D9D;"></view>
<view class="lf-iconfont icon-shoucang2 lf-color-price lf-font-38" style="color: #FF9D9D;" @click.stop="switchCollect(item.collectable.id)"></view>
</view>
<view class="loading-more">
<text :class="{'loading-more-text': tab_list[title_current].loadingClass}" v-if="tab_list[title_current].list.length">{{ tab_list[title_current].loadingText }}</text>
@ -57,50 +57,6 @@
}
],
title_current:0,
list: [
{
id: 10,
original_price: "4111.00",
picture: "https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png",
pictures: ["https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png"],
price: "2412.00",
product_id: 1008,
sale: 0,
title: "三亚悦榕庄(Banyan Tree Sanya Resort and Spa)"
},
{
id: 10,
original_price: "4111.00",
picture: "https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png",
pictures: ["https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png"],
price: "2412.00",
product_id: 1008,
sale: 0,
title: "三亚悦榕庄(Banyan Tree Sanya Resort and Spa)"
},
{
id: 10,
original_price: "4111.00",
picture: "https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png",
pictures: ["https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png"],
price: "2412.00",
product_id: 1008,
sale: 0,
title: "三亚悦榕庄(Banyan Tree Sanya Resort and Spa)"
},
{
id: 10,
original_price: "4111.00",
picture: "https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png",
pictures: ["https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png"],
price: "2412.00",
product_id: 1008,
sale: 0,
title: "三亚悦榕庄(Banyan Tree Sanya Resort and Spa)"
}
],
show_count: 0,
windowHeight: 0,
scrollH: 0,
nav_height: 0,
isRefresher: true
@ -120,6 +76,32 @@
this.getData();
},
methods: {
//
switchCollect(id){
let userInfo = this.$cookieStorage.get('user_token') || {};
if(!userInfo){
this.$url('/pages/login/index');
return;
}
this.addCollcet(id)
},
addCollcet(id) {
this.$http.post({
api: 'api/collect/create',
data: {
type:'jc_brand',
collect_id: id,
},
header: {
Authorization: this.$cookieStorage.get('user_token')
}
}).then(res => {
this.$msg(res.data.data);
this.clearTabItem({type: 'scrollRefresh'});
}).catch(err => {
console.log("====", err);
})
},
titletabChange(index){
this.title_current = index;
this.getData();
@ -148,15 +130,47 @@
if(options.type == 'pageRefresh') {
uni.stopPullDownRefresh();
}else if(options.type == 'scrollRefresh') {
console.log('进入了')
this.isRefresher = false;
}
if(tab_item.page == 1) {
tab_item.list = res.data.data.data;
if(this.title_current == 0) {
tab_item.list = res.data.data.data;
}else {
let data_list = res.data.data.data || [];
let list = data_list.map(item => {
return {
id: item.id,
original_price: item.collectable.market_price,
picture: item.collectable.img,
pictures: [item.collectable.img],
price: item.collectable.min_price,
product_id: item.collectable.brand_id,
sale: item.collectable.sale_count,
title: item.collectable.name
}
})
tab_item.list = list;
}
}else {
tab_item.list.push(...res.data.data.data);
if(this.title_current == 0) {
tab_item.list.push(...res.data.data.data);
}else {
let data_list = res.data.data.data || [];
let list = data_list.map(item => {
return {
id: item.id,
original_price: item.collectable.market_price,
picture: item.collectable.img,
pictures: [item.collectable.img],
price: item.collectable.min_price,
product_id: item.collectable.brand_id,
sale: item.collectable.sale_count,
title: item.collectable.name
}
})
tab_item.list.push(...list);
}
}
console.log('当前列表数据',tab_item.list)
} else {
wx.showModal({
content: '请下拉页面刷新重试',

Loading…
Cancel
Save