Liuyi
2024-11-23 4a0caa2a9251457f0b5a9c73bffdf2c4b5e1e1d8
添加运维登录页
已修改15个文件
已删除12个文件
已添加6个文件
610 ■■■■ 文件已修改
App.vue 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/index.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/login/index.vue 267 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/pointsMall/pointsExchangeRecord/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/pointsMall/pointsGetRecord/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/userInfo/index.vue 115 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/btn.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/close_pwd.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/content-bg.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/eye.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/input1.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/loginbg.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/open_pwd.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/pay.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/switchto.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/top_bg.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/login/wx.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/app.js 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/app.json 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/common/assets.js 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/common/vendor.js 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/addCard/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/address/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/index/index.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/login/btn.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/login/content-bg.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/login/eye.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/login/input1.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/login/loginbg.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/login/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/login/pay.png 补丁 | 查看 | 原始文档 | blame | 历史
App.vue
@@ -1,35 +1,35 @@
<script setup>
    import { onLaunch, onShow, onHide } from "@dcloudio/uni-app";
    import { wxLoginApi } from './api/index.js'
    // import { wxLoginApi } from './api/index.js'
    
    //用户打开小程序默认授权
    function wxLogin(){
        // uni.removeStorageSync('openId');
        if(!uni.getStorageSync('openId')){
            wx.login({
                success:async (res1)=>{
                    //存储微信登录的code,调用后端接口传递code参数,返回openid(也就是userId)存储到本地,通过判断本地是否存在openId,存在表示已登录
                    uni.setStorageSync('code',res1.code)
                    await wxLoginApi({code:res1.code}).then((res2) =>{
                        if(res2.code == 200){
                            uni.setStorageSync('openId',res2.data.userId)
                            uni.setStorageSync('token',res2.data.token)
                        }else{
                            console.log('登录接口调用失败')
                        }
                  })
                },
                fail:(e) =>{
                    uni.showToast({
                        title: '微信登录失败,请退出重试!',
                        duration: 2000,
                        icon:'fail'
                    });
                    console.log(e)
                }
            })
        }
    }
    // //用户打开小程序默认授权
    // function wxLogin(){
    //     // uni.removeStorageSync('openId');
    //     if(!uni.getStorageSync('openId')){
    //         wx.login({
    //             success:async (res1)=>{
    //                 //存储微信登录的code,调用后端接口传递code参数,返回openid(也就是userId)存储到本地,通过判断本地是否存在openId,存在表示已登录
    //                 uni.setStorageSync('code',res1.code)
    //                 await wxLoginApi({code:res1.code}).then((res2) =>{
    //                     if(res2.code == 200){
    //                         uni.setStorageSync('openId',res2.data.userId)
    //                         uni.setStorageSync('token',res2.data.token)
    //                     }else{
    //                         console.log('登录接口调用失败')
    //                     }
    //               })
    //             },
    //             fail:(e) =>{
    //                 uni.showToast({
    //                     title: '微信登录失败,请退出重试!',
    //                     duration: 2000,
    //                     icon:'fail'
    //                 });
    //                 console.log(e)
    //             }
    //         })
    //     }
    // }
    // //申请获取用户位置权限
    // let userLocation = {
    //     lat:'',
@@ -97,15 +97,9 @@
    //     }
    // }
    onLaunch(async() => {
        await wxLogin()
        // await wxLogin()
        // await getUserLocation()
        console.log('进入项目启动页APP.vue了')
    });
    onShow(() => {
      console.log("App Show");
    });
    onHide(() => {
      console.log("App Hide");
        console.log('进入APP.vue')
    });
