合并冲突

This commit is contained in:
Gaoxs
2020-11-02 17:33:08 +08:00
40 changed files with 292 additions and 314 deletions
+1 -1
View File
@@ -16,7 +16,7 @@
v-if="cart.productInfo.attrInfo" v-if="cart.productInfo.attrInfo"
>{{ cart.productInfo.attrInfo.sku }}</view> >{{ cart.productInfo.attrInfo.sku }}</view>
<view class="money font-color-red">{{ cart.truePrice }}</view> <view class="money font-color-red">{{ cart.truePrice }}</view>
<view class="evaluate" v-if="evaluate == 3" @click="routerGo(cart)">评价</view> <view class="evaluate" v-if="evaluate == 3 && cart.isReply==0" @click="routerGo(cart)">评价</view>
</view> </view>
</view> </view>
</view> </view>
+31 -19
View File
@@ -6,13 +6,11 @@
<text class="iconfont icon-zhuangshixian lefticon"></text> <text class="iconfont icon-zhuangshixian lefticon"></text>
</view> </view>
<view class="recommendList acea-row row-between-wrapper"> <view class="recommendList acea-row row-between-wrapper">
<view <view @click="routerGo(item)" class="item" v-for="(item, recommendIndex) in hostProduct"
@click="routerGo(item)" :key="recommendIndex">
class="item" <view class="pictrue">
v-for="(item, recommendIndex) in hostProduct" <image :src="item.image" class="image" />
:key="recommendIndex" </view>
>
<view class="pictrue"><image :src="item.image" class="image" /></view>
<view class="name line1">{{ item.storeName }}</view> <view class="name line1">{{ item.storeName }}</view>
<view class="money font-color-red"> <view class="money font-color-red">
@@ -24,15 +22,26 @@
</view> </view>
</template> </template>
<script> <script>
import { getHostProducts } from '@/api/store'; import {
import Loading from '@/components/Loading'; getHostProducts
export default { } from '@/api/store';
import Loading from '@/components/Loading';
export default {
name: 'Recommend', name: 'Recommend',
props: {}, props: {
recommendLoading: Boolean
},
components: { components: {
Loading Loading
}, },
data: function() { watch: {
recommendLoading(nextLoading) {
if (nextLoading) {
this.hostProducts()
}
}
},
data: function () {
return { return {
hostProduct: [], hostProduct: [],
page: 1, page: 1,
@@ -42,14 +51,19 @@ export default {
loadend: false loadend: false
}; };
}, },
mounted: function() { mounted: function () {
this.hostProducts(); this.hostProducts();
}, },
methods: { methods: {
routerGo(item) { routerGo(item) {
this.$yrouter.push({ path: '/pages/shop/GoodsCon/index', query: { id: item.id } }); this.$yrouter.push({
path: '/pages/shop/GoodsCon/index',
query: {
id: item.id
}
});
}, },
hostProducts: function() { hostProducts: function () {
let that = this; let that = this;
if (that.loading) return; //阻止下次请求(false可以进行请求); if (that.loading) return; //阻止下次请求(false可以进行请求);
if (that.loadend) return; //阻止结束当前请求(false可以进行请求); if (that.loadend) return; //阻止结束当前请求(false可以进行请求);
@@ -60,11 +74,9 @@ export default {
that.hostProduct.push.apply(that.hostProduct, res.data); that.hostProduct.push.apply(that.hostProduct, res.data);
that.loadend = res.data.length < that.limit; //判断所有数据是否加载完成; that.loadend = res.data.length < that.limit; //判断所有数据是否加载完成;
that.page = that.page + 1; that.page = that.page + 1;
this.$emit('changeRecommendLoading', false)
}); });
} }
}, },
onReachBottom() { };
!this.loading && this.hostProducts();
}
};
</script> </script>
+1 -1
View File
@@ -2,7 +2,7 @@
"name" : "yshopmall", "name" : "yshopmall",
"appid" : "__UNI__C7A519E", "appid" : "__UNI__C7A519E",
"description" : "", "description" : "",
"versionName" : "1.0.0", "versionName" : "1.0.1",
"versionCode" : 1, "versionCode" : 1,
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
+6 -6
View File
@@ -47,12 +47,12 @@
cookie.set("spread", urlSpread); cookie.set("spread", urlSpread);
} }
} }
// if (this.$deviceType == "app" || this.$deviceType == "weixinh5") { if (this.$deviceType == "app" || this.$deviceType == "weixinh5") {
// this.$yrouter.switchTab({ this.$yrouter.switchTab({
// path: "/pages/home/index" path: "/pages/home/index"
// }); });
// return; return;
// } }
if (this.$store.getters.token) { if (this.$store.getters.token) {
// 如果token存在,直接进行进页面 // 如果token存在,直接进行进页面
console.log('登录状态存在,直接进页面') console.log('登录状态存在,直接进页面')
+2 -34
View File
@@ -41,46 +41,14 @@
let item = this.detail[this.swiperCurrent]; let item = this.detail[this.swiperCurrent];
// 获取轮播图颜色 // 获取轮播图颜色
let bgcolor = item.bgcolor; let bgcolor = item.bgcolor;
// #ifdef APP-PLUS
that.$set(item, 'bgcolor', '#c40414');
that.$emit('getbgcolor', '#c40414');
// #endif
// #ifndef APP-PLUS
// 颜色不存在 // 颜色不存在
if (bgcolor === '') { if (bgcolor === '') {
let ctx = uni.createCanvasContext('colorThief', that); that.$set(item, 'bgcolor', '#c40414');
if (0 === that.webviewId || ctx.webviewId === that.webviewId) { that.$emit('getbgcolor', '#c40414');
that.webviewId = ctx.webviewId;
uni.getImageInfo({
src: item.pic,
success: function (image) {
ctx.drawImage(image.path, 0, 0, image.width, image.height);
ctx.draw(true, function (e) {
uni.canvasGetImageData({
canvasId: 'colorThief',
x: 0,
y: 0,
width: parseInt(image.width),
height: parseInt(image.height),
success(res) {
let bgcolor = colorThief(res.data)
.color()
.getHex();
that.$set(item, 'bgcolor', bgcolor);
that.$emit('getbgcolor', bgcolor);
}
},
that
);
});
}
});
}
} else { } else {
that.$set(item, 'bgcolor', bgcolor); that.$set(item, 'bgcolor', bgcolor);
that.$emit('getbgcolor', bgcolor); that.$emit('getbgcolor', bgcolor);
} }
// #endif
}, },
swiperChange(e) { swiperChange(e) {
+1
View File
@@ -308,6 +308,7 @@
}, },
computed: mapGetters(["isLogin", "location"]), computed: mapGetters(["isLogin", "location"]),
mounted: function () { mounted: function () {
this.$store.commit("get_to", "goodcon");
let url = handleQrCode(); let url = handleQrCode();
if (!url) { if (!url) {
url = handleUrlParam(getCurrentPageUrlWithArgs()) url = handleUrlParam(getCurrentPageUrlWithArgs())
+44 -49
View File
@@ -3,22 +3,14 @@
<form @submit.prevent="submitForm"> <form @submit.prevent="submitForm">
<view class="search bg-color-red acea-row row-between-wrapper"> <view class="search bg-color-red acea-row row-between-wrapper">
<view class="input acea-row row-between-wrapper"> <view class="input acea-row row-between-wrapper">
<text class="iconfont icon-sousuo"></text>
<input placeholder="搜索商品信息" v-model="where.keyword" /> <input placeholder="搜索商品信息" v-model="where.keyword" />
<text class="iconfont icon-sousuo" @click="submitForm"></text>
</view> </view>
<view <view class="iconfont" :class="Switch === true ? 'icon-pailie' : 'icon-tupianpailie'" @click="switchTap"></view>
class="iconfont"
:class="Switch === true ? 'icon-pailie' : 'icon-tupianpailie'"
@click="switchTap"
></view>
</view> </view>
</form> </form>
<view class="nav acea-row row-middle"> <view class="nav acea-row row-middle">
<view <view class="item" :class="title ? 'font-color-red' : ''" @click="set_where(0)">{{ title ? title : "默认" }}</view>
class="item"
:class="title ? 'font-color-red' : ''"
@click="set_where(0)"
>{{ title ? title : "默认" }}</view>
<view class="item" @click="set_where(1)"> <view class="item" @click="set_where(1)">
价格 价格
<image src="@/static/images/horn.png" v-if="price === 0" /> <image src="@/static/images/horn.png" v-if="price === 0" />
@@ -34,19 +26,9 @@
<!-- down --> <!-- down -->
<view class="item" :class="nows ? 'font-color-red' : ''" @click="set_where(3)">新品</view> <view class="item" :class="nows ? 'font-color-red' : ''" @click="set_where(3)">新品</view>
</view> </view>
<view <view class="list acea-row row-between-wrapper" :class="Switch === true ? '' : 'on'" ref="container">
class="list acea-row row-between-wrapper" <view @click="goGoodsCon(item)" class="item" :class="Switch === true ? '' : 'on'"
:class="Switch === true ? '' : 'on'" v-for="(item, productListIndex) in productList" :key="productListIndex" :title="item.storeName">
ref="container"
>
<view
@click="goGoodsCon(item)"
class="item"
:class="Switch === true ? '' : 'on'"
v-for="(item, productListIndex) in productList"
:key="productListIndex"
:title="item.storeName"
>
<view class="pictrue" :class="Switch === true ? '' : 'on'"> <view class="pictrue" :class="Switch === true ? '' : 'on'">
<image :src="item.image" :class="Switch === true ? '' : 'on'" /> <image :src="item.image" :class="Switch === true ? '' : 'on'" />
</view> </view>
@@ -64,31 +46,30 @@
</view> </view>
</view> </view>
<Loading :loaded="loadend" :loading="loading"></Loading> <Loading :loaded="loadend" :loading="loading"></Loading>
<view <view class="noCommodity" style="background-color: #fff;" v-if="productList.length === 0 && where.page > 1">
class="noCommodity"
style="background-color: #fff;"
v-if="productList.length === 0 && where.page > 1"
>
<view class="noPictrue"> <view class="noPictrue">
<image src="@/static/images/noGood.png" class="image" /> <image src="@/static/images/noGood.png" class="image" />
</view> </view>
</view> </view>
<Recommend v-if="productList.length === 0 && where.page > 1"></Recommend> <Recommend v-if="productList.length === 0 && where.page > 1" :recommendLoading="recommendLoading"
@changeRecommendLoading="changeRecommendLoading"></Recommend>
</view> </view>
</template> </template>
<script> <script>
import Recommend from "@/components/Recommend"; import Recommend from "@/components/Recommend";
import { getProducts } from "@/api/store"; import {
import Loading from "@/components/Loading"; getProducts
} from "@/api/store";
import Loading from "@/components/Loading";
export default { export default {
name: "GoodsList", name: "GoodsList",
components: { components: {
Recommend, Recommend,
Loading Loading
}, },
props: {}, props: {},
data: function() { data: function () {
// const { s = "", id = 0, title = "" } = this.$yroute.query; // const { s = "", id = 0, title = "" } = this.$yroute.query;
const s = "", const s = "",
id = 0, id = 0,
@@ -113,7 +94,8 @@ export default {
loadend: false, loadend: false,
price: 0, price: 0,
stock: 0, stock: 0,
nows: false nows: false,
recommendLoading: false
}; };
}, },
watch: { watch: {
@@ -138,12 +120,17 @@ export default {
// } // }
} }
}, },
mounted: function() { mounted: function () {
const { s = "", id = 0, title = "" } = this.$yroute.query; const {
s = "", id = 0, title = ""
} = this.$yroute.query;
this.where.keyword = s;
this.updateTitle(); this.updateTitle();
this.get_product_list(); this.get_product_list();
}, },
onReachBottom() { onReachBottom() {
this.recommendLoading = true;
!this.loading && this.get_product_list(); !this.loading && this.get_product_list();
}, },
onHide() { onHide() {
@@ -167,10 +154,15 @@ export default {
// this.nows = fals; // this.nows = fals;
}, },
methods: { methods: {
changeRecommendLoading(recommendLoading) {
this.recommendLoading = recommendLoading
},
goGoodsCon(item) { goGoodsCon(item) {
this.$yrouter.push({ this.$yrouter.push({
path: "/pages/shop/GoodsCon/index", path: "/pages/shop/GoodsCon/index",
query: { id: item.id } query: {
id: item.id
}
}); });
}, },
updateTitle() { updateTitle() {
@@ -180,9 +172,10 @@ export default {
var that = this; var that = this;
this.setWhere(); this.setWhere();
// if (to.name !== "GoodsList") return; // if (to.name !== "GoodsList") return;
const { s = "", id = 0, title = "" } = this.$yroute.query; const {
s = "", id = 0, title = ""
} = this.$yroute.query;
if (s !== this.where.keyword || id !== this.where.sid) { if (s !== this.where.keyword || id !== this.where.sid) {
this.where.keyword = s;
this.loadend = false; this.loadend = false;
this.loading = false; this.loading = false;
this.where.page = 1; this.where.page = 1;
@@ -202,7 +195,7 @@ export default {
that.where.page = that.where.page + 1; that.where.page = that.where.page + 1;
}); });
}, },
submitForm: function() { submitForm: function () {
this.$set(this, "productList", []); this.$set(this, "productList", []);
this.where.page = 1; this.where.page = 1;
this.loadend = false; this.loadend = false;
@@ -210,11 +203,13 @@ export default {
this.get_product_list(); this.get_product_list();
}, },
//点击事件处理 //点击事件处理
set_where: function(index) { set_where: function (index) {
let that = this; let that = this;
switch (index) { switch (index) {
case 0: case 0:
return that.$yrouter.push({ path: "/pages/shop/GoodsClass/index" }); return that.$yrouter.push({
path: "/pages/shop/GoodsClass/index"
});
case 1: case 1:
if (that.price === 0) that.price = 1; if (that.price === 0) that.price = 1;
else if (that.price === 1) that.price = 2; else if (that.price === 1) that.price = 2;
@@ -239,7 +234,7 @@ export default {
that.get_product_list(); that.get_product_list();
}, },
//设置where条件 //设置where条件
setWhere: function() { setWhere: function () {
let that = this; let that = this;
if (that.price === 0) { if (that.price === 0) {
that.where.priceOrder = ""; that.where.priceOrder = "";
@@ -257,16 +252,16 @@ export default {
} }
that.where.news = that.nows ? "1" : "0"; that.where.news = that.nows ? "1" : "0";
}, },
switchTap: function() { switchTap: function () {
let that = this; let that = this;
that.Switch = !that.Switch; that.Switch = !that.Switch;
} }
} }
}; };
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.noCommodity { .noCommodity {
border-top: 3px solid #f5f5f5; border-top: 3px solid #f5f5f5;
padding-bottom: 1px; padding-bottom: 1px;
} }
</style> </style>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__C7A519E","name":"yshopmall","version":{"name":"1.0.0","code":1},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"OAuth":{},"Payment":{},"Share":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"usingComponents":true,"nvueCompiler":"uni-app","compilerVersion":3,"allowsInlineMediaPlayback":true,"safearea":{"background":"#ffffff","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"2.6.8","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"tabBar":{"color":"#282828","selectedColor":"#00c17b","borderStyle":"rgba(0,0,0,0.4)","backgroundColor":"#ffffff","height":"50px","fontSize":"10px","iconWidth":"24px","spacing":"3px","list":[{"pagePath":"pages/home/index","iconPath":"static/icon-home.png","selectedIconPath":"static/icon-home-hot.png","text":"首页"},{"pagePath":"pages/shop/GoodsClass/index","iconPath":"static/icon-class.png","selectedIconPath":"static/icon-class-hot.png","text":"分类"},{"pagePath":"pages/shop/ShoppingCart/index","iconPath":"static/icon-cart.png","selectedIconPath":"static/icon-cart-hot.png","text":"购物车"},{"pagePath":"pages/user/User/index","iconPath":"static/icon-user.png","selectedIconPath":"static/icon-user-hot.png","text":"我的"}]},"launch_path":"__uniappview.html"}} {"@platforms":["android","iPhone","iPad"],"id":"__UNI__C7A519E","name":"yshopmall","version":{"name":"1.0.0","code":1},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"OAuth":{},"Payment":{},"Share":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":false,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"usingComponents":true,"nvueCompiler":"uni-app","compilerVersion":3,"allowsInlineMediaPlayback":true,"safearea":{"background":"#ffffff","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"2.8.3","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"tabBar":{"color":"#282828","selectedColor":"#eb3729","borderStyle":"rgba(0,0,0,0.4)","backgroundColor":"#ffffff","height":"50px","fontSize":"10px","iconWidth":"24px","spacing":"3px","list":[{"pagePath":"pages/home/index","iconPath":"static/icon-home.png","selectedIconPath":"static/icon-home-hot.png","text":"首页"},{"pagePath":"pages/shop/GoodsClass/index","iconPath":"static/icon-class.png","selectedIconPath":"static/icon-class-hot.png","text":"分类"},{"pagePath":"pages/shop/ShoppingCart/index","iconPath":"static/icon-cart.png","selectedIconPath":"static/icon-cart-hot.png","text":"购物车"},{"pagePath":"pages/user/User/index","iconPath":"static/icon-user.png","selectedIconPath":"static/icon-user-hot.png","text":"我的"}]},"launch_path":"__uniappview.html"}}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -988,7 +988,7 @@ export function chooseImage(callback) {
console.log(image); console.log(image);
uni.showLoading({ title: "图片上传中", mask: true }); uni.showLoading({ title: "图片上传中", mask: true });
uni.uploadFile({ uni.uploadFile({
url: `${VUE_APP_API_URL} /api/upload`, url: `${VUE_APP_API_URL}/api/upload`,
file: image, file: image,
filePath: image.path, filePath: image.path,
header: { header: {