商家列表,商家主页,我的团队

This commit is contained in:
唐明明
2022-06-09 16:55:32 +08:00
parent 0a5e711eec
commit e1602d0a2f
29 changed files with 6232 additions and 4382 deletions

View File

@@ -137,6 +137,8 @@ const errToast = (code) => {
// 更新token // 更新token
const updateToken = (token) => { const updateToken = (token) => {
store.commit('setToken', token) store.commit('setToken', token)
// 清除退出登录标识
uni.removeStorageSync('isnew')
} }
// 处理登录提示 // 处理登录提示

View File

@@ -15,7 +15,6 @@ const life = () =>{
}) })
} }
export { export {
life life
} }

View File

@@ -21,16 +21,33 @@ const goods = id => {
}) })
} }
// 套餐列表 // 店铺列表
const meals = (id, categoryId) => { const shops = (categoryId) => {
return request({ return request({
url: 'mall/meals/' + id, url: 'mall/shops',
data: { data: {
category_id: categoryId category_id: categoryId
} }
}) })
} }
// 店铺详情
const shopsDetail = (shopId) => {
return request({
url: 'mall/shops/' + shopId,
})
}
// 店铺商品
const shopsGoods = (shop_id) => {
return request({
url: 'mall/goods',
data: {
shop_id
}
})
}
// 商品列表 // 商品列表
const lists = data => { const lists = data => {
return request({ return request({
@@ -66,7 +83,9 @@ const classify = id => {
export { export {
mall, mall,
goods, goods,
meals, shops,
shopsDetail,
shopsGoods,
lists, lists,
buy, buy,
verify, verify,

21
apis/interfaces/team.js Normal file
View File

@@ -0,0 +1,21 @@
/**
* Web唐明明
* 匆匆数载恍如梦,岁月迢迢华发增。
* 碌碌无为枉半生,一朝惊醒万事空。
* moduleName: 团队
*/
import { request } from '../index'
// 团队
const relations = (data) => {
return request({
url: 'user/relations',
data
})
}
export {
relations
}

View File

@@ -14,7 +14,14 @@ const info = () =>{
}) })
} }
// 导出助记词
const chainSeed = () => {
return request({
url: 'chain/safe/seed'
})
}
export { export {
info info,
chainSeed
} }

View File

@@ -232,8 +232,7 @@
"path": "pages/team/index", "path": "pages/team/index",
"name": "Team", "name": "Team",
"style": { "style": {
"navigationBarTitleText": "共力团队", "navigationBarTitleText": "共力团队"
"enablePullDownRefresh": false
} }
}, },
@@ -283,5 +282,8 @@
}, },
"easycom": { "easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
"condition" : { //模式配置,仅开发期间生效
"current": 0 //当前激活的模式(list 的索引项)
} }
} }

View File

