29 files modified
2 files added
| | |
| | | url: '/pages/login/login' |
| | | }) |
| | | return false |
| | | |
| | | |
| | | } |
| | | uni.setStorageSync('Config', JSON.stringify(res.data)) |
| | | |
| | | |
| | | // #ifdef APP-PLUS |
| | | //机型 |
| | | let platform = uni.getSystemInfoSync().platform.toLocaleLowerCase() |
| | |
| | | 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 |
| | |
| | | .noDataBtn{ |
| | | width: 240upx !important; |
| | | margin: 50upx auto; |
| | | background-color: #4766FE; |
| | | background-color: #37AA25; |
| | | color: #ffffff !important; |
| | | letter-spacing: 10upx; |
| | | height: 70upx; |
| | |
| | | </style> |
| | | <style lang="scss"> |
| | | @import '@/uni_modules/uv-ui-tools/index.scss'; |
| | | </style> |
| | | </style> |
| | |
| | | }, |
| | | { |
| | | "path" : "pages/cates/cates", |
| | | "style" : |
| | | "style" : |
| | | { |
| | | "navigationStyle":"custom", |
| | | "navigationBarTitleText": "分类" |
| | |
| | | }, |
| | | { |
| | | "path" : "pages/my/my", |
| | | "style" : |
| | | "style" : |
| | | { |
| | | "navigationStyle":"custom", |
| | | "navigationBarTitleText": "我的", |
| | | "navigationBarBackgroundColor": "#e3b400", |
| | | "navigationBarBackgroundColor": "#37AA25", |
| | | "app-plus": { |
| | | "titleNView": false |
| | | } |
| | |
| | | }, |
| | | { |
| | | "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": "商品详情" |
| | |
| | | }, |
| | | { |
| | | "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": "商品搜索" |
| | |
| | | }, |
| | | { |
| | | "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": "钱包" |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | 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(); //返回指定日期的年份 |
| | |
| | | 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; |
| | | }, |
| | |
| | | <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)"> |
| | |
| | | <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)"> |
| | |
| | | this.$util.goPages('/pages/addBank/addBank') |
| | | } else { |
| | | this.$util.goPages('/pages/addBank/addBank?backUrl=' + this.backUrl) |
| | | } |
| | | } |
| | | }, |
| | | //选择银行 |
| | | setBankCookie (e) { |
| | |
| | | data() { |
| | | return { |
| | | indicatorDots: true, |
| | | indicatorColor: '#e3b400', |
| | | indicatorColor: '#37AA25', |
| | | indicatorActiveColor: '#ffffff', |
| | | autoplay: true, |
| | | interval: 3000, |
| | |
| | | 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 |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | <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"> |
| | |
| | | staHeight: 0, |
| | | paddingHeight: 0, |
| | | indicatorDots: true, |
| | | indicatorColor: '#e3b400', |
| | | indicatorColor: '#37AA25', |
| | | indicatorActiveColor: '#ffffff', |
| | | autoplay: true, |
| | | interval: 3000, |
| | |
| | | goodsData: [], |
| | | cateNavList: [ |
| | | { |
| | | title: '精选', |
| | | desc: '猜你喜欢', |
| | | skey: '服装鞋包', |
| | | catesId: 15, |
| | | },{ |
| | | title: '人气', |
| | | desc: '好物精选', |
| | | skey: '家用电器', |
| | | catesId: 2, |
| | | },{ |
| | | title: '精选', |
| | | desc: '猜你喜欢', |
| | | skey: '服装鞋包', |
| | | catesId: 15, |
| | | },{ |
| | | title: '休闲', |
| | | desc: '天天低价', |
| | | skey: '美妆个护', |
| | |
| | | <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"> |
| | |
| | | <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> |
| | |
| | | phone: '', |
| | | code: '', |
| | | pass: '', |
| | | loginType: 1, |
| | | loginType: 2, |
| | | }, |
| | | phoneReg: /^\d{11}$/, |
| | | backUrl: '', |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | }, |
| | | 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 |
| | | } |
| | | }, |
| | |
| | | changeAuth () { |
| | | //这里是权限通过后执行自己的代码逻辑 |
| | | if(uni.getSystemInfoSync().platform !='ios'){ |
| | | this.$refs['camears'].open() |
| | | this.$refs['camears'].open() |
| | | } |
| | | this.chooseImg() |
| | | }, |
| | |
| | | }, |
| | | setImg(){ |
| | | if(uni.getSystemInfoSync().platform != 'ios'){ |
| | | this.$refs['authpup'].open() |
| | | this.$refs['authpup'].open() |
| | | }else{ |
| | | this.chooseImg() |
| | | }//调起自定义权限目的弹框,具体可看示例里面很详细 |
| | |
| | | <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> |
| | |
| | | width: 90%; |
| | | margin: 50upx auto 30upx; |
| | | height: 90upx; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | color: #ffffff; |
| | | letter-spacing: 10upx; |
| | | display: flex; |
| | |
| | | } |
| | | .uni-list-cell{ |
| | | justify-content: flex-start; |
| | | } |
| | | } |
| | |
| | | bottom: 0; |
| | | z-index: 99; |
| | | height: 90upx; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | color: #ffffff; |
| | | letter-spacing: 10upx; |
| | | display: flex; |
| | |
| | | align-items: center; |
| | | font-weight: 700; |
| | | font-size: 28upx; |
| | | } |
| | | } |
| | |
| | | bottom: 0; |
| | | z-index: 99; |
| | | height: 90upx; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | color: #ffffff; |
| | | letter-spacing: 10upx; |
| | | display: flex; |
| | |
| | | align-items: center; |
| | | font-weight: 700; |
| | | font-size: 28upx; |
| | | } |
| | | } |
| | |
| | | font-size: 26upx; |
| | | } |
| | | .cartsBtn{ |
| | | background: #e3b400; |
| | | background: #37AA25; |
| | | color: #ffffff; |
| | | padding: 14upx 25upx; |
| | | border-radius: 30upx; |
| | |
| | | |
| | | .active{ |
| | | background-color: #ffffff; |
| | | color: #e3b400 !important; |
| | | color: #37AA25 !important; |
| | | font-weight: 700; |
| | | } |
| | |
| | | .collect-title{ |
| | | position: fixed; |
| | | left: 0; |
| | | top: 44px; |
| | | top: 0px; |
| | | z-index: 99; |
| | | width: 100%; |
| | | background-color: #ebebeb; |
| | |
| | | display: block; |
| | | margin: 30upx auto; |
| | | } |
| | | .edu-view{ |
| | | .edu-view{ |
| | | padding: 40upx 0 10upx; |
| | | width: 560upx; |
| | | border-radius: 50upx; |
| | |
| | | width: 50%; |
| | | margin: -20upx auto; |
| | | height: 80upx; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | color: #ffffff; |
| | | letter-spacing: 10upx; |
| | | display: flex; |
| | |
| | | margin: 30upx auto 30upx; |
| | | z-index: 99; |
| | | height: 90upx; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | color: #ffffff; |
| | | letter-spacing: 10upx; |
| | | display: flex; |
| | |
| | | align-items: center; |
| | | font-weight: 700; |
| | | font-size: 28upx; |
| | | } |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | border-radius: 50upx; |
| | | } |
| | | .authBtn .active{ |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | } |
| | | |
| | | .del{ |
| | |
| | | color: #409EFF; |
| | | background-color: #f3f3f3; |
| | | border-radius: 10upx; |
| | | } |
| | | } |
| | |
| | | margin: 30upx auto 30upx; |
| | | z-index: 99; |
| | | height: 90upx; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | color: #ffffff; |
| | | letter-spacing: 10upx; |
| | | display: flex; |
| | |
| | | align-items: center; |
| | | } |
| | | .h-logo{ |
| | | width: 154rpx; |
| | | height: 52rpx; |
| | | width: 118rpx; |
| | | height: 38rpx; |
| | | } |
| | | .hLogo-1{ |
| | | margin: 0 30upx; |
| | |
| | | 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; |
| | |
| | | border-radius: 50upx; |
| | | } |
| | | .loginBtn .active{ |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | } |
| | | |
| | | .login-type{ |
| | |
| | | content: ''; |
| | | height: 1px; |
| | | width: 100%; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | left: 0; |
| | | bottom: -10px; |
| | | } |
| | |
| | | position: absolute; |
| | | right: 30upx; |
| | | top: 30%; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | color: #ffffff; |
| | | display: flex; |
| | | justify-content: center; |
| | |
| | | font-size: 26upx; |
| | | border-radius: 16upx; |
| | | padding: 16upx 40upx; |
| | | } |
| | | } |
| | |
| | | .order-tab{ |
| | | position: fixed; |
| | | left: 0; |
| | | top: 44px; |
| | | top: 0px; |
| | | z-index: 99; |
| | | display: flex; |
| | | height: 80upx; |
| | |
| | | content: ''; |
| | | width: 50%; |
| | | height: 3upx; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | left: 25%; |
| | | bottom: 0; |
| | | } |
| | |
| | | margin-right: 30upx; |
| | | } |
| | | .payOrder{ |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | color: #ffffff; |
| | | border-radius: 10upx; |
| | | padding: 10upx 30upx; |
| | |
| | | left: 0; |
| | | width: 100%; |
| | | bottom: 0; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | height: 88upx; |
| | | color: #ffffff; |
| | | text-align: center; |
| | |
| | | line-height: 50upx; |
| | | height: 50upx; |
| | | color: #ffffff; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | padding: 5upx 20upx; |
| | | border-radius: 20upx; |
| | | } |
| | |
| | | line-height: 50upx; |
| | | height: 50upx; |
| | | color: #ffffff; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | padding: 5upx 20upx; |
| | | border-radius: 20upx; |
| | | } |
| | |
| | | margin: 30upx auto 30upx; |
| | | z-index: 99; |
| | | height: 90upx; |
| | | background-color: #e3b400; |
| | | background-color: #37AA25; |
| | | color: #ffffff; |
| | | letter-spacing: 10upx; |
| | | display: flex; |
| | |
| | | } |
| | | .blue{ |
| | | color: #7e94bd; |
| | | } |
| | | } |