| @@ -18,37 +18,5 @@ | |||
| "scope.userLocation": { | |||
| "desc": "你的位置信息将用于小程序位置接口的效果展示" | |||
| } | |||
| }, | |||
| "tabBar": { | |||
| "color": "#7A7E83", | |||
| "selectedColor": "#3cc51f", | |||
| "borderStyle": "black", | |||
| "backgroundColor": "#ffffff", | |||
| "list": [ | |||
| { | |||
| "pagePath": "pages/show/show", | |||
| "iconPath": "image/gwc1.png", | |||
| "selectedIconPath": "image/gwc2.png", | |||
| "text": "首页" | |||
| }, | |||
| { | |||
| "pagePath": "pages/index/index", | |||
| "iconPath": "image/gwc1.png", | |||
| "selectedIconPath": "image/gwc2.png", | |||
| "text": "分类" | |||
| }, | |||
| { | |||
| "pagePath": "pages/index/index", | |||
| "iconPath": "image/gwc1.png", | |||
| "selectedIconPath": "image/gwc2.png", | |||
| "text": "购物车" | |||
| }, | |||
| { | |||
| "pagePath": "pages/index/index", | |||
| "iconPath": "image/gwc1.png", | |||
| "selectedIconPath": "image/gwc2.png", | |||
| "text": "我的" | |||
| } | |||
| ] | |||
| } | |||
| } | |||
| @@ -1,35 +0,0 @@ | |||
| // component/tabbar/tabbar.js | |||
| let APP = getApp(); | |||
| Component({ | |||
| /** | |||
| * 组件的属性列表 | |||
| */ | |||
| properties: { | |||
| groupHomeCurrent:0, | |||
| groupManageCartNum:0, | |||
| isSHowZDYTabBar:true | |||
| }, | |||
| /** | |||
| * 组件的初始数据 | |||
| */ | |||
| data: { | |||
| isIphoneX: APP.globalData.isIphoneX, | |||
| }, | |||
| /** | |||
| * 组件的方法列表 | |||
| */ | |||
| methods: { | |||
| /** | |||
| * 跳转板块 | |||
| */ | |||
| jumpToGroupPage(e){ | |||
| wx.reLaunch({ | |||
| url:'/pages/index/index', | |||
| success(){}, | |||
| fail(res){console.log(res);} | |||
| }); | |||
| } | |||
| } | |||
| }) | |||
| @@ -1,7 +0,0 @@ | |||
| { | |||
| "component": true, | |||
| "usingComponents": { | |||
| "component-iphone-x-patcher":"/component/iPhoneXPatcher/iPhoneXPatcher" | |||
| } | |||
| } | |||
| @@ -1,21 +0,0 @@ | |||
| <!-- 自定义tabbar --> | |||
| <view class="footer-container {{isIphoneX ? ' iphone-x-patcher-container' : ''}}" hidden="{{isSHowZDYTabBar}}" > | |||
| <view class="footer-item-container f-home{{groupHomeCurrent == 0 ? ' active' : ''}}" catchtap="jumpToGroupPage" data-url="/pages/show/show"> | |||
| <text class="nav-msg">首页</text> | |||
| </view> | |||
| <view class="footer-item-container f-cate{{groupHomeCurrent == 1 ? ' active' : ''}}" catchtap="jumpToGroupPage" data-url="/pages/index/index"> | |||
| <text class="nav-msg">分类</text> | |||
| </view> | |||
| <view class="footer-item-container f-scan{{groupHomeCurrent == 2 ? ' active' : ''}}" catchtap="jumpToGroupPage" data-url="/pages/index/index" > | |||
| <view class="scan-jump"></view> | |||
| </view> | |||
| <view class="footer-item-container f-cart{{groupHomeCurrent == 3 ? ' active' : ''}}" catchtap="jumpToGroupPage" data-url="/pages/index/index"> | |||
| <text class="nav-msg">购物车</text> | |||
| <text class="nav-cart-num" style="display: {{groupManageCartNum <= 0 ? 'none' : ''}};">{{groupManageCartNum}}</text> | |||
| </view> | |||
| <view class="footer-item-container f-user{{groupHomeCurrent == 4 ? ' active' : ''}}" catchtap="jumpToGroupPage" data-url="/pages/index/index"> | |||
| <text class="nav-msg">我的</text> | |||
| </view> | |||
| <component-iphone-x-patcher></component-iphone-x-patcher> | |||
| </view> | |||
| @@ -1,96 +0,0 @@ | |||
| .footer-container { | |||
| position: fixed; | |||
| left: 0; | |||
| bottom: 0; | |||
| width: 100%; | |||
| background: #fff; | |||
| display: flex; | |||
| align-items: stretch; | |||
| z-index: 9999; | |||
| box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); | |||
| } | |||
| .footer-container .footer-item-container { | |||
| flex: 1; | |||
| height: 112rpx; | |||
| padding: 80rpx 0 0; | |||
| border-top: 1rpx solid #ededed; | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| background: url("https://shgm.jjyyx.com/m/images/group/icon_home.png") no-repeat center 14rpx; | |||
| background-size: 48rpx; | |||
| position: relative; | |||
| } | |||
| .footer-container .footer-item-container.f-home.active { | |||
| background: url("https://shgm.jjyyx.com/m/images/group/icon_home_active.png") no-repeat center 14rpx; | |||
| background-size: 48rpx; | |||
| } | |||
| .footer-container .footer-item-container .nav-msg { | |||
| font-size: 20rpx; | |||
| color: var(--blueLight); | |||
| line-height: 1; | |||
| } | |||
| .footer-container .footer-item-container.f-cate { | |||
| background: url("https://shgm.jjyyx.com/m/images/group/icon_cate.png") no-repeat center 14rpx; | |||
| background-size: 48rpx; | |||
| } | |||
| .footer-container .footer-item-container.f-cate.active { | |||
| background: url("https://shgm.jjyyx.com/m/images/group/icon_cate_active.png") no-repeat center 14rpx; | |||
| background-size: 48rpx; | |||
| } | |||
| .footer-container .footer-item-container.f-cart { | |||
| background: url("https://shgm.jjyyx.com/m/images/group/icon_cart.png") no-repeat center 14rpx; | |||
| background-size: 48rpx; | |||
| } | |||
| .footer-container .footer-item-container.f-cart.active { | |||
| background: url("https://shgm.jjyyx.com/m/images/group/icon_cart_active.png") no-repeat center 14rpx; | |||
| background-size: 48rpx; | |||
| } | |||
| .footer-container .footer-item-container.f-user.active { | |||
| background: url("https://shgm.jjyyx.com/m/images/group/icon_user_active.png") no-repeat center 14rpx; | |||
| background-size: 48rpx; | |||
| } | |||
| .footer-container .footer-item-container.f-user { | |||
| background: url("https://shgm.jjyyx.com/m/images/group/icon_user.png") no-repeat center 14rpx; | |||
| background-size: 48rpx; | |||
| } | |||
| .footer-container .footer-item-container .scan-jump{ | |||
| position: absolute; | |||
| top: -12rpx; | |||
| left: 50%; | |||
| transform: translateX(-50%); | |||
| width: 112rpx; | |||
| height: 112rpx; | |||
| border-radius: 50%; | |||
| background: var(--blue) url("https://shgm.jjyyx.com/m/images/group/icon_scan.png") no-repeat center center; | |||
| background-size: 64rpx 64rpx; | |||
| border: 6rpx solid var(--white); | |||
| box-sizing: border-box; | |||
| } | |||
| .nav-cart-num{ | |||
| position: absolute; | |||
| top: 8rpx; | |||
| left: 50%; | |||
| margin-left: 24rpx; | |||
| transform: translate3d(-50%, 0, 0) scale(.5); | |||
| transform-origin: center top; | |||
| min-width: 48rpx; | |||
| padding: 24rpx 16rpx; | |||
| font-size: 36rpx; | |||
| text-align: center; | |||
| line-height: 0rpx; | |||
| border: 2rpx solid #fff; | |||
| border-radius: 48rpx; | |||
| background: #FF4752; | |||
| color: #fff; | |||
| } | |||
| .footer-container.iphone-x-patcher-container { | |||
| flex-wrap: wrap; | |||
| height: auto; | |||
| } | |||
| @@ -1,315 +1,66 @@ | |||
| import * as UTIL from '../../utils/util.js'; | |||
| import * as API from '../../utils/API.js'; | |||
| // pages/index/index.js | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| data: { | |||
| //底部自定义tabbar | |||
| isSHowZDYTabBar: true, | |||
| //底部弹框显示 | |||
| showDownTS: true, | |||
| //顶部胶囊按钮位置信息rect | |||
| CustomMenuButton: null, | |||
| BarMarginLeft: 0, | |||
| BarWidth: 0, | |||
| }, | |||
| list: [], | |||
| isIPhoneX:false | |||
| }, | |||
| /** | |||
| * 计算bar 高度 | |||
| */ | |||
| computeBarLocation() { | |||
| var that = this; | |||
| let CustomMenuButton = wx.getMenuButtonBoundingClientRect(); | |||
| let CustomMenuButton_margin_right = wx.getSystemInfoSync().windowWidth - CustomMenuButton.right; | |||
| let bar_margin_left = CustomMenuButton_margin_right + CustomMenuButton.width; | |||
| let bar_width = wx.getSystemInfoSync().windowWidth - CustomMenuButton_margin_right * 2 - CustomMenuButton.width * 2; | |||
| console.log("bar宽:" + bar_width + ";窗口宽度" + wx.getSystemInfoSync().windowWidth); | |||
| that.setData({ | |||
| CustomMenuButton: CustomMenuButton, | |||
| BarMarginLeft: bar_margin_left, | |||
| BarWidth: bar_width | |||
| }); | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| let that = this; | |||
| that.simulativeData(); | |||
| that.computeBarLocation(); | |||
| that.setData({ | |||
| isIPhoneX:UTIL.isIPhoneX() | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () {}, | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () {}, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () { | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () {}, | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () {}, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () { | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () {}, | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () {}, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () { | |||
| /** | |||
| * 用户点击右上角分享 | |||
| */ | |||
| onShareAppMessage: function () {}, | |||
| }, | |||
| onItemClickMethod: function (e) { | |||
| var that = this; | |||
| var num = parseInt(e.currentTarget.id); | |||
| console.log(num) | |||
| switch (num) { | |||
| case 0: | |||
| //更新机制 | |||
| break; | |||
| case 1: | |||
| //网络访问 | |||
| that.httpTestMethod(); | |||
| break; | |||
| case 4: | |||
| //获取地理位置 | |||
| that.getLocationInfo(); | |||
| break; | |||
| case 5: | |||
| //全局loading | |||
| that.showLoadingIcon(); | |||
| break; | |||
| case 6: | |||
| that.showModalConentMethod(); | |||
| break; | |||
| case 7: | |||
| that.showModalAllMethod(); | |||
| break; | |||
| case 8: | |||
| that.showMoRenTab(); | |||
| break; | |||
| case 9: | |||
| that.showZDYTab(); | |||
| break; | |||
| } | |||
| }, | |||
| /** | |||
| * 默认tab | |||
| */ | |||
| showMoRenTab() { | |||
| console.log('11111') | |||
| wx.showTabBar({ | |||
| animation: false, | |||
| }) | |||
| this.setData({ | |||
| isSHowZDYTabBar: true | |||
| }) | |||
| } | |||
| , | |||
| /** | |||
| * 自定义tab | |||
| */ | |||
| showZDYTab() { | |||
| wx.hideTabBar({ | |||
| animation: false, | |||
| }) | |||
| this.setData({ | |||
| isSHowZDYTabBar: false | |||
| }) | |||
| } | |||
| , | |||
| /** | |||
| * 获取地理位置 | |||
| */ | |||
| getLocationInfo() { | |||
| UTIL.getLocationFromWX( | |||
| { | |||
| success: (res) => { | |||
| UTIL.showToastNoneIcon("当前经纬度:" + getApp().globalData.setInfo.latitude + "," + getApp().globalData.setInfo.longitude) | |||
| } | |||
| , | |||
| fail: (res) => { | |||
| wx.navigateTo({ | |||
| url: '/pages/wxAuth/wxAuth', | |||
| }) | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () { | |||
| } | |||
| } | |||
| ); | |||
| }, | |||
| } | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () { | |||
| , | |||
| /** | |||
| * loading小图标 | |||
| */ | |||
| showLoadingIcon() { | |||
| }, | |||
| UTIL.showLoadingHaveMask('数据加载中...'); | |||
| setTimeout(function () { | |||
| UTIL.hideLoadingHaveMask(); | |||
| }, 2000) | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () { | |||
| } | |||
| , | |||
| /** | |||
| * 显示提示框 | |||
| */ | |||
| showModalConentMethod() { | |||
| UTIL.showModalNoneCancel('温馨提示', '这是一个按钮的弹框', '知道了'); | |||
| }, | |||
| }, | |||
| /** | |||
| * 显示完整提示框 并监听 | |||
| */ | |||
| showModalAllMethod() { | |||
| UTIL.showModalOnClick('提示', '两个按钮并回调', 'OK', 'NO', | |||
| { | |||
| confirm() { | |||
| UTIL.showToastNoneIcon('点击了OK'); | |||
| /** | |||
| * 用户点击右上角分享 | |||
| */ | |||
| onShareAppMessage: function () { | |||
| } | |||
| , | |||
| cancel() { | |||
| UTIL.showToastNoneIcon('点击了NO'); | |||
| } | |||
| }); | |||
| } | |||
| , | |||
| //底部弹框允许 | |||
| okOnClick(e) { | |||
| console.log("底部弹框-允许"); | |||
| UTIL.showToastNoneIcon("底部弹框-允许"); | |||
| this.setData({ | |||
| showDownTS: true | |||
| }) | |||
| }, | |||
| /** | |||
| * 底部弹框-黑色背景点击 | |||
| */ | |||
| blackOnClick() { | |||
| this.setData({ | |||
| showDownTS: true | |||
| }) | |||
| } | |||
| , | |||
| /** | |||
| * 底部弹框拒绝 | |||
| */ | |||
| refuseOnClick() { | |||
| console.log("底部弹框-拒绝"); | |||
| UTIL.showToastNoneIcon("底部弹框-拒绝"); | |||
| this.setData({ | |||
| showDownTS: true | |||
| }) | |||
| }, | |||
| bindgetUserProfile(e) { | |||
| UTIL.getUserInfoFomWX({ | |||
| success(res){ | |||
| UTIL.showToastNoneIcon("获取到昵称:"+getApp().globalData.wxUserInfo.nickName); | |||
| } | |||
| }); | |||
| } | |||
| , | |||
| /** | |||
| * 网络访问 | |||
| */ | |||
| httpTestMethod() { | |||
| let sendData = { | |||
| centerShopId: 10000, | |||
| centerWarehouseId: 10051, | |||
| channel: 220, | |||
| channelType: 22, | |||
| memberId: 24892, | |||
| rows: 40, | |||
| shopId: 10005, | |||
| token: "LWXAPP1636599316684iv6qkhyqhr4izg", | |||
| v: 3, | |||
| warehouseId: 10005 | |||
| } | |||
| UTIL.httpRequest(API.URL_ZB_RECOMMEND_LIST, sendData, | |||
| { | |||
| success: (res) => { | |||
| if (res._code == API.SUCCESS_CODE) { | |||
| UTIL.showToastNoneIcon("数据共:" + res._data.length + "条"); | |||
| } else { | |||
| UTIL.showToastNoneIcon(res._msg) | |||
| } | |||
| }, | |||
| fail: (res) => { | |||
| UTIL.showToastNoneIcon(API.MSG_FAIL_HTTP) | |||
| }, | |||
| complete: (res) => { | |||
| } | |||
| }); | |||
| } | |||
| , | |||
| /** | |||
| * 模拟数据 | |||
| */ | |||
| simulativeData() { | |||
| let list = [ | |||
| { | |||
| title: '更新机制(已嵌入)', | |||
| },{ | |||
| title: '网络访问(点击获取)' | |||
| },{ | |||
| title: '自动申请微信地理授权(已嵌入)' | |||
| },{ | |||
| title: '获取微信OPenId(已嵌入)' | |||
| },{ | |||
| title: '获取微信地理位置(点击获取)', | |||
| tapBtn: 'getLocationInfo' | |||
| },{ | |||
| title: 'loading小图标', | |||
| tapBtn: 'showLoadingIcon' | |||
| },{ | |||
| title: 'Modal弹框仅提示', | |||
| tapBtn: 'showModalConentMethod', | |||
| },{ | |||
| title: 'Modal两个按钮并监听', | |||
| tapBtn: 'showModalAllMethod' | |||
| },{ | |||
| title: '底部导航效果(默认)', | |||
| tapBtn: 'showMoRenTab' | |||
| },{ | |||
| title: '底部导航效果(自定义)', | |||
| tapBtn: 'showZDYTab' | |||
| } | |||
| ]; | |||
| this.setData({ | |||
| list: list, | |||
| }) | |||
| } | |||
| }) | |||
| @@ -1,6 +1,5 @@ | |||
| { | |||
| "usingComponents": { | |||
| "component-tabbar": "/component/tabbar/tabbar", | |||
| "icon-loading":"/component/iconLoading/iconLoading" | |||
| }, | |||
| "navigationStyle": "custom" | |||
| @@ -1,20 +1,7 @@ | |||
| <view class="container"> | |||
| <view style="background-color: white; position: sticky;top: 0; height:{{CustomMenuButton.bottom}}px;z-index: 7777;padding-top: {{CustomMenuButton.top}}px;"> | |||
| <!--自定义 顶部标题样式和位置--> | |||
| <view class="title singleLinHidenEllipsis" style="height:{{CustomMenuButton.height}}px;line-height:{{CustomMenuButton.height}}px;margin-left: {{BarMarginLeft}}px;width:{{BarWidth}}px;">悦团购</view> | |||
| </view> | |||
| <button class="ok_btn" bindtap="bindgetUserProfile">获取用户信息</button> | |||
| <view class="container" style="background: url('../../image/login/container_bg.jpg') center center no-repeat; background-size: 100% auto;"> | |||
| <view class="header"> | |||
| <view class="principal">农村事项审批与记账</view> | |||
| <view></view> | |||
| </view> | |||
| <view>设备是否有刘海屏:{{isIPhoneX}}</view> | |||
| <scroll-view class="scroll_page"> | |||
| <view class="page_content"> | |||
| <block wx:for-items="{{list}}" wx:key="title"> | |||
| <view class="list-item"> | |||
| <view class="list-item-tv" bindtap="onItemClickMethod" id='{{index}}'>{{item.title}}</view> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| </scroll-view> | |||
| </view> | |||
| <component-tabbar groupHomeCurrent="1" groupManageCartNum="{{groupManageCartNum}}" isSHowZDYTabBar="{{isSHowZDYTabBar}}"></component-tabbar> | |||
| <icon-loading inner-text="Some text"></icon-loading> | |||
| </view> | |||
| @@ -1,196 +1,9 @@ | |||
| @import '/template/bottomUserSQ/bottomUserSQ.wxss'; | |||
| .scroll_page | |||
| { | |||
| height: 100vh; | |||
| } | |||
| .page_content | |||
| { | |||
| width: 100%; | |||
| height: auto; | |||
| display: block; | |||
| } | |||
| .list-item | |||
| { | |||
| height: 35px; | |||
| } | |||
| .list-item-tv | |||
| { | |||
| width: 80%; | |||
| height: 100%; | |||
| margin-left: 10%; | |||
| } | |||
| /* .black_bj | |||
| { | |||
| position:absolute; | |||
| bottom: 0rpx; | |||
| left: 0rpx; | |||
| .container{ | |||
| width: 100vw; | |||
| height: 100vh; | |||
| } | |||
| .dialog_sq | |||
| { | |||
| position:absolute; | |||
| bottom: 0rpx; | |||
| left: 0rpx; | |||
| background: white; | |||
| width: 100%; | |||
| height: 500rpx; | |||
| } */ | |||
| /**index.wxss**/ | |||
| .container | |||
| { | |||
| width: 100vw; | |||
| } | |||
| .title | |||
| { | |||
| color: black; | |||
| text-align: center; | |||
| width: auto; | |||
| } | |||
| .address_top_transverse | |||
| { | |||
| display: flex; | |||
| height: 64rpx; | |||
| background-color: white; | |||
| padding-bottom: 16rpx; | |||
| } | |||
| .address_top_transverse .address_tap | |||
| { | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .address_top_transverse .address_tap image | |||
| { | |||
| width: 48rpx; | |||
| height: 48rpx; | |||
| margin-right: 16rpx; | |||
| margin-left: 16rpx; | |||
| } | |||
| .address_top_transverse .address_tap .choice_address | |||
| { | |||
| margin-right: 16rpx; | |||
| } | |||
| .address_top_transverse .address_tap .change_view | |||
| { | |||
| font-size: 26rpx; | |||
| width: 80rpx; | |||
| } | |||
| .address_top_transverse .search_container | |||
| { | |||
| display: flex; | |||
| width: auto; | |||
| height: 100%; | |||
| align-items: center; | |||
| border-radius: 32rpx; | |||
| min-width: 130rpx; | |||
| margin-right: 16rpx; | |||
| flex: 1; | |||
| } | |||
| .address_top_transverse .search_container .search_img | |||
| { | |||
| width: 34rpx; | |||
| height: 34rpx; | |||
| margin-left: 16rpx; | |||
| } | |||
| .address_top_transverse .search_container .input_search | |||
| { | |||
| color: #94969c; | |||
| min-width: 160rpx; | |||
| height: 64rpx; | |||
| font-size: 24rpx; | |||
| line-height: 64rpx; | |||
| padding-left: 30rpx; | |||
| } | |||
| .tab_container | |||
| { | |||
| width: 100%; | |||
| height: 72rpx; | |||
| position: relative; | |||
| } | |||
| .tab_container .right_icon_view | |||
| { | |||
| position: absolute; | |||
| right: 0rpx; | |||
| top: 0rpx; | |||
| width: 10vw; | |||
| height: 72rpx; | |||
| line-height: 72rpx; | |||
| text-align: center; | |||
| } | |||
| .banner_container | |||
| { | |||
| position: relative; | |||
| } | |||
| .banner_container .banner_item | |||
| { | |||
| width: 100%; | |||
| height: 100%; | |||
| margin-top: 16rpx; | |||
| height: 100vh; | |||
| } | |||
| .banner_img_sc{ | |||
| margin-left: 2.5%; | |||
| border-radius: 16rpx; | |||
| width: 95%; | |||
| background: url(https://shgm.jjyyx.com/m/images/banner_w_bg.png) no-repeat center; | |||
| } | |||
| .banner_container .banner_toast | |||
| { | |||
| position: absolute; | |||
| bottom: -17rpx; | |||
| left: 5%; | |||
| width: 340rpx; | |||
| height: 50rpx; | |||
| z-index: 10; | |||
| } | |||
| .type_swiper | |||
| { | |||
| margin-top: 16rpx; | |||
| display: block; | |||
| } | |||
| .todayAndHot | |||
| { | |||
| margin-top:16rpx; | |||
| display: block; | |||
| } | |||
| .secon_kill | |||
| { | |||
| margin-top: 16rpx; | |||
| display: block; | |||
| } | |||
| .preSale_collage | |||
| { | |||
| margin-top: 16rpx; | |||
| display: block; | |||
| } | |||
| .container .header{ | |||
| padding-top: 25.61vh; | |||
| height: 37.3vh; | |||
| } | |||
| @@ -1,14 +1,276 @@ | |||
| // index.js | |||
| // 获取应用实例 | |||
| import * as UTIL from '../../utils/util.js' | |||
| const app = getApp() | |||
| import * as UTIL from '../../utils/util.js'; | |||
| import * as API from '../../utils/API.js'; | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| //底部自定义tabbar | |||
| isSHowZDYTabBar: true, | |||
| //底部弹框显示 | |||
| showDownTS: true, | |||
| //顶部胶囊按钮位置信息rect | |||
| CustomMenuButton: null, | |||
| BarMarginLeft: 0, | |||
| BarWidth: 0, | |||
| list: [], | |||
| isIPhoneX:false | |||
| }, | |||
| /** | |||
| * 计算bar 高度 | |||
| */ | |||
| computeBarLocation() { | |||
| var that = this; | |||
| let CustomMenuButton = wx.getMenuButtonBoundingClientRect(); | |||
| let CustomMenuButton_margin_right = wx.getSystemInfoSync().windowWidth - CustomMenuButton.right; | |||
| let bar_margin_left = CustomMenuButton_margin_right + CustomMenuButton.width; | |||
| let bar_width = wx.getSystemInfoSync().windowWidth - CustomMenuButton_margin_right * 2 - CustomMenuButton.width * 2; | |||
| console.log("bar宽:" + bar_width + ";窗口宽度" + wx.getSystemInfoSync().windowWidth); | |||
| that.setData({ | |||
| CustomMenuButton: CustomMenuButton, | |||
| BarMarginLeft: bar_margin_left, | |||
| BarWidth: bar_width | |||
| }); | |||
| }, | |||
| onLoad() { | |||
| wx.showTabBar({ | |||
| animation: false, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| let that = this; | |||
| that.simulativeData(); | |||
| that.computeBarLocation(); | |||
| that.setData({ | |||
| isIPhoneX:UTIL.isIPhoneX() | |||
| }) | |||
| }, | |||
| }) | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () {}, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () {}, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () {}, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () {}, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () {}, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () {}, | |||
| /** | |||
| * 用户点击右上角分享 | |||
| */ | |||
| onShareAppMessage: function () {}, | |||
| onItemClickMethod: function (e) { | |||
| var that = this; | |||
| var num = parseInt(e.currentTarget.id); | |||
| console.log(num) | |||
| switch (num) { | |||
| case 0: | |||
| //更新机制 | |||
| break; | |||
| case 1: | |||
| //网络访问 | |||
| that.httpTestMethod(); | |||
| break; | |||
| case 4: | |||
| //获取地理位置 | |||
| that.getLocationInfo(); | |||
| break; | |||
| case 5: | |||
| //全局loading | |||
| that.showLoadingIcon(); | |||
| break; | |||
| case 6: | |||
| that.showModalConentMethod(); | |||
| break; | |||
| case 7: | |||
| that.showModalAllMethod(); | |||
| break; | |||
| } | |||
| }, | |||
| /** | |||
| * 获取地理位置 | |||
| */ | |||
| getLocationInfo() { | |||
| UTIL.getLocationFromWX( | |||
| { | |||
| success: (res) => { | |||
| UTIL.showToastNoneIcon("当前经纬度:" + getApp().globalData.setInfo.latitude + "," + getApp().globalData.setInfo.longitude) | |||
| } | |||
| , | |||
| fail: (res) => { | |||
| wx.navigateTo({ | |||
| url: '/pages/wxAuth/wxAuth', | |||
| }) | |||
| } | |||
| } | |||
| ); | |||
| } | |||
| , | |||
| /** | |||
| * loading小图标 | |||
| */ | |||
| showLoadingIcon() { | |||
| UTIL.showLoadingHaveMask('数据加载中...'); | |||
| setTimeout(function () { | |||
| UTIL.hideLoadingHaveMask(); | |||
| }, 2000) | |||
| } | |||
| , | |||
| /** | |||
| * 显示提示框 | |||
| */ | |||
| showModalConentMethod() { | |||
| UTIL.showModalNoneCancel('温馨提示', '这是一个按钮的弹框', '知道了'); | |||
| }, | |||
| /** | |||
| * 显示完整提示框 并监听 | |||
| */ | |||
| showModalAllMethod() { | |||
| UTIL.showModalOnClick('提示', '两个按钮并回调', 'OK', 'NO', | |||
| { | |||
| confirm() { | |||
| UTIL.showToastNoneIcon('点击了OK'); | |||
| } | |||
| , | |||
| cancel() { | |||
| UTIL.showToastNoneIcon('点击了NO'); | |||
| } | |||
| }); | |||
| } | |||
| , | |||
| //底部弹框允许 | |||
| okOnClick(e) { | |||
| console.log("底部弹框-允许"); | |||
| UTIL.showToastNoneIcon("底部弹框-允许"); | |||
| this.setData({ | |||
| showDownTS: true | |||
| }) | |||
| }, | |||
| /** | |||
| * 底部弹框-黑色背景点击 | |||
| */ | |||
| blackOnClick() { | |||
| this.setData({ | |||
| showDownTS: true | |||
| }) | |||
| } | |||
| , | |||
| /** | |||
| * 底部弹框拒绝 | |||
| */ | |||
| refuseOnClick() { | |||
| console.log("底部弹框-拒绝"); | |||
| UTIL.showToastNoneIcon("底部弹框-拒绝"); | |||
| this.setData({ | |||
| showDownTS: true | |||
| }) | |||
| }, | |||
| bindgetUserProfile(e) { | |||
| UTIL.getUserInfoFomWX({ | |||
| success(res){ | |||
| UTIL.showToastNoneIcon("获取到昵称:"+getApp().globalData.wxUserInfo.nickName); | |||
| } | |||
| }); | |||
| } | |||
| , | |||
| /** | |||
| * 网络访问 | |||
| */ | |||
| httpTestMethod() { | |||
| let sendData = { | |||
| centerShopId: 10000, | |||
| centerWarehouseId: 10051, | |||
| channel: 220, | |||
| channelType: 22, | |||
| memberId: 24892, | |||
| rows: 40, | |||
| shopId: 10005, | |||
| token: "LWXAPP1636599316684iv6qkhyqhr4izg", | |||
| v: 3, | |||
| warehouseId: 10005 | |||
| } | |||
| UTIL.httpRequest(API.URL_ZB_RECOMMEND_LIST, sendData, | |||
| { | |||
| success: (res) => { | |||
| if (res._code == API.SUCCESS_CODE) { | |||
| UTIL.showToastNoneIcon("数据共:" + res._data.length + "条"); | |||
| } else { | |||
| UTIL.showToastNoneIcon(res._msg) | |||
| } | |||
| }, | |||
| fail: (res) => { | |||
| UTIL.showToastNoneIcon(API.MSG_FAIL_HTTP) | |||
| }, | |||
| complete: (res) => { | |||
| } | |||
| }); | |||
| } | |||
| , | |||
| /** | |||
| * 模拟数据 | |||
| */ | |||
| simulativeData() { | |||
| let list = [ | |||
| { | |||
| title: '更新机制(已嵌入)', | |||
| },{ | |||
| title: '网络访问(点击获取)' | |||
| },{ | |||
| title: '自动申请微信地理授权(已嵌入)' | |||
| },{ | |||
| title: '获取微信OPenId(已嵌入)' | |||
| },{ | |||
| title: '获取微信地理位置(点击获取)', | |||
| tapBtn: 'getLocationInfo' | |||
| },{ | |||
| title: 'loading小图标', | |||
| tapBtn: 'showLoadingIcon' | |||
| },{ | |||
| title: 'Modal弹框仅提示', | |||
| tapBtn: 'showModalConentMethod', | |||
| },{ | |||
| title: 'Modal两个按钮并监听', | |||
| tapBtn: 'showModalAllMethod' | |||
| } | |||
| ]; | |||
| this.setData({ | |||
| list: list, | |||
| }) | |||
| } | |||
| }) | |||
| @@ -1,6 +1,7 @@ | |||
| { | |||
| "navigationBarTitleText": "String", | |||
| "usingComponents": { | |||
| } | |||
| "usingComponents": { | |||
| "icon-loading":"/component/iconLoading/iconLoading" | |||
| } | |||
| } | |||
| @@ -1,3 +1,19 @@ | |||
| <view> | |||
| 1 | |||
| </view> | |||
| <view class="container"> | |||
| <view style="background-color: white; position: sticky;top: 0; height:{{CustomMenuButton.bottom}}px;z-index: 7777;padding-top: {{CustomMenuButton.top}}px;"> | |||
| <!--自定义 顶部标题样式和位置--> | |||
| <view class="title singleLinHidenEllipsis" style="height:{{CustomMenuButton.height}}px;line-height:{{CustomMenuButton.height}}px;margin-left: {{BarMarginLeft}}px;width:{{BarWidth}}px;">悦团购</view> | |||
| </view> | |||
| <button class="ok_btn" bindtap="bindgetUserProfile">获取用户信息</button> | |||
| <view>设备是否有刘海屏:{{isIPhoneX}}</view> | |||
| <scroll-view class="scroll_page"> | |||
| <view class="page_content"> | |||
| <block wx:for-items="{{list}}" wx:key="title"> | |||
| <view class="list-item"> | |||
| <view class="list-item-tv" bindtap="onItemClickMethod" id='{{index}}'>{{item.title}}</view> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| </scroll-view> | |||
| </view> | |||
| <icon-loading inner-text="Some text"></icon-loading> | |||
| @@ -1,5 +1,196 @@ | |||
| .waterFallFlow | |||
| @import '/template/bottomUserSQ/bottomUserSQ.wxss'; | |||
| .scroll_page | |||
| { | |||
| background-color: burlywood; | |||
| height: 100vh; | |||
| } | |||
| .page_content | |||
| { | |||
| width: 100%; | |||
| height: auto; | |||
| display: block; | |||
| } | |||
| .list-item | |||
| { | |||
| height: 35px; | |||
| } | |||
| .list-item-tv | |||
| { | |||
| width: 80%; | |||
| height: 100%; | |||
| margin-left: 10%; | |||
| } | |||
| /* .black_bj | |||
| { | |||
| position:absolute; | |||
| bottom: 0rpx; | |||
| left: 0rpx; | |||
| width: 100vw; | |||
| height: 100vh; | |||
| } | |||
| .dialog_sq | |||
| { | |||
| position:absolute; | |||
| bottom: 0rpx; | |||
| left: 0rpx; | |||
| background: white; | |||
| width: 100%; | |||
| height: 500rpx; | |||
| } */ | |||
| /**index.wxss**/ | |||
| .container | |||
| { | |||
| width: 100vw; | |||
| } | |||
| .title | |||
| { | |||
| color: black; | |||
| text-align: center; | |||
| width: auto; | |||
| } | |||
| .address_top_transverse | |||
| { | |||
| display: flex; | |||
| height: 64rpx; | |||
| background-color: white; | |||
| padding-bottom: 16rpx; | |||
| } | |||
| .address_top_transverse .address_tap | |||
| { | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .address_top_transverse .address_tap image | |||
| { | |||
| width: 48rpx; | |||
| height: 48rpx; | |||
| margin-right: 16rpx; | |||
| margin-left: 16rpx; | |||
| } | |||
| .address_top_transverse .address_tap .choice_address | |||
| { | |||
| margin-right: 16rpx; | |||
| } | |||
| } | |||
| .address_top_transverse .address_tap .change_view | |||
| { | |||
| font-size: 26rpx; | |||
| width: 80rpx; | |||
| } | |||
| .address_top_transverse .search_container | |||
| { | |||
| display: flex; | |||
| width: auto; | |||
| height: 100%; | |||
| align-items: center; | |||
| border-radius: 32rpx; | |||
| min-width: 130rpx; | |||
| margin-right: 16rpx; | |||
| flex: 1; | |||
| } | |||
| .address_top_transverse .search_container .search_img | |||
| { | |||
| width: 34rpx; | |||
| height: 34rpx; | |||
| margin-left: 16rpx; | |||
| } | |||
| .address_top_transverse .search_container .input_search | |||
| { | |||
| color: #94969c; | |||
| min-width: 160rpx; | |||
| height: 64rpx; | |||
| font-size: 24rpx; | |||
| line-height: 64rpx; | |||
| padding-left: 30rpx; | |||
| } | |||
| .tab_container | |||
| { | |||
| width: 100%; | |||
| height: 72rpx; | |||
| position: relative; | |||
| } | |||
| .tab_container .right_icon_view | |||
| { | |||
| position: absolute; | |||
| right: 0rpx; | |||
| top: 0rpx; | |||
| width: 10vw; | |||
| height: 72rpx; | |||
| line-height: 72rpx; | |||
| text-align: center; | |||
| } | |||
| .banner_container | |||
| { | |||
| position: relative; | |||
| } | |||
| .banner_container .banner_item | |||
| { | |||
| width: 100%; | |||
| height: 100%; | |||
| margin-top: 16rpx; | |||
| } | |||
| .banner_img_sc{ | |||
| margin-left: 2.5%; | |||
| border-radius: 16rpx; | |||
| width: 95%; | |||
| background: url(https://shgm.jjyyx.com/m/images/banner_w_bg.png) no-repeat center; | |||
| } | |||
| .banner_container .banner_toast | |||
| { | |||
| position: absolute; | |||
| bottom: -17rpx; | |||
| left: 5%; | |||
| width: 340rpx; | |||
| height: 50rpx; | |||
| z-index: 10; | |||
| } | |||
| .type_swiper | |||
| { | |||
| margin-top: 16rpx; | |||
| display: block; | |||
| } | |||
| .todayAndHot | |||
| { | |||
| margin-top:16rpx; | |||
| display: block; | |||
| } | |||
| .secon_kill | |||
| { | |||
| margin-top: 16rpx; | |||
| display: block; | |||
| } | |||
| .preSale_collage | |||
| { | |||
| margin-top: 16rpx; | |||
| display: block; | |||
| } | |||
| @@ -1,82 +1,82 @@ | |||
| { | |||
| "description": "项目配置文件", | |||
| "packOptions": { | |||
| "ignore": [ | |||
| { | |||
| "type": "file", | |||
| "value": ".eslintrc.js" | |||
| } | |||
| ] | |||
| }, | |||
| "setting": { | |||
| "urlCheck": false, | |||
| "es6": true, | |||
| "enhance": true, | |||
| "postcss": true, | |||
| "preloadBackgroundData": false, | |||
| "minified": true, | |||
| "newFeature": false, | |||
| "coverView": true, | |||
| "nodeModules": false, | |||
| "autoAudits": false, | |||
| "showShadowRootInWxmlPanel": true, | |||
| "scopeDataCheck": false, | |||
| "uglifyFileName": false, | |||
| "checkInvalidKey": true, | |||
| "checkSiteMap": false, | |||
| "uploadWithSourceMap": true, | |||
| "compileHotReLoad": false, | |||
| "lazyloadPlaceholderEnable": false, | |||
| "useMultiFrameRuntime": true, | |||
| "useApiHook": true, | |||
| "useApiHostProcess": true, | |||
| "babelSetting": { | |||
| "ignore": [], | |||
| "disablePlugins": [], | |||
| "outputPath": "" | |||
| "description": "项目配置文件", | |||
| "packOptions": { | |||
| "ignore": [ | |||
| { | |||
| "type": "file", | |||
| "value": ".eslintrc.js" | |||
| } | |||
| ] | |||
| }, | |||
| "enableEngineNative": false, | |||
| "useIsolateContext": true, | |||
| "userConfirmedBundleSwitch": false, | |||
| "packNpmManually": false, | |||
| "packNpmRelationList": [], | |||
| "minifyWXSS": true, | |||
| "disableUseStrict": false, | |||
| "minifyWXML": true, | |||
| "showES6CompileOption": false, | |||
| "useCompilerPlugins": false | |||
| }, | |||
| "compileType": "miniprogram", | |||
| "libVersion": "2.21.1", | |||
| "appid": "wx90a68c6fdd650f48", | |||
| "projectname": "WXMB", | |||
| "debugOptions": { | |||
| "hidedInDevtools": [] | |||
| }, | |||
| "scripts": {}, | |||
| "staticServerOptions": { | |||
| "baseURL": "", | |||
| "servePath": "" | |||
| }, | |||
| "isGameTourist": false, | |||
| "condition": { | |||
| "search": { | |||
| "list": [] | |||
| "setting": { | |||
| "urlCheck": false, | |||
| "es6": true, | |||
| "enhance": true, | |||
| "postcss": true, | |||
| "preloadBackgroundData": false, | |||
| "minified": true, | |||
| "newFeature": false, | |||
| "coverView": true, | |||
| "nodeModules": false, | |||
| "autoAudits": false, | |||
| "showShadowRootInWxmlPanel": true, | |||
| "scopeDataCheck": false, | |||
| "uglifyFileName": false, | |||
| "checkInvalidKey": true, | |||
| "checkSiteMap": false, | |||
| "uploadWithSourceMap": true, | |||
| "compileHotReLoad": false, | |||
| "lazyloadPlaceholderEnable": false, | |||
| "useMultiFrameRuntime": true, | |||
| "useApiHook": true, | |||
| "useApiHostProcess": true, | |||
| "babelSetting": { | |||
| "ignore": [], | |||
| "disablePlugins": [], | |||
| "outputPath": "" | |||
| }, | |||
| "useIsolateContext": false, | |||
| "userConfirmedBundleSwitch": false, | |||
| "packNpmManually": false, | |||
| "packNpmRelationList": [], | |||
| "minifyWXSS": true, | |||
| "disableUseStrict": false, | |||
| "minifyWXML": true, | |||
| "showES6CompileOption": false, | |||
| "useCompilerPlugins": false, | |||
| "ignoreUploadUnusedFiles": true | |||
| }, | |||
| "conversation": { | |||
| "list": [] | |||
| "compileType": "miniprogram", | |||
| "libVersion": "2.21.1", | |||
| "appid": "wx90a68c6fdd650f48", | |||
| "projectname": "WXMB", | |||
| "debugOptions": { | |||
| "hidedInDevtools": [] | |||
| }, | |||
| "game": { | |||
| "list": [] | |||
| "scripts": {}, | |||
| "staticServerOptions": { | |||
| "baseURL": "", | |||
| "servePath": "" | |||
| }, | |||
| "plugin": { | |||
| "list": [] | |||
| }, | |||
| "gamePlugin": { | |||
| "list": [] | |||
| }, | |||
| "miniprogram": { | |||
| "list": [] | |||
| "isGameTourist": false, | |||
| "condition": { | |||
| "search": { | |||
| "list": [] | |||
| }, | |||
| "conversation": { | |||
| "list": [] | |||
| }, | |||
| "game": { | |||
| "list": [] | |||
| }, | |||
| "plugin": { | |||
| "list": [] | |||
| }, | |||
| "gamePlugin": { | |||
| "list": [] | |||
| }, | |||
| "miniprogram": { | |||
| "list": [] | |||
| } | |||
| } | |||
| } | |||
| } | |||