@@ -73,7 +73,6 @@
recharge({ recharge({
amount: typeof(value) === 'number' ? value: this.priceValue amount: typeof(value) === 'number' ? value: this.priceValue
}).then(res => { }).then(res => {
console.log(res)
uni.requestPayment({ uni.requestPayment({
provider: 'wxpay', provider: 'wxpay',
orderInfo: res, orderInfo: res,

View File

@@ -85,8 +85,8 @@
code : this.code, code : this.code,
}).then((res) => { }).then((res) => {
this.$store.commit('setToken', res.token_type + ' ' + res.access_token); this.$store.commit('setToken', res.token_type + ' ' + res.access_token);
this.$store.commit('setIsNew', res.is_new ? 0 : 1) if(res.is_new){
if(res.is_new){ uni.setStorageSync('isnew', res.is_new ? 0 : 1)
this.$Router.replace({name: 'AuthRole'}) this.$Router.replace({name: 'AuthRole'})
return return
} }

View File

@@ -88,7 +88,7 @@
<style lang="scss"> <style lang="scss">
.afterSales { .afterSales {
background-color: #f9f9f9; background-color: $window-color;
min-height: 100vh; min-height: 100vh;
.service-content { .service-content {

View File

@@ -98,7 +98,6 @@
methods:{ methods:{
getMall(){ getMall(){
mall().then(res => { mall().then(res => {
console.log(res);
this.banners = res.banners this.banners = res.banners
this.goodsArr = res.goods this.goodsArr = res.goods
this.newGood = res.news this.newGood = res.news

View File

@@ -1,570 +1,376 @@
<template> <template>
<view class="shopDetail"> <view class="shopDetail">
<view class="top"> <view class="top">
<view class="search" @click="search"> <view class="search" @click="search">
<uni-icons type="left" class="back" size="30" @click="$Router.back();" /> <uni-icons type="left" class="back" size="30" @click="$Router.back();" />
<view class="input"> <view class="input">
<uni-icons type="search" class="search-icon" color="grey" size="20" /> 请输入要搜索商品的关键词 <uni-icons type="search" class="search-icon" color="grey" size="20" /> 请输入要搜索商品的关键词
</view> </view>
</view> </view>
<view class="shopInfo"> <view class="shopInfo">
<view class="shopInfo-title-left"> <view class="shopInfo-title-left">
<image class="shop-logo" src="/static/img/house_back.jpg" mode="aspectFill" /> <image class="shop-logo" :src="logo" mode="aspectFill" />
<view class="shop-title"> <view class="shop-title">
<view class="shop-titl">三只松鼠旗舰店</view> <view class="shop-titl">{{name}}</view>
<view> 商品质量:<span class='no'>5.0</span> <text style="padding-left: 20rpx;">服务态度:<span <view>店铺评分:<span class='no'>5.0</span></view>
class='no'>5.0</span></text> </view> </view>
</view> </view>
</view> <!-- <view class="shopInfo-title-right"> +关注 </view> -->
<view class="shopInfo-title-right"> +关注 </view> </view>
</view> </view>
<view class="content">
</view> <view class="left">
<scroll-view scroll-y="true" class="scroll-view-left">
<view class="content"> <view :class="['classify-item', item.category_id === category_id?'active_classify_item':'']"
<view class="left"> v-for="(item,index) in classify" :key="index" @click="selectClassify(item.category_id)">
<scroll-view scroll-y="true" class="scroll-view-left"> {{item.name}}
<view :class="['classify-item', item.category_id === category_id?'active_classify_item':'']" </view>
v-for="(item,index) in classify" :key="index" @click="selectClassify(item.category_id)"> </scroll-view>
{{item.name}} </view>
</view> <view class="right">
</scroll-view> <scroll-view scroll-y="true" class="scroll-view-right">
</view> <block v-if="goods.length > 0">
<view class="right"> <view class="goods-item" v-for="(item,index) in goods" :key="index"
<scroll-view scroll-y="true" class="scroll-view-right"> @click="onGoods(item.goods_id)">
<view class="goods-item" v-for="(item,index) in goods" :key="index" @click="onGoods(item.goods_id)"> <image :src="item.cover" mode="aspectFill" class="good-img" />
<image :src="item.cover" mode="aspectFill" class="good-img" /> <view class="item--content">
<view class="item--content"> <view class="title">{{item.name}}</view>
<view class="title">{{item.name}}</view> <view class="sub_title">{{item.shop.name}}</view>
<view class="sub_title">{{item.shop.name}}</view> <view class="price">{{item.price.price_min || '0'}}
<view class="price">{{item.price.price_min || '0'}} <view class="price-type">
<view class="price-type"> <text> DT积分</text>
<text> DT积分</text> <text class="kucun"> 库存量:1222</text>
<text class="kucun"> 库存量:1222</text> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </block>
</scroll-view> <block v-else>
</view> <view class="vertical pages-empty">
</view> <u-empty icon="http://cdn.uviewui.com/uview/empty/list.png" textColor="#999" text="暂无相关商品">
</view> </u-empty>
</view>
</block>
</scroll-view>
</view>
</view>
</view>
</template> </template>
<script> <script>
export default { import {
data() { shopsDetail,
return { shopsGoods
category_id: 1, } from "@/apis/interfaces/store"
classify: [{ export default {
category_id: 1, data() {
name: "全部商品", return {
cover: "" name : '',
}, { logo : '',
category_id: 2, category_id : '',
name: "面部护理", classify : [],
cover: "" goods : [],
}, { pages : {}
category_id: 3, }
name: "香水彩妆", },
cover: "" onLoad(e) {
}, { this.ShopId = this.$Route.query.ShopId
category_id: 4, shopsDetail(this.ShopId).then(res => {
name: "男装男鞋", this.classify = [{
cover: "" category_id: '',
}, { name: '全部商品',
category_id: 5, }, ...res.categories]
name: "儿童用品", this.name = res.name
cover: "" this.logo = res.cover
}], this.getGoods()
goods: [{ }).catch(err => {
"goods_id": 70, uni.showToast({
"shop": { title: err.message,
"shop_id": 1, icon: 'none'
"name": "平台自营店铺", })
"cover": "", })
"is_self": true },
}, methods: {
"is_self": true, getGoods() {
"name": "一口爆浆冰皮榴莲泡泡", uni.showLoading({
"description": "专注冰皮,苏丹王榴莲", title: '加载中...'
"cover": "http://storage.zh.shangkelian.cn/images/2022/01/11/ccd654bda2e3c95e190e941209e50c62.png", })
"tags": [], shopsGoods(this.ShopId, this.category_id).then(res => {
"original_price": 111, this.goods = res.data
"price": { this.pages = res.page
"show": "100", uni.hideLoading()
"score": 1, }).catch(err => {
"price_min": 100, uni.showToast({
"price_max": 100 title: err.message,
}, icon: 'none'
"clicks": 0, })
"sales": 3253 })
}, { },
"goods_id": 56, selectClassify(id) {
"shop": { if (id === this.category_id) return;
"shop_id": 1, this.category_id = id;
"name": "平台自营店铺", this.getGoods()
"cover": "", },
"is_self": true search() {
}, this.$Router.push({
"is_self": true, name: 'StoreSearch'
"name": "铜锣烧蛋糕", });
"description": "口感丰富,悠闲小食", },
"cover": "http://storage.zh.shangkelian.cn/images/2022/01/11/37ecc570f9d7ad929a693d24118a0311.png", onGoods(id) {
"tags": [], this.$Router.push({
"original_price": 155, name: 'StoreGoods',
"price": { params: {
"show": "100", id: id
"score": 1, }
"price_min": 100, })
"price_max": 100 }
}, }
"clicks": 0, }
"sales": 7394
}, {
"goods_id": 54,
"shop": {
"shop_id": 1,
"name": "平台自营店铺",
"cover": "",
"is_self": true
},
"is_self": true,
"name": "雪麸蛋糕 香蕉牛奶风味",
"description": "北海道牛奶风味",
"cover": "http://storage.zh.shangkelian.cn/images/2022/01/11/9093c59ea5d513008926ac4233c20992.png",
"tags": [],
"original_price": 222,
"price": {
"show": "111",
"score": 1,
"price_min": 111,
"price_max": 111
},
"clicks": 1,
"sales": 202
}, {
"goods_id": 37,
"shop": {
"shop_id": 1,
"name": "平台自营店铺",
"cover": "",
"is_self": true
},
"is_self": true,
"name": "澳大利亚深海鱼油胶囊",
"description": "无腥味工艺,呵护全家健康",
"cover": "http://storage.zh.shangkelian.cn/images/2022/01/07/af4e0bab7e621d2bd6f1cb7052f1eb71.png",
"tags": [],
"original_price": 188,
"price": {
"show": "100",
"score": 1,
"price_min": 100,
"price_max": 100
},
"clicks": 2,
"sales": 5538
}, {
"goods_id": 28,
"shop": {
"shop_id": 1,
"name": "平台自营店铺",
"cover": "",
"is_self": true
},
"is_self": true,
"name": "冰淇淋威化饼干",
"description": "浓香醇厚,微甜不腻",
"cover": "http://storage.zh.shangkelian.cn/images/2022/01/06/f01d2ec7e73dff9371b71892957d85f0.png",
"tags": [],
"original_price": 155,
"price": {
"show": "111",
"score": 1,
"price_min": 111,
"price_max": 111
},
"clicks": 0,
"sales": 2707
}, {
"goods_id": 33,
"shop": {
"shop_id": 1,
"name": "平台自营店铺",
"cover": "",
"is_self": true
},
"is_self": true,
"name": "麦饭石天然矿泉水",
"description": "优选产地,多种矿物质",
"cover": "http://storage.zh.shangkelian.cn/images/2022/01/06/770afc8c293ff493c35d9a98dc3dbe97.png",
"tags": [],
"original_price": 122,
"price": {
"show": "100",
"score": 1,
"price_min": 100,
"price_max": 100
},
"clicks": 2,
"sales": 5257
}, {
"goods_id": 24,
"shop": {
"shop_id": 1,
"name": "平台自营店铺",
"cover": "",
"is_self": true
},
"is_self": true,
"name": "小米锅巴",
"description": "8%小米含量,松脆营养",
"cover": "http://storage.zh.shangkelian.cn/images/2022/01/06/5c6bbb8f1f50953c3d25b7a5c22a9865.png",
"tags": [],
"original_price": 155,
"price": {
"show": "111",
"score": 1,
"price_min": 111,
"price_max": 111
},
"clicks": 0,
"sales": 2653
}, {
"goods_id": 97,
"shop": {
"shop_id": 1,
"name": "平台自营店铺",
"cover": "",
"is_self": true
},
"is_self": true,
"name": "甜味浓郁低糖水果千禧玲珑小番茄",
"description": "甜味浓郁低糖水果千禧玲珑小番茄",
"cover": "http://storage.zh.shangkelian.cn/images/2022/01/11/8c44833a6d9477a9c01f8b4e06b2f748.png",
"tags": [],
"original_price": 0,
"price": {
"show": "89",
"score": 10,
"price_min": 89,
"price_max": 89
},
"clicks": 0,
"sales": 1347
}, {
"goods_id": 12,
"shop": {
"shop_id": 1,
"name": "平台自营店铺",
"cover": "",
"is_self": true
},
"is_self": true,
"name": "秘制手撕牛肉",
"description": "肉质紧致弹牙,细嚼口齿留香",
"cover": "http://storage.zh.shangkelian.cn/images/2022/01/06/bbd96a7724cb053e501b4ce2c34b5a0f.png",
"tags": [],
"original_price": 255,
"price": {
"show": "111",
"score": 1,
"price_min": 111,
"price_max": 111
},
"clicks": 0,
"sales": 1352
}, {
"goods_id": 58,
"shop": {
"shop_id": 1,
"name": "平台自营店铺",
"cover": "",
"is_self": true
},
"is_self": true,
"name": "挚爱巧克力",
"description": "黄金可可,瑞士工艺传承",
"cover": "http://storage.zh.shangkelian.cn/images/2022/01/11/ad5953e7f7ae60ca2f13f1313d67bb62.png",
"tags": [],
"original_price": 200,
"price": {
"show": "100",
"score": 1,
"price_min": 100,
"price_max": 100
},
"clicks": 0,
"sales": 5420
}],
}
},
onLoad(e) {
this.shopId = this.$Route.query.id;
},
methods: {
selectClassify(id) {
if (id === this.category_id) return;
this.category_id = id;
},
search() {
console.log('search')
this.$Router.push({
'name': 'StoreSearch'
});
},
onGoods(id) {
this.$Router.push({
name: 'StoreGoods',
params: {
id: id
}
})
}
}
}
</script> </script>
<style lang="scss"> <style lang="scss">
.shopDetail { .pages-empty {
width: 100%; height: 70vh;
height: 100vh; }
.top { .shopDetail {
height: 320rpx; width: 100%;
display: flex; height: 100vh;
flex-direction: column;
align-items: flex-start;
justify-content: flex-end;
box-sizing: border-box;
padding-top: 44px;
width: 100%;
.search { .top {
display: flex; height: 320rpx;
flex-direction: row; display: flex;
align-items: center; flex-direction: column;
justify-content: flex-start; align-items: flex-start;
box-sizing: border-box; justify-content: flex-end;
width: 100%; box-sizing: border-box;
padding-right: $padding; padding-top: 44px;
width: 100%;
.back { .search {
padding: 0 $padding; display: flex;
} flex-direction: row;
align-items: center;
justify-content: flex-start;
box-sizing: border-box;
width: 100%;
padding-right: $padding;
.input { .back {
flex: 1; padding: 0 $padding;
display: flex; }
flex-direction: row;
align-items: center;
justify-content: center;
box-sizing: border-box;
background-color: #f9f9f9;
color: gray;
font-size: 26rpx;
border-radius: 30rpx;
padding: 10rpx $padding;
.search-icon { .input {
margin-right: $margin; flex: 1;
} display: flex;
} flex-direction: row;
} align-items: center;
justify-content: center;
box-sizing: border-box;
background-color: #f9f9f9;
color: gray;
font-size: 26rpx;
border-radius: 30rpx;
padding: 10rpx $padding;
.search-icon {
margin-right: $margin;
}
}
}
.shopInfo { .shopInfo {
border-top: solid 1 #f9f9f9; border-top: solid 1 #f9f9f9;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
padding: $padding - 10; padding: $padding - 10;
background-color: #fff; background-color: #fff;
.shopInfo-title-left { .shopInfo-title-left {
width: 500rpx; width: 500rpx;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: flex-start; justify-content: flex-start;
box-sizing: border-box; box-sizing: border-box;
.shop-logo { .shop-logo {
width: 100rpx; width: 100rpx;
height: 100rpx; height: 100rpx;
border-radius: 10rpx; border-radius: 10rpx;
border: solid 1rpx #f9f9f9; border: solid 1rpx #f9f9f9;
} }
.shop-title { .shop-title {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
justify-content: flex-start; justify-content: flex-start;
box-sizing: border-box; box-sizing: border-box;
font-size: 26rpx; font-size: 26rpx;
margin-left: $margin; margin-left: $margin;
color: #999; color: #999;
width: 370rpx; width: 370rpx;
.no { .no {
color: $text-price; color: $text-price;
padding-left: 4rpx; padding-left: 4rpx;
} }
.shop-titl { .shop-titl {
font-size: 34rpx; font-size: 34rpx;
color: #333; color: #333;
font-weight: bold; font-weight: bold;
margin-bottom: 6rpx; margin-bottom: 6rpx;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
width: 100%; width: 100%;
} }
} }
} }
.shopInfo-title-right { .shopInfo-title-right {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
box-sizing: border-box; box-sizing: border-box;
font-size: 28rpx; font-size: 28rpx;
color: #222; color: #222;
background-color: $main-color; background-color: $main-color;
padding: 6rpx $padding; padding: 6rpx $padding;
color: #FFF; color: #FFF;
} }
} }
} }
.content { .content {
height: calc(100vh - 320rpx); height: calc(100vh - 320rpx);
background-color: #eee; background-color: #eee;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
padding-top: 20rpx; padding-top: 20rpx;
box-sizing: border-box; box-sizing: border-box;
.left { .left {
width: 180rpx; width: 180rpx;
height: 100%; height: 100%;
.scroll-view-left { .scroll-view-left {
height: 100%; height: 100%;
width: 100%; width: 100%;
} }
.classify-item { .classify-item {
width: 100%; width: 100%;
padding: $padding 0; padding: $padding 0;
font-size: 26rpx; font-size: 26rpx;
text-align: center; text-align: center;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
color: #222; color: #222;
display: inline-block; display: inline-block;
} }
.active_classify_item { .active_classify_item {
background-color: #FFFFFF; background-color: #FFFFFF;
} }
} }
.right { .right {
width: calc(100% - 180rpx); width: calc(100% - 180rpx);
height: 100%; height: 100%;
background-color: #fff; background-color: #fff;
.scroll-view-right { .scroll-view-right {
width: 100%; width: 100%;
height: 100%; height: 100%;
.goods-item { .goods-item {
width: 100%; width: 100%;
display: inline-block; display: inline-block;
border-bottom: solid 1rpx #eee; border-bottom: solid 1rpx #eee;
// padding: $padding; // padding: $padding;
padding-left: $padding; padding-left: $padding;
padding-top: $padding; padding-top: $padding;
padding-bottom: $padding; padding-bottom: $padding;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: flex-start; justify-content: flex-start;
box-sizing: border-box; box-sizing: border-box;
.good-img { .good-img {
width: 160rpx; width: 160rpx;
height: 160rpx; height: 160rpx;
border-radius: 10rpx; border-radius: 10rpx;
} }
.item--content { .item--content {
flex: 1; flex: 1;
padding: $padding - 10; padding: $padding - 10;
&>.title { &>.title {
font-size: 28rpx; font-size: 28rpx;
color: #333; color: #333;
// @extend .ellipsis-1; // @extend .ellipsis-1;
} }
&>.sub_title { &>.sub_title {
color: #a05f0c; color: #a05f0c;
font-size: 24rpx; font-size: 24rpx;
padding-top: 4rpx; padding-top: 4rpx;
// @extend .ellipsis-1; // @extend .ellipsis-1;
} }
&>.price { &>.price {
padding-top: $padding/2; padding-top: $padding/2;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: flex-end; align-items: flex-end;
justify-content: flex-start; justify-content: flex-start;
box-sizing: border-box; box-sizing: border-box;
line-height: 40rpx; line-height: 40rpx;
font-weight: bold; font-weight: bold;
font-size: 32rpx; font-size: 32rpx;
color: $text-price; color: $text-price;
// @extend .ellipsis-1; // @extend .ellipsis-1;
.price-type { .price-type {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: flex-end; align-items: flex-end;
justify-content: space-between; justify-content: space-between;
box-sizing: border-box; box-sizing: border-box;
flex: 1; flex: 1;
text { text {
margin-right: $margin/2; margin-right: $margin/2;
padding-left: 6rpx; padding-left: 6rpx;
font-size: 70%; font-size: 70%;
} }
.kucun { .kucun {
color: $text-gray; color: $text-gray;
font-weight: normal; font-weight: normal;
} }
} }
} }
} }
} }
} }
} }
} }
} }
</style> </style>

View File

@@ -1,79 +1,58 @@
<template> <template>
<view class="content"> <view class="content">
<!-- banner -->
<view class="banner">
<image class="banner-cover"
src="http://storage.zh.shangkelian.cn/images/2022/01/11/7278de59f0817da7fbcaf6657dba7475.jpg"
mode="aspectFill" />
</view>
<!-- 分类 --> <!-- 分类 -->
<u-sticky bgColor="#fff" zIndex="99"> <u-sticky bgColor="#fff" zIndex="99">
<u-tabs :list="classify" lineColor="#34CE98" @click="onTabs" /> <u-tabs :list="classify" lineColor="#34CE98" @click="onTabs" />
</u-sticky> </u-sticky>
<!-- 店铺列表 --> <!-- 店铺列表 -->
<block v-for="(item,index) in 10" :key="index"> <block v-if="shopsArr.length > 0">
<view class="shopInfo" @click="toShop(2)"> <view class="shop-List">
<view class="shopInfo-title-left"> <view class="shopInfo" v-for="(item,index) in shopsArr" :key="index" @click="toShop(item.shop_id)">
<image class="shop-logo" src="/static/img/house_back.jpg" mode="aspectFill" /> <view class="shopInfo-title-left">
<view class="shop-title"> <image class="shop-logo" :src="item.cover" mode="aspectFill" />
<view class="shop-titl">三只松鼠旗舰店</view> <view class="shop-title">
<view> 商品质量:<span>5.0</span> <text style="padding-left: 20rpx;">服务态度:<span>5.0</span></text> </view> <view class="shop-titl nowrap">{{item.name}}</view>
</view> <view>店铺评分:<span>5.0</span></view>
</view> </view>
<view class="shopInfo-title-right" >全部商品 723 <uni-icons type="right" color="grey" /></view> </view>
</view> <view class="shopInfo-title-right" >在售{{item.goods_count}}<uni-icons class="icons" type="right" size="14" color="grey" /></view>
</block> </view>
</view>
</block>
<block v-else>
<view class="vertical pages-empty">
<u-empty
icon="http://cdn.uviewui.com/uview/empty/list.png"
textColor="#999"
text="暂无相关店铺"
>
</u-empty>
</view>
</block>
</view> </view>
</template> </template>
<script> <script>
import { import {
meals shops
} from "@/apis/interfaces/store" } from "@/apis/interfaces/store"
export default { export default {
data() { data() {
return { return {
banner: "", shopsArr : [],
goodsArr: [], classify : [],
// classify: [], shopsPage: {},
classify: [{
category_id: 1,
name: " 全部",
cover: ""
}, {
category_id: 2,
name: " 母婴",
cover: ""
}, {
category_id: 3,
name: "服饰",
cover: ""
}, {
category_id: 4,
name: "男装",
cover: ""
}, {
category_id: 5,
name: "男鞋",
cover: ""
}, {
category_id: 6,
name: "女装",
cover: ""
}]
}; };
}, },
mounted() { mounted() {
// this.getMeals() this.getShops()
}, },
methods: { methods: {
getMeals() { getShops() {
meals(this.$Route.query.id, this.categoryId).then(res => { shops(this.categoryId).then(res => {
uni.setNavigationBarTitle({ console.log(res)
title: res.meal.subtitle this.shopsArr = res.shops.data
}) this.shopsPage= res.shops.page
this.banner = res.meal.banner
this.goodsArr = res.goods
this.classify = [{ this.classify = [{
name: "全部", name: "全部",
category_id: "" category_id: ""
@@ -83,10 +62,9 @@
}, },
onTabs(e) { onTabs(e) {
this.categoryId = e.category_id this.categoryId = e.category_id
this.getMeals() this.getShops()
}, },
toShop(id) { toShop(id) {
console.log('toShop/////.........');
this.$Router.push({ this.$Router.push({
name: 'ShopDetail', name: 'ShopDetail',
params: { params: {
@@ -96,106 +74,95 @@
} }
}, },
onPullDownRefresh() { onPullDownRefresh() {
this.getMeals() this.getShops()
}, },
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.pages-empty{
height: 70vh;
}
.content { .content {
background: $window-color; background: $window-color;
min-height: 100vh; min-height: 100vh;
} }
// banner
.banner {
position: relative;
width: 100%;
background-color: white;
padding-top: 40%;
&-text,
&-cover {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
}
}
// 筛选 // 筛选
.classify-tabs { .classify-tabs {
background: white; background: white;
} }
.shop-List{
padding: $padding;
.shopInfo { .shopInfo {
border-top: solid 1 #f9f9f9; display: flex;
display: flex; flex-direction: row;
flex-direction: row; align-items: center;
align-items: center; box-sizing: border-box;
justify-content: space-between; width: 100%;
box-sizing: border-box; padding: $padding - 10;
width: 100%; background-color: #fff;
padding: $padding $padding - 10; border-radius: $radius;
border-bottom: solid 10rpx #f9f9f9; margin-top: 20rpx;
background-color: #fff; &:first-child{
margin-top: 0;
.shopInfo-title-left { }
width: 500rpx; .shopInfo-title-left {
display: flex; width: 60%;
flex-direction: row; display: flex;
align-items: center; flex-direction: row;
justify-content: flex-start; align-items: center;
box-sizing: border-box; justify-content: flex-start;
box-sizing: border-box;
.shop-logo { position: relative;
width: 100rpx; padding-left: 90rpx;
height: 100rpx; min-height: 90rpx;
border-radius: 10rpx; box-sizing: border-box;
border: solid 1rpx #f9f9f9; .shop-logo {
} position: absolute;
left: 0;
.shop-title { top: 0;
display: flex; width: 90rpx;
flex-direction: column; height: 90rpx;
align-items: flex-start; border-radius: 10rpx;
justify-content: flex-start; border: solid 1rpx #f9f9f9;
box-sizing: border-box; }
font-size: 26rpx; .shop-title {
margin-left: $margin; display: flex;
color: #999; flex-direction: column;
width: 370rpx; align-items: flex-start;
justify-content: flex-start;
span { box-sizing: border-box;
color: $text-price; font-size: 26rpx;
padding-left: 4rpx; margin-left: $margin;
} color: #999;
width: 100%;
.shop-titl { span {
font-size: 34rpx; color: $text-price;
color: #333; padding-left: 4rpx;
font-weight: bold; }
margin-bottom: 6rpx; .shop-titl {
overflow: hidden; font-size: 32rpx;
white-space: nowrap; color: #333;
text-overflow: ellipsis; font-weight: bold;
width: 100%; margin-bottom: 6rpx;
} overflow: hidden;
} white-space: nowrap;
} text-overflow: ellipsis;
width: 100%;
.shopInfo-title-right { }
display: flex; }
flex-direction: row; }
align-items: center; .shopInfo-title-right {
justify-content: center; width: 40%;
box-sizing: border-box; text-align: right;
font-size: 28rpx; font-size: 26rpx;
color: #222; color: gray;
} .icons{
vertical-align: bottom;
} margin-top: 2rpx;
}
}
}
}
</style> </style>

View File

@@ -1,23 +1,248 @@
<template> <template>
<view> <view class="team">
共力团队 <!-- 统计信息 -->
<view class="team-hader">
<view>共力家族</view> <view class="team-hader-item">
<view>共力伙伴</view> <image class="team-hader-cover" src="@/static/vip/lv_03.png" mode="widthFix"></image>
<view>供应商</view> <view class="team-hader-title">共力家族</view>
<view class="team-hader-number"><text>{{count.one}}</text></view>
</view>
<view class="team-hader-item">
<image class="team-hader-cover" src="@/static/vip/lv_04.png" mode="widthFix"></image>
<view class="team-hader-title">共力伙伴</view>
<view class="team-hader-number"><text>{{count.two}}</text></view>
</view>
<view class="team-hader-item">
<image class="team-hader-cover" src="@/static/vip/lv_06.png" mode="widthFix"></image>
<view class="team-hader-title">供应商</view>
<view class="team-hader-number"><text>{{count.supplier}}</text></view>
</view>
</view>
<!-- 邀请好友 -->
<view class="team-invite">
<image src="@/static/img/team_00.png" mode="widthFix"></image>
</view>
<!-- 团队 -->
<view class="team-tabs">
<u-tabs
:list="teamTabs"
:scrollable="false"
lineColor="#34CE98"
@click="onTeamTab"
></u-tabs>
<view class="team-lists">
<view class="team-list-header">
<view class="team-list-header-item">用户</view>
<view class="team-list-header-item">手机号码</view>
<view class="team-list-header-item">{{tabsType === 'supplier' ? '业绩': '注册时间'}}</view>
</view>
<block v-if="users.length > 0">
<view class="team-list-flex" v-for="(item, index) in 10" :key="index">
<view class="team-list-flex-item user">
<image class="user-cover" src="" mode="aspectFill"></image>
<view class="user-nickname">唐明明</view>
</view>
<view class="team-list-flex-item number">182****0131</view>
<view class="team-list-flex-item number">2022/06/09</view>
</view>
</block>
<block v-else>
<view class="vertical pages-empty">
<u-empty
icon="http://cdn.uviewui.com/uview/empty/list.png"
textColor="#999"
text="暂无成员"
>
</u-empty>
</view>
</block>
</view>
</view>
</view> </view>
</template> </template>
<script> <script>
import { relations } from '@/apis/interfaces/team.js'
export default { export default {
data() { data() {
return { return {
teamTabs: [
{ name: '共力家族', type: 'one'},
{ name: '共力伙伴', type: 'two'},
{ name: '供应商', type: 'supplier'},
],
tabsType: 'one',
count: {
all: 0,
one: 0,
two: 0,
supplier: 0
},
users: [],
page : {}
}; };
},
created() {
},
methods: {
// 共力团队
onTeamTab(e){
if(this.tabsType === e.type) return
this.tabsType = e.type
this.getRelations()
},
// 团队信息
getRelations(){
uni.showLoading({
title: '加载中...'
})
relations({
larer: this.tabsType
}).then(res => {
this.count = res.count
this.users = res.users.data
this.pages = res.users.page
uni.hideLoading()
}).catch(err => {
uni.showToast({
title: err.message
})
})
}
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.team{
background: $window-color;
min-height: 100vh;
padding-bottom: $padding*2;
box-sizing: border-box;
}
// 用户数据
.pages-empty{
height: 45vh;
}
// 团队统计
.team-hader{
position: relative;
padding: 20rpx;
display: flex;
justify-content: space-between;
&-item{
position: relative;
display: flex;
flex-direction: column;
justify-content: space-between;
width: calc(33.33% - 20rpx);
background-color: white;
margin: 0 10rpx;
border-radius: $radius*2 $radius $radius*2 $radius;
height: 150rpx;
padding: 20rpx;
box-sizing: border-box;
color: white;
overflow: hidden;
&:nth-child(1){
background-image: linear-gradient(to bottom right, #f6d5c2, #edc0a1);
}
&:nth-child(2){
background-image: linear-gradient(to bottom right, #d5ddee, #b5c1d9);
}
&:nth-child(3){
background-image: linear-gradient(to bottom right, #f5cb8e, #efba6d);
}
}
&-title{
position: relative;
z-index: 1;
font-size: 26rpx;
@extend .nowrap;
}
&-number{
position: relative;
z-index: 1;
@extend .nowrap;
text{
font-size: 40rpx;
font-weight: bold;
padding-right: 6rpx;
}
font-size: 26rpx;
}
&-cover{
position: absolute;
width: 240rpx;
height: 240rpx;
right: -100rpx;
top: -30rpx;
opacity: .7;
}
}
// 邀请团队
.team-invite{
padding: 0 $padding;
image{
width: 100%;
}
}
// 团队列表
.team-tabs{
margin: 0 $margin $margin $margin;
padding-bottom: $padding;
.team-lists{
margin-top: $margin/2;
border-radius: $radius;
background: white;
padding: 20rpx $padding;
.team-list-header{
display: flex;
justify-content: space-between;
text-align: center;
border-bottom: solid 1px $border-color;
line-height: 70rpx;
padding-bottom: 15rpx;
text-align: center;
font-size: 28rpx;
color: $text-gray;
margin-bottom: 10rpx;
.team-list-header-item{
width: 33.33%;
}
}
.team-list-flex{
display: flex;
font-size: 28rpx;
padding: 10rpx 0;
&-item{
width: 33.33%;
height: 60rpx;
line-height: 60rpx;
color: #333;
&.user{
padding-left: 70rpx;
box-sizing: border-box;
position: relative;
.user-cover{
position: absolute;
left: 0;
top: 5rpx;
width: 50rpx;
height: 50rpx;
border-radius: 50%;
background: $window-color;
}
.user-nickname{
@extend .nowrap;
}
}
&.number{
text-align: center;
}
}
}
}
}
</style> </style>

View File

@@ -4,7 +4,7 @@
<view class="info-box"> <view class="info-box">
<image src="@/static/user/user_back.png" mode="aspectFill" /> <image src="@/static/user/user_back.png" mode="aspectFill" />
<view class="user-flex"> <view class="user-flex">
<image class="cover" @click="goSetting" :src="userInfo.avatar || require('@/static/user/cover.png')" <image class="cover" @click="onBtn('Setting', {})" :src="userInfo.avatar || require('@/static/user/cover.png')"
mode="aspectFill" /> mode="aspectFill" />
<view class="user-content"> <view class="user-content">
<block v-if="$store.state.token != ''"> <block v-if="$store.state.token != ''">
@@ -21,11 +21,11 @@
普通用户 普通用户
</view> </view>
</view> </view>
<view class="chainAddress" v-if="userInfo.chain_address"> <!-- <view class="chainAddress" v-if="userInfo.chain_address">
<!-- <u-icon labelPos="left" @click="copy(userInfo.chain_address)" labelSize="14" <u-icon labelPos="left" @click="copy(userInfo.chain_address)" labelSize="14"
labelColor="#fff" :label="userInfo.chain_address.substr(0, 20)+'...'" space="10" labelColor="#fff" :label="userInfo.chain_address.substr(0, 20)+'...'" space="10"
:name="require('@/static/imgs/copy.png')" size="16" /> --> :name="require('@/static/imgs/copy.png')" size="16" />
</view> </view> -->
</block> </block>
<block v-else> <block v-else>
<view class="name">未登录</view> <view class="name">未登录</view>
@@ -44,8 +44,8 @@
<u-notice-bar :text="cardText" icon="" bgColor="" duration="3000" color="#fcc692" direction="column"> <u-notice-bar :text="cardText" icon="" bgColor="" duration="3000" color="#fcc692" direction="column">
</u-notice-bar> </u-notice-bar>
</view> </view>
<!-- v-if="userInfo.identity.length === 0" --> <!-- v-if="userInfo.identity.length === 0" -->
<view class="btn" @click="openVip">开通</view> <view class="btn" @click="onBtn('Vip', {})">开通</view>
</view> </view>
<!-- 健康数据 --> <!-- 健康数据 -->
@@ -84,7 +84,7 @@
</view> </view>
<!-- 功能块 --> <!-- 功能块 -->
<view class="btns-box"> <view class="btns-box">
<view class="btns-box-item"> <view class="btns-box-item" @click="onMnemonic">
<image class="icon" src="@/static/user/userIcon_02.png" mode="widthFix" /> <image class="icon" src="@/static/user/userIcon_02.png" mode="widthFix" />
导出助记词 导出助记词
<uni-icons class="forward" type="forward" color="#999" /> <uni-icons class="forward" type="forward" color="#999" />
@@ -127,13 +127,25 @@
<view class="footer-text"> <view class="footer-text">
<view>共力生态</view> <view>共力生态</view>
<view>The total force ecological</view> <view>The total force ecological</view>
</view> </view>
<!-- 助记词弹出框 -->
<u-modal :show="wordsShow" :zoom="false" confirmText="复制" @confirm="copyWord" confirmColor="#34CE98">
<slot default>
<view class="wordsCont">
<view class="wordsCont-title">导出助记词</view>
<view class="wordsCont-tips">请务必抄下助记词并存在安全的地方若助记词丢失重装或换设备登录时将无法查看历史消息若助记词被他人获取将可能获取你的信息</view>
<view class="wordsCont-text">{{mnemonic}}</view>
<image class="wordsCont-close" @click="wordsShow = false" src="@/static/icon/userCloes.png" mode="widthFix"></image>
</view>
</slot>
</u-modal>
</view> </view>
</template> </template>
<script> <script>
import { import {
info info,
chainSeed
} from '@/apis/interfaces/user'; } from '@/apis/interfaces/user';
import userAuth from '@/public/userAuth'; import userAuth from '@/public/userAuth';
@@ -145,7 +157,9 @@
nickname: '', nickname: '',
avatar: '', avatar: '',
identity: [] identity: []
} },
mnemonic : '',
wordsShow: false
}; };
}, },
onShow() { onShow() {
@@ -168,10 +182,18 @@
icon: 'none' icon: 'none'
}); });
}); });
}, },
// 开通会员 // 导出助记词
openVip() { onMnemonic(){
this.$Router.push({name: 'Vip'}) chainSeed().then(res => {
this.mnemonic = res.seed
this.wordsShow = true
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
}, },
// 按钮导航 // 按钮导航
onBtn(name, params) { onBtn(name, params) {
@@ -180,17 +202,17 @@
params params
}); });
}, },
goSetting() {
this.$Router.push({
name: 'Setting'
})
},
// 退出登录 // 退出登录
logOut() { logOut() {
this.$store.commit('setToken', ''); uni.removeStorage({
this.$store.commit('setIsNew', ''); key: 'isnew',
this.$Router.replaceAll({name: 'Auth'}) success: () =>{
}, this.$store.commit('setToken', '');
this.$Router.replaceAll({name: 'Auth'})
}
})
},
// 复制
copy(data) { copy(data) {
uni.setClipboardData({ uni.setClipboardData({
data: data, data: data,
@@ -203,7 +225,21 @@
}) })
} }
}); });
} },
// 复制助记词
copyWord() {
uni.setClipboardData({
data: this.mnemonic,
success: () => {
this.wordsShow = false
uni.showToast({
title: '助记词已复制',
icon: 'none',
mask: true
})
}
});
},
} }
}; };
</script> </script>
@@ -456,5 +492,38 @@
margin-bottom: 8rpx; margin-bottom: 8rpx;
} }
} }
}
/* 助记词弹框 */
.wordsCont {
width: 100%;
position: relative;
text-align: center;
}
.wordsCont-title {
width: 100%;
font-weight: 600;
font-size: 44rpx;
}
.wordsCont-tips {
padding: 30rpx 0;
box-sizing: border-box;
color: #de5660;
line-height: 48rpx;
font-size: 30rpx;
}
.wordsCont-text {
font-weight: 500;
margin-top: 10rpx;
}
.wordsCont-close {
position: absolute;
top: 0;
right: 0;
width: 44rpx;
height: 44rpx;
} }
</style> </style>

View File

@@ -22,7 +22,7 @@ const router = createRouter({
//全局路由前置守卫 //全局路由前置守卫
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
if(to.name === 'Auth' && store.getters.getToken != '' && uni.getStorageSync('token') != ''){ if(to.name === 'Auth' && store.getters.getToken != '' && uni.getStorageSync('token') != ''){
if(store.getters.getIsNew === 0 || uni.getStorageSync('isnew') === 0){ if(uni.getStorageSync('isnew') === 0){
next({ next({
name: 'AuthRole', name: 'AuthRole',
NAVTYPE: 'replace' NAVTYPE: 'replace'

BIN
static/icon/userCloes.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
static/img/team_00.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
static/vip/lv_03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 195 KiB

BIN
static/vip/lv_06.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

View File

@@ -12,8 +12,7 @@ Vue.use(Vuex)
export default new Vuex.Store({ export default new Vuex.Store({
state: { state: {
token: uni.getStorageSync('token') || '', token: uni.getStorageSync('token') || '',
address: {}, address: {}
isnew: uni.getStorageSync('isNew') || 0
}, },
getters: { getters: {
getToken: state => { getToken: state => {
@@ -21,9 +20,6 @@ export default new Vuex.Store({
}, },
getAddress: state => { getAddress: state => {
return state.address return state.address
},
getIsNew: state => {
return state.isnew
} }
}, },
mutations: { mutations: {
@@ -33,10 +29,6 @@ export default new Vuex.Store({
}, },
setAddress(state, value) { setAddress(state, value) {
state.address = value state.address = value
},
setIsNew(state, isNew) {
state.isnew = isNew
uni.setStorageSync('isnew', isNew)
} }
} }
}) })

View File

@@ -2,7 +2,7 @@
var isReady=false;var onReadyCallbacks=[]; var isReady=false;var onReadyCallbacks=[];
var isServiceReady=false;var onServiceReadyCallbacks=[]; var isServiceReady=false;var onServiceReadyCallbacks=[];
var __uniConfig = {"pages":["pages/auth/auth","pages/auth/role","pages/life/life","pages/store/index","pages/user/index","pages/setting/setting","pages/store/goods","pages/store/buy","pages/order/index","pages/order/details","pages/address/index","pages/address/edit","pages/pay/pay","pages/store/list","pages/store/meals","pages/store/search","pages/refund/index","pages/refund/aftersale","pages/account/integral","pages/account/dt","pages/account/recharge","pages/vip/vip","pages/vip/agreement","pages/team/index","pages/store/shop/shopDetail","pages/store/shop/shopList"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"ZH健康","navigationBarBackgroundColor":"#F3F6FB","backgroundColorTop":"#F3F6FB","backgroundColorBottom":"#F3F6FB"},"tabBar":{"borderStyle":"white","selectedColor":"#34CE98","list":[{"iconPath":"static/tabBar/tabBar_02.png","selectedIconPath":"static/tabBar/tabBar_show_02.png","pagePath":"pages/life/life","text":"共力人生"},{"iconPath":"static/tabBar/tabBar_02.png","selectedIconPath":"static/tabBar/tabBar_show_02.png","pagePath":"pages/store/index","text":"DT商城"},{"iconPath":"static/tabBar/tabBar_03.png","selectedIconPath":"static/tabBar/tabBar_show_03.png","pagePath":"pages/user/index","text":"我的"}]},"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"ZH-HEALTH","compilerVersion":"3.4.14","entryPagePath":"pages/auth/auth","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}}; var __uniConfig = {"pages":["pages/auth/auth","pages/auth/role","pages/life/life","pages/store/index","pages/user/index","pages/setting/setting","pages/store/goods","pages/store/buy","pages/order/index","pages/order/details","pages/address/index","pages/address/edit","pages/pay/pay","pages/store/list","pages/store/meals","pages/store/search","pages/refund/index","pages/refund/aftersale","pages/account/integral","pages/account/dt","pages/account/recharge","pages/vip/vip","pages/vip/agreement","pages/team/index","pages/store/shop/shopDetail","pages/store/shop/shopList"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"ZH健康","navigationBarBackgroundColor":"#F3F6FB","backgroundColorTop":"#F3F6FB","backgroundColorBottom":"#F3F6FB"},"tabBar":{"borderStyle":"white","selectedColor":"#34CE98","list":[{"iconPath":"static/tabBar/tabBar_02.png","selectedIconPath":"static/tabBar/tabBar_show_02.png","pagePath":"pages/life/life","text":"共力人生"},{"iconPath":"static/tabBar/tabBar_02.png","selectedIconPath":"static/tabBar/tabBar_show_02.png","pagePath":"pages/store/index","text":"DT商城"},{"iconPath":"static/tabBar/tabBar_03.png","selectedIconPath":"static/tabBar/tabBar_show_03.png","pagePath":"pages/user/index","text":"我的"}]},"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"ZH-HEALTH","compilerVersion":"3.4.14","entryPagePath":"pages/auth/auth","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
var __uniRoutes = [{"path":"/pages/auth/auth","meta":{"isQuit":true},"window":{"navigationBarTitleText":"登录","navigationStyle":"custom"}},{"path":"/pages/auth/role","meta":{},"window":{"navigationBarTitleText":"角色创建","navigationBarBackgroundColor":"#FFF","titleNView":{"buttons":[{"text":"退出登录","fontSize":"14","width":"80px","color":"#34CE98"}]}}},{"path":"/pages/life/life","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"共力人生","navigationStyle":"custom"}},{"path":"/pages/store/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"DT商城","enablePullDownRefresh":true,"titleNView":{"backgroundColor":"#FFFFFF","buttons":[{"float":"right","text":"","fontSrc":"/static/iconfont.ttf","color":"#000","fontSize":"20px"}]}}},{"path":"/pages/user/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"我的","navigationStyle":"custom"}},{"path":"/pages/setting/setting","meta":{},"window":{"navigationBarTitleText":"设置中心","navigationBarBackgroundColor":"#34CE98","navigationBarTextStyle":"white"}},{"path":"/pages/store/goods","meta":{},"window":{"navigationStyle":"custom","navigationBarTitleText":"详情","titleNView":{"backgroundColor":"#FFFFFF","type":"transparent"}}},{"path":"/pages/store/buy","meta":{},"window":{"navigationBarTitleText":"确认订单","enablePullDownRefresh":false}},{"path":"/pages/order/index","meta":{},"window":{"navigationBarTitleText":"我的订单","navigationBarBackgroundColor":"#FFFFFF","enablePullDownRefresh":false}},{"path":"/pages/order/details","meta":{},"window":{"navigationBarTitleText":"订单详情","enablePullDownRefresh":false}},{"path":"/pages/address/index","meta":{},"window":{"navigationBarTitleText":"收货地址"}},{"path":"/pages/address/edit","meta":{},"window":{"navigationBarTitleText":"编辑","enablePullDownRefresh":false}},{"path":"/pages/pay/pay","meta":{},"window":{"navigationBarTitleText":"收银台","navigationBarBackgroundColor":"#FFFFFF"}},{"path":"/pages/store/list","meta":{},"window":{"navigationBarTitleText":"商品","navigationBarBackgroundColor":"#FFFFFF","enablePullDownRefresh":true}},{"path":"/pages/store/meals","meta":{},"window":{"navigationBarTitleText":"套餐","navigationBarBackgroundColor":"#FFFFFF","enablePullDownRefresh":true}},{"path":"/pages/store/search","meta":{},"window":{"navigationBarTitleText":"搜索","navigationBarBackgroundColor":"#FFFFFF"}},{"path":"/pages/refund/index","meta":{},"window":{"navigationBarTitleText":"退换货","navigationBarBackgroundColor":"#FFFFFF"}},{"path":"/pages/refund/aftersale","meta":{},"window":{"navigationBarTitleText":" 选择售后类型","navigationBarBackgroundColor":"#FFFFFF"}},{"path":"/pages/account/integral","meta":{},"window":{"navigationBarTitleText":"共力值","navigationBarBackgroundColor":"#34CE98","navigationBarTextStyle":"white"}},{"path":"/pages/account/dt","meta":{},"window":{"navigationBarTitleText":"DT积分","navigationBarBackgroundColor":"#34CE98","backgroundColorTop":"#34CE98","navigationBarTextStyle":"white","titleNView":{"buttons":[{"text":"充值","width":"60","fontSize":"14"}]}}},{"path":"/pages/account/recharge","meta":{},"window":{"navigationBarTitleText":"DT积分充值","navigationBarBackgroundColor":"#FFFFFF","titleNView":{"buttons":[{"text":"充值记录","width":"80","fontSize":"14"}]}}},{"path":"/pages/vip/vip","meta":{},"window":{"navigationBarTitleText":"共力会员","navigationBarBackgroundColor":"#242430","navigationBarTextStyle":"white","backgroundColorTop":"#242430"}},{"path":"/pages/vip/agreement","meta":{},"window":{"navigationBarTitleText":"共力会员协议"}},{"path":"/pages/team/index","meta":{},"window":{"navigationBarTitleText":"共力团队","enablePullDownRefresh":false}},{"path":"/pages/store/shop/shopDetail","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/store/shop/shopList","meta":{},"window":{"navigationBarTitleText":"更多店铺","navigationBarBackgroundColor":"#FFFFFF","enablePullDownRefresh":true}}]; var __uniRoutes = [{"path":"/pages/auth/auth","meta":{"isQuit":true},"window":{"navigationBarTitleText":"登录","navigationStyle":"custom"}},{"path":"/pages/auth/role","meta":{},"window":{"navigationBarTitleText":"角色创建","navigationBarBackgroundColor":"#FFF","titleNView":{"buttons":[{"text":"退出登录","fontSize":"14","width":"80px","color":"#34CE98"}]}}},{"path":"/pages/life/life","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"共力人生","navigationStyle":"custom"}},{"path":"/pages/store/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"DT商城","enablePullDownRefresh":true,"titleNView":{"backgroundColor":"#FFFFFF","buttons":[{"float":"right","text":"","fontSrc":"/static/iconfont.ttf","color":"#000","fontSize":"20px"}]}}},{"path":"/pages/user/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"我的","navigationStyle":"custom"}},{"path":"/pages/setting/setting","meta":{},"window":{"navigationBarTitleText":"设置中心","navigationBarBackgroundColor":"#34CE98","navigationBarTextStyle":"white"}},{"path":"/pages/store/goods","meta":{},"window":{"navigationStyle":"custom","navigationBarTitleText":"详情","titleNView":{"backgroundColor":"#FFFFFF","type":"transparent"}}},{"path":"/pages/store/buy","meta":{},"window":{"navigationBarTitleText":"确认订单","enablePullDownRefresh":false}},{"path":"/pages/order/index","meta":{},"window":{"navigationBarTitleText":"我的订单","navigationBarBackgroundColor":"#FFFFFF","enablePullDownRefresh":false}},{"path":"/pages/order/details","meta":{},"window":{"navigationBarTitleText":"订单详情","enablePullDownRefresh":false}},{"path":"/pages/address/index","meta":{},"window":{"navigationBarTitleText":"收货地址"}},{"path":"/pages/address/edit","meta":{},"window":{"navigationBarTitleText":"编辑","enablePullDownRefresh":false}},{"path":"/pages/pay/pay","meta":{},"window":{"navigationBarTitleText":"收银台","navigationBarBackgroundColor":"#FFFFFF"}},{"path":"/pages/store/list","meta":{},"window":{"navigationBarTitleText":"商品","navigationBarBackgroundColor":"#FFFFFF","enablePullDownRefresh":true}},{"path":"/pages/store/meals","meta":{},"window":{"navigationBarTitleText":"套餐","navigationBarBackgroundColor":"#FFFFFF","enablePullDownRefresh":true}},{"path":"/pages/store/search","meta":{},"window":{"navigationBarTitleText":"搜索","navigationBarBackgroundColor":"#FFFFFF"}},{"path":"/pages/refund/index","meta":{},"window":{"navigationBarTitleText":"退换货","navigationBarBackgroundColor":"#FFFFFF"}},{"path":"/pages/refund/aftersale","meta":{},"window":{"navigationBarTitleText":" 选择售后类型","navigationBarBackgroundColor":"#FFFFFF"}},{"path":"/pages/account/integral","meta":{},"window":{"navigationBarTitleText":"共力值","navigationBarBackgroundColor":"#34CE98","navigationBarTextStyle":"white"}},{"path":"/pages/account/dt","meta":{},"window":{"navigationBarTitleText":"DT积分","navigationBarBackgroundColor":"#34CE98","backgroundColorTop":"#34CE98","navigationBarTextStyle":"white","titleNView":{"buttons":[{"text":"充值","width":"60","fontSize":"14"}]}}},{"path":"/pages/account/recharge","meta":{},"window":{"navigationBarTitleText":"DT积分充值","navigationBarBackgroundColor":"#FFFFFF","titleNView":{"buttons":[{"text":"充值记录","width":"80","fontSize":"14"}]}}},{"path":"/pages/vip/vip","meta":{},"window":{"navigationBarTitleText":"共力会员","navigationBarBackgroundColor":"#242430","navigationBarTextStyle":"white","backgroundColorTop":"#242430"}},{"path":"/pages/vip/agreement","meta":{},"window":{"navigationBarTitleText":"共力会员协议"}},{"path":"/pages/team/index","meta":{},"window":{"navigationBarTitleText":"共力团队"}},{"path":"/pages/store/shop/shopDetail","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/store/shop/shopList","meta":{},"window":{"navigationBarTitleText":"更多店铺","navigationBarBackgroundColor":"#FFFFFF","enablePullDownRefresh":true}}];
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}}); __uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}}); __uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}}); service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB