This commit is contained in:
77 2024-09-24 18:42:45 +08:00
parent a8aa76b651
commit 7c358424a0
16 changed files with 233 additions and 172 deletions

3
.env
View File

@ -3,10 +3,11 @@ SHOPRO_VERSION = v1.8.3
# 后端接口 - 正式环境(通过 process.env.NODE_ENV 非 development
SHOPRO_BASE_URL = https://zysc.fjptzykj.com
#SHOPRO_BASE_URL = http://192.168.1.20:6127
# 后端接口 - 测试环境(通过 process.env.NODE_ENV = development
SHOPRO_DEV_BASE_URL = https://zysc.fjptzykj.com
### SHOPRO_DEV_BASE_URL = http://yunai.natapp1.cc
#SHOPRO_DEV_BASE_URL = http://192.168.1.20:6127
# 后端接口前缀(一般不建议调整)
SHOPRO_API_PATH = /app-api

View File

@ -352,6 +352,16 @@
"title": "编辑地址"
}
},
{
"path": "goods_details_store/index",
"style": {
"navigationBarTitleText": "门店管理"
},
"meta": {
"auth": true,
"title": "门店管理"
}
},
{
"path": "wallet/money",
"style": {

View File

@ -88,12 +88,12 @@
//
.seckill-box {
background: v-bind(seckillBg) no-repeat;
background: url('https://zysc.fjptzykj.com:3000/shangcheng/0796100444273e747b7afc5778081bf8a1f8373707822cccc272cc205e7ad0f3.png') no-repeat;
background-size: 100% 100%;
}
.groupon-box {
background: v-bind(grouponBg) no-repeat;
background: url('https://zysc.fjptzykj.com:3000/shangcheng/0796100444273e747b7afc5778081bf8a1f8373707822cccc272cc205e7ad0f3.png') no-repeat;
background-size: 100% 100%;
}
</style>

File diff suppressed because one or more lines are too long

View File

@ -297,7 +297,7 @@
// height: 320rpx;
background-size: 100% 100%;
border-radius: 10rpx;
background-image: v-bind(headerBg);
background-image: url('@/static/images/seckill-header.png');
background-repeat: no-repeat;
.price-box {
@ -445,7 +445,7 @@
font-size: 24rpx;
font-weight: 600;
margin-left: -36rpx;
background-image: v-bind(btnBg);
background-image: url('@/static/images/groupon-btn.png');
background-repeat: no-repeat;
background-size: 100% 100%;
color: #ffffff;
@ -459,7 +459,7 @@
font-size: 24rpx;
font-weight: 600;
margin-left: -36rpx;
background-image: v-bind(disabledBtnBg);
background-image: url('@/static/images/activity-btn-disabled.png');
background-repeat: no-repeat;
background-size: 100% 100%;
color: #999999;

View File

@ -24,12 +24,12 @@
:style="[{ height: pageHeight + 'px' }]"
v-if="state.categoryList?.length"
>
<image
<!-- <image
v-if="state.categoryList[state.activeMenu].picUrl"
class="banner-img"
:src="sheep.$url.cdn(state.categoryList[state.activeMenu].picUrl)"
mode="widthFix"
/>
/> -->
<first-one v-if="state.style === 'first_one'" :pagination="state.pagination" />
<first-two v-if="state.style === 'first_two'" :pagination="state.pagination" />
<second-one

View File

@ -8,7 +8,7 @@
:navbarStyle="template.navigationBar"
onShareAppMessage
>
<image class="seckill" src="@/static/images/seckill-bg.png"></image>
<image class="seckill" src="@/static/images/seckilbg.png"></image>
<s-block
v-for="(item, index) in template.components"
:key="index"

View File

@ -42,7 +42,7 @@
</view>
<view
class="order-item ss-flex ss-col-center ss-row-between"
v-if="state.orderInfo.type === 0"
v-if="state.orderInfo.type === 0 && state.orderInfo.pointsStatus === 1"
>
<view class="item-title">积分抵扣</view>
<view class="ss-flex ss-col-center">
@ -52,7 +52,7 @@
class="score-img"
/>
<text class="item-value ss-m-r-24">
{{ state.pointStatus ? state.orderInfo.totalPoint - state.orderInfo.usePoint : (state.orderInfo.totalPoint || 0) }}
{{ state.pointStatus ? state.orderInfo.totalPoint - state.orderInfo.usedPoint : (state.orderInfo.totalPoint || 0) }}
</text>
<checkbox-group @change="changeIntegral">
<checkbox :checked='state.pointStatus' :disabled="!state.orderInfo.totalPoint || state.orderInfo.totalPoint <= 0" />

View File

@ -2,7 +2,13 @@
<template>
<view>
<view class="title">
订单中心
<span>订单中心</span>
<view class="ff">
<span class="ckgd" @click="sheep.$router.go('/pages/order/list');">查看更多</span>
<span class="ckgd" @click="sheep.$router.go('/pages/order/list');">
<image class="img" src="@/static/images/dayu.png"></image>
</span>
</view>
</view>
<view class="ss-order-menu-wrap ss-flex ss-col-center">
@ -16,7 +22,7 @@
<image v-if="index == 3" class="item-icon" :src="imag3" mode="aspectFit" />
<image v-if="index == 4" class="item-icon" :src="imag4" mode="aspectFit" />
</uni-badge>
<view class="menu-title ss-m-t-28">{{ item.title }}</view>
<view class="menu-title">{{ item.title }}</view>
</view>
</view>
</view>
@ -44,6 +50,14 @@
type: 'unpaid',
count: 'unpaidCount',
},
{
title: '待发货',
value: '2',
icon: '/static/img/shop/order/no_take.png',
path: '/pages/order/list',
type: 'take',
count: 'takeCount',
},
{
title: '待收货',
value: '3',
@ -61,19 +75,20 @@
count: 'uncommentedCount',
},
{
title: '售后',
title: '退款/售后',
value: '0',
icon: '/static/img/shop/order/change_order.png',
path: '/pages/order/aftersale/list',
type: 'aftersale',
count: 'afterSaleCount',
},
{
title: '全部订单',
value: '0',
icon: '/static/img/shop/order/all_order.png',
path: '/pages/order/list',
},
}
// ,
// {
// title: '',
// value: '0',
// icon: '/static/img/shop/order/all_order.png',
// path: '/pages/order/list',
// }
];
const numData = computed(() => sheep.$store('user').numData);
@ -87,6 +102,22 @@
font-size: 16px;
font-weight: 600;
// border-bottom: 1px solid #dcdcdc;
display:flex;
justify-content: space-between;
.ff{
display: flex;
align-items: center;
.ckgd{
color: #8a8787;
font-size: 15px;
.img{
width:20px;
height:20px;
margin-top: 3px;
}
}
}
}
.ss-order-menu-wrap {
@ -99,6 +130,7 @@
font-size: 24rpx;
line-height: 24rpx;
color: #333333;
margin-top:14rpx;
}
.item-icon {

View File

@ -319,7 +319,7 @@
font-size: 24rpx;
font-weight: 600;
margin-left: -50rpx;
background-image: v-bind(headerBg);
background-image: url('@/static/images/groupon-btn-long.png');
background-repeat: no-repeat;
background-size: 100% 100%;
color: #ffffff;

View File

@ -103,7 +103,7 @@
showAuthModal();
return;
}
console.log(props.shareInfo);
console.log(props.shareInfo,"props.shareInfo");
unref(SharePosterRef).getPoster();
state.showPosterModal = true;
};

