Merge refs/remotes/origin/master into refs/heads/master
| | |
| | | }, |
| | | // 加入购物车 |
| | | async onCloudShoppingCart() { |
| | | |
| | | |
| | | |
| | | let requests = [] |
| | | const item = this.data.cloudShoppingCart |
| | | console.log(item, 'item'); |
| | |
| | | |
| | | // 图书添加购物车 |
| | | async addBookShopcCar() { |
| | | |
| | | const token = wx.getStorageSync('jsek-token') |
| | | if (!token) { |
| | | return wx.getUserProfile({ |
| | | desc: '用户登录', |
| | | success: (res) => { |
| | | console.log(res); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | const shoppingCartGetId = [] |
| | | |
| | | let query = { |
| | |
| | | async allAddShoppiingCar() { |
| | | const child = this.selectComponent('#learn-resource') |
| | | const token = wx.getStorageSync('jsek-token') |
| | | // if (!token) { |
| | | // return wx.getUserProfile({ |
| | | // desc: '用户登录', |
| | | // success: (res) => { |
| | | // console.log(res); |
| | | // } |
| | | // }) |
| | | // } |
| | | if (!token) { |
| | | return wx.getUserProfile({ |
| | | desc: '用户登录', |
| | | success: (res) => { |
| | | console.log(res); |
| | | } |
| | | }) |
| | | } |
| | | let shopList = this.handleTreeData(this.data.learn).filter((item) => this.resourceIsBuy(item)) |
| | | this.getShoppingCartProductGet() |
| | | if (!shopList.length) return wx.showToast({ |
| | |
| | | data: { |
| | | userInfo: {}, |
| | | defaultAvatarUrl: 'https://cdn-we-retail.ym.tencent.com/miniapp/usercenter/icon-user-center-avatar@2x.png', |
| | | visible: false |
| | | userInfoBox: false, |
| | | editType: '', |
| | | userInfoForm: { |
| | | phone: '', |
| | | email: '', |
| | | captcha: '', |
| | | code: '', |
| | | }, |
| | | phoneError: false, |
| | | emailError: false, |
| | | imgCode: '', |
| | | countDown: 0, |
| | | }, |
| | | |
| | | /** |
| | |
| | | } |
| | | }); |
| | | }, |
| | | //修改用户类型 |
| | | editUserInfo(e) { |
| | | console.log(e) |
| | | let { info } = e.currentTarget.dataset |
| | | if (!this.data.userInfoBox) { |
| | | this.setData({ |
| | | userInfoBox: true, |
| | | editType: info, |
| | | "userInfoForm.captcha": "", |
| | | "userInfoForm.code": "" |
| | | }); |
| | | } |
| | | this.getImgCapcha() |
| | | }, |
| | | onVisibleChange(e) { |
| | | this.setData({ |
| | | userInfoBox: e.detail.visible, |
| | | countDown: 0, |
| | | }); |
| | | }, |
| | | |
| | | //输入手机号 |
| | | onPhoneInput(e) { |
| | | console.log(e) |
| | | const { phoneError } = this.data; |
| | | const isPhoneNumber = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e.detail.value); |
| | | if (phoneError === isPhoneNumber) { |
| | | this.setData({ |
| | | phoneError: !isPhoneNumber, |
| | | "userInfoForm.phone": e.detail.value, |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | onEmailInput(e) { |
| | | const { emailError } = this.data; |
| | | const isPhoneNumber = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(e.detail.value); |
| | | if (emailError === isPhoneNumber) { |
| | | this.setData({ |
| | | emailError: !isPhoneNumber, |
| | | "userInfoForm.email": e.detail.value, |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | getImgCapcha() { |
| | | app.MG.identity.getImgCode().then((res) => { |
| | | this.setData({ |
| | | imgCode: 'data:image/png;base64,' + res, |
| | | }); |
| | | }) |
| | | }, |
| | | //图形验证码 |
| | | onCaptchaInput(e) { |
| | | this.setData({ |
| | | "userInfoForm.captcha": e.detail.value, |
| | | }); |
| | | }, |
| | | |
| | | //短信邮箱验证码 |
| | | onCodeInput(e) { |
| | | this.setData({ |
| | | "userInfoForm.code": e.detail.value, |
| | | }); |
| | | }, |
| | | |
| | | getPhoneCode() { |
| | | if (this.data.userInfoForm.phone && this.data.userInfoForm.captcha) { |
| | | app.MG.identity |
| | | .getPhoneCode({ |
| | | phoneNumber: this.data.userInfoForm.phone, |
| | | imageCaptcha: this.data.userInfoForm.captcha, |
| | | appRefCode: app.config.appRefCode |
| | | }) |
| | | .then((res) => { |
| | | if (res == '验证码发送成功') { |
| | | wx.showToast({ |
| | | title: res, |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | // 开启短信验证倒计时 |
| | | this.getSecond(60) |
| | | } else { |
| | | wx.showToast({ |
| | | title: res, |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | this.getImgCapcha() |
| | | } |
| | | }) |
| | | } else { |
| | | wx.showToast({ |
| | | title: '请填写手机号或图形验证码', |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | } |
| | | }, |
| | | getSecond(time) { |
| | | let timer = null |
| | | if (!timer) { |
| | | let countDown = time; |
| | | this.setData({ |
| | | countDown: time, |
| | | }); |
| | | timer = setInterval(() => { |
| | | countDown-- |
| | | this.setData({ |
| | | countDown: countDown, |
| | | }); |
| | | if (this.data.countDow == 0) { |
| | | clearInterval(timer) |
| | | timer = null |
| | | } |
| | | }, 1000) |
| | | } |
| | | }, |
| | | |
| | | getEmailCode() { |
| | | console.log(this.data.userInfoForm.email) |
| | | if (this.data.userInfoForm.email && this.data.userInfoForm.captcha) { |
| | | app.MG.identity |
| | | .getEmailCode({ |
| | | sendEmail: this.data.userInfoForm.email, |
| | | captcha: this.data.userInfoForm.captcha, |
| | | appRefCode: app.config.appRefCode |
| | | }) |
| | | .then((res) => { |
| | | if (res == true) { |
| | | wx.showToast({ |
| | | title: '验证码已发送', |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | // 开启短信验证倒计时 |
| | | this.getSecond(60) |
| | | } else { |
| | | wx.showToast({ |
| | | title: '邮箱验证码发送失败', |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | this.getImgCapcha() |
| | | } |
| | | }) |
| | | } else { |
| | | wx.showToast({ |
| | | title: '请填写邮箱或图形验证码', |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | confirmInfo() { |
| | | if (this.data.changeType == 'phone') { |
| | | let query = { |
| | | phoneNumber: this.data.userInfoForm.phone, |
| | | phoneCaptcha: this.data.userInfoForm.code |
| | | } |
| | | app.MG.identity.userSetPhoneNumber(query).then((res) => { |
| | | if (res == '验证码过期或错误') { |
| | | wx.showToast({ |
| | | title: res + ',请稍后重试', |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | } else if (res == '此手机号码已被其它账号绑定') { |
| | | wx.showToast({ |
| | | title: res + ',请更换其他手机号。', |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | } else { |
| | | wx.showToast({ |
| | | title: res, |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | |
| | | this.setData({ |
| | | userInfoBox: false, |
| | | }); |
| | | this.getUserInfo() |
| | | } |
| | | }) |
| | | } else if (this.data.editType == 'email') { |
| | | let query = { |
| | | eMail: this.data.userInfoForm.email, |
| | | captcha: this.data.userInfoForm.code |
| | | } |
| | | |
| | | app.MG.identity.bindingEmail(query).then((res) => { |
| | | if (res == '验证码过期') { |
| | | wx.showToast({ |
| | | title: res + ',请稍后重试。', |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | } else if (res == '此邮箱已被其它账号绑定') { |
| | | wx.showToast({ |
| | | title: res + ',请更换其他邮箱。', |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | |
| | | } else if (res == '验证码无效') { |
| | | wx.showToast({ |
| | | title: res, |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | } else { |
| | | wx.showToast({ |
| | | title: res, |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | this.setData({ |
| | | userInfoBox: false, |
| | | }); |
| | | this.getUserInfo() |
| | | } |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | /** |
| | | * 页面相关事件处理函数--监听用户下拉动作 |
| | | */ |
| | |
| | | "navigationBarTitleText": "设置", |
| | | "usingComponents": { |
| | | "t-icon": "tdesign-miniprogram/icon/icon", |
| | | "t-avatar": "tdesign-miniprogram/avatar/avatar" |
| | | "t-avatar": "tdesign-miniprogram/avatar/avatar", |
| | | "t-popup": "tdesign-miniprogram/popup/popup", |
| | | "t-input": "tdesign-miniprogram/input/input" |
| | | } |
| | | } |
| | |
| | | </view> |
| | | <view class="itemList"> |
| | | <view class="label">手机号码</view> |
| | | <view class="content">{{userInfo.phoneNumber || '未绑定手机号'}}</view> |
| | | <view class="content" data-info="{{'phone'}}" bindtap="editUserInfo">{{userInfo.phoneNumber || '未绑定手机号'}}</view> |
| | | <t-icon name="chevron-right" size="40rpx" color="#C2C2C2" /> |
| | | </view> |
| | | <view class="itemList"> |
| | | <view class="label">邮箱</view> |
| | | <view class="content">{{userInfo.Email}}</view> |
| | | <view class="content" data-info="{{'email'}}" bindtap="editUserInfo">{{userInfo.Email}}</view> |
| | | <t-icon name="chevron-right" size="40rpx" color="#C2C2C2" /> |
| | | </view> |
| | | </view> |
| | | <t-popup visible="{{visible}}" bind:visible-change="onVisibleChange" placement="bottom"> |
| | | <view class="block"> |
| | | <view class="header"> |
| | | <view class="title">请选择您的用户类型</view> |
| | | </view> |
| | | <view class="body"> |
| | | <t-popup visible="{{userInfoBox}}" bind:visible-change="onVisibleChange" placement="bottom"> |
| | | <view class="block"> |
| | | <view class="body"> |
| | | <view class="from-item" wx:if="{{editType == 'phone'}}"> |
| | | <view class="label"> 手机号: </view> |
| | | <view class="item-content"> |
| | | <view class="inputBox1"> |
| | | <t-input placeholder="输入手机号码" borderless value="{{userInfoForm.phone}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="from-item" wx:if="{{editType == 'email'}}"> |
| | | <view class=" label"> 邮箱: </view> |
| | | <view class="item-content"> |
| | | <view class="inputBox1"> |
| | | <t-input placeholder="输入邮箱" borderless value="{{userInfoForm.email}}" type="number" tips="{{emailError ? '邮箱输入不正确' : ''}}" bindchange="onEmailInput" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="from-item"> |
| | | <view class="label"> 图形验证码: </view> |
| | | <view class="item-content"> |
| | | <view class="inputBox"> |
| | | <t-input placeholder="输入图形验证码" borderless value="{{userInfoForm.captcha}}" type="number" bindchange="onCaptchaInput" /> |
| | | </view> |
| | | <view class="code"> |
| | | <image src="{{imgCode}}" class="imgCode hover" bindtap="getImgCapcha" /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view wx:for="{{userTypeList}}" wx:for-item="item" wx:for-index="index" wx:key="index" data-info="{{item}}" bindtap="tabUserTypeClick" class="{{item.value === userTypeActive ? 'activeItem item' : 'item'}}"> |
| | | {{ item.lable }} |
| | | </view> |
| | | <view class="from-item" wx:if="{{editType == 'phone'}}"> |
| | | <view class="label"> 短信验证码: </view> |
| | | <view class="item-content"> |
| | | <view class="inputBox"> |
| | | <t-input placeholder="输入短信验证码" borderless value="{{userInfoForm.code}}" type="number" bindchange="onCodeInput" /> |
| | | </view> |
| | | <view class="code"> |
| | | <button class="btn" bindtap="getPhoneCode">{{countDown > 0 ? countDown : '获取短信验证码'}}</button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="from-item" wx:if="{{editType == 'email'}}"> |
| | | <view class="label"> 邮箱验证码: </view> |
| | | <view class="item-content"> |
| | | <view class="inputBox"> |
| | | <t-input placeholder="输入邮箱验证码" borderless value="{{userInfoForm.code}}" type="number" bindchange="onCodeInput" /> |
| | | </view> |
| | | <view class="code"> |
| | | <button class="btn" bindtap="getEmailCode">获取邮箱验证码</button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="footer"> |
| | | <button class="submit" bindtap="submit">确定</button> |
| | | <button class="submit" bindtap="confirmInfo">确定</button> |
| | | </view> |
| | | </view> |
| | | </t-popup> |
| | | </t-popup> |
| | | </view> |
| | |
| | | justify-content: space-between !important; |
| | | } |
| | | |
| | | .label { |
| | | .itemList .label { |
| | | font-weight: bold; |
| | | width: 180rpx; |
| | | font-size: 32rpx; |
| | | } |
| | | |
| | | .contentImg { |
| | |
| | | .content { |
| | | flex: 1; |
| | | color: #5C5C5C; |
| | | font-size: 32rpx; |
| | | } |
| | | |
| | | .block { |
| | | width: 100vw; |
| | | background: #fff; |
| | | border-top-left-radius: 16rpx; |
| | | border-top-right-radius: 16rpx; |
| | | } |
| | | |
| | | .block .body { |
| | | padding: 40rpx; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .block .body .from-item { |
| | | margin-bottom: 20rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .block .body .from-item .label { |
| | | width: 170rpx; |
| | | height: 72rpx; |
| | | line-height: 72rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | .block .body .from-item .item-content { |
| | | padding: 10rpx; |
| | | flex: 1; |
| | | display: flex; |
| | | } |
| | | |
| | | .inputBox1 { |
| | | width: 540rox; |
| | | height: 72rpx; |
| | | border: 2rpx solid #D9D9D9; |
| | | flex: 1; |
| | | } |
| | | |
| | | .block .body .inputBox { |
| | | width: 280rpx; |
| | | height: 72rpx; |
| | | border: 2rpx solid #D9D9D9; |
| | | } |
| | | |
| | | .t-input { |
| | | padding: 10rpx !important; |
| | | } |
| | | |
| | | .imgCode { |
| | | height: 72rpx; |
| | | width: 200rpx; |
| | | } |
| | | |
| | | .code { |
| | | width: 200rpx; |
| | | height: 72rpx; |
| | | margin-left: 20rpx; |
| | | } |
| | | |
| | | .btn { |
| | | width: 200rpx; |
| | | height: 72rpx; |
| | | padding: 0 10rpx !important; |
| | | background: #ff6c00; |
| | | border: 2rpx solid #ff6c00; |
| | | color: #fff; |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | .footer { |
| | | width: 80%; |
| | | margin: 10rpx auto; |
| | | } |
| | | |
| | | .submit { |
| | | background: #ff6c00; |
| | | color: #fff; |
| | | border-radius: 50rpx; |
| | | } |
| | |
| | | bookExhibitionList: [], |
| | | navBarHeight: '', |
| | | barHeight: '', |
| | | bookName: '' |
| | | subtitleName: '', |
| | | }, |
| | | |
| | | /** |
| | |
| | | |
| | | |
| | | this.setData({ |
| | | bookName: options.bookName |
| | | bookName: options.bookName, |
| | | subtitleName: options.subtitleName |
| | | }) |
| | | |
| | | const passId = options.id |
| | |
| | | this.setData({ |
| | | bookExhibitionList: res.datas |
| | | }) |
| | | console.log(this.data.bookExhibitionList, 88888); |
| | | console.log(this.data.bookExhibitionList, 'bookExhibitionList'); |
| | | }) |
| | | }, |
| | | onBookDetails(event) { |
| | | const item = event.currentTarget.dataset.item; |
| | | console.log(item, 'item'); |
| | | // wx.navigateTo({ |
| | | // url: '/pages/bookExhibitionDetails/index?id?name=' + item.id + item.name // 假设跳转到详情页面,并传递了id参数 |
| | | // }); |
| | | wx.navigateTo({ |
| | | url: '/packageBookService/pages/bookServices/detail/index?id=' + item.id + '&name=' + item.name |
| | | }); |
| | | }, |
| | | goBack() { |
| | | wx.navigateBack(); |
| | |
| | | <view> |
| | | <t-icon name="chevron-left" size="30" data-name="{{item}}" bind:click="goBack" /> |
| | | </view> |
| | | <view class="navbar-title">{{bookName}}</view> |
| | | <view class="navbar-title">{{subtitleName}}</view> |
| | | </view> |
| | | |
| | | <view class="headBox"> |
| | | <text class="titleBox">{{bookName}}</text> |
| | | <view class="titleBox">{{bookName}}</view> |
| | | <view class="informationBox"> |
| | | <text class="informationNameBox">发布人:{{bookCreator}}</text> |
| | | <text class="informationTimeBox">发布日期:{{bookBeginDate}}</text> |
| | |
| | | <image class="booksImageBox" src="{{item.icon}}" mode="" /> |
| | | </view> |
| | | <view class="booksTextBox"> <text>{{item.name}}</text></view> |
| | | |
| | | <view class="boosAuthor">{{item.author}}</view> |
| | | </view> |
| | | </view> |
| | |
| | | } |
| | | |
| | | .titleBox { |
| | | height: 60rpx; |
| | | |
| | | font-weight: 800; |
| | | font-size: 45rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | padding: 0 30rpx; |
| | | /* text-indent: 6%; */ |
| | | padding: 10rpx 30rpx; |
| | | |
| | | /* overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 1; */ |
| | | margin: 0 130rpx; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 1; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | .informationBox { |
| | |
| | | font-weight: bold; |
| | | width: 280rpx; |
| | | margin: 30rpx 25rpx; |
| | | /* overflow: hidden; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; */ |
| | | white-space: nowrap; |
| | | |
| | | } |
| | | |
| | | .outsideBooksBox { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .boosAuthor { |
| | | font-family: PingFang SC, PingFang SC; |
| | | font-weight: 400; |
| | | font-size: 22rpx; |
| | | color: #949494; |
| | | margin: 30rpx 25rpx; |
| | | } |
| | |
| | | options: [], |
| | | }, |
| | | navBarHeight: '', |
| | | barHeight: '' |
| | | |
| | | barHeight: '', |
| | | windowHeight: '', |
| | | }, |
| | | |
| | | |
| | |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | // 获取屏幕高度 |
| | | wx.getSystemInfo({ |
| | | success: function (res) { |
| | | // this.setData({ |
| | | // windowHeight: res.windowHeight |
| | | // }) |
| | | |
| | | // 获取节点的类名 |
| | | var query = wx.createSelectorQuery(); |
| | | query.select('.assembleContent').boundingClientRect(); |
| | | query.exec(function (res) { |
| | | |
| | | console.log(res, 'res'); |
| | | let node = res[0]; |
| | | node.setStyle({ |
| | | backgroundColor: '#0256b9', |
| | | }) |
| | | // // 修改节点样式 |
| | | // if (node) { |
| | | // node.setStyle({ |
| | | // backgroundColor: 'red', |
| | | // color: 'white' |
| | | // }); |
| | | // } |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | // console.log(this.data.filteredItems, 88888); |
| | | const systInfo = wx.getSystemInfoSync(); |
| | | const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息 |
| | |
| | | const item = event.currentTarget.dataset.item; |
| | | console.log(item); |
| | | wx.navigateTo({ |
| | | url: '/pages/bookExhibitionDetails/index?id=' + item.id + '&bookName=' + item.name // 假设跳转到详情页面,并传递了id参数 |
| | | url: '/pages/bookExhibitionDetails/index?id=' + item.id + '&bookName=' + item.name + '&subtitleName=' + item.subtitleName // 假设跳转到详情页面,并传递了id参数 |
| | | }); |
| | | }, |
| | | // 搜索框 |
| | |
| | | <view class="assembleContent"> |
| | | <view class="titleBox"> |
| | | <view class="frameBox"></view> |
| | | <image class="titleTextBox" src="/static/images/bookExhibitionList/zhuantitaolun.png" mode="aspectFit" /> |
| | | <view class="titleTextBox"> |
| | | <image src="/static/images/bookExhibitionList/zhuantitaolun.png" mode="heightFix" /> |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="outside"> |
| | | <view wx:if="{{bookExhibitionList.length }}"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | | </view> |
| | | |
| | | <view class="contentBox" wx:for="{{bookExhibitionList}}" wx:key="index" wx:for-item="item" wx:for-index="index" bindtap="onBookExhibitionDetails" data-item="{{item}}"> |
| | | <image wx:if="{{item.icon}}" src="{{item.icon}}" mode="aspectFit" /> |
| | | <image wx:else="" src="/static/images/bookExhibitionList/banner.png" mode="" /> |
| | | <view class="imageBox"> |
| | | <image wx:if="{{item.icon}}" src="{{item.icon}}" mode="widthFix" /> |
| | | <image wx:else src="/static/images/bookExhibitionList/banner.png" mode="heightFix" /> |
| | | </view> |
| | | |
| | | <view class="textBox" title="{{item.subtitleName}}"> <text>{{item.subtitleName}}</text></view> |
| | | </view> |
| | | |
| | |
| | | background-color: #fff; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | } |
| | | |
| | | .navbar-title { |
| | | white-space: nowrap; |
| | | /* overflow: hidden; */ |
| | | text-overflow: ellipsis; |
| | | color: #0F1214; |
| | | font-size: 40rpx; |
| | |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | margin: 15px; |
| | | |
| | | |
| | | } |
| | | |
| | | .contentBox { |
| | | width: 330rpx; |
| | | /* height: 231rpx; */ |
| | | /* border: 1px #000 solid; */ |
| | | margin: 10px 0; |
| | | background-color: #fff; |
| | | |
| | | } |
| | | |
| | | image { |
| | | width: 327rpx; |
| | | .contentBox .imageBox { |
| | | width: 330rpx; |
| | | height: 128rpx; |
| | | } |
| | | |
| | | |
| | | |
| | | image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | |
| | | .textBox { |
| | | font-family: PingFang SC, PingFang SC; |
| | | width: 280rpx; |
| | | /* height: 75rpx; */ |
| | | font-size: 25rpx; |
| | | |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 2; |
| | | /* text-align: center; */ |
| | | margin: 20rpx; |
| | | |
| | | } |
| | | |
| | | |
| | | .example-search { |
| | | /* width: 300px; */ |
| | | background-color: #fff; |
| | | /* padding: 16rpx 32rpx; */ |
| | | |
| | | } |
| | | |
| | | .iconBox { |
| | |
| | | padding-top: 30rpx; |
| | | } |
| | | |
| | | |
| | | |
| | | .frameBox { |
| | | width: 7rpx; |
| | | height: 54rpx; |
| | |
| | | |
| | | .titleTextBox { |
| | | margin-left: 5px; |
| | | width: 150rpx; |
| | | width: 200rpx; |
| | | height: 37rpx; |
| | | /*宽 3.7 高1 */ |
| | | } |
| | | |
| | | .titleTextBox image { |
| | | width: 100%; |
| | | height: 100%; |
| | | image-rendering: -webkit-optimize-contrast; |
| | | } |
| | | |
| | | .classification { |
| | |
| | | |
| | | .assembleContent { |
| | | background-color: #F2F3F8; |
| | | |
| | | } |
| | | |
| | | /* .t-dropdown-menu__item--active { |
| | | color: #0F1214; |
| | | } */ |
| | | |
| | | .t-dropdown-menu:after, |
| | | .t-dropdown-menu::after { |
| | | height: 0px; |
| | | } |
| | | |
| | | |
| | | .t-dropdown-item__body, |
| | | .t-dropdown-item__footer, |
| | |
| | | .t-dropdown-menu__item--active { |
| | | height: 68rpx !important; |
| | | background: #F6F6F6 !important; |
| | | /* border-radius: 40rpx 40rpx 0 0; */ |
| | | } |
| | | |
| | | .t-dropdown-menu__item--active, |
| | |
| | | /* background-color: #FF6C00 !important; */ |
| | | /* } */ |
| | | |
| | | /* .menu--t-dropdown-menu::after { |
| | | /* |
| | | */ |
| | | .menu--t-dropdown-menu::after { |
| | | background-color: var(--td-component-border, var(--td-gray-color-4, #fff)) !important; |
| | | |
| | | } |
| | | */ |
| | | } |
| | |
| | | }, |
| | | onShow() { |
| | | this.shoppingCartGet(); |
| | | this.setData({ totalPrice: 0.00, selectedCount: 0, checkAll: false, }) |
| | | |
| | | }, |
| | | onDelete(e) { |
| | | const item = e.currentTarget.dataset.item; |
| | |
| | | padding: 30rpx; |
| | | background: #F2F3F8; |
| | | border-radius: 18rpx 18rpx 18rpx 18rpx; |
| | | padding-bottom: 230rpx; |
| | | padding-bottom: 325rpx; |
| | | /* height: 260rpx; */ |
| | | } |
| | | |
| | |
| | | } |
| | | }, |
| | | |
| | | onPageScroll(e) { |
| | | this.setData({ |
| | | isWhite: e.scrollTop > 20 ? true : false |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * 用户点击右上角分享 |
| | | */ |
| | |
| | | console.log(e.currentTarget.dataset.item); |
| | | const item = e.currentTarget.dataset.item |
| | | wx.navigateTo({ |
| | | url: '/packageBookService/pages/bookServices/detail/index?id=' + item.id + '&name' + item.name |
| | | url: '/packageBookService/pages/bookServices/detail/index?id=' + item.id + '&name=' + item.name |
| | | |
| | | |
| | | }) |