</script>
api/index.js
@@ -110,7 +110,7 @@
export function rechargeApi(data){
    return request('/rechargeRecords/fees',data,'POST')
}
//积分相关-----------------------------------------------
//积分相关------------------------------------------------------------------------------------------------------------------------
//积分获取明细
export function pointsSearchApi(data){
    return request('/userIntegralAcquire/search',data,'POST')
@@ -140,6 +140,11 @@
export function getRuleDetailApi(data){
    return request('/userIntegralRuleDetail/search',data,'POST')
}
//运维平台-----------------------------------------------------------------------------------------------------------------------------
//运维平台
export function adminLoginApi(data){
    return request('/admin/user/login',data,'POST')
}
pages.json
@@ -1,6 +1,12 @@
{
    "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
        {
            "path" : "pages/login/index",
            "style": {
                "navigationStyle":"custom"
            }
        },
        {
            "path": "pages/index/index",
            "style": {
                "navigationStyle":"custom"
@@ -173,6 +179,13 @@
            "style": {
                "navigationStyle":"custom"
            }
        },
        //运维平台-------------------------------------------------------------------------------------------------------------------------
        {
            "path" : "pages/adminPlatform/home",
            "style": {
                "navigationStyle":"custom"
            }
        }
    ],
    "globalStyle": {
pages/login/index.vue
对比新文件
@@ -0,0 +1,267 @@
<script setup>
    import { wxLoginApi,adminLoginApi } from '../../api/index.js'
    import { onMounted,ref } from 'vue'
    const loginType = ref(1) //用户登录选项,1:微信登录,0:管理员登录(账号密码)
    function changeLoginType(){
        loginType.value = loginType.value == 1 ? 0 : ( loginType.value == 0 ? 1 : '')
    }
    //进入页面判断是否存在openid,存在直接跳转首页
    onMounted(() =>{
        if(uni.getStorageSync('openId') && uni.getStorageSync('token')){
            console.log('存在openId,进入首页')
            uni.redirectTo({
                url:'/pages/index/index'
            })
        }
    })
    //用户点击微信登录默认授权
    function wxLogin(){
        // uni.removeStorageSync('openId');
        if(!uni.getStorageSync('openId') || !uni.getStorageSync('token')){
            wx.login({
                success:async (res1)=>{
                    //存储微信登录的code,调用后端接口传递code参数,返回openid(也就是userId)存储到本地,通过判断本地是否存在openId,存在表示已登录
                    uni.setStorageSync('code',res1.code)
                    await wxLoginApi({code:res1.code}).then((res2) =>{
                        console.log('微信登录响应',res2)
                        if(res2.code == 200){
                            uni.redirectTo({
                                url:'/pages/index/index'
                            })
                            uni.setStorageSync('openId',res2.data.userId)
                            uni.setStorageSync('token',res2.data.token)
                        }else{
                            uni.showToast({
                                title:'登录失败',
                                icon:'none'
                            })
                        }
                  })
                },
                fail:(e) =>{
                    uni.showToast({
                        title: '微信登录失败,请退出重试!',
                        duration: 2000,
                        icon:'fail'
                    });
                }
            })
        }
    }
    //管理员登录
    const form = ref({userName:'',password:''})
    const pwdType = ref('password')
    function changePwdType(str){
        pwdType.value = str == 'pwd' ? 'text' : ( str == 'text' ? 'password' : 'text')
    }
    async function adminLogin(){
        uni.redirectTo({
                    url:'/pages/adminPlatform/home'
                })
        // await adminLoginApi(form.value).then((res) =>{
        // console.log('管理员登录响应',res)
        //     if(res.code == 200){
        //         uni.redirectTo({
        //             url:'/pages/adminPlatform/home'
        //         })
        //     }
        // })
    }
</script>
<template>
    <view class="container">
        <view class="content">
            <view class="top" style="background-image:url('../../static/images/login/top_bg.png')">
                <view class="top--title">
                    <image class="logo" src="../../static/images/login/logo.png "></image>
                    <view class="text">清源直饮水运维平台</view>
                </view>
            </view>
            <view class="login-text">
                <text class="text1">欢迎登录</text>
                <text class="text2">Welcome to login</text>
            </view>
            <view class="login-box">
                <!-- 微信登录 -->
                <view v-if="loginType == 1" class="wx-login" @click="wxLogin">
                    <text>—————&nbsp;&nbsp;微信登录&nbsp;&nbsp;—————</text>
                    <image class="wx-img" src="../../static/images/login/wx.png"></image>
                </view>
                <!-- 账号密码登录 -->
                <view v-if="loginType == 0" class="admin-login">
                    <view class="login-form">
                        <text class="form-title">账号密码登录</text>
                        <view class="form-box">
                            <view class="input-box">
                                <input class="input" v-model="form.userName" focus placeholder="请输入账号" maxlength="20"/>
                            </view>
                            <view class="input-box">
                                <input class="input" v-model="form.password" placeholder="请输入密码" maxlength="20" :type='pwdType' />
                                <image @click="changePwdType('pwd')" class="eye" v-if="pwdType == 'password'" src="../../static/images/login/close_pwd.png"></image>
                                <image @click="changePwdType('text')" class="eye" v-if="pwdType == 'text'" src="../../static/images/login/open_pwd.png"></image>
                            </view>
                        </view>
                        <view class="login-btn" @click="adminLogin">
                            <view class="btn-text">登&nbsp;&nbsp;录</view>
                        </view>
                    </view>
                </view>
            </view>
            <view class="switch-btn" @click="changeLoginType">
                <text v-if="loginType == 0">切换微信登录</text>
                <text v-if="loginType == 1">切换管理员登录</text>
                <image class="switch-to" src="../../static/images/login/switchto.svg"></image>
            </view>
        </view>
    </view>
</template>
<style lang="scss" scoped>
    .container{
        height:100vh;
        width:100%;
        background-size:auto;
        .content{
            position: relative;
            width:100%;
            height:100%;
            background: linear-gradient( rgba(227, 243, 255, 1) 0%, rgba(228, 252, 254, 1) 50%,rgba(227, 252, 254, 1) 100%);
            .top{
                width:100%;
                display: flex;
                justify-content: center;
                align-items: center;
                height:450rpx;
                background-size:100% auto;
                background-repeat: no-repeat;
                background-position:top;
                .top--title{
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    .logo{
                        width:80rpx;
                        height:80rpx;
                        margin-right:40rpx;
                    }
                    .text{
                        font-size:50rpx;
                        color:rgba(255, 255, 255, 0.9);
                        letter-spacing:8rpx;
                    }
                }
            }
            .login-text{
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column;
                .text1{
                    color: #345DB1;
                    font-size: 56rpx;
                }
                .text2{
                    font-family: Roboto, Roboto;
                    font-weight: 400;
                    font-size: 36rpx;
                    color: #9AB6DD;
                    margin-top:30rpx;
                }
            }
            .login-box{
                margin-top: 20rpx;
                width:100%;
                .wx-login{
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    align-items: center;
                    font-size:30rpx;
                    color: #88a3c5;
                    margin-top:120rpx;
                    .wx-img{
                        margin-top:50rpx;
                        width: 100rpx;
                        height: 100rpx;
                        border-radius:50%;
                    }
                }
                .admin-login{
                    width:75%;
                    height:600rpx;
                    // background: rgba(255,255,255,1);
                    margin: 0 auto;
                    padding: 32rpx ;
                    border-radius:20rpx;
                    box-shadow:0 0 10rpx 1rpx rgba(99, 145, 230, 0.3);
                    margin-top:60rpx;
                    .login-form{
                        width:100%;
                        height: 100%;
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        .form-title{
                            color: #4475b1;
                            font-size:38rpx;
                            letter-spacing: 2rpx;
                        }
                        .form-box{
                            width:100%;
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            align-items: center;
                            .input-box{
                                display: flex;
                                justify-content: space-between;
                                align-items: center;
                                border-bottom:2rpx solid rgba(99, 145, 230, 0.7);
                                margin-top:100rpx;
                                height:80rpx;
                                width:85%;
                                .input{
                                    width:75%;
                                }
                                .eye{
                                    width: 80rpx;
                                    height: 40rpx;
                                }
                            }
                        }
                        .login-btn{
                            margin-top:100rpx;
                            display: flex;
                            justify-content: center;
                            .btn-text{
                                width: 160rpx;
                                height: 65rpx;
                                background-color: #4175d5;
                                border-radius: 15rpx;
                                text-align: center;
                                line-height: 65rpx;
                                color: #fff;
                            }
                        }
                    }
                }
            }
            .switch-btn{
                position: absolute;
                display: flex;
                justify-content: center;
                align-items: center;
                color: #4d77cc;
                font-size:30rpx;
                bottom:200rpx;
                left:50%;
                transform: translate(-50%);
                .switch-to{
                    width:28rpx;
                    height: 28rpx;
                }
            }
        }
    }
</style>
pages/pointsMall/pointsExchangeRecord/index.vue
@@ -1,12 +1,13 @@
<script setup>
    import { onMounted, ref } from 'vue';
    import { pointsExchangeApi } from '../../../api/index.js'
    const userInfo = JSON.parse(uni.getStorageSync('userInfo'))
    
    const pointExchangeList = ref([
        // {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'},
    ])
    async function searchPoints(){
        await pointsExchangeApi({limit:10000,page:1}).then((res) =>{
        await pointsExchangeApi({limit:10000,page:1,userId:userInfo.id}).then((res) =>{
            pointExchangeList.value = res.data.list
        })
    }
pages/pointsMall/pointsGetRecord/index.vue
@@ -1,12 +1,13 @@
<script setup>
    import { onMounted, ref } from 'vue';
    import { pointsSearchApi } from '../../../api/index.js'
    const userInfo = JSON.parse(uni.getStorageSync('userInfo'))
    
    const pointList = ref([
        // {ruleName:'充值',integralAmount:1232,createTime:'2024-11-13 14:46:40'},
    ])
    async function searchPoints(){
        await pointsSearchApi({limit:10000,page:1}).then((res) =>{
        await pointsSearchApi({limit:10000,page:1,userId:userInfo.id}).then((res) =>{
            pointList.value = res.data.list
        })
    }
@@ -17,7 +18,7 @@
</script>
<template>
    <view class="container">
        <point-navbar title='积分明细'></point-navbar>
        <point-navbar title='积分记录'></point-navbar>
        <view class="content">
            <view class="main" v-if="pointList.length > 0">
                <block v-for="(item,index) in pointList">
pages/userInfo/index.vue
@@ -132,6 +132,24 @@
            })
        }
    }
    function loginout(){
        wx.showModal({
          title: '提示',
          content: '您确定要退出登录吗',
          success: function (res) {
            if (res.confirm) {//点击确定
              console.log('用户点击确定')
              uni.setStorageSync('token', '');//将token置空
              uni.setStorageSync('openId', '');//将openId置空
              uni.redirectTo({
                url: '/pages/login/index',//跳去登录页
              })
            } else {//这里是点击了取消以后
              console.log('用户点击取消')
            }
          }
        })
      }
</script>
<template>
    <view class="container">
@@ -177,10 +195,15 @@
                        </view>
                    </view>
                </view>
                <view class="edit-box">
                    <view v-if="!isEdit" @click="edit()" class="subBtn">修改</view>
                    <view v-if="isEdit" @click="cancel()" class="btn btn1">取消</view>
                    <view v-if="isEdit" @click="submitEdit()" class="btn btn2">确认修改</view>
                </view>
            </view>
            <view v-if="!isEdit" @click="edit()" class="subBtn">修改</view>
            <view v-if="isEdit" @click="cancel()" class="btn btn1">取消</view>
            <view v-if="isEdit" @click="submitEdit()" class="btn btn2">确认修改</view>
            <view class="login-out" @click="loginout">
                <view class="login-out-btn">退出登录</view>
            </view>
        </view>
    </view>
</template>
@@ -207,6 +230,8 @@
            // }
            .info-box{
                width: 100%;
                background: #FFFFFF;
                height:85%;
                //该页面公用input样式
                input{
                    border-radius:5rpx;
@@ -303,45 +328,67 @@
                    }
                }
            }
            .subBtn{
                width: 686rpx;
                height: 98rpx;
                background:#5EA1FA;
                border-radius:50rpx;
                text-align: center;
                line-height: 98rpx;
                letter-spacing:3rpx;
                font-weight: 300;
                font-size: 36rpx;
                color: #FFFFFF;
            .edit-box{
                margin-top: 20rpx;
                width:100%;
                height:100rpx;
                display: flex;
                align-items: center;
                justify-content: center;
                // background: linear-gradient(to right,#FFFFFF,#E8EFFF);
                .subBtn{
                    width:200rpx;
                    height:60rpx;
                    background:#fff;
                    border: 1rpx solid rgba(102, 148, 255, 0.3);
                    border-radius:32rpx;
                    text-align: center;
                    line-height: 60rpx;
                    letter-spacing:3rpx;
                    font-weight: 300;
                    font-size: 36rpx;
                    color: #5EA1FA;
                }
                .btn{
                    width:200rpx;
                    height:60rpx;
                        border-radius: 32rpx;
                        text-align: center;
                        line-height: 60rpx;
                        letter-spacing:3rpx;
                        font-weight: 300;
                        font-size: 36rpx;
                }
                .btn1{
                    color:#5EA1FA;
                    background:#FFFFFF;
                    border: 1rpx solid rgba(102, 148, 255, 0.3);
                    margin-right:50rpx;
                }
                .btn2{
                    color: #FFFFFF;
                    background:rgba(94, 161, 250, 0.8);
                }
            }
            .login-out{
                width:100%;
                height: 70rpx;
                position: absolute;
                bottom:100rpx;
                left:32rpx;
            }
            .btn{
                    width: 200rpx;
                    height: 70rpx;
                display: flex;
                justify-content: center;
                align-items: center;
                .login-out-btn{
                    width:50%;
                    border-radius: 32rpx;
                    text-align: center;
                    line-height: 70rpx;
                    letter-spacing:3rpx;
                    font-weight: 300;
                    font-size: 36rpx;
                    position: absolute;
                    bottom:100rpx;
            }
            .btn1{
                color:#5EA1FA;
                background:#FFFFFF;
                position: absolute;
                left:130rpx;
                border:2rpx solid #5EA1FA;
            }
            .btn2{
                color: #FFFFFF;
                background:#5EA1FA;
                position: absolute;
                right:130rpx;
                    background: rgba(245, 108, 108, 0.9);
                    color: #FFFFFF;
                }
            }
        }
    }
static/images/login/btn.png
Binary files differ
static/images/login/close_pwd.png
static/images/login/content-bg.png
Binary files differ
static/images/login/eye.png
Binary files differ
static/images/login/input1.png
Binary files differ
static/images/login/loginbg.png
Binary files differ
static/images/login/logo.png

static/images/login/open_pwd.png
static/images/login/pay.png
Binary files differ
static/images/login/switchto.svg
对比新文件
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1732343080932" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5909" width="16" height="16" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M302.491 1010.426l472.021-454.282a46.91 46.91 0 0 0 13.854-9.896c16.664-17.315 16.137-44.86-1.178-61.525L305.49 21.129c-18.19-17.505-46.962-17.505-65.152 0-0.4 0.386-0.793 0.778-1.178 1.179-16.664 17.315-16.137 44.86 1.178 61.525l447.312 430.502-450.312 433.388c-17.315 16.664-17.842 44.21-1.178 61.525 0.385 0.4 0.778 0.793 1.178 1.178 18.19 17.506 46.963 17.506 65.152 0z" fill="#4d77cc" p-id="5910"></path></svg>
static/images/login/top_bg.png
static/images/login/wx.png
unpackage/dist/dev/mp-weixin/app.js
@@ -1,8 +1,8 @@
"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/login/index.js";
  "./pages/index/index.js";
  "./pages/addCard/index.js";
  "./pages/userInfo/index.js";
@@ -32,44 +32,13 @@
  "./pages/pointsMall/pointsExchangeRecord/index.js";
  "./pages/pointsMall/pointsGoodsDetail/index.js";
  "./pages/pointsMall/pointsrule/index.js";
  "./pages/adminPlatform/home.js";
}
const _sfc_main = {
  __name: "App",
  setup(__props) {
    function wxLogin() {
      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) => {
              if (res2.code == 200) {
                common_vendor.index.setStorageSync("openId", res2.data.userId);
                common_vendor.index.setStorageSync("token", res2.data.token);
              } else {
                console.log("登录接口调用失败");
              }
            });
          },
          fail: (e) => {
            common_vendor.index.showToast({
              title: "微信登录失败,请退出重试!",
              duration: 2e3,
              icon: "fail"
            });
            console.log(e);
          }
        });
      }
    }
    common_vendor.onLaunch(async () => {
      await wxLogin();
      console.log("进入项目启动页APP.vue了");
    });
    common_vendor.onShow(() => {
      console.log("App Show");
    });
    common_vendor.onHide(() => {
      console.log("App Hide");
      console.log("进入APP.vue");
    });
    return () => {
    };
