From 681efe897b7fb4dbe8bec5fa5056209e3e0edfdc Mon Sep 17 00:00:00 2001 From: Liuyi <candymxq888@outlook.com> Date: 星期三, 20 十一月 2024 17:19:57 +0800 Subject: [PATCH] 添加积分商品详情,替换首页海报,调整样式,添加积分规则 --- static/images/index/advert-icon3.svg | 1 unpackage/dist/dev/mp-weixin/api/index.js | 8 static/images/index/advert-icon1.svg | 1 unpackage/dist/dev/mp-weixin/pages/index/index.wxss | 68 ++++++ pages.json | 6 unpackage/dist/dev/mp-weixin/pages/index/index.wxml | 2 unpackage/dist/dev/mp-weixin/app.js | 1 pages/pointsMall/index.vue | 93 +++++++- unpackage/dist/dev/mp-weixin/app.json | 3 pages/pointsMall/pointsGetRecord/index.vue | 15 - pages/pointsMall/pointsExchangeRecord/index.vue | 17 - pages/pointsMall/pointsGoodsDetail/index.vue | 139 ++++++++++++- unpackage/dist/dev/mp-weixin/pages/index/index.js | 18 + static/images/index/advert-icon2.svg | 1 unpackage/dist/dev/mp-weixin/common/vendor.js | 6 api/index.js | 9 pages/pointsMall/pointsrule/index.vue | 54 +++++ static/images/index/advert-icon4.svg | 1 pages/index/index.vue | 91 ++++++++ unpackage/dist/dev/mp-weixin/common/assets.js | 14 20 files changed, 472 insertions(+), 76 deletions(-) diff --git a/api/index.js b/api/index.js index 2fa8cd3..f78fa5b 100644 --- a/api/index.js +++ b/api/index.js @@ -132,6 +132,15 @@ return request('/shopGoodsCategory/search',data,'POST') } +//积分兑换 +export function integralConvertApi(data){ + return request('/userIntegralConvert/create',data,'POST') +} +//积分规则 +export function getRuleDetailApi(data){ + return request('/userIntegralRuleDetail/search',data,'POST') +} + diff --git a/pages.json b/pages.json index 03a7ab4..f8ec95a 100644 --- a/pages.json +++ b/pages.json @@ -167,6 +167,12 @@ "style": { "navigationStyle":"custom" } + }, + { + "path" : "pages/pointsMall/pointsrule/index", + "style": { + "navigationStyle":"custom" + } } ], "globalStyle": { diff --git a/pages/index/index.vue b/pages/index/index.vue index 3cb01bd..ec461b7 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -19,6 +19,7 @@ userName:'微信用户', headImg:'', userPhone:'', + integral:'', waterCardNumber:'', balance:'', @@ -60,6 +61,7 @@ if(res.code == 200){ cardInfo.value.userName = res.data.userInfo.userName ? res.data.userInfo.userName : cardInfo.value.userName cardInfo.value.headImg = res.data.userInfo.headImg + cardInfo.value.integral = res.data.userInfo.integral // showHeadImg.value = BASE_URL + '/upload' + cardInfo.value.headImg cardInfo.value.userPhone = res.data.userInfo.userPhone cardInfo.value.id = res.data.userInfo.id @@ -364,9 +366,18 @@ </view> <!-- 积分商城 --> <view class="advertisement-box" @click="navTo('/pages/pointsMall/index')"> - <!-- <view class="advertisement-box" @click="upGrade"> --> - <image src="../../static/images/index/banner2.png" alt=""></image> - <image src="../../static/images/index/banner1.png" alt=""></image> + <view class="point-advert"> + <view class="advert-image"> + <image class="image-icon3" src="../../static/images/index/advert-icon3.svg"></image> + <image class="image-icon1" src="../../static/images/index/advert-icon1.svg"></image> + <image class="image-icon2" src="../../static/images/index/advert-icon2.svg"></image> + <image class="image-icon4" src="../../static/images/index/advert-icon4.svg"></image> + </view> + <view class="advert-title"> + <view class="advert-title1">积分商城</view> + <view class="advert-title2"><text>点击进入</text></view> + </view> + </view> </view> <view class="service-box"> <view class="service-title"><text>服务指南</text></view> @@ -709,11 +720,81 @@ box-sizing: border-box; display: flex; justify-content: space-around; - image{ - width:320rpx; + .point-advert{ + width:640rpx; height:136rpx; border-radius:10rpx; + background:linear-gradient(140deg,#5c9dff 0%,#b5dcff 30%,#52aafc 70%,#b5dcff 90%,#5daffc 100%); + display: flex; + justify-content: space-around; + align-items: center; + box-shadow: 0 0 4rpx 2rpx #4978de; + .advert-title{ + display: flex; + flex-direction: column; + align-items: center; + color: #fff; + font-size:46rpx; + font-weight:800; + text-shadow:4rpx 2rpx #5EA1FA; + .advert-title2{ + margin-top:10rpx; + font-size:28rpx; + font-weight:500; + width:180rpx; + height:40rpx; + background: #5c9dff; + display: flex; + align-items: center; + justify-content: center; + border-radius:30rpx; + letter-spacing:2rpx; + } + } + .advert-image{ + width:200rpx; + height:100%; + // background: #76bfa1; + position: relative; + .image-icon1{ + position:absolute; + left: calc(50% - 65rpx); + top: calc(50% - 65rpx); + width:130rpx; + height:130rpx; + transform: rotate(20deg); + } + .image-icon2{ + position:absolute; + left:60%; + top: calc(50% - 30rpx); + width:90rpx; + height:90rpx; + transform: rotate(-10deg); + } + .image-icon3{ + position:absolute; + left: calc(50% - 100rpx); + top: 30%; + width:80rpx; + height:80rpx; + transform: rotate(-10deg); + } + .image-icon4{ + position:absolute; + left:140%; + top: 60%; + width:50rpx; + height:50rpx; + transform: rotate(5deg); + } + } } + // image{ + // width:320rpx; + // height:136rpx; + // border-radius:10rpx; + // } } .service-box{ width: 100%; diff --git a/pages/pointsMall/index.vue b/pages/pointsMall/index.vue index b10ffdc..6bc541a 100644 --- a/pages/pointsMall/index.vue +++ b/pages/pointsMall/index.vue @@ -1,39 +1,69 @@ <script setup> import {ref,onMounted} from 'vue' import headImg from '../../static/images/index/head.png' - import { goodsGetApi,goodsSearchTypeApi } from '../../api/index.js' + import { goodsGetApi,goodsSearchTypeApi,integralConvertApi,getUserInfo } from '../../api/index.js' import { BASE_URL } from '../../config/baseUrl'; - const baseUrl = ref(BASE_URL) + import { onShow } from '@dcloudio/uni-app' + const baseUrl = ref(BASE_URL) + const userInfo = ref(JSON.parse(uni.getStorageSync('userInfo'))) const typeList = ref([ - {value:'1',name:'全部分类'}, - {value:'2',name:'零食'}, - {value:'3',name:'电子设备'}, - {value:'4',name:'洗护用品'}, - {value:'5',name:'其他'}, - {value:'5',name:'其他'}, - {value:'5',name:'其他'}, - {value:'5',name:'其他'}, + // {value:'1',name:'全部分类',active:1}, + // {value:'2',name:'零食',active:0}, + // {value:'3',name:'电子设备',active:0}, + // {value:'4',name:'洗护用品',active:0}, + // {value:'5',name:'其他',active:0}, + // {value:'5',name:'其他',active:0}, + // {value:'5',name:'其他',active:0}, + // {value:'5',name:'其他',active:0}, ]) const goodsList = ref([ // {id:'1',imageUrl:'',name:'商品名称',price:'50.00',useIntegral:'1000',stock:102}, - ]) //查询商品类型 async function getGoodsTypeList(){ await goodsSearchTypeApi({limit:100,page:1}).then((res) =>{ typeList.value = res.data.list - typeList.value.unshift({id:'',name:'全部商品'}) + typeList.value.unshift({id:'',name:'全部商品',active:1}) }) } //查询商品列表 async function getGoodsList(categoryId){ await goodsGetApi(categoryId).then((res) =>{ goodsList.value = res.data - console.log('132') + console.log('获取商品列表') }) + } + //选中商品类型 + async function changeType(typeId,active,e){ + typeList.value.forEach((item,index) =>{ + if(index == e){ + item.active = 1 + }else{ + item.active = 0 + } + }) + await getGoodsList(typeId) + } + //积分兑换 + async function integralConvert(goodsId,goodsIntegral){ + if(goodsIntegral <= Number(userInfo.value.integral)){ + await integralConvertApi({userId:userInfo.value.id,goodsId:goodsId}).then((res) =>{ + if(res.code == 200){ + uni.showToast({ + title:'兑换成功!', + icon:'none' + }) + } + }) + }else{ + uni.showToast({ + title:'积分余额不足!', + icon:'none' + }) + } } function navBack(){ uni.navigateBack() @@ -46,9 +76,32 @@ }) } } + //更新用户积分信息 + async function updateUserInfo(){ + await getUserInfo().then((res) =>{ + if(res.code == 200){ + userInfo.value = JSON.parse(uni.getStorageSync('userInfo')) + userInfo.value.integral = res.data.userInfo.integral + uni.setStorageSync('userInfo',JSON.stringify(userInfo.value)) + } + }) + } onMounted(async() =>{ await getGoodsTypeList() await getGoodsList('') + console.log('onMounted') + }) + onShow(async() =>{ + await getGoodsList('') + typeList.value.forEach((item,index) =>{ + if(index == 0){ + item.active = 1 + }else{ + item.active = 0 + } + }) + await updateUserInfo() + console.log('onShow') }) </script> @@ -66,17 +119,17 @@ <image src="../../static/images/pointMall/points.svg"></image> </view> <view class="info"> - <text class="info-name">测试用户123123132</text> + <text class="info-name">{{userInfo.userName}}</text> <view class="info-points"> <text class="text1">我的积分:</text> - <text class="text2">1000</text> + <text class="text2">{{userInfo.integral}}</text> <view class="points-icon"> <image src="../../static/images/pointMall/points-icon.svg"></image> </view> </view> </view> </view> - <view class="header-right"> + <view class="header-right" @click="navTo('/pages/pointsMall/pointsrule/index')"> 积分规则 </view> </view> @@ -100,7 +153,7 @@ </view> <view class="nav-box"> <view class="nav-item" @click="navTo('/pages/pointsMall/pointsGetRecord/index')"> - <text>积分明细</text> + <text>积分获取明细</text> <image src="../../static/images/pointMall/nav1.svg"></image> </view> <view class="nav-item" @click="navTo('/pages/pointsMall/pointsExchangeRecord/index')"> @@ -112,7 +165,7 @@ <view class="content"> <view class="type-box"> <scroll-view scroll-x="true"> - <view v-for="(item,index) in typeList" :key="index" class="type-item" @click="getGoodsList(item.id)"> + <view v-for="(item,index) in typeList" :key="index" class="type-item" :style="{color:item.active == 1 ? '#f09042' : '#919191'}" @click="changeType(item.id,item.active,index)"> <text>{{item.name}}</text> </view> </scroll-view> @@ -134,7 +187,7 @@ <text>{{item.useIntegral}}</text> <image src="../../static/images/pointMall/advert/money1.svg"></image> </view> - <view class="goods-item-points-right"> + <view class="goods-item-points-right" @click="integralConvert(item.id,item.useIntegral)"> <text>兑换</text> </view> </view> @@ -222,6 +275,7 @@ justify-content:space-evenly; padding-top:10rpx; box-sizing: border-box; + width:350rpx; .info-name{ color: #58574e; } @@ -455,6 +509,7 @@ box-sizing: border-box; border-radius: 20rpx; position: relative; + background:linear-gradient(#fff,#e8e8e8); .goods-item-img{ width:80%; margin: 0 auto; diff --git a/pages/pointsMall/pointsExchangeRecord/index.vue b/pages/pointsMall/pointsExchangeRecord/index.vue index 15085f8..58ca621 100644 --- a/pages/pointsMall/pointsExchangeRecord/index.vue +++ b/pages/pointsMall/pointsExchangeRecord/index.vue @@ -3,20 +3,11 @@ import { pointsExchangeApi } from '../../../api/index.js' const pointExchangeList = ref([ - {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'}, - {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'}, - {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'}, - {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'}, - {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'}, - {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'}, - {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'}, - {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'}, - {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'}, - {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'}, + // {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'}, ]) async function searchPoints(){ await pointsExchangeApi({limit:10000,page:1}).then((res) =>{ - // pointExchangeList.value = res.data.list + pointExchangeList.value = res.data.list }) } onMounted(async() =>{ @@ -35,10 +26,10 @@ <text class="item-methods">兑换商品:{{item.goodsName}}</text> <view class="item-status"> <text>领取状态:</text> - <text>{{item.receiveStatusName}}</text> + <text>{{item.receiveStatusView}}</text> </view> <text class="item-time">兑换时间:{{item.exchangeDate}}</text> - <text class="item-time">领取时间:{{item.receiveDate}}</text> + <text v-if="item.receiveStatus == 1" class="item-time">领取时间:{{item.receiveDate}}</text> </view> <view class="item-right"> <text class="money">-{{item.integralAmount}}</text> diff --git a/pages/pointsMall/pointsGetRecord/index.vue b/pages/pointsMall/pointsGetRecord/index.vue index 4633099..c46ea2d 100644 --- a/pages/pointsMall/pointsGetRecord/index.vue +++ b/pages/pointsMall/pointsGetRecord/index.vue @@ -3,20 +3,11 @@ import { pointsSearchApi } from '../../../api/index.js' const pointList = ref([ - {ruleName:'充值',integralAmount:1232,createTime:'2024-11-13 14:46:40'}, - {ruleName:'消费',integralAmount:1232,createTime:'2024-11-13 14:46:40'}, - {ruleName:'消费',integralAmount:1232,createTime:'2024-11-13 14:46:40'}, - {ruleName:'充值',integralAmount:1232,createTime:'2024-11-13 14:46:40'}, - {ruleName:'消费',integralAmount:1232,createTime:'2024-11-13 14:46:40'}, - {ruleName:'消费',integralAmount:1232,createTime:'2024-11-13 14:46:40'}, - {ruleName:'消费',integralAmount:1232,createTime:'2024-11-13 14:46:40'}, - {ruleName:'消费',integralAmount:1232,createTime:'2024-11-13 14:46:40'}, - {ruleName:'消费',integralAmount:1232,createTime:'2024-11-13 14:46:40'}, - {ruleName:'充值',integralAmount:1232,createTime:'2024-11-13 14:46:40'} + // {ruleName:'充值',integralAmount:1232,createTime:'2024-11-13 14:46:40'}, ]) async function searchPoints(){ await pointsSearchApi({limit:10000,page:1}).then((res) =>{ - // pointList.value = res.data.list + pointList.value = res.data.list }) } onMounted(async() =>{ @@ -36,7 +27,7 @@ <text>{{item.createTime}}</text> </view> <view class="item-right"> - <text class="money">{{item.integralAmount}}</text> + <text class="money">+{{item.integralAmount}}</text> <image src="../../../static/images/pointMall/advert/money1.svg"></image> </view> </view> diff --git a/pages/pointsMall/pointsGoodsDetail/index.vue b/pages/pointsMall/pointsGoodsDetail/index.vue index c165226..5199c4a 100644 --- a/pages/pointsMall/pointsGoodsDetail/index.vue +++ b/pages/pointsMall/pointsGoodsDetail/index.vue @@ -1,9 +1,10 @@ <script setup> import {ref,onMounted} from 'vue' - import { goodsGetByIdApi } from '../../../api/index.js' + import { goodsGetByIdApi,integralConvertApi } from '../../../api/index.js' import { onLoad } from '@dcloudio/uni-app' import { BASE_URL } from '../../../config/baseUrl.js'; + const userInfo = ref(JSON.parse(uni.getStorageSync('userInfo'))) const baseUrl = ref(BASE_URL) const detailInfo = ref({}) @@ -12,6 +13,25 @@ detailInfo.value = res.data console.log('detailInfo',detailInfo.value) }) + } + //积分兑换 + async function integralConvert(){ + if(detailInfo.value.useIntegral <= Number(userInfo.value.integral)){ + await integralConvertApi({userId:userInfo.value.id,goodsId:detailInfo.value.id}).then(async(res) =>{ + if(res.code == 200){ + uni.showToast({ + title:'兑换成功!', + icon:'none' + }) + await getGoodsDetail(goodsId) + } + }) + }else{ + uni.showToast({ + title:'积分余额不足!', + icon:'none' + }) + } } let goodsId onLoad(async(option) =>{ @@ -23,25 +43,36 @@ <view class="container"> <point-navbar title='商品详情'></point-navbar> <view class="content"> - <view class="image"> - <image :src="baseUrl + '/upload'+ detailInfo.detailsUrl"></image> + <view class="image-box"> + <image class="image" :src="baseUrl + '/upload'+ detailInfo.detailsUrl" mode="aspectFit"></image> </view> <view class="detail"> <view class="detail-info"> <view class="detail-info-text"> - <view>【{{detailInfo.name}}】</view> <view> - <rich-text :nodes='detailInfo.describe'></rich-text> + <text class="detail-info-text-title">【{{detailInfo.name}}】</text> + <text class="detail-info-text-decribe">商品描述性文字占位商品描述性文字占位商品描述性文字占位</text> </view> </view> - <text>价值{{detailInfo.price}}¥</text> + <view class="detail-info-price"> + <text class="detail-info-price-text">价值:</text> + <text class="detail-info-price-num">{{detailInfo.price}}¥</text> + </view> </view> <view class="detail-exchange"> <view class="detail-exchange-points"> - <!-- <image></image> --> - <text>1000</text> + <image class="detail-exchange-points-image" src="../../../static/images/pointMall/advert/money1.svg"></image> + <text class="detail-exchange-points-num">{{detailInfo.useIntegral}}</text> </view> - <view class="detail-exchange-points">兑换</view> + <view class="detail-exchange-points-btn" @click="integralConvert"><text>兑 换</text></view> + </view> + <view class="detail-stock">库存:{{detailInfo.stock}}</view> + <view class="detail-tips"> + <view class="detail-tips-title"><text>温馨提示</text></view> + <view class="detail-tips-content"> + <view class="detail-tips-content-text1">1、兑换后请凭兑换码到柜台领取商品。</view> + <view class="detail-tips-content-text2">2、兑换后的商品不可退换、积分不可退还。</view> + </view> </view> </view> </view> @@ -56,9 +87,95 @@ .content{ width:100%; height:calc(100vh - 176rpx); - background:linear-gradient(to bottom,#fef7da,#FFF); + background:linear-gradient(to bottom,#fef7da,#f7f7f7); padding:50rpx 32rpx 100rpx; - box-sizing: border-box; + box-sizing: border-box; + .image-box{ + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 550rpx; + background:linear-gradient(to bottom,#FFF,#fef7da); + border-radius:20rpx; + // margin-bottom:30rpx; + .image{ + height:500rpx; + } + } + .detail{ + padding:20rpx; + box-sizing: border-box; + width: 100%; + height: 500rpx; + background: #FFF; + border-radius:20rpx; + .detail-info{ + width:100%; + color: #434139; + font-weight:500; + margin-bottom:10rpx; + .detail-info-text{ + margin-bottom:10rpx; + .detail-info-text-decribe{ + color: #545147; + } + } + .detail-info-price{ + color:#d3481e; + } + } + .detail-exchange{ + display: flex; + justify-content: space-between; + margin-bottom:10rpx; + .detail-exchange-points{ + display: flex; + align-items: center; + } + .detail-exchange-points-image{ + width: 50rpx; + height: 50rpx; + } + .detail-exchange-points-num{ + color: #e6980f; + font-weight:600; + font-size:46rpx; + } + .detail-exchange-points-btn{ + width:180rpx; + height:60rpx; + background:linear-gradient(to right,#ff9249,#ffb170); + border-radius:30rpx; + color: #fff; + font-size:32rpx; + font-weight:500; + display: flex; + align-items: center; + justify-content: center; + } + } + .detail-stock{ + color: #919191; + font-size:24rpx; + margin-bottom:50rpx; + } + .detail-tips{ + .detail-tips-title{ + color: #434139; + margin-bottom:30rpx; + } + .detail-tips-content{ + display: flex; + flex-direction: column; + color: #74716c; + font-size:24rpx; + .detail-tips-content-text1{ + margin-bottom:10rpx; + } + } + } + } } } </style> diff --git a/pages/pointsMall/pointsrule/index.vue b/pages/pointsMall/pointsrule/index.vue new file mode 100644 index 0000000..c127f09 --- /dev/null +++ b/pages/pointsMall/pointsrule/index.vue @@ -0,0 +1,54 @@ +<script setup> + import {ref,onMounted} from 'vue' + import { getRuleDetailApi } from '../../../api/index.js' + + const rulesContent = ref('') + async function setPointsRule(){ + await getRuleDetailApi({limit:1,page:1}).then((res) =>{ + if(res.code == 200){ + rulesContent.value = res.data.list[0].describe + } + }) + } + onMounted( async() =>{ + await setPointsRule() + }) +</script> +<template> + <view class="container"> + <point-navbar title='积分规则'></point-navbar> + <view class="content"> + <view class="rules-title">-积分规则-</view> + <view> + <rich-text :nodes="rulesContent"></rich-text> + </view> + </view> + </view> +</template> + +<style lang="scss" scoped> + +.container{ + width:100%; + height:100vh; +.content{ + display: flex; + flex-direction: column; + align-items: center; + width:100%; + height:calc(100vh - 176rpx); + background:linear-gradient(to bottom,#fef7da 0%,#FFF 5%,#FFF 100%); + padding:50rpx 60rpx 100rpx; + box-sizing: border-box; + color: #636363; + line-height:50rpx; + font-size:28rpx; + .rules-title{ + margin-bottom: 30rpx; + color: #565656; + font-size:32rpx; + } +} +} + +</style> diff --git a/static/images/index/advert-icon1.svg b/static/images/index/advert-icon1.svg new file mode 100644 index 0000000..a391827 --- /dev/null +++ b/static/images/index/advert-icon1.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1732092013699" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8108" width="70" height="70" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M759.61856 319.7184c33.90976-36.15744 57.27744-84.60288 57.27744-127.13472 0-80.23552-83.18976-108.95872-163.44576-108.95872-63.0784 0-116.7616 40.23808-136.82176 96.44544-19.13344-45.96224-64.4608-78.2848-117.37088-78.2848-70.17984 0-156.64128 63.44192-127.09888 127.11936 15.85664 34.19136 30.57664 67.05664 50.83136 90.81344h-232.3968l12.23168 199.72096h369.06496V333.21984a127.59552 127.59552 0 0 0 44.71808-55.54688 145.23904 145.23904 0 0 0 27.90912 47.28832v194.47808h363.4432l17.87904-199.72096h-166.2208zM399.2576 311.53152c-45.60896 0-64.22528-36.98688-82.63168-82.62656-17.01888-42.32704 37.02272-82.63168 82.63168-82.63168 45.63968 0 82.62656 37.00736 82.62656 82.63168 0 45.63968-36.98688 82.62656-82.62656 82.62656z m274.3808 8.18688h-45.82912c-39.64928-11.1872-68.75648-47.55968-68.75648-90.81344 0-52.15232 42.27072-94.42304 94.39744-94.42304 52.16768 0 112.59392 5.9392 112.59392 58.10688 0 45.50656-46.01344 111.15008-92.40576 127.1296zM163.22048 593.92v343.19872h308.66944v-345.0112H163.09248c0.06144 0.6144 0.128 1.2288 0.128 1.81248z m381.29664 343.19872h308.69504V594.4832c0-0.768 0.05632-1.56672 0.1536-2.37568h-308.84864v345.0112z" fill="#9982FB" p-id="8109"></path><path d="M920.84224 374.19008l5.00224-55.90528s-171.41248 53.30432-287.5904 199.74144h287.24736c-1.76128-15.77472-9.46176-90.42944-4.6592-143.83616z m-377.2928 346.112c1.03424 62.69952 0.96256 215.26016 0.96256 215.26016l308.69504 0.14336v-342.64064c0-0.768 0.07168-1.56672 0.20992-2.37568H590.2848a467.08224 467.08224 0 0 0-46.73536 129.6128z" fill="#FF94E5" p-id="8110"></path><path d="M520.14592 318.97088l1.60256-1.05472h-0.24064l-1.36192 1.05472z m133.7856-255.32416c-61.41952 0-113.89952 48.78848-135.14752 107.66848-18.6368-52.22912-67.62496-89.50784-125.15328-89.50784-73.5488 0-164.18816 67.98336-133.19168 136.24832 17.1776 37.85728 33.08544 74.24 55.46496 99.86048H91.06944l12.30336 200.92928 114.7904-1.27488 254.19264-167.168V333.0048c20.04992-13.21472 34.41664-31.91296 43.36128-54.03136 5.01248 16.40448 12.96896 30.91968 24.69888 41.17504 34.05312-1.7152 65.86368-6.38464 67.92704-8.2688-6.90176-6.36416-7.9616-8.10496-15.50848-20.352s-15.14496-39.5008-15.14496-64.43008c0-52.16768 24.11008-76.27776 76.24704-76.27776 52.16256 0 107.4688-7.08096 107.4688 45.08672 0 13.29664 0.3584 23.05024-5.77536 39.47008 0 0 22.85568 2.94912 56.3968-7.38816 3.47648-12.59008 4.39296-25.18016 5.3504-37.20192 8.46848-108.0576-83.2-127.13984-163.44576-127.13984zM401.18272 299.55072c-39.18336 0-55.17824-32.45568-70.95808-72.45312-14.64832-37.13024 31.77472-72.448 70.95808-72.448 39.22432 0 70.99392 32.44544 70.99392 72.448 0.00512 39.99744-31.7696 72.45312-70.99392 72.45312z" fill="#72DAFC" p-id="8111"></path></svg> \ No newline at end of file diff --git a/static/images/index/advert-icon2.svg b/static/images/index/advert-icon2.svg new file mode 100644 index 0000000..8d826cd --- /dev/null +++ b/static/images/index/advert-icon2.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1732092702435" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15746" width="50" height="50" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M138.592 96m79.216 0l623.568 0q79.216 0 79.216 79.216l0 675.568q0 79.216-79.216 79.216l-623.568 0q-79.216 0-79.216-79.216l0-675.568q0-79.216 79.216-79.216Z" fill="#407DFF" p-id="15747"></path><path d="M463.58 96h-46.716v834h46.716z" fill="#3171F9" p-id="15748"></path><path d="M138.592 438.862v46.716h782v-46.716z" fill="#3171F9" p-id="15749"></path><path d="M329.522 96h87.34v834h-87.34z" fill="#82AAFF" p-id="15750"></path><path d="M138.592 438.862v-87.34h782v87.34z" fill="#82AAFF" p-id="15751"></path><path d="M361.36 482.4a13.202 13.202 0 0 1 25.628 6.358c-27.156 109.476-84.7 166.15-171.332 166.15-72.866 0-104.82 27.39-102.318 85.244a13.202 13.202 0 0 1-26.38 1.14c-3.174-73.426 40.952-112.012 126.106-112.778l2.592-0.01c73.086 0 121.222-47.412 145.704-146.104z" fill="#FDE5FF" p-id="15752"></path><path d="M567.168 324.75c0 50.52-57.988 112.162-83.394 139.876-28.728 31.34-58.834 54.74-90.32 70.204l-3.164 1.528-0.34-0.162c-31.686-15.108-61.98-38.216-90.884-69.324l-10.496-11.44c-27.924-30.66-74.824-85.09-74.824-130.522 0-67.588 53.904-71.666 72.766-67.588 49.29 10.66 71.932 53.764 100.81 121.766l3.1 7.338 3.142-7.434c28.892-68.04 51.534-111.168 100.84-121.83l1.172-0.234c19.824-3.656 71.592 1.586 71.592 67.82z" fill="#F9E6FF" p-id="15753"></path><path d="M386.658 494.844a13.202 13.202 0 0 1 14.884 11.272c7.956 57.58-0.59 104.714-26.122 140.81-7.814 11.046-19.06 20.014-34.07 28.078l-1.604 0.852c-10.204 5.358-21.374 10.04-38.088 16.264l-23.648 8.664a892.128 892.128 0 0 0-8.99 3.368l-2.902 1.114c-46.956 18.202-72.87 35.852-87.296 64.518a13.202 13.202 0 0 1-23.586-11.87c10.148-20.17 25.46-36.382 45.746-49.9 15.248-10.16 32.262-18.322 55.154-27.2l3.478-1.336c3.2-1.22 6.448-2.434 10.252-3.834l18.612-6.802c38.14-14.028 55.686-23.454 65.384-37.164 21.29-30.1 28.624-70.55 21.524-121.95a13.202 13.202 0 0 1 11.272-14.884z" fill="#FDE5FF" p-id="15754"></path></svg> \ No newline at end of file diff --git a/static/images/index/advert-icon3.svg b/static/images/index/advert-icon3.svg new file mode 100644 index 0000000..7f22191 --- /dev/null +++ b/static/images/index/advert-icon3.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1732090933740" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11103" width="40" height="40" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M944.639639 146.28994l49.066626 731.391391A146.630989 146.630989 0 0 1 846.762388 1023.999431H161.13807A146.5741 146.5741 0 0 1 14.222637 877.681331L63.232374 146.28994A146.5741 146.5741 0 0 1 210.147807 0.000284h587.633288a146.545656 146.545656 0 0 1 146.8301 146.289656zM207.388698 217.656992a299.263751 299.263751 0 1 0 598.555946 0 40.817744 40.817744 0 0 0-81.635488 0 217.685152 217.685152 0 1 1-435.313415 0 40.817744 40.817744 0 0 0-81.607043 0z" fill="#579AFF" p-id="11104"></path></svg> \ No newline at end of file diff --git a/static/images/index/advert-icon4.svg b/static/images/index/advert-icon4.svg new file mode 100644 index 0000000..6fe8bf2 --- /dev/null +++ b/static/images/index/advert-icon4.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1732090791700" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5163" xmlns:xlink="http://www.w3.org/1999/xlink" width="150" height="150"><path d="M722.944 392.704l40.448 0 0-163.84c0-8.192-1.024-15.872-3.584-23.552-13.824-43.52-62.464-71.68-102.4-87.552-58.88-24.064-128-35.328-190.976-38.4-11.776-0.512-23.552-1.024-35.328-1.024s-23.04 0.512-34.816 1.024c-63.488 3.072-132.608 14.336-191.488 38.4-39.936 16.384-89.088 44.544-102.912 88.064-2.56 7.68-3.584 15.872-3.584 23.552l0 474.624c0 8.192 1.024 16.384 3.584 24.064 13.824 43.52 62.976 71.68 102.912 88.064 58.88 24.064 128 35.328 191.488 37.888 8.192 0.512 15.872 0.512 24.064 0.512L420.352 814.592c-66.048-1.024-139.264-10.24-200.192-35.328-28.672-11.776-81.92-39.424-81.92-75.776l0-162.304 16.384 10.752c64.512 43.008 164.352 60.416 240.64 64 8.192 0.512 16.384 0.512 25.088 1.024l0-39.424c-66.048-1.024-139.264-10.24-200.192-35.328-28.672-11.776-81.92-39.424-81.92-75.776l0-161.792 16.384 10.752c64.512 42.496 164.352 59.904 240.64 64 11.776 0.512 23.552 1.024 35.328 1.024 12.288 0 24.576-0.512 36.352-1.024 76.288-3.584 175.104-20.992 239.616-64l16.384-10.752L722.944 392.704 722.944 392.704zM722.944 228.864c0 36.352-53.248 64-81.92 75.776-64 26.112-141.312 35.328-210.432 35.328s-146.432-9.216-210.432-35.328c-28.672-11.776-81.92-39.424-81.92-75.776 0-36.352 53.248-64 81.92-75.776 64-26.112 141.312-35.328 210.432-35.328s146.432 9.216 210.432 35.328C670.208 164.864 722.944 192.512 722.944 228.864L722.944 228.864zM926.208 843.264l0-306.176c0-31.232-28.16-55.296-53.248-69.12-48.64-26.624-112.64-34.304-167.424-34.304s-119.296 7.68-167.424 34.304c-25.6 13.824-53.248 37.888-53.248 69.12l0 304.64c0 31.232 28.16 55.296 53.248 69.12 48.64 26.624 113.152 34.304 167.424 34.304s118.272-7.68 166.912-33.792C897.024 898.048 925.184 873.984 926.208 843.264L926.208 843.264zM705.024 472.576c43.008 0 91.136 5.632 131.072 21.504 15.36 6.144 49.664 22.528 49.664 42.496s-33.792 36.352-49.664 42.496c-40.448 16.384-88.064 21.504-131.072 21.504s-91.136-5.632-131.072-21.504c-15.36-6.144-49.664-22.528-49.664-42.496s33.792-36.352 49.664-42.496C613.888 478.208 662.016 472.576 705.024 472.576L705.024 472.576zM705.024 906.24c-43.008 0-91.136-5.632-131.072-21.504-15.36-6.144-49.664-22.528-49.664-42.496l0-90.112 15.36 8.192c48.128 25.6 111.616 33.28 165.376 33.28s117.248-7.68 165.376-33.28l15.36-8.192 0 90.112c0 19.968-33.792 36.352-49.664 42.496C796.16 900.608 747.52 906.24 705.024 906.24L705.024 906.24zM705.024 753.664c-43.008 0-91.136-5.632-131.072-21.504-15.36-6.144-49.664-22.528-49.664-42.496L524.288 599.552l15.36 8.192c48.128 25.6 111.104 33.28 165.376 33.28 53.76 0 117.248-7.68 165.376-33.28l15.36-8.192 0 90.112c0 19.968-33.792 36.352-49.664 42.496C796.16 748.032 747.52 753.664 705.024 753.664L705.024 753.664z" fill="#3385f2" p-id="5164"></path><path d="M722.944 228.864c0 36.352-53.248 64-81.92 75.776-64 26.112-141.312 35.328-210.432 35.328s-146.432-9.216-210.432-35.328c-28.672-11.776-81.92-39.424-81.92-75.776 0-36.352 53.248-64 81.92-75.776 64-26.112 141.312-35.328 210.432-35.328s146.432 9.216 210.432 35.328C670.208 164.864 722.944 192.512 722.944 228.864L722.944 228.864z" fill="#3385f2" p-id="5165"></path><path d="M705.024 472.576c43.008 0 91.136 5.632 131.072 21.504 15.36 6.144 49.664 22.528 49.664 42.496s-33.792 36.352-49.664 42.496c-40.448 16.384-88.064 21.504-131.072 21.504s-91.136-5.632-131.072-21.504c-15.36-6.144-49.664-22.528-49.664-42.496s33.792-36.352 49.664-42.496C613.888 478.208 662.016 472.576 705.024 472.576L705.024 472.576z" fill="#3385f2" p-id="5166"></path></svg> \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/api/index.js b/unpackage/dist/dev/mp-weixin/api/index.js index a6dc771..7bb6e66 100644 --- a/unpackage/dist/dev/mp-weixin/api/index.js +++ b/unpackage/dist/dev/mp-weixin/api/index.js @@ -96,6 +96,12 @@ function goodsSearchTypeApi(data) { return util_request.request("/shopGoodsCategory/search", data, "POST"); } +function integralConvertApi(data) { + return util_request.request("/userIntegralConvert/create", data, "POST"); +} +function getRuleDetailApi(data) { + return util_request.request("/userIntegralRuleDetail/search", data, "POST"); +} exports.askShareApi = askShareApi; exports.askShareListApi = askShareListApi; exports.balanceChangeApi = balanceChangeApi; @@ -109,12 +115,14 @@ exports.getAddressApi = getAddressApi; exports.getPriceBySnApi = getPriceBySnApi; exports.getRegionApi = getRegionApi; +exports.getRuleDetailApi = getRuleDetailApi; exports.getUserInfo = getUserInfo; exports.getVipInfoApi = getVipInfoApi; exports.goodsGetApi = goodsGetApi; exports.goodsGetByIdApi = goodsGetByIdApi; exports.goodsSearchTypeApi = goodsSearchTypeApi; exports.infoBreakdownApi = infoBreakdownApi; +exports.integralConvertApi = integralConvertApi; exports.paymentChangeApi = paymentChangeApi; exports.pointsExchangeApi = pointsExchangeApi; exports.pointsSearchApi = pointsSearchApi; diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js index 4c316ee..c69b0b3 100644 --- a/unpackage/dist/dev/mp-weixin/app.js +++ b/unpackage/dist/dev/mp-weixin/app.js @@ -31,6 +31,7 @@ "./pages/pointsMall/pointsGetRecord/index.js"; "./pages/pointsMall/pointsExchangeRecord/index.js"; "./pages/pointsMall/pointsGoodsDetail/index.js"; + "./pages/pointsMall/pointsrule/index.js"; } const _sfc_main = { __name: "App", diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json index 1850230..36c3e27 100644 --- a/unpackage/dist/dev/mp-weixin/app.json +++ b/unpackage/dist/dev/mp-weixin/app.json @@ -27,7 +27,8 @@ "pages/wxScanWater/index", "pages/pointsMall/pointsGetRecord/index", "pages/pointsMall/pointsExchangeRecord/index", - "pages/pointsMall/pointsGoodsDetail/index" + "pages/pointsMall/pointsGoodsDetail/index", + "pages/pointsMall/pointsrule/index" ], "window": { "navigationStyle": "custom" diff --git a/unpackage/dist/dev/mp-weixin/common/assets.js b/unpackage/dist/dev/mp-weixin/common/assets.js index 7f6403f..c735fa0 100644 --- a/unpackage/dist/dev/mp-weixin/common/assets.js +++ b/unpackage/dist/dev/mp-weixin/common/assets.js @@ -7,11 +7,13 @@ const _imports_5$1 = "/static/images/index/home21.png"; const _imports_1$6 = "/static/images/index/icon22.png"; const _imports_7 = "/static/images/index/icon23.png"; -const _imports_8$1 = "/static/images/index/banner2.png"; -const _imports_9$1 = "/static/images/index/banner1.png"; -const _imports_10 = "/static/images/index/icon51.png"; -const _imports_11 = "/static/images/index/more-info5.png"; -const _imports_12 = "/static/images/index/notice5.png"; +const _imports_8$1 = "/static/images/index/advert-icon3.svg"; +const _imports_9$1 = "/static/images/index/advert-icon1.svg"; +const _imports_10 = "/static/images/index/advert-icon2.svg"; +const _imports_11 = "/static/images/index/advert-icon4.svg"; +const _imports_12 = "/static/images/index/icon51.png"; +const _imports_13 = "/static/images/index/more-info5.png"; +const _imports_14 = "/static/images/index/notice5.png"; const _imports_0$a = "/static/images/addCard/code.png"; const _imports_1$5 = "/static/images/other/more.png"; const _imports_0$9 = "/static/images/other/expand.png"; @@ -60,6 +62,8 @@ exports._imports_10 = _imports_10; exports._imports_11 = _imports_11; exports._imports_12 = _imports_12; +exports._imports_13 = _imports_13; +exports._imports_14 = _imports_14; exports._imports_2 = _imports_2; exports._imports_3 = _imports_3$1; exports._imports_3$1 = _imports_3; diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js index 380e102..37418e9 100644 --- a/unpackage/dist/dev/mp-weixin/common/vendor.js +++ b/unpackage/dist/dev/mp-weixin/common/vendor.js @@ -7837,6 +7837,12 @@ style: { navigationStyle: "custom" } + }, + { + path: "pages/pointsMall/pointsrule/index", + style: { + navigationStyle: "custom" + } } ]; const globalStyle = { diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.js b/unpackage/dist/dev/mp-weixin/pages/index/index.js index 656a757..dd3a6a9 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.js +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.js @@ -17,6 +17,7 @@ userName: "微信用户", headImg: "", userPhone: "", + integral: "", waterCardNumber: "", balance: "", count: "", @@ -55,6 +56,7 @@ if (res.code == 200) { cardInfo.value.userName = res.data.userInfo.userName ? res.data.userInfo.userName : cardInfo.value.userName; cardInfo.value.headImg = res.data.userInfo.headImg; + cardInfo.value.integral = res.data.userInfo.integral; cardInfo.value.userPhone = res.data.userInfo.userPhone; cardInfo.value.id = res.data.userInfo.id; await getVipInfo(); @@ -339,13 +341,15 @@ }), J: common_assets._imports_8, K: common_assets._imports_9, - L: common_vendor.o(($event) => navTo("/pages/pointsMall/index")), - M: common_assets._imports_10, - N: common_assets._imports_11, - O: common_vendor.o(($event) => navTo("/pages/station/index")), - P: common_assets._imports_12, - Q: common_assets._imports_11, - R: common_vendor.o(upGrade) + L: common_assets._imports_10, + M: common_assets._imports_11, + N: common_vendor.o(($event) => navTo("/pages/pointsMall/index")), + O: common_assets._imports_12, + P: common_assets._imports_13, + Q: common_vendor.o(($event) => navTo("/pages/station/index")), + R: common_assets._imports_14, + S: common_assets._imports_13, + T: common_vendor.o(upGrade) }); }; } diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml index 5356f60..f953655 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml @@ -1 +1 @@ -<view class="container data-v-1cf27b2a"><view class="content data-v-1cf27b2a"><view class="card-box data-v-1cf27b2a" style="{{'padding-top:' + B}}"><view class="user-info data-v-1cf27b2a"><image wx:if="{{a}}" class="user-img data-v-1cf27b2a" src="{{b}}" alt=""></image><image wx:else class="user-img data-v-1cf27b2a" src="{{c}}" alt=""></image><text class="data-v-1cf27b2a" bindtap="{{e}}">{{d}}</text><image bindtap="{{f}}" class="user-more data-v-1cf27b2a" src="{{g}}"></image></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{h}}" alt=""></image><view wx:if="{{i}}" class="share-card data-v-1cf27b2a">共享卡号:{{j}}</view><view wx:if="{{k}}" class="card-content data-v-1cf27b2a"><view class="card-left data-v-1cf27b2a"><view class="left-top data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image wx:if="{{l}}" class="data-v-1cf27b2a" src="{{m}}" alt=""></image><text wx:if="{{n}}" class="data-v-1cf27b2a">会员卡 </text><text wx:if="{{o}}" class="data-v-1cf27b2a">未绑定 </text><text wx:if="{{p}}" class="lossed data-v-1cf27b2a"> [已挂失]</text></view><view wx:if="{{q}}" class="data-v-1cf27b2a">ID:{{r}}</view></view></view><view class="card-right data-v-1cf27b2a"><view class="card-right-top data-v-1cf27b2a"><text wx:if="{{s}}" class="data-v-1cf27b2a">金额卡</text><text wx:if="{{t}}" class="data-v-1cf27b2a">{{v}}元</text><view wx:if="{{w}}" class="user-add-card data-v-1cf27b2a" bindtap="{{y}}"><image class="data-v-1cf27b2a" src="{{x}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view wx:if="{{z}}" class="card-right-bottom data-v-1cf27b2a" bindtap="{{A}}">充值</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{D}}"><image class="data-v-1cf27b2a" src="{{C}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{F}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{E}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view><view class="box1-bg box1-three data-v-1cf27b2a" bindtap="{{H}}"><image class="data-v-1cf27b2a" src="{{G}}" alt=""></image><view class="data-v-1cf27b2a">扫码取水</view></view></view><view class="function-box2 data-v-1cf27b2a"><view class="box2-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">功能列表</text></view><view class="box2-content data-v-1cf27b2a"><block wx:for="{{I}}" wx:for-item="item" wx:key="e"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.d}}"><view class="box2-item-img data-v-1cf27b2a" style="{{'background:' + item.b}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image></view><view class="box2-item-text data-v-1cf27b2a">{{item.c}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a" bindtap="{{L}}"><image class="data-v-1cf27b2a" src="{{J}}" alt=""></image><image class="data-v-1cf27b2a" src="{{K}}" alt=""></image></view><view class="service-box data-v-1cf27b2a"><view class="service-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">服务指南</text></view><view class="service-content data-v-1cf27b2a"><view class="service-bg data-v-1cf27b2a" bindtap="{{O}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{M}}" alt=""></image><text class="data-v-1cf27b2a">附近站点</text></view><view class="service-info data-v-1cf27b2a">服务中心正在营业中……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{N}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a" bindtap="{{R}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{P}}" alt=""></image><text class="data-v-1cf27b2a">公示公告</text></view><view class="service-info data-v-1cf27b2a">停水公告的部分摘要的内容展示……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{Q}}" alt=""></image></view></view></view></view></view></view> \ No newline at end of file +<view class="container data-v-1cf27b2a"><view class="content data-v-1cf27b2a"><view class="card-box data-v-1cf27b2a" style="{{'padding-top:' + B}}"><view class="user-info data-v-1cf27b2a"><image wx:if="{{a}}" class="user-img data-v-1cf27b2a" src="{{b}}" alt=""></image><image wx:else class="user-img data-v-1cf27b2a" src="{{c}}" alt=""></image><text class="data-v-1cf27b2a" bindtap="{{e}}">{{d}}</text><image bindtap="{{f}}" class="user-more data-v-1cf27b2a" src="{{g}}"></image></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{h}}" alt=""></image><view wx:if="{{i}}" class="share-card data-v-1cf27b2a">共享卡号:{{j}}</view><view wx:if="{{k}}" class="card-content data-v-1cf27b2a"><view class="card-left data-v-1cf27b2a"><view class="left-top data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image wx:if="{{l}}" class="data-v-1cf27b2a" src="{{m}}" alt=""></image><text wx:if="{{n}}" class="data-v-1cf27b2a">会员卡 </text><text wx:if="{{o}}" class="data-v-1cf27b2a">未绑定 </text><text wx:if="{{p}}" class="lossed data-v-1cf27b2a"> [已挂失]</text></view><view wx:if="{{q}}" class="data-v-1cf27b2a">ID:{{r}}</view></view></view><view class="card-right data-v-1cf27b2a"><view class="card-right-top data-v-1cf27b2a"><text wx:if="{{s}}" class="data-v-1cf27b2a">金额卡</text><text wx:if="{{t}}" class="data-v-1cf27b2a">{{v}}元</text><view wx:if="{{w}}" class="user-add-card data-v-1cf27b2a" bindtap="{{y}}"><image class="data-v-1cf27b2a" src="{{x}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view wx:if="{{z}}" class="card-right-bottom data-v-1cf27b2a" bindtap="{{A}}">充值</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{D}}"><image class="data-v-1cf27b2a" src="{{C}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{F}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{E}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view><view class="box1-bg box1-three data-v-1cf27b2a" bindtap="{{H}}"><image class="data-v-1cf27b2a" src="{{G}}" alt=""></image><view class="data-v-1cf27b2a">扫码取水</view></view></view><view class="function-box2 data-v-1cf27b2a"><view class="box2-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">功能列表</text></view><view class="box2-content data-v-1cf27b2a"><block wx:for="{{I}}" wx:for-item="item" wx:key="e"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.d}}"><view class="box2-item-img data-v-1cf27b2a" style="{{'background:' + item.b}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image></view><view class="box2-item-text data-v-1cf27b2a">{{item.c}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a" bindtap="{{N}}"><view class="point-advert data-v-1cf27b2a"><view class="advert-image data-v-1cf27b2a"><image class="image-icon3 data-v-1cf27b2a" src="{{J}}"></image><image class="image-icon1 data-v-1cf27b2a" src="{{K}}"></image><image class="image-icon2 data-v-1cf27b2a" src="{{L}}"></image><image class="image-icon4 data-v-1cf27b2a" src="{{M}}"></image></view><view class="advert-title data-v-1cf27b2a"><view class="advert-title1 data-v-1cf27b2a">积分商城</view><view class="advert-title2 data-v-1cf27b2a"><text class="data-v-1cf27b2a">点击进入</text></view></view></view></view><view class="service-box data-v-1cf27b2a"><view class="service-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">服务指南</text></view><view class="service-content data-v-1cf27b2a"><view class="service-bg data-v-1cf27b2a" bindtap="{{Q}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{O}}" alt=""></image><text class="data-v-1cf27b2a">附近站点</text></view><view class="service-info data-v-1cf27b2a">服务中心正在营业中……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{P}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a" bindtap="{{T}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{R}}" alt=""></image><text class="data-v-1cf27b2a">公示公告</text></view><view class="service-info data-v-1cf27b2a">停水公告的部分摘要的内容展示……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{S}}" alt=""></image></view></view></view></view></view></view> \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss index 5ddab30..cf8a3ff 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss @@ -298,10 +298,74 @@ display: flex; justify-content: space-around; } -.container .content .advertisement-box image.data-v-1cf27b2a { - width: 320rpx; +.container .content .advertisement-box .point-advert.data-v-1cf27b2a { + width: 640rpx; height: 136rpx; border-radius: 10rpx; + background: linear-gradient(140deg, #5c9dff 0%, #b5dcff 30%, #52aafc 70%, #b5dcff 90%, #5daffc 100%); + display: flex; + justify-content: space-around; + align-items: center; + box-shadow: 0 0 4rpx 2rpx #4978de; +} +.container .content .advertisement-box .point-advert .advert-title.data-v-1cf27b2a { + display: flex; + flex-direction: column; + align-items: center; + color: #fff; + font-size: 46rpx; + font-weight: 800; + text-shadow: 4rpx 2rpx #5EA1FA; +} +.container .content .advertisement-box .point-advert .advert-title .advert-title2.data-v-1cf27b2a { + margin-top: 10rpx; + font-size: 28rpx; + font-weight: 500; + width: 180rpx; + height: 40rpx; + background: #5c9dff; + display: flex; + align-items: center; + justify-content: center; + border-radius: 30rpx; + letter-spacing: 2rpx; +} +.container .content .advertisement-box .point-advert .advert-image.data-v-1cf27b2a { + width: 200rpx; + height: 100%; + position: relative; +} +.container .content .advertisement-box .point-advert .advert-image .image-icon1.data-v-1cf27b2a { + position: absolute; + left: calc(50% - 65rpx); + top: calc(50% - 65rpx); + width: 130rpx; + height: 130rpx; + transform: rotate(20deg); +} +.container .content .advertisement-box .point-advert .advert-image .image-icon2.data-v-1cf27b2a { + position: absolute; + left: 60%; + top: calc(50% - 30rpx); + width: 90rpx; + height: 90rpx; + transform: rotate(-10deg); +} +.container .content .advertisement-box .point-advert .advert-image .image-icon3.data-v-1cf27b2a { + position: absolute; + left: calc(50% - 100rpx); + top: 30%; + width: 80rpx; + height: 80rpx; + transform: rotate(-10deg); +} +.container .content .advertisement-box .point-advert .advert-image .image-icon4.data-v-1cf27b2a { + position: absolute; + left: 140%; + top: 60%; + width: 50rpx; + height: 50rpx; + transform: rotate(5deg); } .container .content .service-box.data-v-1cf27b2a { width: 100%; -- Gitblit v1.9.3