From 4fbb636f415ec390e6681018964916e94c11d6fe Mon Sep 17 00:00:00 2001 From: Liuyi <candymxq888@outlook.com> Date: 星期二, 24 九月 2024 18:31:48 +0800 Subject: [PATCH] 对接用户及会员卡数据接口,添加位置申请api --- unpackage/dist/dev/mp-weixin/static/images/login/loginbg.png | 0 unpackage/dist/dev/mp-weixin/util/request.js | 28 App.vue | 19 components/navbar/navbar.vue | 7 config/baseUrl.js | 2 unpackage/dist/dev/mp-weixin/pages/index/index.js | 54 + unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js | 4 unpackage/dist/dev/mp-weixin/common/vendor.js | 205 ----- unpackage/dist/dev/mp-weixin/pages/addCard/index.js | 40 unpackage/dist/dev/mp-weixin/pages/recharge/index.wxml | 1 util/request.js | 24 pages/index/index.vue | 866 ++++++++++++++---------- unpackage/dist/dev/mp-weixin/pages/recharge/index.wxss | 0 unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss | 82 ++ pages/balanceRecord/index.vue | 127 +++ unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml | 2 static/images/login/loginbg.png | 0 unpackage/dist/dev/mp-weixin/api/index.js | 14 unpackage/dist/dev/mp-weixin/pages/index/index.wxss | 170 +++- pages.json | 13 unpackage/dist/dev/mp-weixin/pages/index/index.wxml | 2 unpackage/dist/dev/mp-weixin/app.js | 18 unpackage/dist/dev/mp-weixin/config/baseUrl.js | 3 unpackage/dist/dev/mp-weixin/app.json | 4 unpackage/dist/dev/mp-weixin/project.config.json | 2 pages/addCard/index.vue | 44 pages/recharge/index.vue | 13 /dev/null | 228 ------ manifest.json | 4 unpackage/dist/dev/mp-weixin/components/navbar/navbar.js | 10 unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml | 2 unpackage/dist/dev/mp-weixin/pages/recharge/index.js | 20 unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss | 1 api/index.js | 12 unpackage/dist/dev/mp-weixin/pages/recharge/index.json | 6 unpackage/dist/dev/mp-weixin/common/assets.js | 14 36 files changed, 1,078 insertions(+), 963 deletions(-) diff --git a/App.vue b/App.vue index 4742f87..1efba44 100644 --- a/App.vue +++ b/App.vue @@ -1,10 +1,21 @@ <script setup> import { onLaunch, onShow, onHide } from "@dcloudio/uni-app"; - // import {getToken} from './util/auth'; + import { wxLoginApi } from './api/index.js' onLaunch(() => { - console.log("App Launch"); - //判断是否登录 - // let token = getToken() + if(!uni.getStorageSync('openId')){ + wx.login({ + success:async (res1)=>{ + uni.setStorageSync('code',res1.code) + await wxLoginApi({code:res1.code}).then((res2) =>{ + uni.setStorageSync('openId',res2.data.userId) + uni.setStorageSync('token',res2.data.token) + }) + }, + fail:(e) =>{ + console.log(e) + } + }) + } }); onShow(() => { console.log("App Show"); diff --git a/api/index.js b/api/index.js new file mode 100644 index 0000000..8b77c9a --- /dev/null +++ b/api/index.js @@ -0,0 +1,12 @@ +import { request } from "../util/request"; + +export function wxLoginApi(data){ + return request('/user/wxLogin',data,'POST') +} + +export function getVipInfoApi(){ + return request('/waterCard/getUserCard',{},'GET') +} +export function getUserInfo(){ + return request('/user/loginUser',{},'GET') +} diff --git a/components/navbar/navbar.vue b/components/navbar/navbar.vue index 78ecbbe..de430d4 100644 --- a/components/navbar/navbar.vue +++ b/components/navbar/navbar.vue @@ -1,15 +1,14 @@ <template> <view class="navbar"> - <image src="../../static/images/addCard/back.png" alt="" @click="navBackToChild()"></image> + <image src="../../static/images/addCard/back.png" alt="" @click="navBackTo()"></image> <text>{{title}}</text> </view> </template> <script setup> import { ref } from 'vue' - const emit = defineEmits(['navBackTo']) - function navBackToChild(){ - emit('navBackTo') + function navBackTo(){ + uni.navigateBack() } const props = defineProps({ title:{ diff --git a/config/baseUrl.js b/config/baseUrl.js new file mode 100644 index 0000000..7b5c074 --- /dev/null +++ b/config/baseUrl.js @@ -0,0 +1,2 @@ +// export const BASE_URL = 'http://113.250.189.120:8031' +export const BASE_URL = 'http://192.168.0.105:8031' \ No newline at end of file diff --git a/manifest.json b/manifest.json index a783957..ecba768 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "name" : "water-drinking-uniapp", - "appid" : "", + "appid" : "__UNI__97986D6", "description" : "", "versionName" : "1.0.0", "versionCode" : "100", @@ -50,7 +50,7 @@ "quickapp" : {}, /* 小程序特有相关 */ "mp-weixin" : { - "appid" : "", + "appid" : "wxe86c40810c2c0e98", "setting" : { "urlCheck" : false }, diff --git a/pages.json b/pages.json index abf6a93..282c4cd 100644 --- a/pages.json +++ b/pages.json @@ -7,12 +7,6 @@ } }, { - "path": "pages/login/index", - "style": { - "navigationStyle":"custom" - } - }, - { "path" : "pages/addCard/index", "style": { "navigationStyle":"custom" @@ -23,6 +17,13 @@ "style": { "navigationStyle":"custom" } + }, + { + "path" : "pages/recharge/index", + "style" : + { + "navigationBarTitleText" : "" + } } ], "globalStyle": { diff --git a/pages/addCard/index.vue b/pages/addCard/index.vue index c3a1b07..ed779c3 100644 --- a/pages/addCard/index.vue +++ b/pages/addCard/index.vue @@ -1,7 +1,23 @@ +<script setup> +import { onMounted,ref} from 'vue'; + +const form = ref({ + waterCardNumber:'', + userName:'', + userPhone:'', + address:'', + remark:'', +}) +function submit(){ + console('res') +} +onMounted(() =>{ +}) +</script> <template> <view class="container"> <view class="content"> - <navbar @navBackTo="navBackTo()" title="绑定会员卡"></navbar> + <navbar title="绑定会员卡"></navbar> <view class="main"> <view class="title">请填写卡及个人信息</view> <view class="form"> @@ -40,31 +56,6 @@ </view> </view> </template> - -<script setup> -import { onMounted,ref} from 'vue'; -//状态栏高度 -// const statusBarHeight = ref() -//返回 -function navBackTo(){ - uni.navigateBack() -} -const form = ref({ - cardNumber:'', - name:'', - phone:'', - address:'', - remark:'', -}) -function submit(){ - console('res') -} -onMounted(() =>{ - // if(uni.getMenuButtonBoundingClientRect){ - // statusBarHeight.value = uni.getMenuButtonBoundingClientRect().top * 2 - // } -}) -</script> <style lang="scss" scoped> .container{ @@ -174,6 +165,7 @@ text-align: center; line-height:98rpx; margin-top: 236rpx; + letter-spacing:2px; } } } diff --git a/pages/balanceRecord/index.vue b/pages/balanceRecord/index.vue index 014538d..f74f928 100644 --- a/pages/balanceRecord/index.vue +++ b/pages/balanceRecord/index.vue @@ -1,19 +1,128 @@ -<template> - <view class="container"> - <navbar @navBackTo="navBackTo()" title="余额记录"></navbar> - </view> -</template> - <script setup> + import { ref } from 'vue' //返回 function navBackTo(){ uni.navigateBack() } + const banlanceList = ref([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) </script> +<template> + <view class="container"> + <navbar @navBackTo="navBackTo()" title="余额记录"></navbar> + <view class="date"> + <view> + <text>2024年09月</text> + </view> + <view> + <text>支出¥5341.05</text> + <text>充值¥941.59</text> + </view> + </view> + <view class="main"> + <block v-for="(item,index) in banlanceList"> + <view class="item"> + <view class="item-left"> + <text>缴费</text> + <text class="methods">支付方式:微信</text> + <text>2024年09月20日 18:25</text> + </view> + <view class="item-right"> + <text>-¥125.00</text> + <text>2000.00</text> + </view> + </view> + </block> + </view> + </view> +</template> <style lang="scss"> - .container{ - width: 100%; - height: 100vh; + .container{ + width: 100%; + height: 100vh; + background:linear-gradient(to top,#FFFFFF,#E8EFFF); + .date{ + height: 84rpx; + width:100%; + display: flex; + padding: 0 36rpx; + box-sizing: border-box; + justify-content:space-between; + align-items: center; + view:first-child{ + font-weight: 300; + font-size: 32rpx; + color: #000000; + } + view:last-child{ + font-weight: 300; + font-size: 24rpx; + color: #7E7E7E; + text:first-child{ + margin-right:30rpx; + } + } + } + .main{ + width:99%; + height: calc(100vh - 84rpx - 176rpx - 70rpx); + background: #fff; + border-radius:20rpx; + margin: 0 auto; + padding:28rpx 48rpx; + box-sizing: border-box; + overflow-y: scroll; + // background: #7E7E7E; + .item{ + width:100%; + height:184rpx; + // background:rgba(170, 216, 255, 0.2); + border-bottom:1rpx solid #D8D8D8; + box-sizing:border-box; + padding-bottom:38rpx; + justify-content:space-between; + align-items: flex-end; + display: flex; + .item-left{ + height:100%; + display:flex; + flex-direction:column; + justify-content:space-between; + align-items: flex-start; + text:first-child{ + font-weight: 300; + font-size: 32rpx; + color: #000000; + } + .methods{ + font-weight: 300; + font-size: 32rpx; + color: #474646; + } + text:last-child{ + font-weight: 300; + font-size: 24rpx; + color: #A7A7A7; + } + } + .item-right{ + height:100%; + display:flex; + flex-direction:column; + justify-content:flex-end; + align-items: flex-end; + text:first-child{ + font-weight: 300; + font-size: 32rpx; + color: #000000; + } + text:last-child{ + font-weight: 300; + font-size: 24rpx; + color: #A7A7A7; + } + } + } + } } </style> diff --git a/pages/index/index.vue b/pages/index/index.vue index c217f91..d8fad38 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,17 +1,91 @@ -import { onMounted } from "vue" +<script setup> + import { onMounted, ref } from "vue"; + import { getVipInfoApi } from '../../api/index.js' + import { getUserInfo } from '../../api/index.js' + //胶囊高度 + const topHeight = ref(0) + function getTopHeight(){ + if(uni.getMenuButtonBoundingClientRect){ + topHeight.value = (uni.getMenuButtonBoundingClientRect().top + uni.getMenuButtonBoundingClientRect().height) * 2 + } + } + /** + * 会员卡相关 + */ + const vipInfo = ref() + const isVip = ref(false) + //获取会员卡信息 + async function getVipInfo(){ + let res = await getUserInfo() + if(res.data.userInfo.waterCardNumber){ + let res1 = await getVipInfoApi() + vipInfo.value = res1.data + isVip.value = true + }else{ + isVip.value = false + } + } + function navToAddCard(){ + uni.navigateTo({ + url:'/pages/addCard/index' + }) + } + /** + * 功能列表相关 + */ + + const functionList = ref([ + {text:'余额记录',icon:'../../static/images/index/icon31.png',url:''}, + {text:'消费记录',icon:'../../static/images/index/icon32.png',url:''}, + {text:'充值记录',icon:'../../static/images/index/icon33.png',url:''}, + {text:'账户共享',icon:'../../static/images/index/icon34.png',url:''}, + {text:'优惠卷',icon:'../../static/images/index/icon35.png',url:''}, + {text:'电子发票',icon:'../../static/images/index/icon36.png',url:''}, + {text:'联系客服',icon:'../../static/images/index/icon37.png',url:''}, + {text:'推广分佣',icon:'../../static/images/index/icon38.png',url:'/pages/login/index'}, + ]) + function navTo(itemUrl){ + if(itemUrl){ + uni.navigateTo({ + url:itemUrl + }) + } + } + //获取用户地理位置 + async function getUserLocation(){ + wx.getLocation({ + type: 'wgs84', + success(res){ + const latitude = res.latitude + const longitude = res.longitude + const speed = res.speed + const accuracy = res.accuracy + }, + fail(e){ + console.log('e',e) + } + }) + console.log('location') + } + onMounted( async() =>{ + getTopHeight() + await getVipInfo() + // await getUserLocation() + }) +</script> <template> <view class="container"> <view class="content"> <view class="card-box" :style="{paddingTop:topHeight + 'rpx'}"> <view class="card"> - <view class="card-content" @click="navToAddCard()"> + <view class="card-content"> <view v-if="isVip" class="card-title"> <view>会员卡</view> <image src="../../static/images/index/code1.png" alt=""></image> </view> <view v-else class="card-add"> - <view> + <view @click="navToAddCard()"> <image src="../../static/images/index/vip-add.png" alt=""></image> <text>添加会员卡</text> </view> @@ -94,48 +168,26 @@ </view> </view> </view> + + <!-- 微信授权弹窗 --> + <!-- <uni-popup ref="popupRef" background-color="#fff"> + <view class="popup-content"> + <text class="popup-title">微信登录</text> + <view class="hr"></view> + <view class="img-box"><img src="../../static/images/login/logo.png" alt="" class="img"/></view> + <view class="info-box"> + <view class="info-text1">青源直饮水平台申请获取以下权限:</view> + <view class="hr2"></view> + <view class="info-text2">· 获得你的公开信息(昵称、头像、地区及性别)</view> + <view class="button-box"> + <button class="button1" @click="popupRef.close('bottom')">取消</button> + <button class="button2" @click="wxLoginFn()">确定</button> + </view> + </view> + </view> + </uni-popup> --> </view> </template> - -<script setup> - import { onMounted, ref } from "vue" - //胶囊高度 - const topHeight = ref(0) - /** - * 会员卡相关 - */ - const isVip = ref(false) - function navToAddCard(){ - uni.navigateTo({ - url:'/pages/addCard/index' - }) - } - /** - * 功能列表相关 - */ - const functionList = ref([ - {text:'余额记录',icon:'../../static/images/index/icon31.png',url:'/pages/balanceRecord/index'}, - {text:'消费记录',icon:'../../static/images/index/icon32.png',url:'/pages/login/index'}, - {text:'充值记录',icon:'../../static/images/index/icon33.png',url:'/pages/login/index'}, - {text:'账户共享',icon:'../../static/images/index/icon34.png',url:'/pages/login/index'}, - {text:'优惠卷',icon:'../../static/images/index/icon35.png',url:'/pages/login/index'}, - {text:'电子发票',icon:'../../static/images/index/icon36.png',url:'/pages/login/index'}, - {text:'联系客服',icon:'../../static/images/index/icon37.png',url:'/pages/login/index'}, - {text:'推广分佣',icon:'../../static/images/index/icon38.png',url:'/pages/login/index'}, - ]) - function navTo(itemUrl){ - uni.navigateTo({ - url:itemUrl - }) - } - onMounted(() =>{ - if(uni.getMenuButtonBoundingClientRect){ - topHeight.value = (uni.getMenuButtonBoundingClientRect().top + uni.getMenuButtonBoundingClientRect().height) * 2 - } - }) - -</script> - <style lang="scss" scoped> .container{ width:100%; @@ -145,370 +197,438 @@ width:100%; height:100vh; background:#F6F6F6; - } - } - .card-box{ - width: 100%; - height: auto; - // background: #a0b5c7; - box-sizing: border-box; - padding: 0 32rpx; - background: linear-gradient(to bottom,#5EA1FA,#D2F2FE); - .card{ - width: 100%; - height: 304rpx; - background-image: url("../../static/images/index/card1.png"); - background-repeat: no-repeat; - background-size: 100%; - .card-content{ + .card-box{ width: 100%; - height: 100%; + height: auto; + // background: #a0b5c7; box-sizing: border-box; - // background: #AFD5FF; - padding: 14rpx 42rpx 64rpx 22rpx; - .card-title{ - width:100%; - height:64rpx; - display: flex; - justify-content: flex-end; - // background: #82fec5; - align-items: center; - view{ - font-weight:300; - font-size: 36rpx; - color: #FFFFFF; - letter-spacing:5rpx; - text-align: left; - } - image{ - width:64rpx; - height:64rpx; - } - } - .card-add{ - width:100%; - height:64rpx; - display: flex; - justify-content: flex-end; - align-items: center; - view{ - width: 172rpx; - height:38rpx; - border-radius:24rpx; - background: #fff; - display: flex; - justify-content:flex-start; - align-items:center; - image{ - width:22rpx; - height:22rpx; - margin-left:15rpx; - } - text{ - font-weight: 300; - font-size: 20rpx; - color: #0088FF; - margin-left:15rpx; - } - } - } - .card-info{ + padding: 0 32rpx; + background: linear-gradient(to bottom,#5EA1FA,#D2F2FE); + .card{ width: 100%; - height:100rpx; - // background: #8ff6c3; - margin-top: 18rpx; - display: flex; - justify-content: flex-start; - align-items: center; - .info-head{ - width: 100rpx; - height:100rpx; - margin-right: 20rpx; - image{ - width: 100rpx; - height:100rpx; - } - } - .info-content{ - width: 216rpx;//108+86+22 - height:100rpx; - // background: #54dac4; - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: flex-start; - .info-content-top{ - width: 100%; + height: 304rpx; + background-image: url("../../static/images/index/card1.png"); + background-repeat: no-repeat; + background-size: 100%; + .card-content{ + width: 100%; + height: 100%; + box-sizing: border-box; + // background: #AFD5FF; + padding: 14rpx 42rpx 64rpx 22rpx; + .card-title{ + width:100%; + height:64rpx; display: flex; - justify-content:space-between; - align-items:center; - margin-bottom:8rpx; - view:first-child{ - width: 108rpx; - height: 50rpx; - font-weight: 400; + justify-content: flex-end; + // background: #82fec5; + align-items: center; + view{ + font-weight:300; font-size: 36rpx; color: #FFFFFF; + letter-spacing:5rpx; text-align: left; } - view:last-child{ - width: 86rpx; - height: 32rpx; - font-weight:300; - font-size: 26rpx; - color: #FFFFFF; - text-align: center; - background-image: url('../../static/images/index/vip1.png'); + image{ + width:64rpx; + height:64rpx; } } - .info-content-bottom{ + .card-add{ + width:100%; + height:64rpx; + display: flex; + justify-content: flex-end; + align-items: center; + view{ + width: 172rpx; + height:38rpx; + border-radius:24rpx; + background: #fff; + display: flex; + justify-content:flex-start; + align-items:center; + image{ + width:22rpx; + height:22rpx; + margin-left:15rpx; + } + text{ + font-weight: 300; + font-size: 20rpx; + color: #0088FF; + margin-left:15rpx; + } + } + } + .card-info{ width: 100%; + height:100rpx; + // background: #8ff6c3; + margin-top: 18rpx; + display: flex; + justify-content: flex-start; + align-items: center; + .info-head{ + width: 100rpx; + height:100rpx; + margin-right: 20rpx; + image{ + width: 100rpx; + height:100rpx; + } + } + .info-content{ + width: 216rpx;//108+86+22 + height:100rpx; + // background: #54dac4; + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: flex-start; + .info-content-top{ + width: 100%; + display: flex; + justify-content:space-between; + align-items:center; + margin-bottom:8rpx; + view:first-child{ + width: 108rpx; + height: 50rpx; + font-weight: 400; + font-size: 36rpx; + color: #FFFFFF; + text-align: left; + } + view:last-child{ + width: 86rpx; + height: 32rpx; + font-weight:300; + font-size: 26rpx; + color: #FFFFFF; + text-align: center; + background-image: url('../../static/images/index/vip1.png'); + } + } + .info-content-bottom{ + width: 100%; + font-weight: 300; + font-size: 20rpx; + color: #FFFFFF; + letter-spacing:5rpx; + text-align: left; + } + } + .info-more{ + width: 12rpx; + height: 28rpx; + margin-left:274rpx; + image{ + width: 12rpx; + height: 28rpx; + } + } + } + .card-bottom{ + margin-top:36rpx; + width:100%; + display: flex; + justify-content:space-evenly; font-weight: 300; font-size: 20rpx; - color: #FFFFFF; - letter-spacing:5rpx; - text-align: left; - } - } - .info-more{ - width: 12rpx; - height: 28rpx; - margin-left:274rpx; - image{ - width: 12rpx; - height: 28rpx; + color: #D8D8D8; + line-height: 0rpx; + text-align: center; } } } - .card-bottom{ - margin-top:36rpx; - width:100%; - display: flex; - justify-content:space-evenly; - font-weight: 300; - font-size: 20rpx; - color: #D8D8D8; - line-height: 0rpx; - text-align: center; + } + .function-box1{ + width:100%; + box-sizing:border-box; + height: 227rpx; + padding: 20rpx 32rpx 15rpx; + // background: rgba(85, 170, 0, 0.1); + display:flex; + justify-content: space-between; + align-items:center; + .box1-bg{ + width:212rpx; + height:200rpx; + border-radius:24rpx; + background: #fff; + box-shadow:0 0 12rpx 2rpx rgba(13,118,255,0.16); } - } - } - } - .function-box1{ - width:100%; - box-sizing:border-box; - height: 227rpx; - padding: 20rpx 32rpx 15rpx; - // background: rgba(85, 170, 0, 0.1); - display:flex; - justify-content: space-between; - align-items:center; - .box1-bg{ - width:212rpx; - height:200rpx; - border-radius:24rpx; - background: #fff; - box-shadow:0 0 12rpx 2rpx rgba(13,118,255,0.16); - } - .box1-one{ - font-weight: 300; - font-size: 32rpx; - color: #000000; - text-align: center; - display: flex; - flex-direction:column; - align-items: center; - justify-content: center; - image{ - width: 86rpx; - height: 78rpx; - margin-bottom:20rpx; - } - } - .box1-two{ - box-sizing: border-box; - padding:25rpx 0 10rpx; - display: flex; - flex-direction:column; - align-items:center; - justify-content:space-around; - view:first-child{ - font-weight: 300; - font-size: 24rpx; - color: #464646; - text-align: center; - margin-bottom:10rpx; - } - .recharge{ - text:first-child{ - font-weight: 500; - font-size: 32rpx; - color: #000; - } - text:last-child{ + .box1-one{ font-weight: 300; font-size: 32rpx; - color: #2269E5; - } - } - view:last-child{ - width: 140rpx; - height: 80rpx; - font-weight:300; - font-size: 24rpx; - color: #000141; - background-image: url('../../static/images/index/icon22.png'); - background-repeat: no-repeat; - background-position: center; - background-size: 100% 100%; - text-align:center; - line-height:80rpx; - margin-top:10rpx; - } - } - .box1-three{ - font-weight: 300; - font-size: 32rpx; - color: #000000; - text-align: center; - display: flex; - flex-direction:column; - align-items: center; - justify-content: center; - image{ - width: 83rpx; - height:83rpx; - margin-bottom:20rpx; - } - } - } - .function-box2{ - width:100%; - box-sizing:border-box; - height: 443rpx;//374 + 44 + 距离 + 底部padding32 - padding:0 32rpx 15rpx; - // background: rgba(46, 121, 170, 0.5); - .box2-title{ - width: 100%; - font-weight:300; - font-size: 32rpx; - color: #000000; - text-align: left; - margin-bottom: 10rpx; - margin-left: 30rpx; - } - .box2-content{ - box-sizing: border-box; - padding:22rpx 35rpx; - width: 686rpx; - height:374rpx; - background: #fff; - border-radius: 24rpx; - box-shadow: 0 0 12rpx 2rpx rgba(0, 0, 0, 0.1); - display: flex; - flex-wrap: wrap; - justify-content: space-between; - align-items: center; - .box2-item{ - width: 146rpx; - height:143rpx; - display: flex; - flex-direction:column; - justify-content:space-between; - align-items: center; - image{ - width: 90rpx; - height:90rpx; - } - .box2-item-text{ - width:100%; - height: 40rpx; - font-weight: 300; - font-size: 28rpx; color: #000000; text-align: center; + display: flex; + flex-direction:column; + align-items: center; + justify-content: center; + image{ + width: 86rpx; + height: 78rpx; + margin-bottom:20rpx; + } + } + .box1-two{ + box-sizing: border-box; + padding:25rpx 0 10rpx; + display: flex; + flex-direction:column; + align-items:center; + justify-content:space-around; + view:first-child{ + font-weight: 300; + font-size: 24rpx; + color: #464646; + text-align: center; + margin-bottom:10rpx; + } + .recharge{ + text:first-child{ + font-weight: 500; + font-size: 32rpx; + color: #000; + } + text:last-child{ + font-weight: 300; + font-size: 32rpx; + color: #2269E5; + } + } + view:last-child{ + width: 140rpx; + height: 80rpx; + font-weight:300; + font-size: 24rpx; + color: #000141; + background-image: url('../../static/images/index/icon22.png'); + background-repeat: no-repeat; + background-position: center; + background-size: 100% 100%; + text-align:center; + line-height:80rpx; + margin-top:10rpx; + } + } + .box1-three{ + font-weight: 300; + font-size: 32rpx; + color: #000000; + text-align: center; + display: flex; + flex-direction:column; + align-items: center; + justify-content: center; + image{ + width: 83rpx; + height:83rpx; + margin-bottom:20rpx; + } } } - } - } - .advertisement-box{ - width:100%; - height: 188rpx; - padding:0 32rpx 10rpx; - box-sizing: border-box; - image{ - width:100%; - height: 178rpx; - } - } - .service-box{ - width: 100%; - height: 255rpx; - // background: #D2F2FE; - padding:0 32rpx; - box-sizing: border-box; - .service-title{ - height: 44rpx; - font-weight: 300; - font-size: 32rpx; - color: #000000; - text-align: left; - margin-bottom: 5rpx; - margin-left: 30rpx; - } - .service-content{ - width: 100%; - height: 206rpx; - display: flex; - justify-content: space-between; - align-items: center; - .service-bg{ - width: 330rpx; - height: 206rpx; - background: linear-gradient(to bottom,#AFD5FF,#FFFFFF); - border-radius: 24rpx; - display: flex; - flex-direction: column; - justify-content: center; - align-items:flex-start; - view:first-child{ + .function-box2{ + width:100%; + box-sizing:border-box; + height: 443rpx;//374 + 44 + 距离 + 底部padding32 + padding:0 32rpx 15rpx; + // background: rgba(46, 121, 170, 0.5); + .box2-title{ + width: 100%; + font-weight:300; + font-size: 32rpx; + color: #000000; + text-align: left; + margin-bottom: 10rpx; + margin-left: 30rpx; + } + .box2-content{ + box-sizing: border-box; + padding:22rpx 35rpx; + width: 686rpx; + height:374rpx; + background: #fff; + border-radius: 24rpx; + box-shadow: 0 0 12rpx 2rpx rgba(0, 0, 0, 0.1); + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + .box2-item{ + width: 146rpx; + height:143rpx; display: flex; + flex-direction:column; + justify-content:space-between; align-items: center; - margin-left:40rpx; image{ - width:48rpx; - height:48rpx; - margin-right:10rpx; + width: 90rpx; + height:90rpx; } - text{ + .box2-item-text{ + width:100%; + height: 40rpx; font-weight: 300; font-size: 28rpx; color: #000000; + text-align: center; } } - .service-info{ - width: 214rpx; - font-weight: 300; - font-size: 24rpx; - color: #4D4B4B; - margin-left:96rpx; - } - view:last-child{ - margin-left: 174rpx; - margin-top: 18rpx; + } + } + .advertisement-box{ + width:100%; + height: 188rpx; + padding:0 32rpx 10rpx; + box-sizing: border-box; + image{ + width:100%; + height: 178rpx; + } + } + .service-box{ + width: 100%; + height: 255rpx; + // background: #D2F2FE; + padding:0 32rpx; + box-sizing: border-box; + .service-title{ + height: 44rpx; + font-weight: 300; + font-size: 32rpx; + color: #000000; + text-align: left; + margin-bottom: 5rpx; + margin-left: 30rpx; + } + .service-content{ + width: 100%; + height: 206rpx; + display: flex; + justify-content: space-between; + align-items: center; + .service-bg{ + width: 330rpx; + height: 206rpx; + background: linear-gradient(to bottom,#AFD5FF,#FFFFFF); + border-radius: 24rpx; display: flex; - align-items: center; - image{ - width:32rpx; - height:32rpx; - } - text{ - font-weight: 300; - font-size: 24rpx; - color: #4D4B4B; - margin-right: 10rpx; - } + flex-direction: column; + justify-content: center; + align-items:flex-start; + view:first-child{ + display: flex; + align-items: center; + margin-left:40rpx; + image{ + width:48rpx; + height:48rpx; + margin-right:10rpx; + } + text{ + font-weight: 300; + font-size: 28rpx; + color: #000000; + } + } + .service-info{ + width: 214rpx; + font-weight: 300; + font-size: 24rpx; + color: #4D4B4B; + margin-left:96rpx; + } + view:last-child{ + margin-left: 174rpx; + margin-top: 18rpx; + display: flex; + align-items: center; + image{ + width:32rpx; + height:32rpx; + } + text{ + font-weight: 300; + font-size: 24rpx; + color: #4D4B4B; + margin-right: 10rpx; + } + } } + } + } + } + .popup-content{ + height: 560rpx; + position: relative; + z-index: 1000; + .popup-title{ + width: 100%; + display: block; + text-align: center; + margin: 15rpx 0; + font-weight: 600; + font-size: 36rpx; + } + .hr { + width: 100%; + height: 2rpx; + background: #e2e2e2; + } + .img-box { + width: 65rpx; + height: 65rpx; + margin: 40rpx auto 30rpx; + border: 1rpx solid #e2e2e2; + border-radius: 50%; + padding: 15rpx; + .img{ + width: 100%; + height: 100%; + } + } + .info-box { + width: 100%; + padding: 0 80rpx; + box-sizing: border-box; + .hr2{ + width: 100%; + height: 2rpx; + background: #e2e2e2; + margin: 20rpx 0; + } + .info-text2{ + font-size: 26rpx; + color: #767676; + } + } + .button-box{ + display: flex; + margin-top: 20rpx; + button{ + width: 230rpx; + height: 80rpx; + line-height: 80rpx; + border: none; + box-shadow: none; + margin-top: 30rpx; + } + button::after { + border: none !important; + } + .button1{ + background-color: #F0F0F0; + color: #333333; + } + .button2{ + background-color: #06BF5E; + color: #ffffff; + } } } } diff --git a/pages/login/index.vue b/pages/login/index.vue deleted file mode 100644 index 6c16648..0000000 --- a/pages/login/index.vue +++ /dev/null @@ -1,269 +0,0 @@ - -<script setup> - import { onMounted, ref } from "vue" - // 微信授权登录相关 - let popupRef = ref(null) - const login = () =>{ - uni.navigateTo({ - url:"/pages/index/index" - }) - console.log('login1') - } - const wxLoginPopup = () =>{ - popupRef.value.open('bottom') - } - const wxLoginFn = () =>{ - console.log('login2') - popupRef.value.close('bottom') - } -</script> -<template> - <view class="container"> - <view class="content"> - <view class="title"> - <view class= 'text1'>欢迎登录</view> - <view class= 'text2'>Welcome to login</view> - </view> - <view class="form"> - <view class='form-input'><input type="text" placeholder="输入账号"></input></view> - <view class="form-input"><input password type="text" placeholder="输入密码"></input></view> - </view> - <view class="login-btn"> - <button @click = login()>登录</button> - </view> - <view class="bottom"> - <view class="divide"> - <view class="line"></view> - <view class="divide-text">第三方账号登录</view> - <view class="line"></view> - </view> - <view class="other-login"> - <image src="../../static/images/login/wechat.png" alt="" @click="wxLoginPopup()"></image> - </view> - </view> - </view> - <!-- 微信授权弹窗 --> - <uni-popup ref="popupRef" background-color="#fff"> - <view class="popup-content"> - <text class="popup-title">微信登录</text> - <view class="hr"></view> - <view class="img-box"><img src="../../static/images/login/logo.png" alt="" class="img"/></view> - <view class="info-box"> - <view class="info-text1">青源直饮水平台申请获取以下权限:</view> - <view class="hr2"></view> - <view class="info-text2">· 获得你的公开信息(昵称、头像、地区及性别)</view> - <view class="button-box"> - <button class="button1" @click="popupRef.close('bottom')">取消</button> - <button class="button2" @click="wxLoginFn()">确定</button> - </view> - </view> - </view> - </uni-popup> - </view> -</template> - -<style lang ="scss"> - page { - width: 100%; - height:100%; - } - .container{ - width:100%; - height:100%; - background-image:url('../../static/images/login/bg2.png'); - background-size: 100%; - background-repeat: no-repeat; - position: relative; - .content{ - position: absolute; - width:680rpx; - height:1080rpx; - top:22%; - left:calc(50% - 340rpx); - background-image:url('../../static/images/login/content-bg.png'); - background-repeat: no-repeat; - background-size: 100%; - .title{ - width:100%; - height:180rpx; - display: flex; - flex-direction: column; - justify-content: flex-start; - padding: 9% 0 0 13%; - box-sizing:border-box; - .text1{ - width:250rpx; - font-weight: 500; - font-size: 56rpx; - color: #345DB1; - text-align: left; - margin-left:14rpx; - margin-bottom:20rpx; - } - .text2{ - width:500rpx; - font-weight: 400; - font-size: 36rpx; - color: #9AB6DD; - text-align: left; - } - } - .form{ - width:100%; - height:260rpx; - margin-top: 125rpx; - /* background-color: #345DB1; */ - box-sizing:border-box; - display: flex; - flex-direction: column; - justify-content: space-between; - .form-input{ - width:582rpx; - height:100rpx; - background-image: url('../../static/images/login/input1.png'); - background-repeat: no-repeat; - background-size: 100%; - background-position: center; - display: flex; - align-items: center; - justify-content:flex-start; - margin: 0 auto; - :deep(.uni-input-placeholder ){ - color: #9DC4E8; - } - input{ - width:80%; - margin-left:60rpx; - font-weight: 400; - font-size: 32rpx; - text-align: left; - color: #2b4e82; - } - } - } - .login-btn{ - width:530rpx; - height:100rpx; - margin: 80rpx auto 60rpx; - button{ - background:linear-gradient(to right,#51C9F6,#4E9BFF); - font-weight: 500; - font-size: 36rpx; - color: #FFFFFF; - border-radius: 20rpx; - } - } - .bottom{ - width:100%; - height:180rpx; - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: center; - .divide{ - box-sizing:border-box; - width: 100%; - display:flex; - justify-content: space-between; - align-items:center; - padding:0 85rpx; - /* background: #446f52; */ - .line{ - width:125rpx; - height:2rpx; - background:#959595; - } - .divide-text{ - font-weight: 600; - font-size: 28rpx; - color: #B9B9B9; - text-align: center; - } - } - .other-login{ - box-sizing:border-box; - width:100%; - height:100rpx; - /* background: #5d7682; */ - padding:0 90rpx; - display: flex; - justify-content:center; - align-items: center; - image{ - width:76rpx; - height:76rpx; - /* background: #345DB1; */ - } - } - } - } - .popup-content { - height: 560rpx; - position: relative; - z-index: 1000; - .popup-title{ - width: 100%; - display: block; - text-align: center; - margin: 15rpx 0; - font-weight: 600; - font-size: 36rpx; - } - .hr { - width: 100%; - height: 2rpx; - background: #e2e2e2; - } - .img-box { - width: 65rpx; - height: 65rpx; - margin: 40rpx auto 30rpx; - border: 1rpx solid #e2e2e2; - border-radius: 50%; - padding: 15rpx; - .img{ - width: 100%; - height: 100%; - } - } - .info-box { - width: 100%; - padding: 0 80rpx; - box-sizing: border-box; - .hr2{ - width: 100%; - height: 2rpx; - background: #e2e2e2; - margin: 20rpx 0; - } - .info-text2{ - font-size: 26rpx; - color: #767676; - } - } - .button-box{ - display: flex; - margin-top: 20rpx; - button{ - width: 230rpx; - height: 80rpx; - line-height: 80rpx; - border: none; - box-shadow: none; - margin-top: 30rpx; - } - button::after { - border: none !important; - } - .button1{ - background-color: #F0F0F0; - color: #333333; - } - .button2{ - background-color: #06BF5E; - color: #ffffff; - } - } - } - } -</style> diff --git a/pages/recharge/index.vue b/pages/recharge/index.vue new file mode 100644 index 0000000..511bb31 --- /dev/null +++ b/pages/recharge/index.vue @@ -0,0 +1,13 @@ +<template> + <view class="container"> + <navbar title="绑定会员卡"></navbar> + </view> +</template> + +<script setup> + +</script> + +<style lang="scss" scoped> + +</style> diff --git a/static/images/login/bg2.png b/static/images/login/loginbg.png similarity index 100% rename from static/images/login/bg2.png rename to static/images/login/loginbg.png Binary files differ diff --git a/unpackage/dist/dev/mp-weixin/api/index.js b/unpackage/dist/dev/mp-weixin/api/index.js new file mode 100644 index 0000000..f9125eb --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/api/index.js @@ -0,0 +1,14 @@ +"use strict"; +const util_request = require("../util/request.js"); +function wxLoginApi(data) { + return util_request.request("/user/wxLogin", data, "POST"); +} +function getVipInfoApi() { + return util_request.request("/waterCard/getUserCard", {}, "GET"); +} +function getUserInfo() { + return util_request.request("/user/loginUser", {}, "GET"); +} +exports.getUserInfo = getUserInfo; +exports.getVipInfoApi = getVipInfoApi; +exports.wxLoginApi = wxLoginApi; diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js index 1f5c9c7..31875fa 100644 --- a/unpackage/dist/dev/mp-weixin/app.js +++ b/unpackage/dist/dev/mp-weixin/app.js @@ -1,17 +1,31 @@ "use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const common_vendor = require("./common/vendor.js"); +const api_index = require("./api/index.js"); if (!Math) { "./pages/index/index.js"; - "./pages/login/index.js"; "./pages/addCard/index.js"; "./pages/balanceRecord/index.js"; + "./pages/recharge/index.js"; } const _sfc_main = { __name: "App", setup(__props) { common_vendor.onLaunch(() => { - console.log("App Launch"); + if (!common_vendor.index.getStorageSync("openId")) { + common_vendor.wx$1.login({ + success: async (res1) => { + common_vendor.index.setStorageSync("code", res1.code); + await api_index.wxLoginApi({ code: res1.code }).then((res2) => { + common_vendor.index.setStorageSync("openId", res2.data.userId); + common_vendor.index.setStorageSync("token", res2.data.token); + }); + }, + fail: (e) => { + console.log(e); + } + }); + } }); common_vendor.onShow(() => { console.log("App Show"); diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json index 63dfd26..77af0cf 100644 --- a/unpackage/dist/dev/mp-weixin/app.json +++ b/unpackage/dist/dev/mp-weixin/app.json @@ -1,9 +1,9 @@ { "pages": [ "pages/index/index", - "pages/login/index", "pages/addCard/index", - "pages/balanceRecord/index" + "pages/balanceRecord/index", + "pages/recharge/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 f8f3f1b..f14636d 100644 --- a/unpackage/dist/dev/mp-weixin/common/assets.js +++ b/unpackage/dist/dev/mp-weixin/common/assets.js @@ -1,6 +1,6 @@ "use strict"; -const _imports_0$3 = "/static/images/index/code1.png"; -const _imports_1$1 = "/static/images/index/vip-add.png"; +const _imports_0$2 = "/static/images/index/code1.png"; +const _imports_1 = "/static/images/index/vip-add.png"; const _imports_2 = "/static/images/index/hend1.png"; const _imports_3 = "/static/images/index/back.png"; const _imports_4 = "/static/images/index/home21.png"; @@ -9,16 +9,12 @@ const _imports_7 = "/static/images/index/icon51.png"; const _imports_8 = "/static/images/index/more-info5.png"; const _imports_9 = "/static/images/index/notice5.png"; -const _imports_0$2 = "/static/images/login/wechat.png"; -const _imports_1 = "/static/images/login/logo.png"; const _imports_0$1 = "/static/images/addCard/code.png"; const _imports_0 = "/static/images/addCard/back.png"; exports._imports_0 = _imports_0; -exports._imports_0$1 = _imports_0$3; -exports._imports_0$2 = _imports_0$2; -exports._imports_0$3 = _imports_0$1; -exports._imports_1 = _imports_1$1; -exports._imports_1$1 = _imports_1; +exports._imports_0$1 = _imports_0$2; +exports._imports_0$2 = _imports_0$1; +exports._imports_1 = _imports_1; exports._imports_2 = _imports_2; exports._imports_3 = _imports_3; exports._imports_4 = _imports_4; diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js index 46a2213..8148480 100644 --- a/unpackage/dist/dev/mp-weixin/common/vendor.js +++ b/unpackage/dist/dev/mp-weixin/common/vendor.js @@ -75,8 +75,8 @@ return str.charAt(0).toUpperCase() + str.slice(1); }); const toHandlerKey = cacheStringFunction((str) => { - const s2 = str ? `on${capitalize(str)}` : ``; - return s2; + const s = str ? `on${capitalize(str)}` : ``; + return s; }); const hasChanged = (value, oldValue) => !Object.is(value, oldValue); const invokeArrayFns$1 = (fns, arg) => { @@ -92,63 +92,13 @@ }); }; const looseToNumber = (val) => { - const n2 = parseFloat(val); - return isNaN(n2) ? val : n2; + const n = parseFloat(val); + return isNaN(n) ? val : n; }; let _globalThis; const getGlobalThis = () => { return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); }; -function normalizeStyle(value) { - if (isArray(value)) { - const res = {}; - for (let i = 0; i < value.length; i++) { - const item = value[i]; - const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); - if (normalized) { - for (const key in normalized) { - res[key] = normalized[key]; - } - } - } - return res; - } else if (isString(value) || isObject(value)) { - return value; - } -} -const listDelimiterRE = /;(?![^(]*\))/g; -const propertyDelimiterRE = /:([^]+)/; -const styleCommentRE = /\/\*[^]*?\*\//g; -function parseStringStyle(cssText) { - const ret = {}; - cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { - if (item) { - const tmp = item.split(propertyDelimiterRE); - tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); - } - }); - return ret; -} -function normalizeClass(value) { - let res = ""; - if (isString(value)) { - res = value; - } else if (isArray(value)) { - for (let i = 0; i < value.length; i++) { - const normalized = normalizeClass(value[i]); - if (normalized) { - res += normalized + " "; - } - } - } else if (isObject(value)) { - for (const name in value) { - if (value[name]) { - res += name + " "; - } - } - } - return res.trim(); -} const toDisplayString = (val) => { return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); }; @@ -1010,7 +960,7 @@ } if (!isArray(name)) name = [name]; - name.forEach((n2) => emitter.off(n2, callback)); + name.forEach((n) => emitter.off(n, callback)); }, OffProtocol); const $emit = defineSyncApi(API_EMIT, (name, ...args) => { emitter.emit(name, ...args); @@ -1292,7 +1242,7 @@ let _SDKVersion = SDKVersion; const hostLanguage = language.replace(/_/g, "-"); const parameters = { - appId: "", + appId: "__UNI__97986D6", appName: "water-drinking-uniapp", appVersion: "1.0.0", appVersionCode: "100", @@ -1436,7 +1386,7 @@ hostName: _hostName, hostSDKVersion: SDKVersion, hostTheme: theme, - appId: "", + appId: "__UNI__97986D6", appName: "water-drinking-uniapp", appVersion: "1.0.0", appVersionCode: "100", @@ -6794,34 +6744,11 @@ } return ret; } -function stringifyStyle(value) { - if (isString(value)) { - return value; - } - return stringify(normalizeStyle(value)); -} -function stringify(styles) { - let ret = ""; - if (!styles || isString(styles)) { - return ret; - } - for (const key in styles) { - ret += `${key.startsWith(`--`) ? key : hyphenate(key)}:${styles[key]};`; - } - return ret; -} -function setRef(ref2, id, opts = {}) { - const { $templateRefs } = getCurrentInstance(); - $templateRefs.push({ i: id, r: ref2, k: opts.k, f: opts.f }); -} const o = (value, key) => vOn(value, key); const f = (source, renderItem) => vFor(source, renderItem); -const s = (value) => stringifyStyle(value); const e = (target, ...sources) => extend(target, ...sources); -const n = (value) => normalizeClass(value); const t = (val) => toDisplayString(val); const p = (props) => renderProps(props); -const sr = (ref2, id, opts) => setRef(ref2, id, opts); function createApp$1(rootComponent, rootProps = null) { rootComponent && (rootComponent.mpType = "app"); return createVueApp(rootComponent, rootProps).use(plugin); @@ -7659,125 +7586,11 @@ const onShow = /* @__PURE__ */ createHook(ON_SHOW); const onHide = /* @__PURE__ */ createHook(ON_HIDE); const onLaunch = /* @__PURE__ */ createHook(ON_LAUNCH); -class MPAnimation { - constructor(options, _this) { - this.options = options; - this.animation = index.createAnimation({ - ...options - }); - this.currentStepAnimates = {}; - this.next = 0; - this.$ = _this; - } - _nvuePushAnimates(type, args) { - let aniObj = this.currentStepAnimates[this.next]; - let styles = {}; - if (!aniObj) { - styles = { - styles: {}, - config: {} - }; - } else { - styles = aniObj; - } - if (animateTypes1.includes(type)) { - if (!styles.styles.transform) { - styles.styles.transform = ""; - } - let unit = ""; - if (type === "rotate") { - unit = "deg"; - } - styles.styles.transform += `${type}(${args + unit}) `; - } else { - styles.styles[type] = `${args}`; - } - this.currentStepAnimates[this.next] = styles; - } - _animateRun(styles = {}, config = {}) { - let ref2 = this.$.$refs["ani"].ref; - if (!ref2) - return; - return new Promise((resolve2, reject) => { - nvueAnimation.transition(ref2, { - styles, - ...config - }, (res) => { - resolve2(); - }); - }); - } - _nvueNextAnimate(animates, step = 0, fn) { - let obj = animates[step]; - if (obj) { - let { - styles, - config - } = obj; - this._animateRun(styles, config).then(() => { - step += 1; - this._nvueNextAnimate(animates, step, fn); - }); - } else { - this.currentStepAnimates = {}; - typeof fn === "function" && fn(); - this.isEnd = true; - } - } - step(config = {}) { - this.animation.step(config); - return this; - } - run(fn) { - this.$.animationData = this.animation.export(); - this.$.timer = setTimeout(() => { - typeof fn === "function" && fn(); - }, this.$.durationTime); - } -} -const animateTypes1 = [ - "matrix", - "matrix3d", - "rotate", - "rotate3d", - "rotateX", - "rotateY", - "rotateZ", - "scale", - "scale3d", - "scaleX", - "scaleY", - "scaleZ", - "skew", - "skewX", - "skewY", - "translate", - "translate3d", - "translateX", - "translateY", - "translateZ" -]; -const animateTypes2 = ["opacity", "backgroundColor"]; -const animateTypes3 = ["width", "height", "left", "right", "top", "bottom"]; -animateTypes1.concat(animateTypes2, animateTypes3).forEach((type) => { - MPAnimation.prototype[type] = function(...args) { - this.animation[type](...args); - return this; - }; -}); -function createAnimation(option, _this) { - if (!_this) - return; - clearTimeout(_this.timer); - return new MPAnimation(option, _this); -} exports._export_sfc = _export_sfc; -exports.createAnimation = createAnimation; exports.createSSRApp = createSSRApp; exports.e = e; exports.f = f; exports.index = index; -exports.n = n; exports.o = o; exports.onHide = onHide; exports.onLaunch = onLaunch; @@ -7786,7 +7599,5 @@ exports.p = p; exports.ref = ref; exports.resolveComponent = resolveComponent; -exports.s = s; -exports.sr = sr; exports.t = t; -exports.unref = unref; +exports.wx$1 = wx$1; diff --git a/unpackage/dist/dev/mp-weixin/components/navbar/navbar.js b/unpackage/dist/dev/mp-weixin/components/navbar/navbar.js index f9d5869..7a2c5b4 100644 --- a/unpackage/dist/dev/mp-weixin/components/navbar/navbar.js +++ b/unpackage/dist/dev/mp-weixin/components/navbar/navbar.js @@ -9,18 +9,16 @@ default: "" } }, - emits: ["navBackTo"], - setup(__props, { emit: __emit }) { - const emit = __emit; - function navBackToChild() { - emit("navBackTo"); + setup(__props) { + function navBackTo() { + common_vendor.index.navigateBack(); } const props = __props; const title = common_vendor.ref(props.title); return (_ctx, _cache) => { return { a: common_assets._imports_0, - b: common_vendor.o(($event) => navBackToChild()), + b: common_vendor.o(($event) => navBackTo()), c: common_vendor.t(title.value) }; }; diff --git a/unpackage/dist/dev/mp-weixin/config/baseUrl.js b/unpackage/dist/dev/mp-weixin/config/baseUrl.js new file mode 100644 index 0000000..4c47d63 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/config/baseUrl.js @@ -0,0 +1,3 @@ +"use strict"; +const BASE_URL = "http://192.168.0.105:8031"; +exports.BASE_URL = BASE_URL; diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.js b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.js deleted file mode 100644 index 075cf08..0000000 --- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.js +++ /dev/null @@ -1,393 +0,0 @@ -"use strict"; -const common_vendor = require("../../../../../common/vendor.js"); -const _sfc_main = { - name: "uniPopup", - components: {}, - emits: ["change", "maskClick"], - props: { - // 开启动画 - animation: { - type: Boolean, - default: true - }, - // 弹出层类型,可选值,top: 顶部弹出层;bottom:底部弹出层;center:全屏弹出层 - // message: 消息提示 ; dialog : 对话框 - type: { - type: String, - default: "center" - }, - // maskClick - isMaskClick: { - type: Boolean, - default: null - }, - // TODO 2 个版本后废弃属性 ,使用 isMaskClick - maskClick: { - type: Boolean, - default: null - }, - backgroundColor: { - type: String, - default: "none" - }, - safeArea: { - type: Boolean, - default: true - }, - maskBackgroundColor: { - type: String, - default: "rgba(0, 0, 0, 0.4)" - }, - borderRadius: { - type: String - } - }, - watch: { - /** - * 监听type类型 - */ - type: { - handler: function(type) { - if (!this.config[type]) - return; - this[this.config[type]](true); - }, - immediate: true - }, - isDesktop: { - handler: function(newVal) { - if (!this.config[newVal]) - return; - this[this.config[this.type]](true); - }, - immediate: true - }, - /** - * 监听遮罩是否可点击 - * @param {Object} val - */ - maskClick: { - handler: function(val) { - this.mkclick = val; - }, - immediate: true - }, - isMaskClick: { - handler: function(val) { - this.mkclick = val; - }, - immediate: true - }, - // H5 下禁止底部滚动 - showPopup(show) { - } - }, - data() { - return { - duration: 300, - ani: [], - showPopup: false, - showTrans: false, - popupWidth: 0, - popupHeight: 0, - config: { - top: "top", - bottom: "bottom", - center: "center", - left: "left", - right: "right", - message: "top", - dialog: "center", - share: "bottom" - }, - maskClass: { - position: "fixed", - bottom: 0, - top: 0, - left: 0, - right: 0, - backgroundColor: "rgba(0, 0, 0, 0.4)" - }, - transClass: { - backgroundColor: "transparent", - borderRadius: this.borderRadius || "0", - position: "fixed", - left: 0, - right: 0 - }, - maskShow: true, - mkclick: true, - popupstyle: "top" - }; - }, - computed: { - getStyles() { - let res = { backgroundColor: this.bg }; - if (this.borderRadius || "0") { - res = Object.assign(res, { borderRadius: this.borderRadius }); - } - return res; - }, - isDesktop() { - return this.popupWidth >= 500 && this.popupHeight >= 500; - }, - bg() { - if (this.backgroundColor === "" || this.backgroundColor === "none") { - return "transparent"; - } - return this.backgroundColor; - } - }, - mounted() { - const fixSize = () => { - const { - windowWidth, - windowHeight, - windowTop, - safeArea, - screenHeight, - safeAreaInsets - } = common_vendor.index.getSystemInfoSync(); - this.popupWidth = windowWidth; - this.popupHeight = windowHeight + (windowTop || 0); - if (safeArea && this.safeArea) { - this.safeAreaInsets = screenHeight - safeArea.bottom; - } else { - this.safeAreaInsets = 0; - } - }; - fixSize(); - }, - // TODO vue3 - unmounted() { - this.setH5Visible(); - }, - activated() { - this.setH5Visible(!this.showPopup); - }, - deactivated() { - this.setH5Visible(true); - }, - created() { - if (this.isMaskClick === null && this.maskClick === null) { - this.mkclick = true; - } else { - this.mkclick = this.isMaskClick !== null ? this.isMaskClick : this.maskClick; - } - if (this.animation) { - this.duration = 300; - } else { - this.duration = 0; - } - this.messageChild = null; - this.clearPropagation = false; - this.maskClass.backgroundColor = this.maskBackgroundColor; - }, - methods: { - setH5Visible(visible = true) { - }, - /** - * 公用方法,不显示遮罩层 - */ - closeMask() { - this.maskShow = false; - }, - /** - * 公用方法,遮罩层禁止点击 - */ - disableMask() { - this.mkclick = false; - }, - // TODO nvue 取消冒泡 - clear(e) { - e.stopPropagation(); - this.clearPropagation = true; - }, - open(direction) { - if (this.showPopup) { - return; - } - let innerType = ["top", "center", "bottom", "left", "right", "message", "dialog", "share"]; - if (!(direction && innerType.indexOf(direction) !== -1)) { - direction = this.type; - } - if (!this.config[direction]) { - console.error("缺少类型:", direction); - return; - } - this[this.config[direction]](); - this.$emit("change", { - show: true, - type: direction - }); - }, - close(type) { - this.showTrans = false; - this.$emit("change", { - show: false, - type: this.type - }); - clearTimeout(this.timer); - this.timer = setTimeout(() => { - this.showPopup = false; - }, 300); - }, - // TODO 处理冒泡事件,头条的冒泡事件有问题 ,先这样兼容 - touchstart() { - this.clearPropagation = false; - }, - onTap() { - if (this.clearPropagation) { - this.clearPropagation = false; - return; - } - this.$emit("maskClick"); - if (!this.mkclick) - return; - this.close(); - }, - /** - * 顶部弹出样式处理 - */ - top(type) { - this.popupstyle = this.isDesktop ? "fixforpc-top" : "top"; - this.ani = ["slide-top"]; - this.transClass = { - position: "fixed", - left: 0, - right: 0, - backgroundColor: this.bg, - borderRadius: this.borderRadius || "0" - }; - if (type) - return; - this.showPopup = true; - this.showTrans = true; - this.$nextTick(() => { - if (this.messageChild && this.type === "message") { - this.messageChild.timerClose(); - } - }); - }, - /** - * 底部弹出样式处理 - */ - bottom(type) { - this.popupstyle = "bottom"; - this.ani = ["slide-bottom"]; - this.transClass = { - position: "fixed", - left: 0, - right: 0, - bottom: 0, - paddingBottom: this.safeAreaInsets + "px", - backgroundColor: this.bg, - borderRadius: this.borderRadius || "0" - }; - if (type) - return; - this.showPopup = true; - this.showTrans = true; - }, - /** - * 中间弹出样式处理 - */ - center(type) { - this.popupstyle = "center"; - this.ani = ["fade"]; - this.transClass = { - position: "fixed", - display: "flex", - flexDirection: "column", - bottom: 0, - left: 0, - right: 0, - top: 0, - justifyContent: "center", - alignItems: "center", - borderRadius: this.borderRadius || "0" - }; - if (type) - return; - this.showPopup = true; - this.showTrans = true; - }, - left(type) { - this.popupstyle = "left"; - this.ani = ["slide-left"]; - this.transClass = { - position: "fixed", - left: 0, - bottom: 0, - top: 0, - backgroundColor: this.bg, - borderRadius: this.borderRadius || "0", - display: "flex", - flexDirection: "column" - }; - if (type) - return; - this.showPopup = true; - this.showTrans = true; - }, - right(type) { - this.popupstyle = "right"; - this.ani = ["slide-right"]; - this.transClass = { - position: "fixed", - bottom: 0, - right: 0, - top: 0, - backgroundColor: this.bg, - borderRadius: this.borderRadius || "0", - display: "flex", - flexDirection: "column" - }; - if (type) - return; - this.showPopup = true; - this.showTrans = true; - } - } -}; -if (!Array) { - const _easycom_uni_transition2 = common_vendor.resolveComponent("uni-transition"); - _easycom_uni_transition2(); -} -const _easycom_uni_transition = () => "../uni-transition/uni-transition.js"; -if (!Math) { - _easycom_uni_transition(); -} -function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return common_vendor.e({ - a: $data.showPopup - }, $data.showPopup ? common_vendor.e({ - b: $data.maskShow - }, $data.maskShow ? { - c: common_vendor.o($options.onTap), - d: common_vendor.p({ - name: "mask", - ["mode-class"]: "fade", - styles: $data.maskClass, - duration: $data.duration, - show: $data.showTrans - }) - } : {}, { - e: common_vendor.s($options.getStyles), - f: common_vendor.n($data.popupstyle), - g: common_vendor.o((...args) => $options.clear && $options.clear(...args)), - h: common_vendor.o($options.onTap), - i: common_vendor.p({ - ["mode-class"]: $data.ani, - name: "content", - styles: $data.transClass, - duration: $data.duration, - show: $data.showTrans - }), - j: common_vendor.o((...args) => $options.touchstart && $options.touchstart(...args)), - k: common_vendor.n($data.popupstyle), - l: common_vendor.n($options.isDesktop ? "fixforpc-z-index" : "") - }) : {}); -} -const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]); -wx.createComponent(Component); diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.json b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.json deleted file mode 100644 index 76d3d8e..0000000 --- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "uni-transition": "../uni-transition/uni-transition" - } -} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxml b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxml deleted file mode 100644 index 78b58c6..0000000 --- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxml +++ /dev/null @@ -1 +0,0 @@ -<view wx:if="{{a}}" class="{{['uni-popup', k, l]}}"><view bindtouchstart="{{j}}"><uni-transition wx:if="{{b}}" key="1" bindclick="{{c}}" u-i="8c28e6d6-0" bind:__l="__l" u-p="{{d}}"/><uni-transition wx:if="{{i}}" u-s="{{['d']}}" key="2" bindclick="{{h}}" u-i="8c28e6d6-1" bind:__l="__l" u-p="{{i}}"><view style="{{e}}" class="{{['uni-popup__wrapper', f]}}" bindtap="{{g}}"><slot/></view></uni-transition></view></view> \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxss b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxss deleted file mode 100644 index 4014708..0000000 --- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxss +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 这里是uni-app内置的常用样式变量 - * - * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 - * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App - * - */ -/** - * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 - * - * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 - */ -/* 颜色变量 */ -/* 行为相关颜色 */ -/* 文字基本颜色 */ -/* 背景颜色 */ -/* 边框颜色 */ -/* 尺寸变量 */ -/* 文字尺寸 */ -/* 图片尺寸 */ -/* Border Radius */ -/* 水平间距 */ -/* 垂直间距 */ -/* 透明度 */ -/* 文章场景相关 */ -.uni-popup { - position: fixed; - z-index: 99; -} -.uni-popup.top, .uni-popup.left, .uni-popup.right { - top: 0; -} -.uni-popup .uni-popup__wrapper { - display: block; - position: relative; - /* iphonex 等安全区设置,底部安全区适配 */ -} -.uni-popup .uni-popup__wrapper.left, .uni-popup .uni-popup__wrapper.right { - padding-top: 0; - flex: 1; -} -.fixforpc-z-index { - z-index: 999; -} -.fixforpc-top { - top: 0; -} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.js b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.js deleted file mode 100644 index 6d97327..0000000 --- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.js +++ /dev/null @@ -1,264 +0,0 @@ -"use strict"; -const common_vendor = require("../../../../../common/vendor.js"); -const _sfc_main = { - name: "uniTransition", - emits: ["click", "change"], - props: { - show: { - type: Boolean, - default: false - }, - modeClass: { - type: [Array, String], - default() { - return "fade"; - } - }, - duration: { - type: Number, - default: 300 - }, - styles: { - type: Object, - default() { - return {}; - } - }, - customClass: { - type: String, - default: "" - }, - onceRender: { - type: Boolean, - default: false - } - }, - data() { - return { - isShow: false, - transform: "", - opacity: 1, - animationData: {}, - durationTime: 300, - config: {} - }; - }, - watch: { - show: { - handler(newVal) { - if (newVal) { - this.open(); - } else { - if (this.isShow) { - this.close(); - } - } - }, - immediate: true - } - }, - computed: { - // 生成样式数据 - stylesObject() { - let styles = { - ...this.styles, - "transition-duration": this.duration / 1e3 + "s" - }; - let transform = ""; - for (let i in styles) { - let line = this.toLine(i); - transform += line + ":" + styles[i] + ";"; - } - return transform; - }, - // 初始化动画条件 - transformStyles() { - return "transform:" + this.transform + ";opacity:" + this.opacity + ";" + this.stylesObject; - } - }, - created() { - this.config = { - duration: this.duration, - timingFunction: "ease", - transformOrigin: "50% 50%", - delay: 0 - }; - this.durationTime = this.duration; - }, - methods: { - /** - * ref 触发 初始化动画 - */ - init(obj = {}) { - if (obj.duration) { - this.durationTime = obj.duration; - } - this.animation = common_vendor.createAnimation(Object.assign(this.config, obj), this); - }, - /** - * 点击组件触发回调 - */ - onClick() { - this.$emit("click", { - detail: this.isShow - }); - }, - /** - * ref 触发 动画分组 - * @param {Object} obj - */ - step(obj, config = {}) { - if (!this.animation) - return; - for (let i in obj) { - try { - if (typeof obj[i] === "object") { - this.animation[i](...obj[i]); - } else { - this.animation[i](obj[i]); - } - } catch (e) { - console.error(`方法 ${i} 不存在`); - } - } - this.animation.step(config); - return this; - }, - /** - * ref 触发 执行动画 - */ - run(fn) { - if (!this.animation) - return; - this.animation.run(fn); - }, - // 开始过度动画 - open() { - clearTimeout(this.timer); - this.transform = ""; - this.isShow = true; - let { opacity, transform } = this.styleInit(false); - if (typeof opacity !== "undefined") { - this.opacity = opacity; - } - this.transform = transform; - this.$nextTick(() => { - this.timer = setTimeout(() => { - this.animation = common_vendor.createAnimation(this.config, this); - this.tranfromInit(false).step(); - this.animation.run(); - this.$emit("change", { - detail: this.isShow - }); - }, 20); - }); - }, - // 关闭过度动画 - close(type) { - if (!this.animation) - return; - this.tranfromInit(true).step().run(() => { - this.isShow = false; - this.animationData = null; - this.animation = null; - let { opacity, transform } = this.styleInit(false); - this.opacity = opacity || 1; - this.transform = transform; - this.$emit("change", { - detail: this.isShow - }); - }); - }, - // 处理动画开始前的默认样式 - styleInit(type) { - let styles = { - transform: "" - }; - let buildStyle = (type2, mode) => { - if (mode === "fade") { - styles.opacity = this.animationType(type2)[mode]; - } else { - styles.transform += this.animationType(type2)[mode] + " "; - } - }; - if (typeof this.modeClass === "string") { - buildStyle(type, this.modeClass); - } else { - this.modeClass.forEach((mode) => { - buildStyle(type, mode); - }); - } - return styles; - }, - // 处理内置组合动画 - tranfromInit(type) { - let buildTranfrom = (type2, mode) => { - let aniNum = null; - if (mode === "fade") { - aniNum = type2 ? 0 : 1; - } else { - aniNum = type2 ? "-100%" : "0"; - if (mode === "zoom-in") { - aniNum = type2 ? 0.8 : 1; - } - if (mode === "zoom-out") { - aniNum = type2 ? 1.2 : 1; - } - if (mode === "slide-right") { - aniNum = type2 ? "100%" : "0"; - } - if (mode === "slide-bottom") { - aniNum = type2 ? "100%" : "0"; - } - } - this.animation[this.animationMode()[mode]](aniNum); - }; - if (typeof this.modeClass === "string") { - buildTranfrom(type, this.modeClass); - } else { - this.modeClass.forEach((mode) => { - buildTranfrom(type, mode); - }); - } - return this.animation; - }, - animationType(type) { - return { - fade: type ? 0 : 1, - "slide-top": `translateY(${type ? "0" : "-100%"})`, - "slide-right": `translateX(${type ? "0" : "100%"})`, - "slide-bottom": `translateY(${type ? "0" : "100%"})`, - "slide-left": `translateX(${type ? "0" : "-100%"})`, - "zoom-in": `scaleX(${type ? 1 : 0.8}) scaleY(${type ? 1 : 0.8})`, - "zoom-out": `scaleX(${type ? 1 : 1.2}) scaleY(${type ? 1 : 1.2})` - }; - }, - // 内置动画类型与实际动画对应字典 - animationMode() { - return { - fade: "opacity", - "slide-top": "translateY", - "slide-right": "translateX", - "slide-bottom": "translateY", - "slide-left": "translateX", - "zoom-in": "scale", - "zoom-out": "scale" - }; - }, - // 驼峰转中横线 - toLine(name) { - return name.replace(/([A-Z])/g, "-$1").toLowerCase(); - } - } -}; -function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return { - a: $data.isShow, - b: $data.animationData, - c: common_vendor.n($props.customClass), - d: common_vendor.s($options.transformStyles), - e: common_vendor.o((...args) => $options.onClick && $options.onClick(...args)) - }; -} -const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]); -wx.createComponent(Component); diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.json b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.json deleted file mode 100644 index e8cfaaf..0000000 --- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.wxml b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.wxml deleted file mode 100644 index 8fa2f75..0000000 --- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.wxml +++ /dev/null @@ -1 +0,0 @@ -<view hidden="{{!a}}" ref="ani" animation="{{b}}" class="{{c}}" style="{{d}}" bindtap="{{e}}"><slot></slot></view> \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/addCard/index.js b/unpackage/dist/dev/mp-weixin/pages/addCard/index.js index e4ed725..2f48b66 100644 --- a/unpackage/dist/dev/mp-weixin/pages/addCard/index.js +++ b/unpackage/dist/dev/mp-weixin/pages/addCard/index.js @@ -12,13 +12,10 @@ const _sfc_main = { __name: "index", setup(__props) { - function navBackTo() { - common_vendor.index.navigateBack(); - } const form = common_vendor.ref({ - cardNumber: "", - name: "", - phone: "", + waterCardNumber: "", + userName: "", + userPhone: "", address: "", remark: "" }); @@ -29,24 +26,23 @@ }); return (_ctx, _cache) => { return { - a: common_vendor.o(($event) => navBackTo()), - b: common_vendor.p({ + a: common_vendor.p({ title: "绑定会员卡" }), - c: form.value.cardNumber, - d: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), - e: common_assets._imports_0$3, - f: form.value.cardNumber, - g: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), - h: form.value.cardNumber, - i: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), - j: form.value.cardNumber, - k: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), - l: form.value.cardNumber, - m: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), - n: form.value.cardNumber, - o: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), - p: common_vendor.o(($event) => submit()) + b: form.value.cardNumber, + c: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), + d: common_assets._imports_0$2, + e: form.value.cardNumber, + f: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), + g: form.value.cardNumber, + h: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), + i: form.value.cardNumber, + j: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), + k: form.value.cardNumber, + l: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), + m: form.value.cardNumber, + n: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value), + o: common_vendor.o(($event) => submit()) }; }; } diff --git a/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml b/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml index b3f4e8b..6f32ead 100644 --- a/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml @@ -1 +1 @@ -<view class="container data-v-4c5e7c86"><view class="content data-v-4c5e7c86"><navbar wx:if="{{b}}" class="data-v-4c5e7c86" bindnavBackTo="{{a}}" u-i="4c5e7c86-0" bind:__l="__l" u-p="{{b}}"></navbar><view class="main data-v-4c5e7c86"><view class="title data-v-4c5e7c86">请填写卡及个人信息</view><view class="form data-v-4c5e7c86"><view class="form-item card-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">卡号:</text><input class="data-v-4c5e7c86" placeholder="请输入卡号" value="{{c}}" bindinput="{{d}}"/><image class="data-v-4c5e7c86" src="{{e}}" alt=""></image></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">姓名:</text><input class="data-v-4c5e7c86" placeholder="请输入姓名" value="{{f}}" bindinput="{{g}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">联系方式:</text><input class="data-v-4c5e7c86" placeholder="请输入手机号" value="{{h}}" bindinput="{{i}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">区域:</text><input class="data-v-4c5e7c86" placeholder="请选择区域" value="{{j}}" bindinput="{{k}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">地址:</text><input class="data-v-4c5e7c86" placeholder="请输入地址" value="{{l}}" bindinput="{{m}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">备注:</text><input class="data-v-4c5e7c86" placeholder="请输入内容" value="{{n}}" bindinput="{{o}}"/></view></view><view class="tips data-v-4c5e7c86"><text class="data-v-4c5e7c86">1、完成实名认证,方便遗失挂失及补卡等。</text><text class="data-v-4c5e7c86">2、绑卡后,运营商可以看到您实名时填写的 姓名和电话。</text></view><view class="subBtn data-v-4c5e7c86" bindtap="{{p}}">提交信息</view></view></view></view> \ No newline at end of file +<view class="container data-v-4c5e7c86"><view class="content data-v-4c5e7c86"><navbar wx:if="{{a}}" class="data-v-4c5e7c86" u-i="4c5e7c86-0" bind:__l="__l" u-p="{{a}}"></navbar><view class="main data-v-4c5e7c86"><view class="title data-v-4c5e7c86">请填写卡及个人信息</view><view class="form data-v-4c5e7c86"><view class="form-item card-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">卡号:</text><input class="data-v-4c5e7c86" placeholder="请输入卡号" value="{{b}}" bindinput="{{c}}"/><image class="data-v-4c5e7c86" src="{{d}}" alt=""></image></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">姓名:</text><input class="data-v-4c5e7c86" placeholder="请输入姓名" value="{{e}}" bindinput="{{f}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">联系方式:</text><input class="data-v-4c5e7c86" placeholder="请输入手机号" value="{{g}}" bindinput="{{h}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">区域:</text><input class="data-v-4c5e7c86" placeholder="请选择区域" value="{{i}}" bindinput="{{j}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">地址:</text><input class="data-v-4c5e7c86" placeholder="请输入地址" value="{{k}}" bindinput="{{l}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">备注:</text><input class="data-v-4c5e7c86" placeholder="请输入内容" value="{{m}}" bindinput="{{n}}"/></view></view><view class="tips data-v-4c5e7c86"><text class="data-v-4c5e7c86">1、完成实名认证,方便遗失挂失及补卡等。</text><text class="data-v-4c5e7c86">2、绑卡后,运营商可以看到您实名时填写的 姓名和电话。</text></view><view class="subBtn data-v-4c5e7c86" bindtap="{{o}}">提交信息</view></view></view></view> \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss b/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss index ac52287..59f5468 100644 --- a/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss +++ b/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss @@ -128,4 +128,5 @@ text-align: center; line-height: 98rpx; margin-top: 236rpx; + letter-spacing: 2px; } \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js index 53bb980..0021cae 100644 --- a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js +++ b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js @@ -14,11 +14,15 @@ function navBackTo() { common_vendor.index.navigateBack(); } + const banlanceList = common_vendor.ref([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]); return (_ctx, _cache) => { return { a: common_vendor.o(($event) => navBackTo()), b: common_vendor.p({ title: "余额记录" + }), + c: common_vendor.f(banlanceList.value, (item, index, i0) => { + return {}; }) }; }; diff --git a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml index e3f855c..274622c 100644 --- a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml @@ -1 +1 @@ -<view class="container"><navbar wx:if="{{b}}" bindnavBackTo="{{a}}" u-i="434b3e96-0" bind:__l="__l" u-p="{{b}}"></navbar></view> \ No newline at end of file +<view class="container"><navbar wx:if="{{b}}" bindnavBackTo="{{a}}" u-i="434b3e96-0" bind:__l="__l" u-p="{{b}}"></navbar><view class="date"><view><text>2024年09月</text></view><view><text>支出¥5341.05</text><text>充值¥941.59</text></view></view><view class="main"><block wx:for="{{c}}" wx:for-item="item"><view class="item"><view class="item-left"><text>缴费</text><text class="methods">支付方式:微信</text><text>2024年09月20日 18:25</text></view><view class="item-right"><text>-¥125.00</text><text>2000.00</text></view></view></block></view></view> \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss index f02efd8..48fdf86 100644 --- a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss +++ b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss @@ -26,4 +26,86 @@ .container { width: 100%; height: 100vh; + background: linear-gradient(to top, #FFFFFF, #E8EFFF); +} +.container .date { + height: 84rpx; + width: 100%; + display: flex; + padding: 0 36rpx; + box-sizing: border-box; + justify-content: space-between; + align-items: center; +} +.container .date view:first-child { + font-weight: 300; + font-size: 32rpx; + color: #000000; +} +.container .date view:last-child { + font-weight: 300; + font-size: 24rpx; + color: #7E7E7E; +} +.container .date view:last-child text:first-child { + margin-right: 30rpx; +} +.container .main { + width: 99%; + height: calc(100vh - 84rpx - 176rpx - 70rpx); + background: #fff; + border-radius: 20rpx; + margin: 0 auto; + padding: 28rpx 48rpx; + box-sizing: border-box; + overflow-y: scroll; +} +.container .main .item { + width: 100%; + height: 184rpx; + border-bottom: 1rpx solid #D8D8D8; + box-sizing: border-box; + padding-bottom: 38rpx; + justify-content: space-between; + align-items: flex-end; + display: flex; +} +.container .main .item .item-left { + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; +} +.container .main .item .item-left text:first-child { + font-weight: 300; + font-size: 32rpx; + color: #000000; +} +.container .main .item .item-left .methods { + font-weight: 300; + font-size: 32rpx; + color: #474646; +} +.container .main .item .item-left text:last-child { + font-weight: 300; + font-size: 24rpx; + color: #A7A7A7; +} +.container .main .item .item-right { + height: 100%; + display: flex; + flex-direction: column; + justify-content: flex-end; + align-items: flex-end; +} +.container .main .item .item-right text:first-child { + font-weight: 300; + font-size: 32rpx; + color: #000000; +} +.container .main .item .item-right text:last-child { + font-weight: 300; + font-size: 24rpx; + color: #A7A7A7; } \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.js b/unpackage/dist/dev/mp-weixin/pages/index/index.js index e1e3762..b87cb87 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.js +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.js @@ -1,35 +1,53 @@ "use strict"; const common_vendor = require("../../common/vendor.js"); const common_assets = require("../../common/assets.js"); +const api_index = require("../../api/index.js"); const _sfc_main = { __name: "index", setup(__props) { const topHeight = common_vendor.ref(0); + function getTopHeight() { + if (common_vendor.index.getMenuButtonBoundingClientRect) { + topHeight.value = (common_vendor.index.getMenuButtonBoundingClientRect().top + common_vendor.index.getMenuButtonBoundingClientRect().height) * 2; + } + } + const vipInfo = common_vendor.ref(); const isVip = common_vendor.ref(false); + async function getVipInfo() { + let res = await api_index.getUserInfo(); + if (res.data.userInfo.waterCardNumber) { + let res1 = await api_index.getVipInfoApi(); + vipInfo.value = res1.data; + isVip.value = true; + } else { + isVip.value = false; + } + } function navToAddCard() { common_vendor.index.navigateTo({ url: "/pages/addCard/index" }); } const functionList = common_vendor.ref([ - { text: "余额记录", icon: "../../static/images/index/icon31.png", url: "/pages/balanceRecord/index" }, - { text: "消费记录", icon: "../../static/images/index/icon32.png", url: "/pages/login/index" }, - { text: "充值记录", icon: "../../static/images/index/icon33.png", url: "/pages/login/index" }, - { text: "账户共享", icon: "../../static/images/index/icon34.png", url: "/pages/login/index" }, - { text: "优惠卷", icon: "../../static/images/index/icon35.png", url: "/pages/login/index" }, - { text: "电子发票", icon: "../../static/images/index/icon36.png", url: "/pages/login/index" }, - { text: "联系客服", icon: "../../static/images/index/icon37.png", url: "/pages/login/index" }, + { text: "余额记录", icon: "../../static/images/index/icon31.png", url: "" }, + { text: "消费记录", icon: "../../static/images/index/icon32.png", url: "" }, + { text: "充值记录", icon: "../../static/images/index/icon33.png", url: "" }, + { text: "账户共享", icon: "../../static/images/index/icon34.png", url: "" }, + { text: "优惠卷", icon: "../../static/images/index/icon35.png", url: "" }, + { text: "电子发票", icon: "../../static/images/index/icon36.png", url: "" }, + { text: "联系客服", icon: "../../static/images/index/icon37.png", url: "" }, { text: "推广分佣", icon: "../../static/images/index/icon38.png", url: "/pages/login/index" } ]); function navTo(itemUrl) { - common_vendor.index.navigateTo({ - url: itemUrl - }); - } - common_vendor.onMounted(() => { - if (common_vendor.index.getMenuButtonBoundingClientRect) { - topHeight.value = (common_vendor.index.getMenuButtonBoundingClientRect().top + common_vendor.index.getMenuButtonBoundingClientRect().height) * 2; + if (itemUrl) { + common_vendor.index.navigateTo({ + url: itemUrl + }); } + } + common_vendor.onMounted(async () => { + getTopHeight(); + await getVipInfo(); }); return (_ctx, _cache) => { return common_vendor.e({ @@ -37,11 +55,11 @@ }, isVip.value ? { b: common_assets._imports_0$1 } : { - c: common_assets._imports_1 + c: common_assets._imports_1, + d: common_vendor.o(($event) => navToAddCard()) }, { - d: common_assets._imports_2, - e: common_assets._imports_3, - f: common_vendor.o(($event) => navToAddCard()), + e: common_assets._imports_2, + f: common_assets._imports_3, g: topHeight.value + "rpx", h: common_assets._imports_4, i: common_assets._imports_5, diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml index d1a7c83..bb91f85 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:' + g}}"><view class="card data-v-1cf27b2a"><view class="card-content data-v-1cf27b2a" bindtap="{{f}}"><view wx:if="{{a}}" class="card-title data-v-1cf27b2a"><view class="data-v-1cf27b2a">会员卡</view><image class="data-v-1cf27b2a" src="{{b}}" alt=""></image></view><view wx:else class="card-add data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{c}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view class="card-info data-v-1cf27b2a"><view class="info-head data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{d}}" alt=""></image></view><view class="info-content data-v-1cf27b2a"><view class="info-content-top data-v-1cf27b2a"><view class="data-v-1cf27b2a">张大左</view><view class="data-v-1cf27b2a">vip1</view></view><view class="info-content-bottom data-v-1cf27b2a">YL123654987521</view></view><view class="info-more data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{e}}"></image></view></view><view class="card-bottom data-v-1cf27b2a"><view class="data-v-1cf27b2a">我的积分:200</view><view class="data-v-1cf27b2a">消费折扣:9.9折</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{h}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view class="box1-bg box1-two data-v-1cf27b2a"><view class="data-v-1cf27b2a">账户余额(元)</view><view class="recharge data-v-1cf27b2a"><text class="data-v-1cf27b2a">¥</text><text class="data-v-1cf27b2a">120.00</text></view><view class="data-v-1cf27b2a"> 充值 </view></view><view class="box1-bg box1-three data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{i}}" 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="{{j}}" wx:for-item="item" wx:key="d"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.c}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image><view class="box2-item-text data-v-1cf27b2a">{{item.b}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a"><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"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{l}}" 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="{{m}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{n}}" 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="{{o}}" 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:' + g}}"><view class="card data-v-1cf27b2a"><view class="card-content data-v-1cf27b2a"><view wx:if="{{a}}" class="card-title data-v-1cf27b2a"><view class="data-v-1cf27b2a">会员卡</view><image class="data-v-1cf27b2a" src="{{b}}" alt=""></image></view><view wx:else class="card-add data-v-1cf27b2a"><view class="data-v-1cf27b2a" bindtap="{{d}}"><image class="data-v-1cf27b2a" src="{{c}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view class="card-info data-v-1cf27b2a"><view class="info-head data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{e}}" alt=""></image></view><view class="info-content data-v-1cf27b2a"><view class="info-content-top data-v-1cf27b2a"><view class="data-v-1cf27b2a">张大左</view><view class="data-v-1cf27b2a">vip1</view></view><view class="info-content-bottom data-v-1cf27b2a">YL123654987521</view></view><view class="info-more data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{f}}"></image></view></view><view class="card-bottom data-v-1cf27b2a"><view class="data-v-1cf27b2a">我的积分:200</view><view class="data-v-1cf27b2a">消费折扣:9.9折</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{h}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view class="box1-bg box1-two data-v-1cf27b2a"><view class="data-v-1cf27b2a">账户余额(元)</view><view class="recharge data-v-1cf27b2a"><text class="data-v-1cf27b2a">¥</text><text class="data-v-1cf27b2a">120.00</text></view><view class="data-v-1cf27b2a"> 充值 </view></view><view class="box1-bg box1-three data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{i}}" 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="{{j}}" wx:for-item="item" wx:key="d"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.c}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image><view class="box2-item-text data-v-1cf27b2a">{{item.b}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a"><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"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{l}}" 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="{{m}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{n}}" 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="{{o}}" 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 1b85bac..42bc800 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss @@ -33,52 +33,52 @@ height: 100vh; background: #F6F6F6; } -.card-box.data-v-1cf27b2a { +.container .content .card-box.data-v-1cf27b2a { width: 100%; height: auto; box-sizing: border-box; padding: 0 32rpx; background: linear-gradient(to bottom, #5EA1FA, #D2F2FE); } -.card-box .card.data-v-1cf27b2a { +.container .content .card-box .card.data-v-1cf27b2a { width: 100%; height: 304rpx; background-image: url("data:image/png;base64,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"); background-repeat: no-repeat; background-size: 100%; } -.card-box .card .card-content.data-v-1cf27b2a { +.container .content .card-box .card .card-content.data-v-1cf27b2a { width: 100%; height: 100%; box-sizing: border-box; padding: 14rpx 42rpx 64rpx 22rpx; } -.card-box .card .card-content .card-title.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-title.data-v-1cf27b2a { width: 100%; height: 64rpx; display: flex; justify-content: flex-end; align-items: center; } -.card-box .card .card-content .card-title view.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-title view.data-v-1cf27b2a { font-weight: 300; font-size: 36rpx; color: #FFFFFF; letter-spacing: 5rpx; text-align: left; } -.card-box .card .card-content .card-title image.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-title image.data-v-1cf27b2a { width: 64rpx; height: 64rpx; } -.card-box .card .card-content .card-add.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-add.data-v-1cf27b2a { width: 100%; height: 64rpx; display: flex; justify-content: flex-end; align-items: center; } -.card-box .card .card-content .card-add view.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-add view.data-v-1cf27b2a { width: 172rpx; height: 38rpx; border-radius: 24rpx; @@ -87,18 +87,18 @@ justify-content: flex-start; align-items: center; } -.card-box .card .card-content .card-add view image.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-add view image.data-v-1cf27b2a { width: 22rpx; height: 22rpx; margin-left: 15rpx; } -.card-box .card .card-content .card-add view text.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-add view text.data-v-1cf27b2a { font-weight: 300; font-size: 20rpx; color: #0088FF; margin-left: 15rpx; } -.card-box .card .card-content .card-info.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-info.data-v-1cf27b2a { width: 100%; height: 100rpx; margin-top: 18rpx; @@ -106,16 +106,16 @@ justify-content: flex-start; align-items: center; } -.card-box .card .card-content .card-info .info-head.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-info .info-head.data-v-1cf27b2a { width: 100rpx; height: 100rpx; margin-right: 20rpx; } -.card-box .card .card-content .card-info .info-head image.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-info .info-head image.data-v-1cf27b2a { width: 100rpx; height: 100rpx; } -.card-box .card .card-content .card-info .info-content.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-info .info-content.data-v-1cf27b2a { width: 216rpx; height: 100rpx; display: flex; @@ -123,14 +123,14 @@ justify-content: flex-start; align-items: flex-start; } -.card-box .card .card-content .card-info .info-content .info-content-top.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-info .info-content .info-content-top.data-v-1cf27b2a { width: 100%; display: flex; justify-content: space-between; align-items: center; margin-bottom: 8rpx; } -.card-box .card .card-content .card-info .info-content .info-content-top view.data-v-1cf27b2a:first-child { +.container .content .card-box .card .card-content .card-info .info-content .info-content-top view.data-v-1cf27b2a:first-child { width: 108rpx; height: 50rpx; font-weight: 400; @@ -138,7 +138,7 @@ color: #FFFFFF; text-align: left; } -.card-box .card .card-content .card-info .info-content .info-content-top view.data-v-1cf27b2a:last-child { +.container .content .card-box .card .card-content .card-info .info-content .info-content-top view.data-v-1cf27b2a:last-child { width: 86rpx; height: 32rpx; font-weight: 300; @@ -147,7 +147,7 @@ text-align: center; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAAQCAYAAACP4IauAAAAAXNSR0IArs4c6QAAAdxJREFUSEvNlr1LHFEUxe85d3ZnEvGjt5RowgpbaJvKNGIVsisEQsAmJllm/UC0SJ3WTaNs0oh/RNKIzbo2SaMkLIhY2llIEg3ix8i8mdFRRMzoDk4zb97c995vzpz37oVcul79mO7xPH0L0SFCO0F9SFAAFVAlapNhH1SiNk0Mxdz9MSY+3nce678n/bhwziB2H9BtUr+KxeqMk9+I4yF66Pv8JtOdb/sonk6QapnJLgFeBRvBBIveDvYCOHkEZiqb9r8PX9B/6HMa2MFvrt3WnlkC9On5F98M1iwQqnynsNHfBOtZJ/usjEcHBna4PlaF6Kiv3P/CNk3Z0ErGKsLqpPP4HV7USzkVax2imgS22cqGvj4WYR6FmlsBOB75814qG2zWTyjWyg0BniSFTUdZs38aKNbcvwK2JIVNxbOBsnu+DX4DbE0Km5ayoP5BccX9KcLepLBpKUvoLxRq5VkAE0lh01JWoBU8Xy33WidYI5IdXWkoS+ixl2U+SAqrY3Pw9P29PWep85PZntKt023zlWU9Y8fSrakPNl27fefBHIERQHnTQqZpnqWeAFywHafk1wVnhUy8DHv5fSZHz3oNcIBkF6Ad15WId6osdZfQLQDLlucsTrXmGnG2Ux7nYTiYHiPjAAAAAElFTkSuQmCC"); } -.card-box .card .card-content .card-info .info-content .info-content-bottom.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-info .info-content .info-content-bottom.data-v-1cf27b2a { width: 100%; font-weight: 300; font-size: 20rpx; @@ -155,16 +155,16 @@ letter-spacing: 5rpx; text-align: left; } -.card-box .card .card-content .card-info .info-more.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-info .info-more.data-v-1cf27b2a { width: 12rpx; height: 28rpx; margin-left: 274rpx; } -.card-box .card .card-content .card-info .info-more image.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-info .info-more image.data-v-1cf27b2a { width: 12rpx; height: 28rpx; } -.card-box .card .card-content .card-bottom.data-v-1cf27b2a { +.container .content .card-box .card .card-content .card-bottom.data-v-1cf27b2a { margin-top: 36rpx; width: 100%; display: flex; @@ -175,7 +175,7 @@ line-height: 0rpx; text-align: center; } -.function-box1.data-v-1cf27b2a { +.container .content .function-box1.data-v-1cf27b2a { width: 100%; box-sizing: border-box; height: 227rpx; @@ -184,14 +184,14 @@ justify-content: space-between; align-items: center; } -.function-box1 .box1-bg.data-v-1cf27b2a { +.container .content .function-box1 .box1-bg.data-v-1cf27b2a { width: 212rpx; height: 200rpx; border-radius: 24rpx; background: #fff; box-shadow: 0 0 12rpx 2rpx rgba(13, 118, 255, 0.16); } -.function-box1 .box1-one.data-v-1cf27b2a { +.container .content .function-box1 .box1-one.data-v-1cf27b2a { font-weight: 300; font-size: 32rpx; color: #000000; @@ -201,12 +201,12 @@ align-items: center; justify-content: center; } -.function-box1 .box1-one image.data-v-1cf27b2a { +.container .content .function-box1 .box1-one image.data-v-1cf27b2a { width: 86rpx; height: 78rpx; margin-bottom: 20rpx; } -.function-box1 .box1-two.data-v-1cf27b2a { +.container .content .function-box1 .box1-two.data-v-1cf27b2a { box-sizing: border-box; padding: 25rpx 0 10rpx; display: flex; @@ -214,24 +214,24 @@ align-items: center; justify-content: space-around; } -.function-box1 .box1-two view.data-v-1cf27b2a:first-child { +.container .content .function-box1 .box1-two view.data-v-1cf27b2a:first-child { font-weight: 300; font-size: 24rpx; color: #464646; text-align: center; margin-bottom: 10rpx; } -.function-box1 .box1-two .recharge text.data-v-1cf27b2a:first-child { +.container .content .function-box1 .box1-two .recharge text.data-v-1cf27b2a:first-child { font-weight: 500; font-size: 32rpx; color: #000; } -.function-box1 .box1-two .recharge text.data-v-1cf27b2a:last-child { +.container .content .function-box1 .box1-two .recharge text.data-v-1cf27b2a:last-child { font-weight: 300; font-size: 32rpx; color: #2269E5; } -.function-box1 .box1-two view.data-v-1cf27b2a:last-child { +.container .content .function-box1 .box1-two view.data-v-1cf27b2a:last-child { width: 140rpx; height: 80rpx; font-weight: 300; @@ -245,7 +245,7 @@ line-height: 80rpx; margin-top: 10rpx; } -.function-box1 .box1-three.data-v-1cf27b2a { +.container .content .function-box1 .box1-three.data-v-1cf27b2a { font-weight: 300; font-size: 32rpx; color: #000000; @@ -255,18 +255,18 @@ align-items: center; justify-content: center; } -.function-box1 .box1-three image.data-v-1cf27b2a { +.container .content .function-box1 .box1-three image.data-v-1cf27b2a { width: 83rpx; height: 83rpx; margin-bottom: 20rpx; } -.function-box2.data-v-1cf27b2a { +.container .content .function-box2.data-v-1cf27b2a { width: 100%; box-sizing: border-box; height: 443rpx; padding: 0 32rpx 15rpx; } -.function-box2 .box2-title.data-v-1cf27b2a { +.container .content .function-box2 .box2-title.data-v-1cf27b2a { width: 100%; font-weight: 300; font-size: 32rpx; @@ -275,7 +275,7 @@ margin-bottom: 10rpx; margin-left: 30rpx; } -.function-box2 .box2-content.data-v-1cf27b2a { +.container .content .function-box2 .box2-content.data-v-1cf27b2a { box-sizing: border-box; padding: 22rpx 35rpx; width: 686rpx; @@ -288,7 +288,7 @@ justify-content: space-between; align-items: center; } -.function-box2 .box2-content .box2-item.data-v-1cf27b2a { +.container .content .function-box2 .box2-content .box2-item.data-v-1cf27b2a { width: 146rpx; height: 143rpx; display: flex; @@ -296,11 +296,11 @@ justify-content: space-between; align-items: center; } -.function-box2 .box2-content .box2-item image.data-v-1cf27b2a { +.container .content .function-box2 .box2-content .box2-item image.data-v-1cf27b2a { width: 90rpx; height: 90rpx; } -.function-box2 .box2-content .box2-item .box2-item-text.data-v-1cf27b2a { +.container .content .function-box2 .box2-content .box2-item .box2-item-text.data-v-1cf27b2a { width: 100%; height: 40rpx; font-weight: 300; @@ -308,23 +308,23 @@ color: #000000; text-align: center; } -.advertisement-box.data-v-1cf27b2a { +.container .content .advertisement-box.data-v-1cf27b2a { width: 100%; height: 188rpx; padding: 0 32rpx 10rpx; box-sizing: border-box; } -.advertisement-box image.data-v-1cf27b2a { +.container .content .advertisement-box image.data-v-1cf27b2a { width: 100%; height: 178rpx; } -.service-box.data-v-1cf27b2a { +.container .content .service-box.data-v-1cf27b2a { width: 100%; height: 255rpx; padding: 0 32rpx; box-sizing: border-box; } -.service-box .service-title.data-v-1cf27b2a { +.container .content .service-box .service-title.data-v-1cf27b2a { height: 44rpx; font-weight: 300; font-size: 32rpx; @@ -333,14 +333,14 @@ margin-bottom: 5rpx; margin-left: 30rpx; } -.service-box .service-content.data-v-1cf27b2a { +.container .content .service-box .service-content.data-v-1cf27b2a { width: 100%; height: 206rpx; display: flex; justify-content: space-between; align-items: center; } -.service-box .service-content .service-bg.data-v-1cf27b2a { +.container .content .service-box .service-content .service-bg.data-v-1cf27b2a { width: 330rpx; height: 206rpx; background: linear-gradient(to bottom, #AFD5FF, #FFFFFF); @@ -350,41 +350,109 @@ justify-content: center; align-items: flex-start; } -.service-box .service-content .service-bg view.data-v-1cf27b2a:first-child { +.container .content .service-box .service-content .service-bg view.data-v-1cf27b2a:first-child { display: flex; align-items: center; margin-left: 40rpx; } -.service-box .service-content .service-bg view:first-child image.data-v-1cf27b2a { +.container .content .service-box .service-content .service-bg view:first-child image.data-v-1cf27b2a { width: 48rpx; height: 48rpx; margin-right: 10rpx; } -.service-box .service-content .service-bg view:first-child text.data-v-1cf27b2a { +.container .content .service-box .service-content .service-bg view:first-child text.data-v-1cf27b2a { font-weight: 300; font-size: 28rpx; color: #000000; } -.service-box .service-content .service-bg .service-info.data-v-1cf27b2a { +.container .content .service-box .service-content .service-bg .service-info.data-v-1cf27b2a { width: 214rpx; font-weight: 300; font-size: 24rpx; color: #4D4B4B; margin-left: 96rpx; } -.service-box .service-content .service-bg view.data-v-1cf27b2a:last-child { +.container .content .service-box .service-content .service-bg view.data-v-1cf27b2a:last-child { margin-left: 174rpx; margin-top: 18rpx; display: flex; align-items: center; } -.service-box .service-content .service-bg view:last-child image.data-v-1cf27b2a { +.container .content .service-box .service-content .service-bg view:last-child image.data-v-1cf27b2a { width: 32rpx; height: 32rpx; } -.service-box .service-content .service-bg view:last-child text.data-v-1cf27b2a { +.container .content .service-box .service-content .service-bg view:last-child text.data-v-1cf27b2a { font-weight: 300; font-size: 24rpx; color: #4D4B4B; margin-right: 10rpx; +} +.container .popup-content.data-v-1cf27b2a { + height: 560rpx; + position: relative; + z-index: 1000; +} +.container .popup-content .popup-title.data-v-1cf27b2a { + width: 100%; + display: block; + text-align: center; + margin: 15rpx 0; + font-weight: 600; + font-size: 36rpx; +} +.container .popup-content .hr.data-v-1cf27b2a { + width: 100%; + height: 2rpx; + background: #e2e2e2; +} +.container .popup-content .img-box.data-v-1cf27b2a { + width: 65rpx; + height: 65rpx; + margin: 40rpx auto 30rpx; + border: 1rpx solid #e2e2e2; + border-radius: 50%; + padding: 15rpx; +} +.container .popup-content .img-box .img.data-v-1cf27b2a { + width: 100%; + height: 100%; +} +.container .popup-content .info-box.data-v-1cf27b2a { + width: 100%; + padding: 0 80rpx; + box-sizing: border-box; +} +.container .popup-content .info-box .hr2.data-v-1cf27b2a { + width: 100%; + height: 2rpx; + background: #e2e2e2; + margin: 20rpx 0; +} +.container .popup-content .info-box .info-text2.data-v-1cf27b2a { + font-size: 26rpx; + color: #767676; +} +.container .popup-content .button-box.data-v-1cf27b2a { + display: flex; + margin-top: 20rpx; +} +.container .popup-content .button-box button.data-v-1cf27b2a { + width: 230rpx; + height: 80rpx; + line-height: 80rpx; + border: none; + box-shadow: none; + margin-top: 30rpx; +} +.container .popup-content .button-box button.data-v-1cf27b2a::after { + border: none !important; +} +.container .popup-content .button-box .button1.data-v-1cf27b2a { + background-color: #F0F0F0; + color: #333333; +} +.container .popup-content .button-box .button2.data-v-1cf27b2a { + background-color: #06BF5E; + color: #ffffff; } \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/login/index.js b/unpackage/dist/dev/mp-weixin/pages/login/index.js deleted file mode 100644 index 486204f..0000000 --- a/unpackage/dist/dev/mp-weixin/pages/login/index.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -const common_vendor = require("../../common/vendor.js"); -const common_assets = require("../../common/assets.js"); -if (!Array) { - const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup"); - _easycom_uni_popup2(); -} -const _easycom_uni_popup = () => "../../node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.js"; -if (!Math) { - _easycom_uni_popup(); -} -const _sfc_main = { - __name: "index", - setup(__props) { - let popupRef = common_vendor.ref(null); - const login = () => { - common_vendor.index.navigateTo({ - url: "/pages/index/index" - }); - console.log("login1"); - }; - const wxLoginPopup = () => { - popupRef.value.open("bottom"); - }; - const wxLoginFn = () => { - console.log("login2"); - popupRef.value.close("bottom"); - }; - return (_ctx, _cache) => { - return { - a: common_vendor.o(($event) => login()), - b: common_assets._imports_0$2, - c: common_vendor.o(($event) => wxLoginPopup()), - d: common_assets._imports_1$1, - e: common_vendor.o(($event) => common_vendor.unref(popupRef).close("bottom")), - f: common_vendor.o(($event) => wxLoginFn()), - g: common_vendor.sr(popupRef, "169f96b2-0", { - "k": "popupRef" - }), - h: common_vendor.p({ - ["background-color"]: "#fff" - }) - }; - }; - } -}; -wx.createPage(_sfc_main); diff --git a/unpackage/dist/dev/mp-weixin/pages/login/index.json b/unpackage/dist/dev/mp-weixin/pages/login/index.json deleted file mode 100644 index 26dd5fa..0000000 --- a/unpackage/dist/dev/mp-weixin/pages/login/index.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": { - "uni-popup": "../../node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup" - } -} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/login/index.wxml b/unpackage/dist/dev/mp-weixin/pages/login/index.wxml deleted file mode 100644 index dcb01f3..0000000 --- a/unpackage/dist/dev/mp-weixin/pages/login/index.wxml +++ /dev/null @@ -1 +0,0 @@ -<view class="container"><view class="content"><view class="title"><view class="text1">欢迎登录</view><view class="text2">Welcome to login</view></view><view class="form"><view class="form-input"><input type="text" placeholder="输入账号"></input></view><view class="form-input"><input password type="text" placeholder="输入密码"></input></view></view><view class="login-btn"><button bindtap="{{a}}">登录</button></view><view class="bottom"><view class="divide"><view class="line"></view><view class="divide-text">第三方账号登录</view><view class="line"></view></view><view class="other-login"><image src="{{b}}" alt="" bindtap="{{c}}"></image></view></view></view><uni-popup wx:if="{{h}}" class="r" u-s="{{['d']}}" u-r="popupRef" u-i="169f96b2-0" bind:__l="__l" u-p="{{h}}"><view class="popup-content"><text class="popup-title">微信登录</text><view class="hr"></view><view class="img-box"><image src="{{d}}" alt="" class="img"/></view><view class="info-box"><view class="info-text1">青源直饮水平台申请获取以下权限:</view><view class="hr2"></view><view class="info-text2">· 获得你的公开信息(昵称、头像、地区及性别)</view><view class="button-box"><button class="button1" bindtap="{{e}}">取消</button><button class="button2" bindtap="{{f}}">确定</button></view></view></view></uni-popup></view> \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/login/index.wxss b/unpackage/dist/dev/mp-weixin/pages/login/index.wxss deleted file mode 100644 index df22e5f..0000000 --- a/unpackage/dist/dev/mp-weixin/pages/login/index.wxss +++ /dev/null @@ -1,228 +0,0 @@ -/** - * 这里是uni-app内置的常用样式变量 - * - * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 - * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App - * - */ -/** - * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 - * - * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 - */ -/* 颜色变量 */ -/* 行为相关颜色 */ -/* 文字基本颜色 */ -/* 背景颜色 */ -/* 边框颜色 */ -/* 尺寸变量 */ -/* 文字尺寸 */ -/* 图片尺寸 */ -/* Border Radius */ -/* 水平间距 */ -/* 垂直间距 */ -/* 透明度 */ -/* 文章场景相关 */ -page { - width: 100%; - height: 100%; -} -.container { - width: 100%; - height: 100%; - background-image: url("../../static/images/login/bg2.png"); - background-size: 100%; - background-repeat: no-repeat; - position: relative; -} -.container .content { - position: absolute; - width: 680rpx; - height: 1080rpx; - top: 22%; - left: calc(50% - 340rpx); - background-image: url("data:image/png;base64,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"); - background-repeat: no-repeat; - background-size: 100%; -} -.container .content .title { - width: 100%; - height: 180rpx; - display: flex; - flex-direction: column; - justify-content: flex-start; - padding: 9% 0 0 13%; - box-sizing: border-box; -} -.container .content .title .text1 { - width: 250rpx; - font-weight: 500; - font-size: 56rpx; - color: #345DB1; - text-align: left; - margin-left: 14rpx; - margin-bottom: 20rpx; -} -.container .content .title .text2 { - width: 500rpx; - font-weight: 400; - font-size: 36rpx; - color: #9AB6DD; - text-align: left; -} -.container .content .form { - width: 100%; - height: 260rpx; - margin-top: 125rpx; - /* background-color: #345DB1; */ - box-sizing: border-box; - display: flex; - flex-direction: column; - justify-content: space-between; -} -.container .content .form .form-input { - width: 582rpx; - height: 100rpx; - background-image: url("data:image/png;base64,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"); - background-repeat: no-repeat; - background-size: 100%; - background-position: center; - display: flex; - align-items: center; - justify-content: flex-start; - margin: 0 auto; -} -.container .content .form .form-input .uni-input-placeholder { - color: #9DC4E8; -} -.container .content .form .form-input input { - width: 80%; - margin-left: 60rpx; - font-weight: 400; - font-size: 32rpx; - text-align: left; - color: #2b4e82; -} -.container .content .login-btn { - width: 530rpx; - height: 100rpx; - margin: 80rpx auto 60rpx; -} -.container .content .login-btn button { - background: linear-gradient(to right, #51C9F6, #4E9BFF); - font-weight: 500; - font-size: 36rpx; - color: #FFFFFF; - border-radius: 20rpx; -} -.container .content .bottom { - width: 100%; - height: 180rpx; - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: center; -} -.container .content .bottom .divide { - box-sizing: border-box; - width: 100%; - display: flex; - justify-content: space-between; - align-items: center; - padding: 0 85rpx; - /* background: #446f52; */ -} -.container .content .bottom .divide .line { - width: 125rpx; - height: 2rpx; - background: #959595; -} -.container .content .bottom .divide .divide-text { - font-weight: 600; - font-size: 28rpx; - color: #B9B9B9; - text-align: center; -} -.container .content .bottom .other-login { - box-sizing: border-box; - width: 100%; - height: 100rpx; - /* background: #5d7682; */ - padding: 0 90rpx; - display: flex; - justify-content: center; - align-items: center; -} -.container .content .bottom .other-login image { - width: 76rpx; - height: 76rpx; - /* background: #345DB1; */ -} -.container .popup-content { - height: 560rpx; - position: relative; - z-index: 1000; -} -.container .popup-content .popup-title { - width: 100%; - display: block; - text-align: center; - margin: 15rpx 0; - font-weight: 600; - font-size: 36rpx; -} -.container .popup-content .hr { - width: 100%; - height: 2rpx; - background: #e2e2e2; -} -.container .popup-content .img-box { - width: 65rpx; - height: 65rpx; - margin: 40rpx auto 30rpx; - border: 1rpx solid #e2e2e2; - border-radius: 50%; - padding: 15rpx; -} -.container .popup-content .img-box .img { - width: 100%; - height: 100%; -} -.container .popup-content .info-box { - width: 100%; - padding: 0 80rpx; - box-sizing: border-box; -} -.container .popup-content .info-box .hr2 { - width: 100%; - height: 2rpx; - background: #e2e2e2; - margin: 20rpx 0; -} -.container .popup-content .info-box .info-text2 { - font-size: 26rpx; - color: #767676; -} -.container .popup-content .button-box { - display: flex; - margin-top: 20rpx; -} -.container .popup-content .button-box button { - width: 230rpx; - height: 80rpx; - line-height: 80rpx; - border: none; - box-shadow: none; - margin-top: 30rpx; -} -.container .popup-content .button-box button::after { - border: none !important; -} -.container .popup-content .button-box .button1 { - background-color: #F0F0F0; - color: #333333; -} -.container .popup-content .button-box .button2 { - background-color: #06BF5E; - color: #ffffff; -} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/recharge/index.js b/unpackage/dist/dev/mp-weixin/pages/recharge/index.js new file mode 100644 index 0000000..8a9776d --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/recharge/index.js @@ -0,0 +1,20 @@ +"use strict"; +const common_vendor = require("../../common/vendor.js"); +const _sfc_main = {}; +if (!Array) { + const _easycom_navbar2 = common_vendor.resolveComponent("navbar"); + _easycom_navbar2(); +} +const _easycom_navbar = () => "../../components/navbar/navbar.js"; +if (!Math) { + _easycom_navbar(); +} +function _sfc_render(_ctx, _cache) { + return { + a: common_vendor.p({ + title: "绑定会员卡" + }) + }; +} +const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]); +wx.createPage(MiniProgramPage); diff --git a/unpackage/dist/dev/mp-weixin/pages/recharge/index.json b/unpackage/dist/dev/mp-weixin/pages/recharge/index.json new file mode 100644 index 0000000..c7fb2d7 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/recharge/index.json @@ -0,0 +1,6 @@ +{ + "navigationBarTitleText": "", + "usingComponents": { + "navbar": "../../components/navbar/navbar" + } +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/recharge/index.wxml b/unpackage/dist/dev/mp-weixin/pages/recharge/index.wxml new file mode 100644 index 0000000..4b369fa --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/recharge/index.wxml @@ -0,0 +1 @@ +<view class="container"><navbar wx:if="{{a}}" u-i="a5181a58-0" bind:__l="__l" u-p="{{a}}"></navbar></view> \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.wxss b/unpackage/dist/dev/mp-weixin/pages/recharge/index.wxss similarity index 100% rename from unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.wxss rename to unpackage/dist/dev/mp-weixin/pages/recharge/index.wxss diff --git a/unpackage/dist/dev/mp-weixin/project.config.json b/unpackage/dist/dev/mp-weixin/project.config.json index f550de2..f0c0b72 100644 --- a/unpackage/dist/dev/mp-weixin/project.config.json +++ b/unpackage/dist/dev/mp-weixin/project.config.json @@ -19,7 +19,7 @@ }, "compileType": "miniprogram", "libVersion": "3.3.5", - "appid": "touristappid", + "appid": "wxe86c40810c2c0e98", "projectname": "water-drinking-uniapp", "condition": {}, "editorSetting": { diff --git a/unpackage/dist/dev/mp-weixin/static/images/login/bg2.png b/unpackage/dist/dev/mp-weixin/static/images/login/loginbg.png similarity index 100% rename from unpackage/dist/dev/mp-weixin/static/images/login/bg2.png rename to unpackage/dist/dev/mp-weixin/static/images/login/loginbg.png Binary files differ diff --git a/unpackage/dist/dev/mp-weixin/util/request.js b/unpackage/dist/dev/mp-weixin/util/request.js new file mode 100644 index 0000000..161dcb4 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/util/request.js @@ -0,0 +1,28 @@ +"use strict"; +const common_vendor = require("../common/vendor.js"); +const config_baseUrl = require("../config/baseUrl.js"); +const request = (url, data, method) => { + return new Promise((resolve, reject) => { + common_vendor.index.request({ + url: config_baseUrl.BASE_URL + url, + method: method || "POST", + header: { + token: common_vendor.index.getStorageSync("token") || "" + }, + data: data || {}, + success: (res) => { + const data2 = res.data; + resolve(data2); + }, + fail: (error) => { + common_vendor.index.showToast({ + icon: "error", + title: "请求错误" + }); + reject(error); + } + }); + }).catch((e) => { + }); +}; +exports.request = request; diff --git a/util/request.js b/util/request.js new file mode 100644 index 0000000..b71c179 --- /dev/null +++ b/util/request.js @@ -0,0 +1,24 @@ +import { BASE_URL } from "../config/baseUrl"; +export const request = (url, data, method) => { + return new Promise((resolve, reject) => { + uni.request({ + url: BASE_URL + url, + method: method || 'POST', + header: { + token:uni.getStorageSync('token') || '' + }, + data: data || {}, + success: (res) => { + const data = res.data + resolve(data) + }, + fail:(error)=>{ + uni.showToast({ + icon:'error', + title:'请求错误' + }) + reject(error) + }, + }) + }).catch((e) => {}); +} \ No newline at end of file -- Gitblit v1.9.3