This commit is contained in:
2025-10-27 15:55:29 +08:00
commit 6632080b83
513 changed files with 117442 additions and 0 deletions

View File

@@ -0,0 +1,212 @@
.custom-navbar {
width: 100vw;
padding-bottom: 20rpx;
position: fixed;
left: 0;
top: 0;
z-index: 100;
background: unset;
// #ifdef MP-WEIXIN
background-size: 100% 380rpx;
// #endif
.navbar-wrap {
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
}
.navbar-title {
color: #fff;
font-size: 32rpx;
font-weight: 600;
}
.back {
position: absolute;
color: #fff;
left: 30rpx;
font-size: 40rpx;
}
}
.custom-navbar-block {
padding-bottom: 20rpx;
}
.head-wrap {
// width: 100vw;
background-size: 100%;
padding: 32rpx 28rpx;
box-sizing: border-box;
// border-radius: 0 0 100% 100%/0 0 70rpx 70rpx;
overflow: hidden;
margin: 24rpx 28rpx;
border-radius: 24rpx;
// #ifdef MP-WEIXIN
padding-top: 160rpx;
// #endif
height: 352rpx;
.title {
text-align: left;
line-height: 1;
color: #F6F6F6;
margin-bottom: 24rpx;
}
.balance {
color: var(--btn-text-color);
text-align: left;
line-height: 1;
margin-bottom: 20rpx;
// font-size: 64rpx;
font-size: 80rpx;
line-height: 112rpx;
font-weight: 500 !important;
font-family: PingFang SC;
}
.flex-box {
display: flex;
margin-top: 56rpx;
.flex-item {
flex: 1;
.num {
font-size: 34rpx;
margin-bottom: 20rpx;
color: #fff;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
view {
text-align: left;
color: #F6F6F6;
line-height: 1;
}
}
}
.btns{
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: nowrap;
flex-wrap: nowrap;
position: relative;
gap: 22rpx;
margin-top: 32rpx;
.btn{
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
height: 80rpx;
box-sizing: border-box;
font-size: 32rpx;
-webkit-flex-shrink: 0;
flex-shrink: 0;
text-align: center;
font-family: PingFang SC;
border-radius: 180rpx;
background: transparent;
color: #fff;
font-style: normal;
font-weight: 500;
line-height: normal;
border: 2rpx solid #fff;
:nth-child(2) {
background: #fff;
color: #4285f8;
}
}
.recharge{
background: #fff;
color: #4285f8;
}
}
}
.menu-wrap {
border-radius: 20rpx;
margin: 0 24rpx;
padding: 0 24rpx;
background: #fff;
// transform: translateY(-90rpx);
.menu-item {
display: flex;
align-items: center;
padding: 4rpx 0;
.icon {
height: 80rpx;
border-radius: 20rpx;
display: flex;
align-items: center;
color: #fff;
margin-right: 20rpx;
.iconfont {
font-size: 46rpx;
-webkit-background-clip: text !important;
-webkit-text-fill-color: transparent;
background: linear-gradient(135deg, #FE7849 0%, #FF1959 100%);
}
}
.title {
font-size: 28rpx;
color: #333333;
flex: 1;
}
.iconright {
font-size: 28rpx;
}
}
}
.action {
position: fixed;
width: 100vw;
left: 0;
bottom: 0;
padding-bottom: 100rpx;
view {
width: calc(100vw - 64rpx);
height: 80rpx;
line-height: 80rpx;
border-radius: 80rpx;
margin: 0 auto 30rpx auto;
text-align: center;
color: #fff;
font-size: 32rpx;
}
.recharge-withdraw {
background: #FF4646;
}
.withdraw {
border: 4rpx solid #FF4646;
box-sizing: border-box;
line-height: 72rpx;
color: #FF4646;
}
}

View File

@@ -0,0 +1,670 @@
.member-level {
width: 100%;
min-height: 100vh;
position: relative;
}
.level-top {
width: 100%;
position: relative;
image {
width: 100%;
height: 460rpx;
position: absolute;
}
}
.banner-container {
width: 100vw;
position: relative;
left: 0;
top: 0;
.memberInfo {
width: 100%;
height: 140rpx;
padding: 40rpx 40rpx 0;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
image {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
border: 4rpx solid #ffffff;
box-sizing: border-box;
}
.growth-rules {
position: absolute;
display: flex;
align-items: center;
color: #fff;
right: 40rpx;
font-size: 24rpx;
z-index: 10;
.iconfont{
margin-right: 10rpx;
}
}
.member-desc {
width: calc(100% - 20rpx - 100rpx);
height: 100%;
padding: 16rpx 0;
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
view {
font-weight: bold;
line-height: 1;
color: #ffffff;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.expire-time {
color: #ccc;
font-weight: normal;
margin-top: 10rpx;
}
}
}
.demand {
width: 100%;
padding: 0 $padding;
box-sizing: border-box;
.demand-title {
font-size: $font-size-toolbar;
font-weight: bold;
line-height: 1;
display: flex;
align-items: center;
image {
width: 39rpx;
height: 35rpx;
margin-right: 10rpx;
}
}
.demand-info {
padding: 10rpx 24rpx;
box-sizing: border-box;
display: flex;
flex-direction: column;
margin-top: 27rpx;
border-radius: 10rpx;
justify-content: space-between;
height: 150rpx;
background: #ffffff;
.info-title {
display: flex;
justify-content: space-between;
align-items: center;
text {
&:nth-child(1) {
color: #000;
font-size: $font-size-tag;
}
&:nth-child(2) {
color: #959595;
}
}
}
progress {
margin-top: 39rpx;
}
.info-size {
display: flex;
justify-content: space-between;
align-items: center;
font-size: $font-size-tag;
color: #959595;
}
}
}
.uni-swiper-dots {
bottom: 30rpx !important;
}
.image-container {
box-sizing: border-box;
width: 100%;
height: 100%;
display: flex;
image {
width: 100%;
height: 100%;
}
.slide-image {
width: 535rpx;
height: 300rpx;
z-index: 200;
display: flex;
justify-content: space-between;
align-items: center;
border-radius: 20rpx;
overflow: hidden;
position: relative;
.bg-border{
width: calc(100% - 40rpx);
height: calc(100% - 40rpx);
position: absolute;
top: 18rpx;
left: 20rpx;
border: 2rpx solid rgba(255, 255, 255, .2);
z-index: 10;
border-radius: 10rpx;
opacity: .5;
}
.growth-rules{
position: absolute;
right: 40rpx;
top: 40rpx;
z-index: 10;
}
.info {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
position: absolute;
left: 0;
bottom: 0;
padding: 30rpx 40rpx;
box-sizing: border-box;
.level-detail {
font-size: 52rpx;
display: flex;
align-items: center;
margin-top: 26rpx;
}
.growr-name {
font-size: 24rpx;
margin-top: 50rpx;
opacity: 0.8;
}
.growr-value {
font-size: 24rpx;
margin-top: 10rpx;
opacity: 0.8;
}
.progress {
margin-top: 30rpx;
}
.residue-growr-value {
text-align: right;
font-size: 24rpx;
margin-top: 10rpx;
}
view {
color: #ffffff;
line-height: 1.3;
}
}
.now_growth {
margin-top: 20rpx;
}
.pic {
display: flex;
justify-content: center;
align-items: center;
image {
width: 160rpx;
}
}
.isnow {
font-size: 20rpx;
color: #fff;
padding: 2rpx;
line-height: 1;
margin-left: 10rpx;
}
}
}
.item-left {
justify-content: flex-end;
padding: 56rpx 26rpx 0 0;
}
.image-container-box .item-left {
justify-content: center;
padding: 56rpx 0 0 0;
}
.item-right {
justify-content: flex-start;
padding: 56rpx 0 0 26rpx;
}
.item-center {
justify-content: center;
padding: 56rpx 0 0 0;
}
.card-content {
background-color: #fff;
border-radius: 10rpx;
padding: 20rpx 30rpx 20rpx;
// padding: 20rpx 30rpx;
margin:$margin-updown $margin-both;
.gift-title {
font-size: 30rpx;
}
.equity-itme {
display: flex;
align-items: center;
image {
width: 60rpx;
height: 60rpx;
margin-right: 30rpx;
}
.equity-content {
padding: 20rpx 0;
line-height: 1;
&.active {
border-bottom: 2rpx solid #e5e5e5;
}
flex: 1;
display: flex;
flex-direction: column;
.equity-desc {
font-size: $font-size-activity-tag;
margin-top: 16rpx;
color: $color-tip;
}
}
}
}
.card-privilege-list{
width: 100%;
flex-wrap: wrap;
display: flex;
justify-content: center;
.card-privilege-item{
width: 33%;
display: inline-block;
margin-top: 0;
text-align: center;
.card-privilege-icon{
width: 60rpx;
height: 60rpx;
text-align: center;
margin: 0 auto;
line-height: 1;
}
.card-privilege-name{
color: $color-title;
font-size: $font-size-sub;
padding-top: 20rpx;
}
.card-privilege-text{
color: $color-tip;
font-size: $font-size-goods-tag;
padding: 0 20rpx;
}
.iconfont {
font-size: 60rpx;
background-image:-webkit-linear-gradient(top,#E3B66B,#F7DAA5);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}
.icon-zhekou,.icon-hongbao{
font-size: 54rpx;
}
}
}
.member-gift {
background-color: #fff;
margin: $margin-updown $margin-both;
padding: 20rpx 30rpx;
border-radius: 10rpx;
.gift-title {
font-size: 30rpx;
}
.gift-itme {
display: flex;
align-items: center;
image {
width: 60rpx;
height: 60rpx;
margin-right: 30rpx;
}
.gift-content {
&.active {
border-bottom: 2rpx solid #e5e5e5;
}
padding: 20rpx 0;
line-height: 1;
flex: 1;
display: flex;
flex-direction: column;
.gift-desc {
font-size: 24rpx;
margin-top: 16rpx;
color: #999;
}
}
}
}
.desc-wrap {
box-sizing: border-box;
width: 100%;
height: 98rpx;
padding: 24rpx 66rpx 0;
.title {
width: 100%;
height: 42rpx;
line-height: 42rpx;
color: #222222;
font-size: $font-size-base;
font-family: 'PingFangTC-Regular';
font-weight: 600;
text-align: left;
}
.desc {
margin-top: 4rpx;
width: 100%;
height: 34rpx;
line-height: 34rpx;
color: #999999;
font-size: $font-size-tag;
font-family: 'PingFangTC-Regular';
text-align: left;
}
}
@keyframes descAnimation {
0% {
opacity: 1;
}
25% {
opacity: 0.5;
}
50% {
opacity: 0;
}
75% {
opacity: 0.5;
}
100% {
opacity: 1;
}
}
@-webkit-keyframes descAnimation {
0% {
opacity: 1;
}
25% {
opacity: 0.5;
}
50% {
opacity: 0;
}
75% {
opacity: 0.5;
}
100% {
opacity: 1;
}
}
}
.coupon-popup-box {
background-color: #f7f7f7;
.coupon-popup-title {
text-align: center;
font-size: 32rpx;
line-height: 90rpx;
height: 90rpx;
display: block;
font-weight: bold;
position: relative;
border-bottom: 1rpx solid #eeeeee;
}
.iconfont {
position: absolute;
float: right;
right: 44rpx;
font-size: 40rpx;
font-weight: 500;
}
.coupon-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx 30rpx;
margin-bottom: 20rpx;
background-color: #fff;
border-radius: 4rpx;
.coupon-name {
flex: 1;
display: flex;
flex-direction: column;
.desc {
margin-top: 20rpx;
font-size: $font-size-tag;
color: #ababab;
}
}
.coupon-price {
color: red;
text {
font-size: 70rpx;
}
}
}
.coupon-popup-content {
max-height: 390rpx;
padding: 20rpx;
box-sizing: border-box;
}
}
.card-content-head{
text-align: center;
color: $color-title;
margin: 20rpx 0;
.line-box{
float: left;
text-align: center;
width: 35%;
margin-top: 26rpx;
.line{
background-color: $color-title;
width: 60rpx;
height: 2rpx;
}
}
.card-content-title{
float: left;
text-align: center;
width: 30%;
font-size: $font-size-base;
color: $color-title;
}
}
.right{
float: right;
}
.clear{
clear: both;
}
.card-time-list{
margin: -7.5rpx;
white-space: nowrap;
overflow-x: scroll;
height: 256rpx;
.card-item-box{
padding: 15rpx;
display: inline-block;
width: 33.3333%;
box-sizing: border-box;
&.small {
width: 32.3%;
}
.card-time-item{
border: 2rpx solid #cccccc;
border-radius: $border-radius;
text-align: center;
padding: 25rpx 0 20rpx;
image{
width: 60rpx;
}
.time-name {
line-height: 1.3;
}
}
.card-time-item.active{
border-color: #E3B66B;
background: rgba(227, 182, 107, .3);
}
.time-price{
font-size: $font-size-tag;
text{
font-size: $font-size-toolbar;
}
.price {
font-weight: bolder;
}
}
}
}
.action-wrap{
height: 140rpx;
&.have-agreement{
height: 190rpx;
}
&.bottom-safe-area {
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}
}
.action {
position: fixed;
z-index: 5;
left: 0;
bottom: 0;
width: 100vw;
height: 140rpx;
background: #fff;
box-shadow: 0 0 20rpx rgba(0, 0, 0, 0.1);
text-align: right;
line-height: 100rpx;
padding: 0 40rpx;
box-sizing: border-box;
&.have-agreement{
height: 190rpx;
}
.agreement {
text-align: center;
font-size: $font-size-tag;
line-height: 1;
margin-top: 20rpx;
text {
color: #E3B66B;
}
}
&.bottom-safe-area {
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}
.action-btn {
width: 100%;
height: 80rpx;
line-height: 80rpx;
color: #7C5711;
padding: 0 40rpx;
display: inline-block;
text-align: center;
margin: 30rpx 0 0 0;
border-radius: 10rpx;
border: none;
background-image:linear-gradient(to top,#F7DAA5,#E3B66B);
box-sizing: border-box;
}
.title{
margin-right: 6rpx;
}
.bold{
font-weight: bold;
}
}
/* 说明弹框 */
.tips-layer {
background: #fff;
z-index: 999;
height: 40%;
width: 100%;
.head {
position: relative;
}
.title {
height: 80rpx;
line-height: 80rpx;
text-align: center;
font-size: $font-size-toolbar;
font-weight: 700;
}
text {
position: absolute;
top: 8rpx;
right: 44rpx;
font-size: $font-size-toolbar;
font-weight: 500;
}
.body {
width: 100%;
height: calc(100% - 80rpx);
overflow-y: scroll;
.detail {
padding: 20rpx;
.font-size-base {
margin-bottom: 10rpx;
}
}
}
}

View File

@@ -0,0 +1,101 @@
.lineheight-clear {
line-height: 1;
}
.goods_list {
width: 100%;
padding: $padding 0;
padding-top: 0;
box-sizing: border-box;
.goods_li {
height: 200rpx;
background: #ffffff;
overflow: hidden;
border-radius: $border-radius;
display: flex;
justify-content: space-between;
margin: $margin-updown $margin-both;
padding: 30rpx;
.pic {
width: 200rpx;
height: 200rpx;
box-sizing: border-box;
border-radius: $border-radius;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.goods_info {
flex: 1;
height: 100%;
padding-left: 20rpx;
box-sizing: border-box;
display: flex;
justify-content: space-between;
flex-direction: column;
}
.goods_name {
width: 100%;
height: 80rpx;
line-height: 1.5;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.goods_opection {
width: 100%;
height: 80rpx;
display: flex;
justify-content: space-between;
align-items: flex-end;
.right {
display: flex;
align-items: flex-end;
}
.symbol {
font-size: $font-size-tag;
color: var(--price-color);
}
.price {
font-size: $font-size-toolbar;
color: var(--price-color);
}
.cars {
padding: 0rpx 15rpx;
border: 1rpx solid $color-line;
border-radius: 32rpx;
}
.icon {
font-size: $font-size-tag;
}
.alike {
padding: 0rpx 15rpx;
border: 1rpx solid $color-line;
border-radius: 24rpx;
margin-left: 20rpx;
}
}
}
}
.empty {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
padding: $padding;
box-sizing: border-box;
margin-top: 50rpx;
}

View File

@@ -0,0 +1,223 @@
.empty {
margin-top: 100rpx;
}
.lineheight-clear {
}
.head-wrap {
width: 100vw;
height: 90rpx;
line-height: 90rpx;
background: #fff;
box-sizing: border-box;
padding: 0 30rpx;
text-align: right;
}
.goods-list.single-column {
margin: 0 $margin-both;
.checkbox-wrap {
margin-right: 20rpx;
display: flex;
align-items: center;
.iconfont {
font-size: 40rpx;
color: #ccc;
}
}
.datetime {
line-height: 1.5;
font-size: $font-size-base;
}
.goods-item {
padding: 26rpx;
background: #fff;
border-radius: $border-radius;
display: flex;
position: relative;
margin: $margin-updown 0;
&.first-child {
margin-top: 0;
}
.goods-img {
width: 200rpx;
height: 200rpx;
overflow: hidden;
border-radius: $border-radius;
margin-right: 20rpx;
image {
width: 100%;
height: 100%;
}
}
.goods-tag{
color: #fff;
line-height: 1;
padding: 8rpx 12rpx;
position: absolute;
border-top-left-radius: $border-radius;
border-bottom-right-radius: $border-radius;
top: 26rpx;
left: 26rpx;
font-size: $font-size-goods-tag;
}
.goods-tag-img {
position: absolute;
border-top-left-radius: $border-radius;
width: 80rpx;
height: 80rpx;
top: 26rpx;
left: 26rpx;
z-index: 5;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.info-wrap {
flex: 1;
display: flex;
flex-direction: column;
width: calc(100% - 220rpx);
}
&.manage{
.info-wrap {
width: calc(100% - 280rpx);
}
}
.name-wrap {
flex: 1;
}
.goods-name {
font-size: $font-size-base;
line-height: 1.3;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
height: 68rpx;
}
.introduction {
line-height: 1;
margin-top: 10rpx;
}
.discount-price {
display: inline-block;
font-weight: bold;
line-height: 1;
margin-top: 16rpx;
color: var(--price-color);
.unit {
margin-right: 6rpx;
}
}
.pro-info {
display: flex;
margin-top: auto;
.delete-price {
text-decoration:line-through;
flex: 1;
.unit {
margin-right: 6rpx;
}
}
& > view {
line-height: 1;
&:nth-child(2) {
text-align: right;
}
}
}
.member-price-tag {
display: inline-block;
width: 60rpx;
line-height: 1;
margin-left: 6rpx;
image {
width: 100%;
max-height: 30rpx;
}
}
}
}
.bottom-wrap {
position: fixed;
width: 100vw;
height: 100rpx;
background: #fff;
bottom: var(--window-bottom);
overflow: hidden;
display: flex;
bottom: 0;
z-index: 9;
.all-election {
flex: 1;
height: 100rpx;
position: relative;
display: inline-block;
& > .iconfont {
font-size: 40rpx;
position: absolute;
top: 50%;
left: 30rpx;
transform: translateY(-50%);
}
& > .icon-yuan_checkbox {
color: $color-disabled;
}
& > text {
margin-left: 56rpx;
line-height: 100rpx;
padding-left: 30rpx;
}
}
.action-btn {
flex: 1;
width: 180rpx;
height: 100rpx;
line-height: 100rpx;
border-radius: 0;
margin: 0;
display: flex;
align-items: center;
justify-content: flex-end;
button {
width: 180rpx;
height: 70rpx;
line-height: 70rpx;
}
}
}

View File

@@ -0,0 +1,363 @@
.invite_adv {
position: relative;
image {
height: 100%;
width: 100%;
}
.desc {
position: absolute;
top: 0;
right: 10rpx;
text-align: right;
color: #fff;
padding: 20rpx;
font-size: $font-size-tag;
.title_desc {
font-size: $font-size-tag;
}
.iconfont {
display: inline-block;
color: #fff;
font-size: $font-size-tag;
margin-right: 10rpx;
}
}
.time {
position: absolute;
bottom: 120rpx;
text-align: center;
width: 100%;
color: #fff;
}
.font {
position: absolute;
bottom: 220rpx;
text-align: center;
width: 333rpx;
height: 186rpx;
z-index: 5;
left: calc((100% - 333rpx) / 2);
}
.btn {
position: absolute;
background-size: cover;
background-repeat: no-repeat;
text-align: center;
width: 610rpx;
line-height: 112rpx;
height: 126rpx;
left: calc((100% - 610rpx) / 2);
color: #ff0029;
bottom: -24rpx;
font-size: 36rpx;
font-weight: bold;
}
}
.more_invite {
text-align: center;
padding: 30rpx;
display: flex;
align-items: center;
justify-content: center;
}
.content {
padding: 30rpx 30rpx 0 30rpx;
.title {
font-size: $font-size-toolbar;
color: #000;
font-weight: 500;
}
.empty {
padding: 50rpx;
.tip {
font-size: $font-size-base;
color: #999999;
text-align: center;
}
}
.invitelist_block {
border: 2rpx solid $color-line;
border-radius: $border-radius;
margin-top: $margin-both;
background-color: #fff;
}
.invitelist {
.list-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 30rpx 24rpx;
.img {
width: 70rpx;
height: 70rpx;
border-radius: 70rpx;
border: 2rpx solid;
margin-right: $margin-updown;
overflow: hidden;
image {
width: 100%;
height: 70rpx;
overflow: hidden;
}
}
.list-left {
flex: 1;
.info {
display: flex;
& > view {
flex: 1;
}
.time {
text-align: right;
}
}
}
.prize {
}
}
}
.invite_active {
.list {
display: flex;
margin-top: 37rpx;
.item {
position: relative;
width: 232rpx;
height: 214rpx;
&.margin_right_none {
margin: 0;
}
image {
width: 100%;
height: 100%;
}
.desc {
position: absolute;
top: 0;
text-align: center;
width: 100%;
.price {
text-align: center;
background-image: -webkit-linear-gradient(bottom, #ff2440, #ff7b7b);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-size: 30rpx;
font-weight: 500;
line-height: 1;
text {
font-size: 50rpx;
}
}
.type {
font-size: $font-size-tag;
color: #666666;
}
}
}
.item:last-child {
margin-right: 0rpx !important;
}
}
.desc {
color: #999999;
padding: 30rpx 0;
.title {
color: #999999;
font-weight: 400;
}
.desc_list {
view {
color: #999999;
display: flex;
text {
font-size: $font-size-activity-tag;
margin-right: 10rpx;
align-self: center;
}
}
}
}
}
.step {
display: flex;
align-items: center;
margin-top: 80rpx;
padding-bottom: 80rpx;
> view {
text-align: center;
width: 20%;
display: flex;
flex-direction: column;
.img {
width: 56rpx;
height: 56rpx;
margin: auto;
image {
width: 100%;
height: 100%;
}
}
.text {
margin-top: 20rpx;
font-size: $font-size-tag;
color: $color-tip;
}
.jiantou {
width: 40rpx;
height: 24rpx;
margin: auto;
}
}
}
}
.invite-list{
margin-top: 40rpx;
}
.share-popup,
.uni-popup__wrapper-box {
.share-title {
line-height: 60rpx;
font-size: $font-size-toolbar;
padding: 15rpx 0;
text-align: center;
}
.share-content {
display: flex;
display: -webkit-flex;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
-o-flex-wrap: wrap;
flex-wrap: wrap;
padding: 15rpx;
.share-box {
flex: 1;
text-align: center;
.share-btn {
margin: 0;
padding: 0;
border: none;
line-height: 1;
height: auto;
text {
margin-top: 20rpx;
font-size: $font-size-tag;
display: block;
color: $color-title;
}
}
.iconfont {
font-size: 80rpx;
line-height: initial;
}
.icon-pengyouquan,.icon-fuzhilianjie,.icon-share-friend {
color: #07c160;
}
}
}
.share-footer {
height: 90rpx;
line-height: 90rpx;
border-top: 2rpx #f5f5f5 solid;
text-align: center;
color: #666;
}
}
.poster-layer {
.generate-poster {
padding: 40rpx 0;
.iconfont {
font-size: 80rpx;
color: #07c160;
line-height: initial;
}
> view {
text-align: center;
&:last-child {
margin-top: 20rpx;
}
}
}
.image-wrap {
width: 70%;
margin: 60rpx auto 40rpx auto;
box-shadow: 0 0 32rpx rgba(100, 100, 100, 0.3);
line-height: 1;
border-radius: 16rpx;
overflow: hidden;
image {
width: 100%;
height: 750rpx;
}
}
.msg {
padding: 40rpx;
}
.save {
text-align: center;
height: 80rpx;
line-height: 80rpx;
}
.close {
position: absolute;
top: 0;
right: 20rpx;
width: 40rpx;
height: 80rpx;
font-size: 50rpx;
}
}
/* 说明弹框 */
.tips-layer {
background: #fff;
z-index: 999;
height: 40%;
width: 100%;
.head {
position: relative;
}
.title {
height: 80rpx;
line-height: 80rpx;
text-align: center;
font-size: $font-size-toolbar;
font-weight: 700;
}
text {
position: absolute;
top: 8rpx;
right: 44rpx;
font-size: $font-size-toolbar;
font-weight: 500;
}
.body {
width: 100%;
height: calc(100% - 80rpx);
overflow-y: scroll;
.detail {
padding: 20rpx 30rpx;
.font-size-base {
margin-bottom: 10rpx;
}
}
}
}

View File

@@ -0,0 +1,413 @@
.member-level {
width: 100%;
min-height: 100vh;
position: relative;
}
.level-top {
width: 100%;
position: relative;
image {
width: 100%;
height: 400rpx;
position: absolute;
}
}
.banner-container {
width: 100vw;
position: relative;
left: 0;
top: 0;
.memberInfo {
width: 100%;
height: 140rpx;
padding: 40rpx 30rpx 0;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
image {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
border: 4rpx solid #ffffff;
box-sizing: border-box;
}
.growth-rules {
position: absolute;
display: flex;
align-items: center;
color: #fff;
right: 40rpx;
font-size: 24rpx;
.iconfont{
margin-right: 10rpx;
}
}
.member-desc {
width: calc(100% - 20rpx - 100rpx);
height: 100%;
padding: 13rpx 0;
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: space-between;
view {
line-height: 1.4;
color: #ffffff;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
.demand {
width: 100%;
padding: 0 $padding;
box-sizing: border-box;
.demand-title {
font-size: $font-size-toolbar;
font-weight: bold;
line-height: 1;
display: flex;
align-items: center;
image {
width: 39rpx;
height: 35rpx;
margin-right: 10rpx;
}
}
.demand-info {
padding: 10rpx 24rpx;
box-sizing: border-box;
display: flex;
flex-direction: column;
margin-top: 27rpx;
border-radius: 10rpx;
justify-content: space-between;
height: 150rpx;
background: #ffffff;
.info-title {
display: flex;
justify-content: space-between;
align-items: center;
text {
&:nth-child(1) {
color: #000;
font-size: $font-size-tag;
}
&:nth-child(2) {
color: #959595;
}
}
}
progress {
margin-top: 39rpx;
}
.info-size {
display: flex;
justify-content: space-between;
align-items: center;
font-size: $font-size-tag;
color: #959595;
}
}
}
.uni-swiper-dots {
bottom: 30rpx !important;
}
.image-container {
box-sizing: border-box;
width: 100%;
height: 100%;
display: flex;
image {
width: 100%;
height: 100%;
}
.slide-image {
width: 535rpx;
height: 300rpx;
z-index: 200;
display: flex;
justify-content: space-between;
align-items: center;
border-radius: 20rpx;
overflow: hidden;
position: relative;
.info {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
position: absolute;
left: 0;
bottom: 0;
padding: 30rpx 40rpx;
box-sizing: border-box;
.level-detail {
font-size: $font-size-toolbar;
display: flex;
align-items: center;
}
.growr-name {
font-size: 24rpx;
margin-top: 30rpx;
}
.growr-value {
font-size: 40rpx;
}
.progress {
margin-top: 30rpx;
}
.residue-growr-value {
text-align: right;
font-size: 24rpx;
margin-top: 10rpx;
}
view {
color: #ffffff;
line-height: 1.3;
}
}
.now_growth {
margin-top: 20rpx;
}
.pic {
display: flex;
justify-content: center;
align-items: center;
image {
width: 160rpx;
}
}
.isnow {
font-size: 20rpx;
color: #fff;
padding: 2rpx 4rpx;
line-height: 1;
margin-left: 10rpx;
border: 2rpx solid #fff;
border-radius: 4rpx;
}
}
}
.item-left {
justify-content: flex-end;
padding: 56rpx 26rpx 0 0;
}
.image-container-box .item-left {
justify-content: center;
padding: 56rpx 0 0 0;
}
.item-right {
justify-content: flex-start;
padding: 56rpx 0 0 26rpx;
}
.item-center {
justify-content: center;
padding: 56rpx 0 0 0;
}
.member-equity {
background-color: #fff;
border-radius: 10rpx;
padding: 20rpx 30rpx 20rpx;
// padding: 20rpx 30rpx;
margin:$margin-updown $margin-both;
.gift-title {
font-size: 30rpx;
}
.equity-itme {
display: flex;
align-items: center;
image {
width: 60rpx;
height: 60rpx;
margin-right: 30rpx;
}
.equity-content {
padding: 20rpx 0;
line-height: 1;
&.active {
border-bottom: 2rpx solid #e5e5e5;
}
flex: 1;
display: flex;
flex-direction: column;
.equity-desc {
font-size: $font-size-activity-tag;
margin-top: 16rpx;
color: $color-tip;
}
}
}
}
.member-gift {
background-color: #fff;
margin: $margin-updown $margin-both;
padding: 20rpx 30rpx;
border-radius: 10rpx;
.gift-title {
font-size: 30rpx;
}
.gift-itme {
display: flex;
align-items: center;
image {
width: 60rpx;
height: 60rpx;
margin-right: 30rpx;
}
.gift-content {
&.active {
border-bottom: 2rpx solid #e5e5e5;
}
padding: 20rpx 0;
line-height: 1;
flex: 1;
display: flex;
flex-direction: column;
.gift-desc {
font-size: 24rpx;
margin-top: 16rpx;
color: #999;
}
}
}
}
.desc-wrap {
box-sizing: border-box;
width: 100%;
height: 98rpx;
padding: 24rpx 66rpx 0;
.title {
width: 100%;
height: 42rpx;
line-height: 42rpx;
color: #222222;
font-size: $font-size-base;
font-family: 'PingFangTC-Regular';
font-weight: 600;
text-align: left;
}
.desc {
margin-top: 4rpx;
width: 100%;
height: 34rpx;
line-height: 34rpx;
color: #999999;
font-size: $font-size-tag;
font-family: 'PingFangTC-Regular';
text-align: left;
}
}
@keyframes descAnimation {
0% {
opacity: 1;
}
25% {
opacity: 0.5;
}
50% {
opacity: 0;
}
75% {
opacity: 0.5;
}
100% {
opacity: 1;
}
}
@-webkit-keyframes descAnimation {
0% {
opacity: 1;
}
25% {
opacity: 0.5;
}
50% {
opacity: 0;
}
75% {
opacity: 0.5;
}
100% {
opacity: 1;
}
}
}
.coupon-popup-box {
background-color: #f7f7f7;
.coupon-popup-title {
text-align: center;
font-size: 32rpx;
line-height: 90rpx;
height: 90rpx;
display: block;
font-weight: bold;
position: relative;
border-bottom: 1rpx solid #eeeeee;
}
.iconfont {
position: absolute;
float: right;
right: 44rpx;
font-size: 40rpx;
font-weight: 500;
}
.coupon-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx 30rpx;
margin-bottom: 20rpx;
background-color: #fff;
border-radius: 4rpx;
.coupon-name {
flex: 1;
display: flex;
flex-direction: column;
.desc {
margin-top: 20rpx;
font-size: $font-size-tag;
color: #ababab;
}
}
.coupon-price {
color: red;
text {
font-size: 70rpx;
}
}
}
.coupon-popup-content {
max-height: 390rpx;
padding: 20rpx;
box-sizing: border-box;
}
}

View File

@@ -0,0 +1,207 @@
.custom-navbar {
width: 100vw;
padding-bottom: 20rpx;
position: fixed;
left: 0;
top: 0;
z-index: 100;
background: unset;
// #ifdef MP-WEIXIN
background-size: 100% 380rpx;
// #endif
.navbar-wrap {
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
}
.navbar-title {
color: #fff;
font-size: 32rpx;
font-weight: 600;
}
.back {
position: absolute;
color: #fff;
left: 30rpx;
font-size: 40rpx;
}
}
.custom-navbar-block {
padding-bottom: 20rpx;
}
.head-wrap {
width: 100vw;
background-size: 100%;
padding: 60rpx 68rpx 140rpx 68rpx;
box-sizing: border-box;
border-radius: 0 0 100% 100%/0 0 70rpx 70rpx;
overflow: hidden;
// #ifdef MP-WEIXIN
padding-top: 160rpx;
// #endif
.title {
text-align: left;
line-height: 1;
color: #F6F6F6;
}
.point {
color: var(--btn-text-color);
text-align: left;
line-height: 1;
margin-bottom: 20rpx;
font-size: 64rpx;
}
.flex-box {
display: flex;
margin-top: 56rpx;
.flex-item {
flex: 1;
.num {
font-size: 34rpx;
margin-bottom: 20rpx;
color: #fff;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
view {
text-align: left;
color: #F6F6F6;
line-height: 1;
}
}
}
}
.menu-wrap {
border-radius: 20rpx;
margin: 0 24rpx;
padding: 30rpx;
background: #fff;
display: flex;
transform: translateY(-90rpx);
.menu-item {
flex: 1;
text-align: left;
display: flex;
align-items: center;
.icon {
width: 88rpx;
height: 88rpx;
background: #F3F3F3;
border-radius: 20rpx;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
margin-right: 24rpx;
image {
width: 70%;
}
}
.title {
font-size: 32rpx;
font-weight: bold;
color: #333333;
}
}
}
.task-wrap {
background-color: #fff;
margin: 30rpx 24rpx;
border-radius: 18rpx;
padding: 32rpx;
transform: translateY(-90rpx);
.title {
font-size: 32rpx;
text-align: left;
margin-bottom: 40rpx;
font-weight: bold;
}
.task-item {
border-radius: $border-radius;
background: #fff;
display: flex;
align-items: center;
margin-bottom: 80rpx;
&:last-child {
margin-bottom: 30rpx;
}
.icon {
width: 62rpx;
height: 62rpx;
background: #F3F3F3;
border-radius: 20rpx;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
}
.iconfont {
font-size: 52rpx;
-webkit-background-clip: text !important;
-webkit-text-fill-color: transparent;
background: linear-gradient(135deg, #FE7849 0%, #FF1959 100%);
}
.iconshangpin {
font-size: 48rpx;
}
.wrap {
flex: 1;
padding-left: 26rpx;
.title {
line-height: 1;
font-size: 28rpx;
font-weight: bold;
margin-bottom: 0;
}
.desc {
line-height: 1;
margin-top: 10rpx;
}
}
.btn {
height: 60rpx;
line-height: 60rpx;
border-radius: 60rpx;
text-align: center;
width: 140rpx;
color: #fff;
font-size: 26rpx;
font-weight: 600;
background: linear-gradient(135deg, #FE7849 0%, #FF1959 100%);
}
}
}

View File

@@ -0,0 +1,80 @@
export default {
data() {
return {
collectionList: [],
isShowEmpty: false
};
},
methods: {
//跳转至详情页
toDetail(e) {
this.$util.redirectTo("/pages/goods/detail", {
goods_id: e.goods_id
});
},
//请求数据
getData(mescroll) {
this.isShowEmpty = false;
let url = "/api/goodscollect/page"
let array = []
this.$api.sendRequest({
url: url,
data: {
page_size: mescroll.size,
page: mescroll.num,
},
async: false,
}).then((res) => {
let newArr = res.data.list;
for (var i = 0; i < newArr.length; i++) {
newArr[i].composite_score = Math.floor((parseFloat(newArr[i].shop_desccredit) + parseFloat(newArr[i].shop_servicecredit) + parseFloat(newArr[i].shop_deliverycredit)) / 3).toFixed(1);
}
array = array.concat(newArr);
//设置列表数据
if (mescroll.num == 1) this.collectionList = []; //如果是第一页需手动制空列表
this.collectionList = this.collectionList.concat(newArr); //追加新数据
mescroll.endSuccess(array.length);
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
this.isShowEmpty = true;
})
},
//监听下拉刷新,初始化页面数据
listenRefresh(e) {
this.$refs.goodsRecommend.init();
},
//删除某一项
deleteItem(e) {
this.$api.sendRequest({
url: "/api/goodscollect/delete",
data: {
goods_id: e
},
success: res => {
if (res.code == 0) {
this.$util.showToast({
title: "删除成功"
})
let array = this.collectionList;
let newArray = array.filter((v) => {
return v.goods_id != e;
})
this.collectionList = newArray;
} else {
this.$util.showToast({
title: res.message
})
}
}
})
},
imageError(index) {
this.collectionList[index].logo = this.$util.getDefaultImage().goods;
this.$forceUpdate();
},
goodsImageError(index) {
this.collectionList[index].sku_image = this.$util.getDefaultImage().goods;
this.$forceUpdate();
}
}
};

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,115 @@
export default {
methods: {
//获取邀请列表
getList() {
this.$api.sendRequest({
url: '/memberrecommend/api/memberrecommend/lists',
data: {
page: this.page,
page_size: this.page_size
},
success: res => {
this.inviteList = this.inviteList.concat(res.data.list);
this.total_num = res.data.page_count;
}
});
},
moreList() {
this.page++;
this.isClick = false;
if (this.page < this.total_num) {
this.getList();
this.isClick = true;
} else if (this.page == this.total_num) {
this.getList();
}
},
getBaseInfo() {
this.$api.sendRequest({
url: '/memberrecommend/api/memberrecommend/info',
success: res => {
if (res.code == 0) {
this.info = res.data;
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
}
}
});
},
openSharePopup() {
this.$refs.sharePopup.open();
},
// 关闭分享弹出层
closeSharePopup() {
this.$refs.sharePopup.close();
},
// 打开规则说明弹出层
openRulePopup() {
this.$refs.rulePopup.open();
},
// 打开规则说明弹出层
closeRulePopup() {
this.$refs.rulePopup.close();
},
copyUrl() {
let text = this.$config.h5Domain + '/pages/index/index';
if (this.memberInf && this.memberInfo.member_id) text += '?source_member=' + this.memberInfo.member_id;
this.$util.copy(text, () => {
this.closeSharePopup();
});
},
// 打开海报弹出层
openPosterPopup() {
this.getPoster();
this.$refs.sharePopup.close();
this.$refs.posterPopup.open();
},
// 关闭海报弹出层
closePosterPopup() {
this.$refs.posterPopup.close();
},
//生成海报
getPoster() {
//活动海报信息
let qrcode_param = {
source_member: this.memberInfo.member_id
};
this.$api.sendRequest({
url: "/memberrecommend/api/memberrecommend/poster",
data: {
page: '/pages/index/index',
qrcode_param: JSON.stringify(qrcode_param)
},
success: res => {
if (res.code == 0) {
this.poster = res.data.path + "?time=" + new Date().getTime();
} else {
this.posterMsg = res.message;
}
}
});
},
savePoster() {
let url = this.$util.img(this.poster);
uni.downloadFile({
url: url,
success: (res) => {
if (res.statusCode === 200) {
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: () => {
this.$util.showToast({
title: "保存成功"
});
},
fail: () => {
this.$util.showToast({
title: "保存失败,请稍后重试"
});
}
});
}
}
});
}
}
}

View File

@@ -0,0 +1,276 @@
export default {
data() {
return {
showSignDays: [], // 一共展示的天数
rule: [{}],
hasSign: 0, //今天是否签到
signDaysSeries: 0, //连续签到次数
MonthData: [], //本月日期信息
signList: [],
back: '', //返回页
redirect: '', //返回方式
successTip: {},
startDate: null,
endDate: null,
isActive: "", //判断点击
signState: 1,
headimg: '',
point: 0,
growth: 0,
signPoint: 0,
signGrowth: 0,
rewardRuleDay: [],
cycle: 0,
reward: {}
};
},
onLoad(option) {
setTimeout( () => {
if (!this.addonIsExist.membersignin) {
this.$util.showToast({
title: '商家未开启会员签到',
mask: true,
duration: 2000
});
setTimeout(() => {
this.$util.redirectTo('/pages/index/index');
}, 2000);
}
},1000);
if (option.back) this.back = option.back;
if (option.redirect) this.redirect = option.redirect;
this.getSignState();
},
onShow() {
if (!this.storeToken) {
this.$nextTick(() => {
this.$refs.login.open('/pages_tool/member/signin');
});
return;
}
this.headimg = this.memberInfo.headimg;
this.signDaysSeries = this.memberInfo.sign_days_series;
this.getSignPointData();
this.getSignGrowthData();
this.setPublicShare();
this.getIsSign();
},
methods: {
// 获取签到累积积分
getSignPointData() {
this.$api.sendRequest({
url: '/api/memberaccount/sum',
data: {
account_type: 'point',
from_type: 'signin'
},
success: res => {
if (res.code == 0) {
this.signPoint = res.data;
}
}
});
},
// 获取签到累积成长值
getSignGrowthData() {
this.$api.sendRequest({
url: '/api/memberaccount/sum',
data: {
account_type: 'growth',
from_type: 'signin'
},
success: res => {
if (res.code == 0) {
this.signGrowth = res.data;
}
}
});
},
// 签到是否开启
getSignState() {
this.$api.sendRequest({
url: '/api/membersignin/getSignStatus',
success: res => {
if (res.code == 0) {
this.signState = res.data.is_use;
}
}
});
},
navigateBack() {
if (this.back != '') {
this.$util.redirectTo(this.back, {}, this.redirect);
} else {
this.$util.redirectTo('/pages/member/index');
}
},
//获取rule
getRule() {
this.rewardRuleDay = [];
this.$api.sendRequest({
url: '/api/membersignin/award',
success: res => {
if (res.code == 0) {
this.cycle = res.data.cycle || 0;
this.rule = res.data.reward || [];
let default_point = 0;
if (this.rule.length > 0) {
this.rule.forEach((item, index) => {
if (item.day == 1) {
default_point = item.point;
} else {
this.rewardRuleDay.push(parseInt(item.day));
this.reward[item.day] = item.point;
}
});
}
//展示7天
var showSignDays = [];
var start_day = 1;
var end_day = 7;
var total_day = res.data.cycle;
if (this.signDaysSeries > 5) {
start_day = this.signDaysSeries - 5;
}
if (total_day >= (this.signDaysSeries + 1)) {
end_day = this.signDaysSeries + 1;
}
if (this.signDaysSeries <= 5) {
end_day = 8 - start_day;
}
if ((end_day - start_day) < 7 && total_day >= start_day + 6) {
end_day = start_day + 6;
}
if (total_day == this.signDaysSeries) {
start_day = this.signDaysSeries - 6;
end_day = this.signDaysSeries;
}
for (let i = 1; i <= res.data.cycle; i++) {
if (i >= start_day && i <= end_day) {
showSignDays.push({
day: i,
is_last: 0,
point: default_point
})
}
}
if (showSignDays && showSignDays.length) {
showSignDays[showSignDays.length - 1]['is_last'] = 1;
}
for (let i in showSignDays) {
let item = showSignDays[i];
if (this.$util.inArray(item.day, this.rewardRuleDay) != -1) {
showSignDays[i]['point'] = parseInt(this.reward[item.day]) + parseInt(default_point);
}
}
this.showSignDays = showSignDays;
this.$refs.loadingCover.hide();
}
}
});
},
//判断当前是否签到
getIsSign() {
this.$api.sendRequest({
url: '/api/membersignin/issign',
success: res => {
if (res.code == 0) {
this.hasSign = res.data;
this.getRule();
this.getSignPointData();
this.getSignGrowthData();
}
}
});
},
//签到
sign() {
if (this.signState == 0) {
this.$util.showToast({
title: '签到未开启'
})
}
if (!this.hasSign && this.signState == 1) {
this.$api.sendRequest({
url: '/api/membersignin/signin',
success: res => {
if (res.code == 0) {
this.successTip = res.data;
this.$refs.uniPopup.open()
this.getRule();
this.getSignPointData();
this.getSignGrowthData();
this.hasSign = 1;
this.signDaysSeries = this.signDaysSeries + 1;
} else {
this.$util.showToast({
title: res.message
})
}
}
});
}
},
close() {
this.$refs.uniPopup.close()
},
/**
* 设置公众号分享
*/
setPublicShare() {
let shareUrl = this.$config.h5Domain + '/pages_tool/member/signin';
this.$util.setPublicShare({
title: '签到有礼',
desc: '天天签到,积分好礼送不停',
link: shareUrl,
imgUrl: ''
},
res => {
// console.log('公众号分享成功');
// this.share();
}
);
},
},
computed: {
pointTomorrow: function() {
var signDaysSeries = this.signDaysSeries + 1;
var point = this.rule[0].point ? parseInt(this.rule[0].point) : 0;
for (let i = 1; i < this.rule.length; i++) {
let reward = this.rule[i];
if (reward.day == signDaysSeries && reward.point) point += parseInt(reward.point);
}
return point;
},
showDay: function() {
return parseInt(this.signDaysSeries / 7) * 7 + 1;
}
},
/**
* 自定义分享内容
*/
onShareAppMessage() {
var path = '/pages_tool/member/signin';
return {
title: '签到有礼,天天签到,积分好礼送不停',
imageUrl: '',
path: path,
success: res => {},
fail: res => {},
complete: res => {}
};
}
};