View File

@ -1,168 +1,179 @@
<!-- 装修用户组件用户卡片 -->
<template>
<view class="ss-user-info-wrap ss-p-t-50">
<view class="ss-flex ss-col-center ss-row-between ss-m-b-20">
<view class="left-box ss-flex ss-col-center ss-m-l-36">
<view class="avatar-box ss-m-r-24">
<image
class="avatar-img"
:src="
<view class="ss-user-info-wrap ss-p-t-50">
<view class="ss-flex ss-col-center ss-row-between ss-m-b-20">
<view class="left-box ss-flex ss-col-center ss-m-l-36">
<view class="avatar-box ss-m-r-24">
<image class="avatar-img" :src="
isLogin
? sheep.$url.cdn(userInfo.avatar)
: defaultAvatar
"
mode="aspectFill"
@tap="sheep.$router.go('/pages/user/info')"
></image>
</view>
<view>
<view class="nickname-box ss-flex ss-col-center">
<view class="nick-name ss-m-r-20">{{ userInfo?.nickname || nickname }}</view>
</view>
</view>
</view>
<view class="right-box ss-m-r-52">
<button class="ss-reset-button" @tap="showShareModal">
<text class="sicon-qrcode"></text>
</button>
</view>
</view>
<!-- 提示绑定手机号 先隐藏 yudao 需要再修改 -->
<view
class="bind-mobile-box ss-flex ss-row-between ss-col-center"
v-if="isLogin && !userInfo.mobile"
>
<view class="ss-flex">
<text class="cicon-mobile-o" />
<view class="mobile-title ss-m-l-20"> 点击绑定手机号确保账户安全 </view>
</view>
<button class="ss-reset-button bind-btn" @tap="onBind">去绑定</button>
</view>
</view>
" mode="aspectFill" @tap="sheep.$router.go('/pages/user/info')"></image>
</view>
<view>
<view class="nickname-box ss-flex ss-col-center">
<view class="nick-name ss-m-r-20">{{ userInfo?.nickname || nickname }}</view>
</view>
</view>
</view>
<view class="right-box ss-m-r-52">
<button class="ss-reset-button" @tap="showShareModal">
<text class="sicon-qrcode"></text>
</button>
<!-- <view class="qiandao" @click="sheep.$router.go('/pages/app/sign');">
签到
</view> -->
</view>
</view>
<!-- 提示绑定手机号 先隐藏 yudao 需要再修改 -->
<view class="bind-mobile-box ss-flex ss-row-between ss-col-center" v-if="isLogin && !userInfo.mobile">
<view class="ss-flex">
<text class="cicon-mobile-o" />
<view class="mobile-title ss-m-l-20"> 点击绑定手机号确保账户安全 </view>
</view>
<button class="ss-reset-button bind-btn" @tap="onBind">去绑定</button>
</view>
</view>
</template>
<script setup>
// 使 import
import defaultAvatar from '@/static/images/default_avatar.png';
/**
* 用户卡片
*
* @property {Number} leftSpace - 容器左间距
* @property {Number} rightSpace - 容器右间距
*
* @property {String} avatar - 头像
* @property {String} nickname - 昵称
* @property {String} vip - 等级
* @property {String} collectNum - 收藏数
* @property {String} likeNum - 点赞数
*
*
*/
import { computed, reactive } from 'vue';
import sheep from '@/sheep';
import { showShareModal, showAuthModal } from '@/sheep/hooks/useModal';
/**
* 用户卡片
*
* @property {Number} leftSpace - 容器左间距
* @property {Number} rightSpace - 容器右间距
*
* @property {String} avatar - 头像
* @property {String} nickname - 昵称
* @property {String} vip - 等级
* @property {String} collectNum - 收藏数
* @property {String} likeNum - 点赞数
*
*
*/
import {
computed,
reactive
} from 'vue';
import sheep from '@/sheep';
import {
showShareModal,
showAuthModal
} from '@/sheep/hooks/useModal';
//
const userInfo = computed(() => sheep.$store('user').userInfo);
console.log('用户信息', userInfo);
//
const userInfo = computed(() => sheep.$store('user').userInfo);
console.log('用户信息', userInfo);
//
const isLogin = computed(() => sheep.$store('user').isLogin);
//
const props = defineProps({
background: {
type: String,
default: '',
},
//
avatar: {
type: String,
default: '',
},
nickname: {
type: String,
default: '请先登录',
},
vip: {
type: [String, Number],
default: '1',
},
collectNum: {
type: [String, Number],
default: '1',
},
likeNum: {
type: [String, Number],
default: '1',
},
});
//
const isLogin = computed(() => sheep.$store('user').isLogin);
//
const props = defineProps({
background: {
type: String,
default: '',
},
//
avatar: {
type: String,
default: '',
},
nickname: {
type: String,
default: '请先登录',
},
vip: {
type: [String, Number],
default: '1',
},
collectNum: {
type: [String, Number],
default: '1',
},
likeNum: {
type: [String, Number],
default: '1',
},
});
function onBind() {
showAuthModal('changeMobile');
}
function onBind() {
showAuthModal('changeMobile');
}
</script>
<style lang="scss" scoped>
.ss-user-info-wrap {
box-sizing: border-box;
.qiandao{
width: 50px;
height: 30px;
background: yellow;
text-align: center;
line-height: 30px;
font-weight: 700;
border-radius: 30px 0px 30px 30px;
font-size: 15px;
}
.avatar-box {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
overflow: hidden;
.ss-user-info-wrap {
box-sizing: border-box;
.avatar-img {
width: 100%;
height: 100%;
}
}
.avatar-box {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
overflow: hidden;
.nick-name {
font-size: 34rpx;
font-weight: 400;
color: white;
line-height: normal;
}
.avatar-img {
width: 100%;
height: 100%;
}
}
.vip-img {
width: 30rpx;
height: 30rpx;
}
.nick-name {
font-size: 34rpx;
font-weight: 400;
color: white;
line-height: normal;
}
.sicon-qrcode {
font-size: 40rpx;
}
}
.vip-img {
width: 30rpx;
height: 30rpx;
}
.bind-mobile-box {
width: 100%;
height: 84rpx;
padding: 0 34rpx 0 44rpx;
box-sizing: border-box;
background: #ffffff;
box-shadow: 0px -8rpx 9rpx 0px rgba(#e0e0e0, 0.3);
.sicon-qrcode {
font-size: 40rpx;
}
}
.cicon-mobile-o {
font-size: 30rpx;
color: #ff690d;
}
.bind-mobile-box {
width: 100%;
height: 84rpx;
padding: 0 34rpx 0 44rpx;
box-sizing: border-box;
background: #ffffff;
box-shadow: 0px -8rpx 9rpx 0px rgba(#e0e0e0, 0.3);
.mobile-title {
font-size: 24rpx;
font-weight: 500;
color: #ff690d;
}
.cicon-mobile-o {
font-size: 30rpx;
color: #ff690d;
}
.bind-btn {
width: 100rpx;
height: 50rpx;
background: #ff6100;
border-radius: 25rpx;
font-size: 24rpx;
font-weight: 500;
color: #ffffff;
}
}
</style>
.mobile-title {
font-size: 24rpx;
font-weight: 500;
color: #ff690d;
}
.bind-btn {
width: 100rpx;
height: 50rpx;
background: #ff6100;
border-radius: 25rpx;
font-size: 24rpx;
font-weight: 500;
color: #ffffff;
}
}
</style>

View File

@ -7,7 +7,9 @@
>
<view class="value-box ss-flex ss-col-bottom">
<view class="value-text ss-line-1">{{ fen2yuan(userWallet.balance) || '0.00' }}</view>
<view class="unit-text ss-m-l-6"></view>
<view class="unit-text ss-m-l-6">
<!-- -->
</view>
</view>
<view class="menu-title ss-m-t-28">余额</view>
</view>
@ -22,7 +24,9 @@
>
<view class="value-box ss-flex ss-col-bottom">
<view class="value-text">{{ numData.unusedCouponCount }}</view>
<view class="unit-text ss-m-l-6"></view>
<view class="unit-text ss-m-l-6">
<!-- -->
</view>
</view>
<view class="menu-title ss-m-t-28">优惠券</view>
</view>
@ -32,7 +36,9 @@
>
<view class="value-box ss-flex ss-col-bottom">
<view class="value-text">{{ userInfo.point || 0 }}</view>
<view class="unit-text ss-m-l-6"></view>
<view class="unit-text ss-m-l-6">
<!-- -->
</view>
</view>
<view class="menu-title ss-m-t-28">积分</view>
</view>
@ -89,7 +95,8 @@
text-align: center;
.value-text {
font-size: 28rpx;
font-size: 30rpx;
font-weight: 600;
color: white;
line-height: 28rpx;
vertical-align: text-bottom;

BIN
static/images/dayu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB