From 13189a56e6f2f17e3a6c5f5e3aa0cd381a761897 Mon Sep 17 00:00:00 2001 From: Lj <1095098147@qq.com> Date: Tue, 3 Jun 2025 02:12:50 +0800 Subject: [PATCH] =?UTF-8?q?=E2=80=9C=E6=96=B0=E5=A2=9E=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E5=88=B7=E6=96=B0,=E9=BB=98=E8=AE=A4=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 23 + api/api.js | 4 +- api/config.js | 33 +- api/model/index.js | 54 +- pages.json | 14 + pages/baoyou-city/baoyou-city.vue | 8 +- pages/component/home.vue | 100 ++- pages/component/my.vue | 71 +- pages/component/recycle.vue | 296 +++----- pages/index/index.vue | 25 +- pages/manager/inspect-result.vue | 9 + pages/manager/inspect.vue | 13 + pages/manager/order-detail.vue | 51 +- pages/manager/order.vue | 93 ++- pages/manager/staff-detail.vue | 12 + pages/manager/staff.vue | 19 +- pages/manager/tui-apply-detail.vue | 12 + pages/manager/tui-detail.vue | 12 + pages/manager/tui.vue | 12 + pages/manager/user-detail.vue | 12 + pages/manager/user.vue | 12 + pages/subcomponent/about.vue | 8 + pages/subcomponent/add.vue | 8 + pages/subcomponent/admin_customer.vue | 42 +- pages/subcomponent/admin_edit_profile.vue | 8 + pages/subcomponent/admin_faq.vue | 460 ++++++----- pages/subcomponent/apply.vue | 8 + pages/subcomponent/brand.vue | 8 + pages/subcomponent/detail.vue | 8 + pages/subcomponent/edit.vue | 8 + pages/subcomponent/edit_profile.vue | 339 +++++---- pages/subcomponent/faq.vue | 12 +- pages/subcomponent/inspection-report.vue | 373 +++++++++ pages/subcomponent/inspection.vue | 8 + pages/subcomponent/order.vue | 29 +- pages/subcomponent/order_edit.vue | 8 + pages/subcomponent/orders.vue | 14 +- pages/subcomponent/pickup.vue | 24 +- pages/subcomponent/promo-qrcode.vue | 195 +++++ pages/subcomponent/promotion.vue | 1049 ++++++++++++++------------ pages/subcomponent/promotion_info.vue | 28 +- pages/subcomponent/recycle_rules.vue | 11 +- pages/subcomponent/select.vue | 12 +- pages/subcomponent/upgrad.vue | 568 ++++++-------- pages/subcomponent/wallet.vue | 8 + pages/subcomponent/withdraw.vue | 8 + wxcomponents/privacy-popup/privacy-popup.vue | 96 ++- 47 files changed, 2640 insertions(+), 1585 deletions(-) create mode 100644 pages/subcomponent/inspection-report.vue create mode 100644 pages/subcomponent/promo-qrcode.vue diff --git a/App.vue b/App.vue index 499434e..ea700e1 100644 --- a/App.vue +++ b/App.vue @@ -37,6 +37,29 @@ display: flex; justify-content: center; } + /* 每个页面公共css */ + /* 解决小程序和app滚动条的问题 */ + + ::-webkit-scrollbar { + display: none; + width: 0 !important; + height: 0 !important; + -webkit-appearance: none; + background: transparent; + color: transparent; + } + + /* 解决H5的问题 */ + + uni-scroll-view .uni-scroll-view::-webkit-scrollbar { + display: none; + width: 0 !important; + height: 0 !important; + -webkit-appearance: none; + background: transparent; + color: transparent; + } + diff --git a/api/api.js b/api/api.js index 687b47f..f1620a9 100644 --- a/api/api.js +++ b/api/api.js @@ -57,10 +57,10 @@ export function api(key, data = {}, callback, loadingTitle) { } limit.set(req.url, Date.now()) } - console.log(!uni.getStorageSync('token'),'status'); + // console.log(!uni.getStorageSync('token'),'status'); // 必须登录 if (req.auth && !uni.getStorageSync('token')) { - utils.toLogin() + // utils.toLogin() return Promise.reject(new Error('需要登录')) } diff --git a/api/config.js b/api/config.js index 3deaa39..f59bc35 100644 --- a/api/config.js +++ b/api/config.js @@ -2,38 +2,7 @@ const config = { // getConfig: { url: '/config_common/getConfig', method: 'GET', limit: 500 }, // 其他静态接口 // 获取地址列表 -// getAddressList: { -// url: '/recycle-admin/applet/address/getAddressList', -// method: 'GET', -// limit : 500, -// showLoading : true, -// }, -// // 保存或修改地址 -// saveOrUpdateAddress: { -// url: '/recycle-admin/applet/address/saveOrUpdateAddress', -// method: 'POST', -// auth: true, -// }, -// // 修改默认地址 -// updateDefaultAddress: { -// url: '/recycle-admin/applet/address/updateDefaultAddress', -// method: 'POST', -// auth: true, -// limit : 500, -// showLoading : true, -// }, -// // 获取地址详情 -// getAddressInfo: { -// url: '/recycle-admin/applet/address/getAddressInfo', -// method: 'GET', -// auth: true, -// }, -// //删除地址 -// deleteAddress: { -// url: '/recycle-admin/applet/address/deleteAddress', -// method: 'POST', -// auth: true, -// }, + } diff --git a/api/model/index.js b/api/model/index.js index 3bd6c97..e08f203 100644 --- a/api/model/index.js +++ b/api/model/index.js @@ -3,15 +3,10 @@ const api = { // 获取首页轮播图 getRiceBanner: { - url: '/index_common/getRiceBanner', + url: '/recycle-admin/applet/index/getBanner', method: 'GET', }, - // 获取首页常规产品【废弃】 - // getRiceCommonProductList: { - // url: '/index_common/getRiceCommonProductList', - // method: 'GET', - // }, - // 获取首页跳转图标 + getRiceIconList: { url: '/index_common/getRiceIconList', method: 'GET', @@ -172,41 +167,42 @@ const api = { url: '/index_common/getRiceBlessing', method: 'GET' }, - // 随机获取祝福语 - getRiceBlessingWords: { - url: '/index_common/getRiceBlessingWords', - method: 'GET' + // 查询最近回收商品 + getRecentGoodsList: { + url: '/recycle-admin/applet/index/getRecentGoodsList', + method: 'GET', + auth : false }, - // 根据订单标识修改订单祝福语背景 - updateOrderBlessing: { - url: '/index_common/updateOrderBlessing', - method: 'POST', - auth : true, + // 最近回收 + getQualityReport: { + url: '/recycle-admin/applet/index/getQualityReport', + method: 'GET', + auth : false, limit : 1000, }, - // 1.收礼流程 =》点击收礼 - getGiveShop: { - url: '/index_common/getGiveShop', + // 1.根据id获取对应商品列表 + getGoodsBrandList: { + url: '/recycle-admin/applet/class/getGoodsBrandList', method: 'GET', - auth : true, + auth : false, limit : 1000, }, - // 2.点击抽奖 =》抽奖 - getGiveShopLottery: { - url: '/index_common/getGiveShopLottery', + // 2.根据分类标识获取分类商品列表带分页 + getClassGoodsList: { + url: '/recycle-admin/applet/class/getClassGoodsList', method: 'GET', - auth : true, + auth : false, limit : 1000, }, // 获取我的礼品订单 - getMyGiftOrder: { - url: '/index_common/getMyGiftOrder', + getPricePreviewClassList: { + url: '/recycle-admin/applet/class/getPricePreviewClassList', method: 'GET', - auth : true, + auth : false, }, // 获取我的礼品订单详情 - getMyGiftOrderDetail: { - url: '/index_common/getMyGiftOrderDetail', + getAreaList: { + url: '/recycle-admin/applet/index/getAreaList', method: 'GET', auth : true, }, diff --git a/pages.json b/pages.json index d54704d..29f787e 100644 --- a/pages.json +++ b/pages.json @@ -194,6 +194,20 @@ "navigationStyle": "custom", "enablePullDownRefresh": true } + }, + { + "path": "promo-qrcode", + "style": { + "navigationStyle": "custom", + "enablePullDownRefresh": true + } + }, + { + "path": "inspection-report", + "style": { + "navigationStyle": "custom", + "enablePullDownRefresh": true + } } ] }, diff --git a/pages/baoyou-city/baoyou-city.vue b/pages/baoyou-city/baoyou-city.vue index 2172a9b..e883fff 100644 --- a/pages/baoyou-city/baoyou-city.vue +++ b/pages/baoyou-city/baoyou-city.vue @@ -39,7 +39,8 @@ export default { statusBarHeight: 0, navBarHeight: 88, // 默认 menuButtonInfo: null, - cityList: [] + cityList: [], + bannerTop: 0 // banner距离顶部距离 } }, onLoad() { @@ -56,6 +57,7 @@ export default { } else { this.navBarHeight = 88 // 兜底 } + this.bannerTop = this.statusBarHeight + this.navBarHeight this.$api('getFreeCityList', {}, res => { if (res && res.success && Array.isArray(res.result)) { this.cityList = res.result.filter(item => item.open === 'Y'); @@ -79,7 +81,7 @@ export default { } .nav-bar { - background: #2081ee; + background: #2180ee; position: fixed; top: 0; left: 0; @@ -99,7 +101,7 @@ export default { } .byc-banner { - margin:-120rpx 0 0 0; + margin: 0; // border-radius: 24rpx; overflow: hidden; box-shadow: 0 4rpx 24rpx rgba(60, 167, 250, 0.10); diff --git a/pages/component/home.vue b/pages/component/home.vue index fae014f..a49a632 100644 --- a/pages/component/home.vue +++ b/pages/component/home.vue @@ -40,7 +40,7 @@ 不会下单?联系客服了解回收流程。 - + 联系客服 @@ -77,7 +77,8 @@ - + + {{item.name}} ¥ {{item.price}} /{{item.unit}} @@ -96,7 +97,7 @@ class="record-item" v-for="(item, index) in records" :key="index" - + @tap="goToInspectionReport(item)" > {{item.location}} @@ -166,12 +167,13 @@ export default { return { value:0, processes: [ - { icon: '/static/home/① 在线预约.png', text: '在线预约' }, - { icon: '/static/home/② 快递上门.png', text: '快递上门' }, - { icon: '/static/home/③ 透明质检.png', text: '透明质检' }, - { icon: '/static/home/④ 现金打款.png', text: '现金打款' } + // { icon: '/static/home/① 在线预约.png', text: '在线预约' }, + // { icon: '/static/home/② 快递上门.png', text: '快递上门' }, + // { icon: '/static/home/③ 透明质检.png', text: '透明质检' }, + // { icon: '/static/home/④ 现金打款.png', text: '现金打款' } ], - priceList: [ + priceList: [], + priceListStatic: [ { icon: '/static/home/羽绒服.png', name: '羽绒服', price: '3-10', unit: '件' }, { icon: '/static/home/鞋子.png', name: '鞋子', price: '3-10', unit: '件' }, { icon: '/static/home/包包.png', name: '包包', price: '3-10', unit: '件' }, @@ -179,9 +181,7 @@ export default { { icon: '/static/home/品牌服饰.png', name: '品牌服饰', price: '3-10', unit: '件' }, { icon: '/static/home/T 恤衬衣.png', name: 'T恤衬衫', price: '3-10', unit: '件' }, { icon: '/static/home/羽绒裤.png', name: '羽绒裤', price: '3-10', unit: '件' }, - { icon: '/static/home/儿童羽绒服.png', name: '儿童羽绒服', price: '3-10', unit: '件' }, - { icon: '/static/home/包包.png', name: '包包', price: '3-10', unit: '件' }, - { icon: '/static/home/床被.png', name: '床被', price: '3-10', unit: '件' } + { icon: '/static/home/儿童羽绒服.png', name: '儿童羽绒服', price: '3-10', unit: '件' } ], records: Array(6).fill().map(() => ({ location: '天津市', @@ -243,8 +243,77 @@ export default { }, async onRefresh() { await new Promise(resolve => setTimeout(resolve, 1000)) + }, + getAreaList() { + this.$api('getAreaList', {}, (res) => { + console.log(res,'getAreaList'); + if (res.code == 200 && Array.isArray(res.result)) { + // 按sort升序排序 + const sorted = res.result.slice().sort((a, b) => a.sort - b.sort) + this.processes = sorted.map(item => ({ + icon: item.image, + text: item.title + })) + } + }) + }, + goService(){ + uni.navigateTo({ + url: '/pages/subcomponent/admin_faq' + }) + }, + getPricePreview() { + this.$api('getPricePreviewClassList', {}, res => { + if (res && res.success && Array.isArray(res.result)) { + console.log(res,'getPricePreview'); + // 只取一级分类,按sort升序 + const firstLevel = res.result.filter(item => item.pid === '0').sort((a, b) => a.sort - b.sort) + this.priceList = firstLevel.map(item => { + // 从静态表中找图片和价格 + const staticItem = this.priceListStatic.find(s => s.name.replace(/\s/g, '') === item.title.replace(/\s/g, '')) + console.log({ + icon: staticItem ? staticItem.icon : '', + name: item.title, + price: staticItem ? staticItem.price : '', + unit: '件' + }); + return { + icon: staticItem ? staticItem.icon : '', + name: item.title, + price: staticItem ? staticItem.price : '', + unit: '件' + } + }) + } + }) + }, + getRecentGoods() { + this.$api('getRecentGoodsList', {}, res => { + if (res && res.success && Array.isArray(res.result) && res.result.length > 0) { + // 假设接口字段与records一致 + this.records = res.result + } else { + // 无数据时用模拟数据兜底 + this.records = Array(6).fill().map(() => ({ + location: '天津市', + amount: '50', + userId: '5513' + })) + } + }) + }, + goToInspectionReport(item) { + uni.navigateTo({ + url: '/pages/subcomponent/inspection-report' + }) + } + }, + onLoad() { + this.getAreaList(); + this.getPricePreview(); + this.getRecentGoods(); + // console.log(this.processes,'222') } - } } @@ -496,6 +565,13 @@ export default { width: 80rpx; height: 80rpx; margin-bottom: 10rpx; + &.placeholder { + width: 80rpx; + height: 80rpx; + margin-bottom: 10rpx; + background: #f5f5f5; + border-radius: 16rpx; + } } .item-name { diff --git a/pages/component/my.vue b/pages/component/my.vue index 79db62c..6cb294e 100644 --- a/pages/component/my.vue +++ b/pages/component/my.vue @@ -209,7 +209,10 @@ diff --git a/pages/component/recycle.vue b/pages/component/recycle.vue index 6400291..6fccdf2 100644 --- a/pages/component/recycle.vue +++ b/pages/component/recycle.vue @@ -238,199 +238,23 @@ export default { return { value:1, ishow:true, - currentCategory: 0, - tabbarHeight: 0, - categories: [ - { name: '羽绒服' }, - { name: '鞋子' }, - { name: '包包' }, - { name: '床被' }, - { name: '品牌服饰' }, - { name: 'T恤衬衫' } + // 静态数据 + staticCategories: [ + { id: 0, name: '羽绒服' }, + { id: 1, name: '鞋子' }, + { id: 2, name: '包包' }, + { id: 3, name: '床被' }, + { id: 4, name: '品牌服饰' }, + { id: 5, name: 'T恤衬衫' } ], - // 所有分类的商品数据 - allProducts: { - // 羽绒服分类 - 0: [ - { - name: '羽绒服', - desc: '允许脏破烂,160码以上', - price: '8', - quantity: 8, - icon: '/static/home/羽绒服.png' - }, - { - name: '羽绒裤', - desc: '允许脏破烂,160码以上', - price: '4', - quantity: 1, - icon: '/static/home/羽绒裤.png' - }, - { - name: '儿童羽绒服', - desc: '允许脏破烂,160码以上', - price: '4', - quantity: 1, - icon: '/static/home/儿童羽绒服.png' - }, - { - name: '品牌羽绒服', - desc: '允许脏破烂,160码以上', - price: '10', - quantity: 1, - showBrandCheck: true, - icon: '/static/home/品牌服饰.png' - }, - { - name: '羽绒夹克', - desc: '允许脏破烂,160码以上', - price: '4', - quantity: 0, - showBrandCheck: true, - icon: '/static/home/羽绒服.png' - } - ], - // 鞋子分类 - 1: [ - { - name: '运动鞋', - desc: '允许轻微磨损,配对完整', - price: '5', - quantity: 0, - icon: '/static/home/运动鞋.png' - }, - { - name: '皮鞋', - desc: '允许轻微磨损,配对完整', - price: '6', - quantity: 0, - icon: '/static/goods/leather-shoe.png' - }, - { - name: '休闲鞋', - desc: '允许轻微磨损,配对完整', - price: '4', - quantity: 0, - icon: '/static/goods/casual-shoe.png' - }, - { - name: '品牌鞋', - desc: '允许轻微磨损,配对完整', - price: '8', - quantity: 0, - showBrandCheck: true, - icon: '/static/goods/brand-shoe.png' - } - ], - // 包包分类 - 2: [ - { - name: '双肩包', - desc: '允许轻微磨损,拉链完好', - price: '5', - quantity: 0, - icon: '/static/goods/backpack.png' - }, - { - name: '手提包', - desc: '允许轻微磨损,拉链完好', - price: '6', - quantity: 0, - icon: '/static/goods/handbag.png' - }, - { - name: '品牌包包', - desc: '允许轻微磨损,拉链完好', - price: '15', - quantity: 0, - showBrandCheck: true, - icon: '/static/goods/brand-bag.png' - } - ], - // 床被分类 - 3: [ - { - name: '棉被', - desc: '允许轻微污渍,无破损', - price: '10', - quantity: 0, - icon: '/static/goods/quilt.png' - }, - { - name: '毛毯', - desc: '允许轻微污渍,无破损', - price: '8', - quantity: 0, - icon: '/static/goods/blanket.png' - }, - { - name: '床单', - desc: '允许轻微污渍,无破损', - price: '5', - quantity: 0, - icon: '/static/goods/sheet.png' - } - ], - // 品牌服饰分类 - 4: [ - { - name: '品牌外套', - desc: '知名品牌,状态良好', - price: '15', - quantity: 0, - showBrandCheck: true, - icon: '/static/goods/brand-coat2.png' - }, - { - name: '品牌裤装', - desc: '知名品牌,状态良好', - price: '12', - quantity: 0, - showBrandCheck: true, - icon: '/static/goods/brand-pants.png' - }, - { - name: '品牌卫衣', - desc: '知名品牌,状态良好', - price: '10', - quantity: 0, - showBrandCheck: true, - icon: '/static/goods/brand-sweater.png' - } - ], - // T恤衬衫分类 - 5: [ - { - name: 'T恤', - desc: '允许轻微污渍,无破损', - price: '3', - quantity: 0, - icon: '/static/goods/tshirt.png' - }, - { - name: '衬衫', - desc: '允许轻微污渍,无破损', - price: '4', - quantity: 0, - icon: '/static/goods/shirt.png' - }, - { - name: '长袖T恤', - desc: '允许轻微污渍,无破损', - price: '4', - quantity: 0, - icon: '/static/goods/long-tshirt.png' - }, - { - name: '品牌T恤', - desc: '知名品牌,状态良好', - price: '8', - quantity: 0, - showBrandCheck: true, - icon: '/static/goods/brand-tshirt.png' - } - ] + staticAllProducts: { + // ...原有静态商品数据(复制原allProducts内容) }, + // 动态数据 + categories: [], + allProducts: {}, + currentCategory: 0, + tabbarHeight: 0, showDetailPanel: false, showBrandPopup: false, showRulePopup: false, @@ -503,14 +327,55 @@ export default { }); } }, + fetchClassGoodsList() { + this.$api('getClassGoodsList', {}, res => { + if (res.code === 200 && Array.isArray(res.result) && res.result.length > 0) { + this.categories = res.result.map(item => ({ + id: item.categoryId, + name: item.categoryName + })) + this.allProducts = {} + res.result.forEach(item => { + this.allProducts[item.categoryId] = (item.goodsList || []).map(good => ({ + ...good, + quantity: 0 // 初始化数量 + })) + }) + this.currentCategory = this.categories.length > 0 ? this.categories[0].id : 0 + } + // 否则继续用静态数据 + }) + }, // 获取分类商品总数 - getCategoryItemCount(categoryIndex) { - const categoryItems = this.allProducts[categoryIndex] || [] + getCategoryItemCount(categoryId) { + const categoryItems = this.allProducts[categoryId] || [] return categoryItems.reduce((sum, item) => sum + (item.quantity || 0), 0) }, // 切换分类 - switchCategory(index) { - this.currentCategory = index + switchCategory(categoryId) { + this.currentCategory = categoryId + // 先清空当前商品列表 + this.$set(this.allProducts, categoryId, []) + // 拉取品牌商品接口 + this.$api('getGoodsBrandList', { iconId: categoryId }, res => { + if ( + res.code === 200 && + res.result && + Array.isArray(res.result.records) && + res.result.records.length > 0 + ) { + // 接口有数据 + this.$set(this.allProducts, categoryId, res.result.records.map(item => ({ + ...item, + quantity: 0 + }))) + } else { + // 接口无数据,兜底用静态 + if (this.staticAllProducts[categoryId]) { + this.$set(this.allProducts, categoryId, JSON.parse(JSON.stringify(this.staticAllProducts[categoryId]))) + } + } + }) }, // 更新商品数量 updateQuantity(index, delta) { @@ -630,6 +495,13 @@ export default { this.showRulePopup = false }, }, + created() { + // 初始化用静态数据 + this.categories = this.staticCategories + this.allProducts = JSON.parse(JSON.stringify(this.staticAllProducts)) + this.currentCategory = this.categories[0].id + this.fetchClassGoodsList() + }, mounted() { this.$nextTick(() => { const query = uni.createSelectorQuery().in(this) @@ -647,6 +519,9 @@ export default { onPullDownRefresh() { this.refreshData() }, + onLoad() { + this.fetchClassGoodsList() + }, } @@ -691,6 +566,12 @@ export default { margin: 1rpx; border-radius: 20rpx 0 0 0; margin-right: 20rpx; + scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; /* IE and Edge */ + &::-webkit-scrollbar { + width: 0 !important; + display: none; /* Chrome, Safari, Opera */ + } .category-item { position: relative; padding: 30rpx 20rpx; @@ -742,7 +623,12 @@ export default { margin: 1rpx; margin-left: 0; border-radius: 0 20rpx 0 0; - // padding-bottom: calc(var(--window-bottom) + 100rpx); + scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; /* IE and Edge */ + &::-webkit-scrollbar { + width: 0 !important; + display: none; /* Chrome, Safari, Opera */ + } } } @@ -1127,6 +1013,12 @@ export default { overflow-y: auto; max-height: 36vh; padding: 0 24rpx; + scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; /* IE and Edge */ + &::-webkit-scrollbar { + width: 0 !important; + display: none; /* Chrome, Safari, Opera */ + } } .panel-item { display: flex; @@ -1330,6 +1222,12 @@ export default { overflow-y: auto; max-height: 60vh; padding: 0 24rpx; + scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; /* IE and Edge */ + &::-webkit-scrollbar { + width: 0 !important; + display: none; /* Chrome, Safari, Opera */ + } } .brand-letter { font-size: 28rpx; @@ -1412,6 +1310,12 @@ export default { padding: 0 40rpx; box-sizing: border-box; overflow-y: auto; + scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; /* IE and Edge */ + &::-webkit-scrollbar { + width: 0 !important; + display: none; /* Chrome, Safari, Opera */ + } } .rule-popup-desc { font-size: 26rpx; diff --git a/pages/index/index.vue b/pages/index/index.vue index d081852..a409a8b 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -36,6 +36,7 @@ { - // console.log(res,'login') + console.log(res,'login') if (res.code == 200) { uni.hideLoading(); // console.log(res) uni.setStorageSync('token',res.result.token); - uni.setStorageSync('openid',res.result.userInfo.appletOpenid); + uni.setStorageSync('openid',res.result.userInfo && res.result.userInfo.appletOpenid); getApp().globalData.login_status = true; + if (res.result.userInfo) { + // 已有userInfo,直接跳主页 + uni.reLaunch({ + url: '/pages/component/home' + }); + } else { + // 没有userInfo,弹出手机号授权 + self.needPhone = true; + self.$refs.privacyPopup.open(); + } } }) } else { @@ -214,12 +226,17 @@ export default { \ No newline at end of file diff --git a/pages/subcomponent/apply.vue b/pages/subcomponent/apply.vue index ef3703f..0cb5096 100644 --- a/pages/subcomponent/apply.vue +++ b/pages/subcomponent/apply.vue @@ -139,7 +139,10 @@ + + \ No newline at end of file diff --git a/pages/subcomponent/inspection.vue b/pages/subcomponent/inspection.vue index 2ae3894..20934be 100644 --- a/pages/subcomponent/inspection.vue +++ b/pages/subcomponent/inspection.vue @@ -100,7 +100,10 @@ + + \ No newline at end of file diff --git a/pages/subcomponent/promotion.vue b/pages/subcomponent/promotion.vue index 5da8670..141e636 100644 --- a/pages/subcomponent/promotion.vue +++ b/pages/subcomponent/promotion.vue @@ -1,269 +1,194 @@ diff --git a/pages/subcomponent/recycle_rules.vue b/pages/subcomponent/recycle_rules.vue index 861ce57..ec7e620 100644 --- a/pages/subcomponent/recycle_rules.vue +++ b/pages/subcomponent/recycle_rules.vue @@ -45,7 +45,10 @@