unpackage/dist/dev/mp-weixin/app.json
@@ -1,5 +1,6 @@
{
  "pages": [
    "pages/login/index",
    "pages/index/index",
    "pages/addCard/index",
    "pages/userInfo/index",
@@ -28,7 +29,8 @@
    "pages/pointsMall/pointsGetRecord/index",
    "pages/pointsMall/pointsExchangeRecord/index",
    "pages/pointsMall/pointsGoodsDetail/index",
    "pages/pointsMall/pointsrule/index"
    "pages/pointsMall/pointsrule/index",
    "pages/adminPlatform/home"
  ],
  "window": {
    "navigationStyle": "custom"
unpackage/dist/dev/mp-weixin/common/assets.js
@@ -1,4 +1,9 @@
"use strict";
const _imports_0$d = "/static/images/login/logo.png";
const _imports_1$8 = "/static/images/login/wx.png";
const _imports_2$1 = "/static/images/login/close_pwd.png";
const _imports_3$2 = "/static/images/login/open_pwd.png";
const _imports_4$2 = "/static/images/login/switchto.svg";
const _imports_0$c = "/static/images/index/head.png";
const _imports_1$7 = "/static/images/index/back.png";
const _imports_0$b = "/static/images/index/card11.png";
@@ -40,35 +45,40 @@
const _imports_0 = "/static/images/other/navBack.svg";
exports._imports_0 = _imports_0;
exports._imports_0$1 = _imports_0$2;
exports._imports_0$10 = _imports_0$4;
exports._imports_0$11 = _imports_0$3;
exports._imports_0$12 = _imports_0$1;
exports._imports_0$2 = _imports_0$b;
exports._imports_0$3 = _imports_0$c;
exports._imports_0$4 = _imports_0$a;
exports._imports_0$5 = _imports_0$9;
exports._imports_0$6 = _imports_0$8;
exports._imports_0$7 = _imports_0$7;
exports._imports_0$8 = _imports_0$6;
exports._imports_0$9 = _imports_0$5;
exports._imports_1 = _imports_1$6;
exports._imports_1$1 = _imports_1$7;
exports._imports_1$2 = _imports_1$5;
exports._imports_1$3 = _imports_1$4;
exports._imports_1$4 = _imports_1$3;
exports._imports_1$5 = _imports_1$2;
exports._imports_1$6 = _imports_1$1;
exports._imports_1$7 = _imports_1;
exports._imports_0$10 = _imports_0$5;
exports._imports_0$11 = _imports_0$4;
exports._imports_0$12 = _imports_0$3;
exports._imports_0$13 = _imports_0$1;
exports._imports_0$2 = _imports_0$d;
exports._imports_0$3 = _imports_0$b;
exports._imports_0$4 = _imports_0$c;
exports._imports_0$5 = _imports_0$a;
exports._imports_0$6 = _imports_0$9;
exports._imports_0$7 = _imports_0$8;
exports._imports_0$8 = _imports_0$7;
exports._imports_0$9 = _imports_0$6;
exports._imports_1 = _imports_1$8;
exports._imports_1$1 = _imports_1$6;
exports._imports_1$2 = _imports_1$7;
exports._imports_1$3 = _imports_1$5;
exports._imports_1$4 = _imports_1$4;
exports._imports_1$5 = _imports_1$3;
exports._imports_1$6 = _imports_1$2;
exports._imports_1$7 = _imports_1$1;
exports._imports_1$8 = _imports_1;
exports._imports_10 = _imports_10;
exports._imports_11 = _imports_11;
exports._imports_12 = _imports_12;
exports._imports_13 = _imports_13;
exports._imports_14 = _imports_14;
exports._imports_2 = _imports_2;
exports._imports_3 = _imports_3$1;
exports._imports_3$1 = _imports_3;
exports._imports_4 = _imports_4$1;
exports._imports_4$1 = _imports_4;
exports._imports_2 = _imports_2$1;
exports._imports_2$1 = _imports_2;
exports._imports_3 = _imports_3$2;
exports._imports_3$1 = _imports_3$1;
exports._imports_3$2 = _imports_3;
exports._imports_4 = _imports_4$2;
exports._imports_4$1 = _imports_4$1;
exports._imports_4$2 = _imports_4;
exports._imports_5 = _imports_5$1;
exports._imports_5$1 = _imports_5;
exports._imports_6 = _imports_6;
unpackage/dist/dev/mp-weixin/common/vendor.js
@@ -7908,10 +7908,15 @@
  !isInSSRComponentSetup && injectHook(lifecycle, hook, target);
};
const onShow = /* @__PURE__ */ createHook(ON_SHOW);
const onHide = /* @__PURE__ */ createHook(ON_HIDE);
const onLaunch = /* @__PURE__ */ createHook(ON_LAUNCH);
const onLoad = /* @__PURE__ */ createHook(ON_LOAD);
const pages = [
  {
    path: "pages/login/index",
    style: {
      navigationStyle: "custom"
    }
  },
  {
    path: "pages/index/index",
    style: {
@@ -8082,6 +8087,12 @@
  },
  {
    path: "pages/pointsMall/pointsrule/index",
    style: {
      navigationStyle: "custom"
    }
  },
  {
    path: "pages/adminPlatform/home",
    style: {
      navigationStyle: "custom"
    }
@@ -10871,7 +10882,6 @@
exports.initVueI18n = initVueI18n;
exports.n = n$1;
exports.o = o$1;
exports.onHide = onHide;
exports.onLaunch = onLaunch;
exports.onLoad = onLoad;
exports.onMounted = onMounted;
unpackage/dist/dev/mp-weixin/pages/addCard/index.js
@@ -92,7 +92,7 @@
        b: form.value.waterCardNumber,
        c: common_vendor.o(($event) => form.value.waterCardNumber = $event.detail.value),
        d: common_vendor.o(($event) => toScan()),
        e: common_assets._imports_0$4,
        e: common_assets._imports_0$5,
        f: common_vendor.p({
          label: "卡号:",
          name: "waterCardNumber"
unpackage/dist/dev/mp-weixin/pages/address/index.js
@@ -88,8 +88,8 @@
            h: common_vendor.o(($event) => deleteAddress(item.id))
          };
        }),
        c: common_assets._imports_0$7,
        d: common_assets._imports_1$4,
        c: common_assets._imports_0$8,
        d: common_assets._imports_1$5,
        e: common_vendor.o(($event) => navToAdd())
      };
    };
unpackage/dist/dev/mp-weixin/pages/index/index.js
@@ -281,13 +281,13 @@
      }, cardInfo.value.headImg ? {
        b: common_vendor.unref(config_baseUrl.BASE_URL) + "/upload" + cardInfo.value.headImg
      } : {
        c: common_assets._imports_0$3
        c: common_assets._imports_0$4
      }, {
        d: common_vendor.t(cardInfo.value.userName),
        e: common_vendor.o(($event) => navTo("/pages/userInfo/index")),
        f: common_vendor.o(($event) => navTo("/pages/userInfo/index")),
        g: common_assets._imports_1$1,
        h: common_assets._imports_0$2,
        g: common_assets._imports_1$2,
        h: common_assets._imports_0$3,
        i: isShareCard.value
      }, isShareCard.value ? {
        j: common_vendor.t(cardInfo.value.waterCardNumber)
@@ -296,7 +296,7 @@
      }, !isShareCard.value ? common_vendor.e({
        l: isVip.value
      }, isVip.value ? {
        m: common_assets._imports_3
        m: common_assets._imports_3$1
      } : {}, {
        n: isVip.value
      }, isVip.value ? {} : {}, {
@@ -316,7 +316,7 @@
      } : {}, {
        w: !isVip.value
      }, !isVip.value ? {
        x: common_assets._imports_4,
        x: common_assets._imports_4$1,
        y: common_vendor.o(($event) => navTo("/pages/addCard/index"))
      } : {}, {
        z: isVip.value
@@ -326,7 +326,7 @@
        B: topHeight.value + "rpx",
        C: common_assets._imports_5,
        D: common_vendor.o(upGrade),
        E: common_assets._imports_1,
        E: common_assets._imports_1$1,
        F: common_vendor.o(($event) => navTo("/pages/facilityList/index")),
        G: common_assets._imports_7,
        H: common_vendor.o(($event) => toScan()),
unpackage/dist/dev/mp-weixin/static/images/login/btn.png
Binary files differ
unpackage/dist/dev/mp-weixin/static/images/login/content-bg.png
Binary files differ
unpackage/dist/dev/mp-weixin/static/images/login/eye.png
Binary files differ
unpackage/dist/dev/mp-weixin/static/images/login/input1.png
Binary files differ
unpackage/dist/dev/mp-weixin/static/images/login/loginbg.png
Binary files differ
unpackage/dist/dev/mp-weixin/static/images/login/logo.png

unpackage/dist/dev/mp-weixin/static/images/login/pay.png
Binary files differ