components/popup/index.js
New file @@ -0,0 +1,54 @@ // components/popup/index.js Component({ /** * 组件的属性列表 */ properties: { }, ready() { var that = this; // 动态获取屏幕高度 wx.getSystemInfo({ success: (result) => { that.setData({ height: result.windowHeight }); }, }) }, properties: { showIndex: { type: String } }, /** * 组件的初始数据 */ data: { showIndex: null, //打开弹窗的对应下标 height: '', //屏幕高度 inputvalue: '', textvalue: '', ratevalue: 0, textError: false, }, /** * 组件的方法列表 */ methods: { openPopup(e) { var index = e.currentTarget.dataset.index; this.setData({ showIndex: index }) }, //关闭弹窗 closePopup() { this.setData({ showIndex: null }) }, } }) components/popup/index.json
New file @@ -0,0 +1,8 @@ { "component": true, "usingComponents": { "t-input": "tdesign-miniprogram/input/input", "t-textarea": "tdesign-miniprogram/textarea/textarea", "t-button": "tdesign-miniprogram/button/button" } } components/popup/index.wxml
New file @@ -0,0 +1,44 @@ <!-- 中间弹窗 --> <view class="popup-box" wx:if="{{showIndex=='1'}}" bindtap="closePopup"></view> <view class="info-center" style="top:{{height*0.3}}px" wx:if="{{showIndex=='1'}}" > <view class="row-info"> <view class="popup-content"> <view class="phone-input"> <t-input value="{{inputvalue}}" placeholder="请输入联系方式" bind:change="inputChange" type="number" maxlength="{{11}}" class="phone" style="{{inputStyle}}" /> </view> <view style="width: 100%"> <t-textarea value="{{textvalue}}" t-class="external-class" label="" placeholder="请输入反馈内容" maxcharacter="200" disableDefaultPadding="{{true}}" indicator bind:change="textareaChange" style="{{inputStyle}}" placeholder-style="{{placeholderstyle}}" /> </view> </view> <view class="row-btn"> <view class="submit-btn"> <t-button theme="primary" size="large" block bind:tap="confirmSuggest" >提交</t-button > </view> </view> </view></view > components/popup/index.wxss
New file @@ -0,0 +1,166 @@ /* components/popup/index.wxss */ /* 蒙层 */ .popup-box { position: absolute; z-index: 99; top: 0; background-color: rgba(0, 0, 0, 0.5); width: 100%; height: 100%; } /* 上 */ .info-top { position: fixed; z-index: 999; width: 100%; top: 0; background-color: white; border-bottom-left-radius: 5rpx; border-bottom-right-radius: 5rpx; } /* 中 */ .info-center { background-image: linear-gradient(to bottom, #FFF8E5, #fffcf5); position: fixed; z-index: 999; display: flex; align-items: center; justify-content: center; border-radius: 10rpx; width: 90%; margin-left: 5%; margin-right: 5%; } /* 下 */ .info-bottom { position: fixed; z-index: 999; width: 100%; bottom: 0; background-color: white; border-top-left-radius: 10rpx; border-top-right-radius: 10rpx; } /* 左 */ .info-left { position: fixed; z-index: 999; width: 50%; height: 100%; top: 0; background-color: white; border-top-right-radius: 10rpx; border-bottom-right-radius: 10rpx; } /* 右 */ .info-right { position: fixed; z-index: 999; width: 50%; height: 100%; right: 0; top: 0; background-color: white; border-top-left-radius: 10rpx; border-bottom-left-radius: 10rpx; } /* 自定义内容(根据自己需求更改,可删除) */ button { margin: 15rpx 0; } .row-info { width: 100%; padding: 10rpx; display: flex; flex-direction: column; align-items: center; margin: 15rpx; font-size: 32rpx; } .row-info view { padding: 10rpx 0; } .line { width: 100rpx; height: 1rpx; } .left-line { background-image: linear-gradient(to left, orange, white); } .right-line { background-image: linear-gradient(to right, orange, white); } .row-author { font-size: 24rpx; color: gray; } .row-btn { display: flex; flex-direction: row; align-items: center; border-top: 1rpx dashed #f1f1f1; } .row-btn view { flex: 1; text-align: center; margin: 20rpx 10%; padding: 12rpx 0; font-size: 32rpx; border-radius: 10rpx; } .left-btn { background-color: #f1f1f1; color: #33ccff; } .right-btn { background-color: #33ccff; color: white; } .fixed { position: fixed; bottom: 0; width: 50%; } .popup-content { width: 100%; height: 300px; display: flex; flex-direction: column; } .phone { --td-input-border-radius: 20rpx; border-radius: 20rpx; } .phone-input { width: 100%; margin-bottom: 16rpx; } .submit-btn { padding: 40rpx; --td-button-border-radius: 60rpx; --td-button-primary-bg-color: #ff6c00; --td-button-primary-border-color: #ff6c00; --td-button-primary-active-bg-color: #ff984d; --td-button-primary-active-border-color: #ff984d; } packageBookService/pages/bookServices/detail/buyResource/index.skeleton.wxml
New file @@ -0,0 +1,754 @@ <!-- 此文件为开发者工具生成,生成时间: 2024/4/15上午9:24:17 使用方法: 在 D:\WebData\project\2024\jsek-applet\packageBookService\pages\bookServices\detail\buyResource\index.wxml 引入模板 ``` <import src="index.skeleton.wxml"/> <template is="skeleton" wx:if="{{loading}}" /> ``` 在 D:\WebData\project\2024\jsek-applet\packageBookService\pages\bookServices\detail\buyResource\index.wxss 中引入样式 ``` @import "./index.skeleton.wxss"; ``` 更多详细信息可以参考文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html --> <template name="skeleton"> <view class="sk-container"> <view style="width: 100%; height: 47px; "></view> <view class="nacigationBar" style="width: 70%; height: 40px;"> <view class="flex"> <view> <view class="t-icon icon--t-icon " style="font-size: 30px;"> <label class="t-icon-chevron-left icon--t-icon-chevron-left t-icon-base icon--t-icon-base "></label> </view> </view> <view class="navbar-title ">资源购买</view> </view> <view> 全选 </view> </view> <view class="buy-resource"> <view is="packageBookService/pages/bookServices/detail/components/tree/index" id="tree"> <view class="index--tree"> <view class=" t-collapse collapse--t-collapse t-collapse--default collapse--t-collapse--default" style="true"> <view class="t-collapse-panel panel--t-collapse-panel t-collapse-panel--bottom panel--t-collapse-panel--bottom sk-pseudo sk-pseudo-circle" style="true"> <view class="t-collapse-panel__title panel--t-collapse-panel__title sk-button"> <view class="panel--t-collapse-panel__header panel--t-collapse-panel__header--bottom panel--t-collapse-panel__header--expanded t-cell cell--t-cell t-cell--middle cell--t-cell--middle sk-pseudo sk-pseudo-circle" hover-class="true" hover-stay-time="70" style="true"> <view class="t-cell__left cell--t-cell__left "></view> <view class="t-cell__title cell--t-cell__title"> <view class="t-cell__title-text cell--t-cell__title-text panel--class-title"> <view class="index--header-title"> <view class="index--title-checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="align-items: center;" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> <view class="index--title-box"> <view class="index--title-name sk-transparent sk-text-16-6667-828 sk-text">第一章 </view> <view class="index--title-num sk-transparent sk-text-16-6667-549 sk-text"> (2) </view> </view> </view> </view> </view> <view class="t-cell__description cell--t-cell__description "></view> </view> <view class="t-cell__right cell--t-cell__right "> <view class="t-icon icon--t-icon cell--t-cell__right-icon panel--class-right-icon panel--t-collapse-panel__arrow--bottom" style="true"> <label class="t-icon-chevron-up icon--t-icon-chevron-up t-icon-base icon--t-icon-base sk-pseudo sk-pseudo-circle"></label> </view> </view> </view> </view> <view class="t-collapse-panel__wrapper panel--t-collapse-panel__wrapper" style=";transition:0ms ease-in-out 0ms;transform:;transition-property:transform,height,top;transform-origin:50% 50% 0;-webkit-transition:0ms ease-in-out 0ms;-webkit-transform:;-webkit-transition-property:transform,height,top;-webkit-transform-origin:50% 50% 0;height:auto;top:0px"> <view class="t-collapse-panel__content panel--t-collapse-panel__content sk-transparent"> <view class="index--list"> <view is="packageBookService/pages/bookServices/detail/components/tree/index"> <view class="index--tree"> <view class=" t-collapse collapse--t-collapse t-collapse--default collapse--t-collapse--default" style="true"> <view class="t-collapse-panel panel--t-collapse-panel t-collapse-panel--bottom panel--t-collapse-panel--bottom sk-pseudo sk-pseudo-circle" style="true"> <view class="t-collapse-panel__title panel--t-collapse-panel__title sk-button"> <view class="panel--t-collapse-panel__header panel--t-collapse-panel__header--bottom t-cell cell--t-cell t-cell--middle cell--t-cell--middle sk-pseudo sk-pseudo-circle" hover-class="true" hover-stay-time="70" style="true"> <view class="t-cell__left cell--t-cell__left "></view> <view class="t-cell__title cell--t-cell__title"> <view class="t-cell__title-text cell--t-cell__title-text panel--class-title"> <view class="index--header-title"> <view class="index--title-checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="align-items: center;" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> <view class="index--title-box"> <view class="index--title-name sk-transparent sk-text-16-6667-154 sk-text">第一节 </view> <view class="index--title-num sk-transparent sk-text-16-6667-672 sk-text"> (7) </view> </view> </view> </view> </view> <view class="t-cell__description cell--t-cell__description "></view> </view> <view class="t-cell__right cell--t-cell__right "> <view class="t-icon icon--t-icon cell--t-cell__right-icon panel--class-right-icon panel--t-collapse-panel__arrow--bottom" style="true"> <label class="t-icon-chevron-down icon--t-icon-chevron-down t-icon-base icon--t-icon-base sk-pseudo sk-pseudo-circle"></label> </view> </view> </view> </view> <view class="t-collapse-panel__wrapper panel--t-collapse-panel__wrapper"> <view class="t-collapse-panel__content panel--t-collapse-panel__content sk-transparent"> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="0" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left t-checkbox__icon--disabled checkbox--t-checkbox__icon--disabled "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle t-checkbox__icon-rectangle--disabled checkbox--t-checkbox__icon-rectangle--disabled"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title t-checkbox__title--disabled checkbox--t-checkbox__title--disabled sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description t-checkbox__description--disabled checkbox--t-checkbox__description--disabled " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-196 sk-text" style="width: 208px;">11 如何帮助有心理应激反应的家人</text> </view> <view class="index--teachClass sk-transparent"></view> <view></view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="1" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-57 sk-text" style="width: 208px;">12 如何帮助被隔离的家庭成员和有精神疾病史的家人</text> </view> <view class="index--teachClass sk-transparent"></view> <view></view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="2" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-600 sk-text" style="width: 208px;">13 如何应对亲人的离世</text> </view> <view class="index--teachClass sk-transparent"></view> <view></view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="3" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-963 sk-text" style="width: 208px;">一、校长使命:带好一支教师队伍</text> </view> <view class="index--teachClass sk-transparent"></view> <view></view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="4" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-527 sk-text" style="width: 208px;">二、校长使命二:办好一所学校</text> </view> <view class="index--teachClass sk-transparent"></view> <view></view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="5" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-215 sk-text" style="width: 208px;">三、校长使命三:创设一个独具特色的学校精神</text> </view> <view class="index--teachClass sk-transparent"></view> <view></view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="6" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-837 sk-text" style="width: 208px;">四、校长使命四:做一位成功的表率</text> </view> <view class="index--teachClass sk-transparent"></view> <view> <image class="index--shopCar sk-image" data-item="[object Object]"></image> <image class="index--need-buy sk-image"></image> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> <view class="index--list"> <view is="packageBookService/pages/bookServices/detail/components/tree/index"> <view class="index--tree"> <view class=" t-collapse collapse--t-collapse t-collapse--default collapse--t-collapse--default" style="true"> <view class="t-collapse-panel panel--t-collapse-panel t-collapse-panel--bottom panel--t-collapse-panel--bottom sk-pseudo sk-pseudo-circle" style="true"> <view class="t-collapse-panel__title panel--t-collapse-panel__title sk-button"> <view class="panel--t-collapse-panel__header panel--t-collapse-panel__header--bottom t-cell cell--t-cell t-cell--middle cell--t-cell--middle sk-pseudo sk-pseudo-circle" hover-class="true" hover-stay-time="70" style="true"> <view class="t-cell__left cell--t-cell__left "></view> <view class="t-cell__title cell--t-cell__title"> <view class="t-cell__title-text cell--t-cell__title-text panel--class-title"> <view class="index--header-title"> <view class="index--title-checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="align-items: center;" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> <view class="index--title-box"> <view class="index--title-name sk-transparent sk-text-16-6667-832 sk-text">第二节 </view> <view class="index--title-num sk-transparent sk-text-16-6667-620 sk-text"> (5) </view> </view> </view> </view> </view> <view class="t-cell__description cell--t-cell__description "></view> </view> <view class="t-cell__right cell--t-cell__right "> <view class="t-icon icon--t-icon cell--t-cell__right-icon panel--class-right-icon panel--t-collapse-panel__arrow--bottom" style="true"> <label class="t-icon-chevron-down icon--t-icon-chevron-down t-icon-base icon--t-icon-base sk-pseudo sk-pseudo-circle"></label> </view> </view> </view> </view> <view class="t-collapse-panel__wrapper panel--t-collapse-panel__wrapper"> <view class="t-collapse-panel__content panel--t-collapse-panel__content sk-transparent"> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="0" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-397 sk-text" style="width: 208px;">14 如何应对家庭冲突</text> </view> <view class="index--teachClass sk-transparent"></view> <view> <image class="index--shopCar sk-image" data-item="[object Object]"></image> <image class="index--need-buy sk-image"></image> </view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="1" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-858 sk-text" style="width: 208px;">15 如何处理居家期间的亲子冲突</text> </view> <view class="index--teachClass sk-transparent"></view> <view> <image class="index--shopCar sk-image" data-item="[object Object]"></image> <image class="index--need-buy sk-image"></image> </view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="2" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-665 sk-text" style="width: 208px;">一、教师职业</text> </view> <view class="index--teachClass sk-transparent"></view> <view> <image class="index--shopCar sk-image" data-item="[object Object]"></image> <image class="index--need-buy sk-image"></image> </view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="3" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-354 sk-text" style="width: 208px;">二、新型教师素质特征</text> </view> <view class="index--teachClass sk-transparent"></view> <view> <image class="index--shopCar sk-image" data-item="[object Object]"></image> <image class="index--need-buy sk-image"></image> </view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="4" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-145 sk-text" style="width: 208px;">三、“四有好老师”对教师素质的要求</text> </view> <view class="index--teachClass sk-transparent"></view> <view> <image class="index--shopCar sk-image" data-item="[object Object]"></image> <image class="index--need-buy sk-image"></image> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> <view class="t-collapse-panel panel--t-collapse-panel t-collapse-panel--bottom panel--t-collapse-panel--bottom sk-pseudo sk-pseudo-circle" style="true"> <view class="t-collapse-panel__title panel--t-collapse-panel__title sk-button"> <view class="panel--t-collapse-panel__header panel--t-collapse-panel__header--bottom t-cell cell--t-cell t-cell--middle cell--t-cell--middle sk-pseudo sk-pseudo-circle" hover-class="true" hover-stay-time="70" style="true"> <view class="t-cell__left cell--t-cell__left "></view> <view class="t-cell__title cell--t-cell__title"> <view class="t-cell__title-text cell--t-cell__title-text panel--class-title"> <view class="index--header-title"> <view class="index--title-checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="align-items: center;" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> <view class="index--title-box"> <view class="index--title-name sk-transparent sk-text-16-6667-846 sk-text">第二章 </view> <view class="index--title-num sk-transparent sk-text-16-6667-551 sk-text"> (5) </view> </view> </view> </view> </view> <view class="t-cell__description cell--t-cell__description "></view> </view> <view class="t-cell__right cell--t-cell__right "> <view class="t-icon icon--t-icon cell--t-cell__right-icon panel--class-right-icon panel--t-collapse-panel__arrow--bottom" style="true"> <label class="t-icon-chevron-down icon--t-icon-chevron-down t-icon-base icon--t-icon-base sk-pseudo sk-pseudo-circle"></label> </view> </view> </view> </view> <view class="t-collapse-panel__wrapper panel--t-collapse-panel__wrapper" style=";transition:300ms ease-in-out 0ms;transform:;transition-property:transform,height,top;transform-origin:50% 50% 0;-webkit-transition:300ms ease-in-out 0ms;-webkit-transform:;-webkit-transition-property:transform,height,top;-webkit-transform-origin:50% 50% 0;height:0px;top:1px"> <view class="t-collapse-panel__content panel--t-collapse-panel__content sk-transparent"> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="0" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-878 sk-text" style="width: 208px;">16 如何处理居家期间的夫妻冲突和三角冲突</text> </view> <view class="index--teachClass sk-transparent"></view> <view> <image class="index--need-buy sk-image"></image> </view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="1" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-825 sk-text" style="width: 208px;">17 如何增进家庭成员的关系</text> </view> <view class="index--teachClass sk-transparent"></view> <view> <image class="index--need-buy sk-image"></image> </view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="2" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-126 sk-text" style="width: 208px;">一、师德的重要性</text> </view> <view class="index--teachClass sk-transparent"></view> <view> <image class="index--shopCar sk-image" data-item="[object Object]"></image> <image class="index--need-buy sk-image"></image> </view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="3" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-722 sk-text" style="width: 208px;">二、师德的内容</text> </view> <view class="index--teachClass sk-transparent"></view> <view> <image class="index--shopCar sk-image" data-item="[object Object]"></image> <image class="index--need-buy sk-image"></image> </view> </view> </view> </view> </view> <view class="index--list"> <view class="index--listItems"> <view class="index--itemsInfo" data-index="4" data-item="[object Object]"> <view class="index--contentBox" data-item="[object Object]" data-parent="[object Object]"> <view class="index--box-image" style="width: 234px;"> <view class="index--checkBox"> <view class="t-checkbox checkbox--t-checkbox t-checkbox--left checkbox--t-checkbox--left t-checkbox--default checkbox--t-checkbox--default t-checkbox--block checkbox--t-checkbox--block " style="true" tabindex="0"> <view class="t-checkbox__icon checkbox--t-checkbox__icon t-checkbox__icon--left checkbox--t-checkbox__icon--left "> <view class="t-checkbox__icon-rectangle checkbox--t-checkbox__icon-rectangle"></view> </view> <view class="t-checkbox__content checkbox--t-checkbox__content" data-target="text"> <view class="t-checkbox__title checkbox--t-checkbox__title sk-transparent" style="-webkit-line-clamp:3"></view> <view class="t-checkbox__description checkbox--t-checkbox__description " style="-webkit-line-clamp:5"></view> </view> <view class="t-checkbox__border checkbox--t-checkbox__border t-checkbox__border--left checkbox--t-checkbox__border--left "></view> </view> </view> <view class="index--teach-icon"> <image mode="true" class="sk-image"></image> </view> <view></view> <text class="index--name sk-transparent sk-text-16-6667-36 sk-text" style="width: 208px;">三、师德的培训</text> </view> <view class="index--teachClass sk-transparent"></view> <view> <image class="index--shopCar sk-image" data-item="[object Object]"></image> <image class="index--need-buy sk-image"></image> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> </view> <view class="page-bottom"> <button app-parameter="true" data-custom="null" form-type="true" hover-class="t-button--hover" hover-start-time="20" hover-stay-time="70" lang="en" open-type="true" send-message-img="true" send-message-path="true" send-message-title="true" session-from="true" style="true" class="btn-buy t-button button--t-button t-button--base button--t-button--base t-button--primary button--t-button--primary t-button--rectangle button--t-button--rectangle t-button--size-large button--t-button--size-large sk-button sk-pseudo sk-pseudo-circle"> <view class="t-button__content button--t-button__content sk-transparent sk-text-33-6735-970 sk-text" style="background-position-x: 50%;">批量购买</view> </button> </view> </view> </template> packageBookService/pages/bookServices/detail/buyResource/index.skeleton.wxss
New file @@ -0,0 +1,190 @@ /* 此文件为开发者工具生成,生成时间: 2024/4/15上午9:24:17 在 D:\WebData\project\2024\jsek-applet\packageBookService\pages\bookServices\detail\buyResource\index.wxss 中引入样式 ``` @import "./index.skeleton.wxss"; ``` 更多详细信息可以参考文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html */ .sk-transparent { color: transparent !important; } .sk-text-14-2857-872 { background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; background-size: 100% 53.8462rpx; position: relative !important; } .sk-text { background-origin: content-box !important; background-clip: content-box !important; background-color: transparent !important; color: transparent !important; background-repeat: repeat-y !important; } .sk-text-14-2857-157 { background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important; background-size: 100% 43.0769rpx; position: relative !important; } .sk-text-16-6667-828 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 46.1538rpx; position: relative !important; } .sk-text-16-6667-549 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 46.1538rpx; position: relative !important; } .sk-text-16-6667-154 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 46.1538rpx; position: relative !important; } .sk-text-16-6667-672 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 46.1538rpx; position: relative !important; } .sk-text-16-6667-196 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-57 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-600 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-963 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-527 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-215 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-837 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-832 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 46.1538rpx; position: relative !important; } .sk-text-16-6667-620 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 46.1538rpx; position: relative !important; } .sk-text-16-6667-397 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-858 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-665 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-354 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-145 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-846 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 46.1538rpx; position: relative !important; } .sk-text-16-6667-551 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 46.1538rpx; position: relative !important; } .sk-text-16-6667-878 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-825 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-126 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-722 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-16-6667-36 { background-image: linear-gradient(transparent 16.6667%, #EEEEEE 0%, #EEEEEE 83.3333%, transparent 0%) !important; background-size: 100% 40.3846rpx; position: relative !important; } .sk-text-33-6735-970 { background-image: linear-gradient(transparent 33.6735%, #EEEEEE 0%, #EEEEEE 66.3265%, transparent 0%) !important; background-size: 100% 94.2308rpx; position: relative !important; } .sk-button { color: #EFEFEF !important; background: #EFEFEF !important; border: none !important; box-shadow: none !important; } .sk-image { background: #EFEFEF !important; } .sk-pseudo::before, .sk-pseudo::after { background: #EFEFEF !important; background-image: none !important; color: transparent !important; border-color: transparent !important; } .sk-pseudo-rect::before, .sk-pseudo-rect::after { border-radius: 0 !important; } .sk-pseudo-circle::before, .sk-pseudo-circle::after { border-radius: 50% !important; } .sk-container { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: hidden; background-color: transparent; } packageBookService/pages/bookServices/detail/buyResource/index.wxml
@@ -1,4 +1,8 @@ <!--packageBookService/pages/bookServices/detail/buyResource/index.wxml--> <!-- 资源购买页面 --> <import src="index.skeleton.wxml" /> <template is="skeleton" wx:if="{{loading}}" /> <!--导航区域 --> <view style="width: 100%; height: {{barHeight}}px; "></view> <view class="nacigationBar" style="width: 70%; height: {{navBarHeight}}px;"> @@ -35,9 +39,9 @@ /> </view> <view class="noData" wx:if="{{loading}}"> <!-- <view class="noData" wx:if="{{loading}}"> <t-loading size="60rpx" loading="{{loading}}" /> </view> </view> --> <view class="page-bottom"> <t-button theme="primary" size="large" class="btn-buy" bindtap="batchPurchase" packageBookService/pages/bookServices/detail/buyResource/index.wxss
@@ -1,4 +1,5 @@ /* packageBookService/pages/bookServices/detail/buyResource/index.wxss */ @import "./index.skeleton.wxss"; .nacigationBar { background-color: #fff; display: flex; packageBookService/pages/bookServices/detail/components/suggest/suggest.json
@@ -8,6 +8,7 @@ "t-popup": "tdesign-miniprogram/popup/popup", "t-icon": "tdesign-miniprogram/icon/icon", "t-button": "tdesign-miniprogram/button/button", "t-image": "tdesign-miniprogram/image/image" "t-image": "tdesign-miniprogram/image/image", "popup": "/components/popup/index" } } packageBookService/pages/bookServices/detail/components/suggestDialog/index.js
New file @@ -0,0 +1,139 @@ // components/popup/index.js const app = getApp() Component({ /** * 组件的属性列表 */ properties: { }, ready() { var that = this; // 动态获取屏幕高度 wx.getSystemInfo({ success: (result) => { that.setData({ height: result.windowHeight }); }, }) }, properties: { showIndex: { type: String }, bookIcon: { type: String, value: '' }, bookName: { type: String, value: '' } }, /** * 组件的初始数据 */ data: { inputStyle: 'border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx; padding:16rpx;', showIndex: null, //打开弹窗的对应下标 height: '', //屏幕高度 inputvalue: '', textvalue: '', ratevalue: 0, textError: false, }, /** * 组件的方法列表 */ methods: { openPopup(e) { var index = e.currentTarget.dataset.index; this.setData({ showIndex: index }) }, //关闭弹窗 closePopup() { this.setData({ showIndex: null, ratevalue: 0, inputvalue: '', textvalue: '' }) }, // 评分改变 onChangeRate(e) { console.log(e.detail); this.setData({ ratevalue: e.detail.value }); }, // 输入框改变 inputChange(e) { this.setData({ inputvalue: e.detail.value }) }, // 文本框改变 textareaChange(e) { this.setData({ textvalue: e.detail.value }) }, async feedBack() { let content = { source: this.data.ratevalue, phone: this.data.inputvalue, content: this.data.textvalue, icon: this.properties.bookIcon } let query = { topicIdOrRefCode: 'bookOpinion', name: this.properties.bookName, content: JSON.stringify(content), type: 'ProductComment', cmsTypeRefCode: '', newDataListRequest: [] } await app.MG.ugc.newTopicMessage(query).then((res) => { wx.showToast({ title: '提交成功', icon: 'success', duration: 2000 }) this.closePopup() }) }, // 确定 async confirmSuggest() { const telephoneCheck = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/ const istelePhone = telephoneCheck.test(this.data.inputvalue) const textvalue = this.data.textvalue.trim() if (!this.data.ratevalue) { return wx.showToast({ icon: "error", title: '请选择评分', }) } else if (!this.data.inputvalue.length) { return wx.showToast({ icon: "error", title: '请填写联系方式', }) } else if (!istelePhone) { return wx.showToast({ icon: "error", title: '请输入正确联系方式', }) } else if (!textvalue.length) { return wx.showToast({ icon: 'error', title: '请输入反馈反馈内容', }) } await this.feedBack() } } }) packageBookService/pages/bookServices/detail/components/suggestDialog/index.json
New file @@ -0,0 +1,10 @@ { "component": true, "usingComponents": { "t-input": "tdesign-miniprogram/input/input", "t-textarea": "tdesign-miniprogram/textarea/textarea", "t-button": "tdesign-miniprogram/button/button", "t-icon": "tdesign-miniprogram/icon/icon", "t-rate": "tdesign-miniprogram/rate/rate" } } packageBookService/pages/bookServices/detail/components/suggestDialog/index.wxml
New file @@ -0,0 +1,66 @@ <!-- 中间弹窗 --> <view class="popup-box" wx:if="{{showIndex=='1'}}" bindtap="closePopup"></view> <view class="info-center" style="top:{{height*0.3}}px" wx:if="{{showIndex=='1'}}" > <view class="top-icon"> <image src="/static/images/bookService/detail/feedback.png" mode="aspectFit" /> </view> <view class="close-icon" bind:tap="closePopup"> <t-icon name="close-circle" size="24" data-name="close-circle" bind:click="onIconTap" color="#f1f1f1" /> </view> <view class="row-info"> <view class="popup-content"> <view class="top-title">我要建议</view> <view class="demo-rate"> <t-rate value="{{ratevalue}}" catch:change="onChangeRate" size="{{30}}" color="#FFB400" /> </view> <view class="phone-input"> <t-input value="{{inputvalue}}" placeholder="请输入联系方式" bind:change="inputChange" type="number" maxlength="{{11}}" class="phone" style="{{inputStyle}}" /> </view> <view style="width: 100%"> <t-textarea value="{{textvalue}}" t-class="external-class" label="" placeholder="请输入反馈内容" maxcharacter="200" disableDefaultPadding="{{true}}" indicator bind:change="textareaChange" style="{{inputStyle}}" placeholder-style="{{placeholderstyle}}" /> </view> </view> <view class="submit-btn"> <t-button theme="primary" size="large" block bind:tap="confirmSuggest" >提交</t-button > </view> </view></view > packageBookService/pages/bookServices/detail/components/suggestDialog/index.wxss
New file @@ -0,0 +1,210 @@ /* components/popup/index.wxss */ /* 蒙层 */ .popup-box { position: absolute; z-index: 99; top: 0; background-color: rgba(0, 0, 0, 0.5); width: 100%; height: 100%; } /* 上 */ .info-top { position: fixed; z-index: 999; width: 100%; top: 0; background-color: white; border-bottom-left-radius: 5rpx; border-bottom-right-radius: 5rpx; } /* 中 */ .info-center { position: relative; background-image: linear-gradient(to bottom, #FFF8E5, #fffcf5); position: fixed; z-index: 999; display: flex; align-items: center; justify-content: center; border-radius: 10rpx; width: 90%; margin-left: 5%; margin-right: 5%; } /* 下 */ .info-bottom { position: fixed; z-index: 999; width: 100%; bottom: 0; background-color: white; border-top-left-radius: 10rpx; border-top-right-radius: 10rpx; } /* 左 */ .info-left { position: fixed; z-index: 999; width: 50%; height: 100%; top: 0; background-color: white; border-top-right-radius: 10rpx; border-bottom-right-radius: 10rpx; } /* 右 */ .info-right { position: fixed; z-index: 999; width: 50%; height: 100%; right: 0; top: 0; background-color: white; border-top-left-radius: 10rpx; border-bottom-left-radius: 10rpx; } /* 自定义内容(根据自己需求更改,可删除) */ button { margin: 15rpx 0; } .row-info { width: 100%; padding: 10rpx; display: flex; flex-direction: column; align-items: center; margin: 15rpx; font-size: 32rpx; } .row-info view { padding: 10rpx 0; } .line { width: 100rpx; height: 1rpx; } .left-line { background-image: linear-gradient(to left, orange, white); } .right-line { background-image: linear-gradient(to right, orange, white); } .row-author { font-size: 24rpx; color: gray; } .row-btn { display: flex; flex-direction: row; align-items: center; border-top: 1rpx dashed #f1f1f1; } .row-btn view { flex: 1; text-align: center; margin: 20rpx 10%; padding: 12rpx 0; font-size: 32rpx; border-radius: 10rpx; } .left-btn { background-color: #f1f1f1; color: #33ccff; } .right-btn { background-color: #33ccff; color: white; } .fixed { position: fixed; bottom: 0; width: 50%; } .popup-content { width: 100%; height: 720rpx; display: flex; flex-direction: column; } .phone { --td-input-border-radius: 20rpx; border-radius: 20rpx; } .phone-input { width: 100%; margin-bottom: 16rpx; } .submit-btn { width: 100%; padding: 40rpx; --td-button-border-radius: 60rpx; --td-button-primary-bg-color: #ff6c00; --td-button-primary-border-color: #ff6c00; --td-button-primary-active-bg-color: #ff984d; --td-button-primary-active-border-color: #ff984d; } .demo-rate { height: 60rpx; width: 100%; display: flex; justify-content: center; } .demo-rate__title { width: 200rpx; } .top-icon { top: -280rpx; left: 36%; position: absolute; } .top-icon image { width: 200rpx; } .demo-rate__transparent { background-color: transparent; padding-left: 32rpx; border: 0; } .top-title { width: 100%; text-align: center; color: #0F1214; font-size: 40rpx; font-weight: bold; } .close-icon { /* background-color: #f1f1f1; border-radius: 20rpx; */ position: absolute; bottom: -60rpx; } packageBookService/pages/bookServices/detail/components/testResource/testResource.wxss
@@ -136,6 +136,7 @@ overflow: hidden; box-sizing: border-box; border: 3rpx solid #ff6c00; color: #ff6c00; } .card--active { packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -132,9 +132,12 @@ goPlayer(e) { // 检查登录状态 const token = wx.getStorageSync(app.config.tokenKey); if (token) { const item = e.currentTarget.dataset.item; const parent = e.currentTarget.dataset.parent; const parentProductLinkPath = parent ? parent.productLinkPath : wx.getStorageSync('teachResourcesPath') const parentName = parent ? parent.name : '教学资源' let url; if (this.properties.isShowCheck && this.resourceIsBuy(item)) { return false; @@ -160,7 +163,7 @@ }); } wx.navigateTo({ url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parent.productLinkPath}&parentName=${parent.name}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}&formPath=${this.properties.tab}`, url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parentProductLinkPath}&parentName=${parentName}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}&formPath=${this.properties.tab}`, }); if (item.selectType == "document" || item.selectType == "pdf") { const fileLink = packageBookService/pages/bookServices/detail/components/tree/index.wxml
@@ -1,11 +1,144 @@ <view class="tree"> <t-collapse default-value="{{openIds}}" catchchange="handleChange"> <view wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" wx:if="{{item.sysType== 'CmsItem' }}" > <view class="listItems" wx:if="{{item.childrenFolderCount <= 0 && item.sysType == 'CmsItem'}}" > <view class="itemsInfo" data-item="{{item}}" data-index="{{index}}"> <view class="contentBox" bind:tap="goPlayer" data-item="{{item}}" data-parent="{{''}}" > <!-- 教学资源 云学习 图标 --> <view class="box-image" style="width: 100%"> <view class="checkBox" wx:if="{{isShowCheck}}" catchtap="catchTap" > <!-- checked="{{citem.checked}}" --> <!-- <t-checkbox icon="rectangle" checked="{{citem.checked}}" disabled="{{citem.selectType=='webpage' || citem.isDownload != 1 || citem.fileMap[citem.file].protectType == 'Private'}}" catch:change="checkResource" data-item="{{citem}}" /> --> <t-checkbox disabled="{{!citem.saleMethod[0].Id}}" icon="rectangle" checked="{{item.checked}}" data-item="{{item}}" data-parent="{{item}}" catch:change="checkResource" /> </view> <!-- 教学资源图标 --> <view class="teach-icon"> <image wx:if="{{item.selectType == 'audio' || item.learnSelectType == 'audio'}}" src="/static/images/bookService/detail/audioIcon.png" mode="aspectFill" /> <image wx:elif="{{item.selectType == 'video' || item.learnSelectType == 'video'}}" src="/static/images/bookService/detail/video.png" mode="aspectFill" /> <image wx:elif="{{item.selectType == 'pdf'}}" src="/static/images/bookService/detail/pdf.png" mode="aspectFill" /> <image wx:elif="{{item.selectType == 'webpage'}}" src="/static/images/bookService/detail/net.png" mode="aspectFill" /> <image wx:elif="{{item.selectType == 'picture'}}" src="/static/images/bookService/detail/picture.png" mode="aspectFill" /> <image wx:elif="{{item.selectType == 'zip'}}" src="/static/images/bookService/detail/zip.png" mode="aspectFill" /> <image wx:elif="{{ item.fileMap[item.file].extension == 'doc' || item.fileMap[item.file].extension == 'docx'}}" src="/static/images/bookService/detail/word.png" mode="aspectFill" /> <image wx:elif="{{ item.fileMap[item.file].extension == 'xlsx' || item.fileMap[item.file].extension == 'xlsx'}}" src="/static/images/bookService/detail/excel.png" mode="aspectFill" /> <image wx:elif="{{ item.fileMap[item.file].extension == 'ppt' || item.fileMap[item.file].extension == 'pptx'}}" src="/static/images/bookService/detail/PPT.png" mode="aspectFill" /> <!-- 资源无文件内容图标 --> <image wx:else src="/static/images/bookService/detail/word.png" mode="" /> </view> <!-- 云学习图标 --> <view> </view> <!-- 名称 --> <text class="name" style="width: 80%">{{item.name || '-'}}</text> </view> <!-- 教学资源类型 --> <view class="teachClass"> {{item.resourceClass}} </view> <view class="teach-btn" wx:if="{{tab == 'jsek_teachingResources'}}"> <!-- 下载按钮 --> <!-- <image src="/static/images/bookService/detail/download-icon.png" class="download-image" data-value="{{citem}}" catchtap="downloadTeach" ></image> --> </view> <view wx:if="{{tab == 'jsek_cloudLearning'}}"> <!-- 云学习试看图标 --> <image src="/static/images/bookService/detail/shikan.png" class="testSee" wx:if="{{!item.isbuy ? false : item.freeFile ? true : false}}" ></image> <!-- 云学习加入购物车图标 --> <image src="/static/images/bookService/detail/cart@2x.png" wx:if="{{item.isShopCar}}" class="shopCar" data-item="{{item}}" catch:tap="onCloudShoppingCart" ></image> <!-- 云学习购买图标 --> <image src="/static/images/bookService/detail/need-buy.png" class="need-buy" wx:if="{{item.isbuy }}" ></image> </view> </view> </view> </view> </view> <t-collapse-panel wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" value="{{item.id}}" wx:if="{{item.sysType == 'CmsFolder' }}" > <view slot="header" class="header-title"> <view class="title-checkBox" catchtap="catchTap"> packageBookService/pages/bookServices/detail/index.js
@@ -148,7 +148,8 @@ }, { width: '100%' }, ] ], showIndex: '' }, resetTree: function (e) { @@ -626,24 +627,11 @@ // 检查登录状态 const token = wx.getStorageSync(app.config.tokenKey); const child = this.selectComponent("#suggest-component"); if (!token) { wx.showLoading({ title: "加载中", }); loginInfo(app, (data) => { // 如果不是第一次登录,会执行回调 if (data) { // 登录成功,自动记录token和用户信息,并返回true child.showDialog(); wx.hideLoading(); } else { // 出现错误,返回false } }); } else { // 如果是第一次登录,会跳转至绑定用户信息页面,填写完用户信息后进行登录并储存token和用户信息,结束后跳转回当前页面(携带页面参数) child.showDialog(); } if (token) // child.showDialog(); this.setData({ showIndex: '1' }) }, // 跳转网店 goShop(e) { @@ -683,6 +671,9 @@ (e.detail.value == "jsek_cloudLearning" && !this.data.learn.length) || (e.detail.value == "questionBank" && !this.data.test.length) ) { if (e.detail.value == "jsek_teachingResources") { wx.setStorageSync('teachResourcesPath', checkData.productLinkPath) } this.getResourceData(checkData); } if (e.detail.value == "questionBank" && token) this.getMockData(); packageBookService/pages/bookServices/detail/index.json
@@ -19,7 +19,8 @@ "t-toast": "tdesign-miniprogram/toast/toast", "t-empty": "tdesign-miniprogram/empty/empty", "t-fab": "tdesign-miniprogram/fab/fab", "t-skeleton": "tdesign-miniprogram/skeleton/skeleton" "t-skeleton": "tdesign-miniprogram/skeleton/skeleton", "suggest-dialog":"/packageBookService/pages/bookServices/detail/components/suggestDialog/index" }, "navigationStyle": "custom", "onReachBottomDistance": 200, packageBookService/pages/bookServices/detail/index.wxml
@@ -3,34 +3,69 @@ <template is="skeleton" wx:if="{{pageLoading}}" /> <!-- pageLoading --> <!--导航区域 --> <suggest-dialog class="suggest-dialog" showIndex="{{showIndex}}" bookIcon="{{bookDetail.icon}}" bookName="{{bookDetail.name}}" ></suggest-dialog> <!-- <popup showIndex="{{showIndex}}"></popup> --> <view class="page-bookService" wx:if="{{!pageLoading}}"> <view style="width: 100%; height: {{barHeight}}px; "></view> <view class="nacigationBar" style="width: 70%; height: {{navBarHeight}}px;"> <view class="nacigationBar" style="width: 100%; height: {{navBarHeight}}px;"> <view> <t-icon name="chevron-left" size="30" data-name="{{item}}" bind:click="goBack" /> <t-icon name="chevron-left" size="30" data-name="{{item}}" bind:click="goBack" /> </view> <view class="navbar-title">{{options.name}}</view> <view class="navbar-title" style="width: 100%"> <text>{{options.name}}</text> </view> </view> <t-toast id="t-toast" /> <scroll-view scroll-y="{{true}}" class="book" bindscrolltolower="onReachBottom"> <scroll-view scroll-y="{{true}}" class="book" bindscrolltolower="onReachBottom" > <!-- 图书详情 --> <view class="book-box"> <view class="book-detail" id="book-detail"> <view class="detail-left"> <view class="book-img"> <image loading="" src="{{bookDetail.icon ? bookDetail.icon : '/static/images/default-book-img.png'}}" mode="aspectFit" aria-label="{{bookDetail.name}}" /> <image loading="" src="{{bookDetail.icon ? bookDetail.icon : '/static/images/default-book-img.png'}}" mode="aspectFit" aria-label="{{bookDetail.name}}" /> </view> <view class="book-use"> <view class="collect" bind:tap="setCollect"> <view> <image loading="" src="/static/images/bookService/detail/collect.png" wx:if="{{!bookDetail.isFavourite}}" /> <image loading="" src="/static/images/bookService/detail/collecting.png" wx:if="{{bookDetail.isFavourite}}" /> <image loading="" src="/static/images/bookService/detail/collect.png" wx:if="{{!bookDetail.isFavourite}}" /> <image loading="" src="/static/images/bookService/detail/collecting.png" wx:if="{{bookDetail.isFavourite}}" /> </view> <view class="use-title">收藏</view> </view> <view class="suggest" bind:tap="suggestBtn"> <view> <image loading="" src="/static/images/bookService/detail/suggest.png" /> <image loading="" src="/static/images/bookService/detail/suggest.png" /> </view> <view class="use-title">我要建议</view> </view> @@ -55,12 +90,19 @@ <view class="li-title">出版时间:</view> <view class="li-content">{{bookDetail.publicationDate}}</view> </view> <view class="message-li" wx:if="{{bookClass.length}}" style="height: 80rpx"> <view class="message-li" wx:if="{{bookClass.length}}" style="height: 80rpx" > <view class="li-title">图书分类:</view> <view class="class-name showTow">{{bookClass}}</view> </view> </view> <image src="/static/images/bookService/detail/square.png" class="right-background" /> <image src="/static/images/bookService/detail/square.png" class="right-background" /> </view> </view> <!-- 销售信息 --> @@ -69,12 +111,17 @@ <!-- 电子书售价 --> <view class="electron-price" wx:if="{{bookDetail.price}}"> <view> <image src="/static/images/bookService/detail/electon-price.png" /> <image src="/static/images/bookService/detail/electon-price.png" /> </view> <view class="price"> <view class="price-text">{{bookDetail.price == '0.00' ? '免费' : '¥'+ bookDetail.price}}</view> <view class="price-old" wx:if="{{bookDetail.oldPrice != '0.00'}}">¥{{bookDetail.oldPrice}} <view class="price-text" >{{bookDetail.price == '0.00' ? '免费' : '¥'+ bookDetail.price}}</view > <view class="price-old" wx:if="{{bookDetail.oldPrice != '0.00'}}" >¥{{bookDetail.oldPrice}} </view> </view> <view> </view> @@ -84,26 +131,68 @@ <view> <image src="/static/images/bookService/detail/paper-price.png" /> </view> <view class="price">{{bookDetail.paperPrice == '0.00' ? '免费' : '¥'+bookDetail.paperPrice}}</view> <view class="price" >{{bookDetail.paperPrice == '0.00' ? '免费' : '¥'+bookDetail.paperPrice}}</view > </view> </view> <!-- 网店 --> <view class="book-web"> <image src="/static/images/bookService/detail/jd.png" wx:if="{{bookDetail.JDLink}}" bind:tap="goShop" data-link="{{bookDetail.JDLink}}" data-type="jd" /> <image class="tmall-image" src="/static/images/bookService/detail/tmall.png" bind:tap="goShop" data-link="{{bookDetail.tmallLink}}" wx:if="{{bookDetail.tmallLink}}" /> <image src="/static/images/bookService/detail/dangdang.png" bind:tap="goShop" data-link="{{bookDetail.dangdangLink}}" wx:if="{{bookDetail.dangdangLink}}" /> <image src="/static/images/bookService/detail/weidian.png" bind:tap="goShop" data-link="{{bookDetail.weidianLink}}" wx:if="{{bookDetail.weidianLink}}" /> <image src="/static/images/bookService/detail/jd.png" wx:if="{{bookDetail.JDLink}}" bind:tap="goShop" data-link="{{bookDetail.JDLink}}" data-type="jd" /> <image class="tmall-image" src="/static/images/bookService/detail/tmall.png" bind:tap="goShop" data-link="{{bookDetail.tmallLink}}" wx:if="{{bookDetail.tmallLink}}" /> <image src="/static/images/bookService/detail/dangdang.png" bind:tap="goShop" data-link="{{bookDetail.dangdangLink}}" wx:if="{{bookDetail.dangdangLink}}" /> <image src="/static/images/bookService/detail/weidian.png" bind:tap="goShop" data-link="{{bookDetail.weidianLink}}" wx:if="{{bookDetail.weidianLink}}" /> </view> </view> </view> <view class="book-resource"> <movable-area class="movable-area"> <t-tabs value="{{tabValue}}" bind:change="onTabsChange" t-class="custom-tabs" t-class-content="custom-panel" class="tab-class"> <t-tab-panel label="图书简介" icon="{{ tabValue == 'brief' ? briefIconClick : briefIcon}}" value="brief" style="{{tabPanelstyle}}"> <book-brief content="{{bookDetail.content}}" authorIntroduction="{{bookDetail.authorIntroduction}}" wx:if="{{bookDetail.content || bookDetail.authorIntroduction}}"></book-brief> <view wx:if="{{!bookDetail.content && !bookDetail.authorIntroduction}}" class="noData"> <t-tabs value="{{tabValue}}" bind:change="onTabsChange" t-class="custom-tabs" t-class-content="custom-panel" class="tab-class" > <t-tab-panel label="图书简介" icon="{{ tabValue == 'brief' ? briefIconClick : briefIcon}}" value="brief" style="{{tabPanelstyle}}" > <book-brief content="{{bookDetail.content}}" authorIntroduction="{{bookDetail.authorIntroduction}}" wx:if="{{bookDetail.content || bookDetail.authorIntroduction}}" ></book-brief> <view wx:if="{{!bookDetail.content && !bookDetail.authorIntroduction}}" class="noData" > <t-empty icon="folder-open" description="暂无数据" /> </view> </t-tab-panel> @@ -114,10 +203,36 @@ style="{{tabPanelstyle}}" > </t-tab-panel> --> <t-tab-panel label="教学资源" icon="{{tabValue == 'jsek_teachingResources' ? teachResourcesClickIcon : teachResourcesIcon}}" value="jsek_teachingResources" class="{{loading ? 'loading': ''}}"> <view wx:if="{{!loading && teach.length && !noResources && applyState}}"> <teach-resource applyState="{{applyState}}" rejectCause="{{rejectCause}}" deadline="{{deadline}}" bind:applyResource="applyResource" applyResourceLoading="{{applyResourceLoading}}"></teach-resource> <tree id="teach-tree" openIds="{{openTeachids}}" bookInfo="{{bookDetail}}" treeList="{{teach}}" tab="{{tabValue}}" applyState="{{applyState}}" bind:downloadTeach="downloadTeach" bind:handleTree="handleTree" openTeachids="{{openTeachids}}" wx:if="{{teach.length}}" isShoppingCart="isShoppingCart" bind:updateCloudLearning="updateCloudLearning"></tree> <t-tab-panel label="教学资源" icon="{{tabValue == 'jsek_teachingResources' ? teachResourcesClickIcon : teachResourcesIcon}}" value="jsek_teachingResources" class="{{loading ? 'loading': ''}}" > <view wx:if="{{!loading && teach.length && !noResources && applyState}}" > <teach-resource applyState="{{applyState}}" rejectCause="{{rejectCause}}" deadline="{{deadline}}" bind:applyResource="applyResource" applyResourceLoading="{{applyResourceLoading}}" ></teach-resource> <tree id="teach-tree" openIds="{{openTeachids}}" bookInfo="{{bookDetail}}" treeList="{{teach}}" tab="{{tabValue}}" applyState="{{applyState}}" bind:downloadTeach="downloadTeach" bind:handleTree="handleTree" openTeachids="{{openTeachids}}" wx:if="{{teach.length}}" isShoppingCart="isShoppingCart" bind:updateCloudLearning="updateCloudLearning" ></tree> </view> <!-- <t-loading theme="circular" @@ -126,38 +241,100 @@ loading="{{loading }}" /> --> <view wx:if="{{loading}}" style="width: 100%; height: min-content"> <t-skeleton row-col="{{rowCol}}" theme="paragraph" animation="gradient" loading="{{loading}}"></t-skeleton> <t-skeleton row-col="{{rowCol}}" theme="paragraph" animation="gradient" loading="{{loading}}" ></t-skeleton> </view> <view wx:if="{{noResources}}" class="noData"> <t-empty icon="folder-open" description="暂无数据" /> </view> </t-tab-panel> <t-tab-panel label="云学习" icon="{{tabValue == 'jsek_cloudLearning' ? learnResourceClickIcon : learnResourceIcon}}" value="jsek_cloudLearning" style="{{tabPanelstyle}}"> <t-tab-panel label="云学习" icon="{{tabValue == 'jsek_cloudLearning' ? learnResourceClickIcon : learnResourceIcon}}" value="jsek_cloudLearning" style="{{tabPanelstyle}}" > <view wx:if="{{!loading && learn.length}}"> <learn-resource bind:getFreeResource="getFreeResource" bind:allAddShoppiingCar="allAddShoppiingCar" id="learn-resource" buyResourceData="{{buyResourceData}}" bookId="{{bookDetail.id}}" isshowDrawBtn="{{isshowDrawBtn}}"></learn-resource> <learn-resource bind:getFreeResource="getFreeResource" bind:allAddShoppiingCar="allAddShoppiingCar" id="learn-resource" buyResourceData="{{buyResourceData}}" bookId="{{bookDetail.id}}" isshowDrawBtn="{{isshowDrawBtn}}" ></learn-resource> <tree id="tree" openIds="{{openLearnids}}" bookInfo="{{bookDetail}}" tab="{{tabValue}}" treeList="{{learn}}" buyIds="{{buyIdList}}" openLearnids="{{openLearnids}}" bind:updateShoppingCartHidden="updateShoppingCartHidden" bind:updateCloudLearning="updateCloudLearning"></tree> <tree id="tree" openIds="{{openLearnids}}" bookInfo="{{bookDetail}}" tab="{{tabValue}}" treeList="{{learn}}" buyIds="{{buyIdList}}" openLearnids="{{openLearnids}}" bind:updateShoppingCartHidden="updateShoppingCartHidden" bind:updateCloudLearning="updateCloudLearning" ></tree> </view> <view wx:if="{{noResources}}" class="noData"> <t-empty icon="folder-open" description="暂无数据" /> </view> </t-tab-panel> <t-tab-panel label="云测试" icon="{{tabValue == 'questionBank' ? testResourceClickIocn : testResourceIocn}}" value="questionBank" style="{{tabPanelstyle}}"> <t-tab-panel label="云测试" icon="{{tabValue == 'questionBank' ? testResourceClickIocn : testResourceIocn}}" value="questionBank" style="{{tabPanelstyle}}" > <view wx:if="{{!loading}}"> <test-resource id="test-resource" list="{{test}}" bookInfo="{{bookDetail}}" mockData="{{mockData}}" bind:buyMock="buyMock"></test-resource> <test-resource id="test-resource" list="{{test}}" bookInfo="{{bookDetail}}" mockData="{{mockData}}" bind:buyMock="buyMock" ></test-resource> </view> </t-tab-panel> <t-tab-panel label="云笔记" icon="{{tabValue == 'jsek_note' ? noteClickIcon: noteIcon}}" value="jsek_note" style="{{tabPanelstyle}}"> <t-tab-panel label="云笔记" icon="{{tabValue == 'jsek_note' ? noteClickIcon: noteIcon}}" value="jsek_note" style="{{tabPanelstyle}}" > <note bookInfo="{{bookDetail}}" id="note" class="note-list"></note> </t-tab-panel> <t-tab-panel label="相关图书" icon="{{tabValue == 'related_books' ? linkClickIcon: linkIcon}}" value="related_books" style="{{tabPanelstyle}}"> <related-books relatedBookData="{{relatedBookData}}" relatedBookLoading="{{relatedBookLoading}}" noRelatedBookData="{{noRelatedBookData}}" bind:goBookDetails="goBookDetails"></related-books> <t-tab-panel label="相关图书" icon="{{tabValue == 'related_books' ? linkClickIcon: linkIcon}}" value="related_books" style="{{tabPanelstyle}}" > <related-books relatedBookData="{{relatedBookData}}" relatedBookLoading="{{relatedBookLoading}}" noRelatedBookData="{{noRelatedBookData}}" bind:goBookDetails="goBookDetails" ></related-books> </t-tab-panel> </t-tabs> <movable-view class="movable-view" :x="{{x}}" :y="{{y}}" direction="all"> <movable-view class="movable-view" :x="{{x}}" :y="{{y}}" direction="all" > <view class="applyBox" bindtap="goApply"> <view class="box"> <t-image src="/static/images/home/yangshuForm1.png" mode="heightFix" class="img" /> <t-image src="/static/images/home/yangshuForm1.png" mode="heightFix" class="img" /> <view class="num" wx:if="{{num > 0}}">{{num}}</view> </view> </view> @@ -166,33 +343,69 @@ </view> </scroll-view> <!-- 我要建议弹窗 --> <suggest class="suggest-component" id="suggest-component" bookIcon="{{bookDetail.icon}}" bookName="{{bookDetail.name}}"></suggest> <suggest class="suggest-component" id="suggest-component" bookIcon="{{bookDetail.icon}}" bookName="{{bookDetail.name}}" ></suggest> <!-- 教学资源下载提示弹窗 --> <t-dialog class="teachDownloadDialog" visible="{{isShowTeachDownload}}" title="提示" content="请前往PC端下载" confirm-btn="{{ confirmBtn }}" bind:confirm="closeTeachDownload" /> <t-dialog class="teachDownloadDialog" visible="{{isShowTeachDownload}}" title="提示" content="请前往PC端下载" confirm-btn="{{ confirmBtn }}" bind:confirm="closeTeachDownload" /> <!-- 购买按钮 --> <view class="box-bottom"> <view class="bottom-btn" bind:tap="appplyElectronicBook"> <view> <t-image loading="" src="/static/images/bookService/detail/ebook.png"></t-image> <t-image loading="" src="/static/images/bookService/detail/ebook.png" ></t-image> </view> <view class="btn-text">电子样书申请</view> </view> <view class="bottom-btn" bind:tap="appplyPaperBook"> <view> <t-image src="/static/images/bookService/detail/paper-book.png"></t-image> <t-image src="/static/images/bookService/detail/paper-book.png" ></t-image> </view> <view class="btn-text">纸质样书申请</view> </view> <view class="{{!bookBuy && bookDetail.isSell ? 'bottom-btn tryRead' : 'bottom-btn try'}}" bind:tap="goRead" wx:if="{{!bookBuy}}"> <view class="{{!bookBuy && bookDetail.isSell ? 'bottom-btn tryRead' : 'bottom-btn try'}}" bind:tap="goRead" wx:if="{{!bookBuy}}" > <view> <t-image src="/static/images/bookService/detail/shidu.png"></t-image> </view> <view class="btn-text">试读</view> </view> <view class="shopCar shopCarColor" bind:tap="addBookShopcCar" wx:if="{{!bookBuy && bookDetail.price !== '0.00' && bookDetail.isSell == '1'}}">加入购物车</view> <view class="buy buyColor" bind:tap="buyBtn" wx:if="{{!bookBuy && bookDetail.price !== '0.00' && bookDetail.isSell == '1'}}">立即购买</view> <view class="buy receiveColor" bind:tap="buyBtn" wx:if="{{!bookBuy && bookDetail.price == '0.00' && bookDetail.isSell == '1'}}">免费领取</view> <view class="shopCar shopCarColor" bind:tap="addBookShopcCar" wx:if="{{!bookBuy && bookDetail.price !== '0.00' && bookDetail.isSell == '1'}}" >加入购物车</view > <view class="buy buyColor" bind:tap="buyBtn" wx:if="{{!bookBuy && bookDetail.price !== '0.00' && bookDetail.isSell == '1'}}" >立即购买</view > <view class="buy receiveColor" bind:tap="buyBtn" wx:if="{{!bookBuy && bookDetail.price == '0.00' && bookDetail.isSell == '1'}}" >免费领取</view > <view class="buy read" bind:tap="goRead" wx:if="{{bookBuy}}">立即查看</view> </view> </view> packageBookService/pages/bookServices/detail/index.wxss
@@ -14,12 +14,20 @@ } .navbar-title { widows: 100vw; display: flex; justify-content: center; color: #0F1214; font-size: 36rpx; } .navbar-title text { max-width: 8em; display: inline-block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #0F1214; font-size: 40rpx; font-weight: bold; } .book { @@ -421,6 +429,10 @@ font-size: 28rpx !important; } .suggest-dialog .t-input__placeholder { font-size: 28rpx !important; } .t-tabs__item-inner { font-size: 24rpx; } packageBookService/pages/bookServices/examination/examination.js
@@ -202,14 +202,15 @@ // 正则表达式匹配<source>标签中的src属性值 var srcRegex = /<source\s+src="([^"]+)"/i; var srcTwo = /<audio\s+src="([^"]+)"/i; // 执行正则匹配 var match = srcRegex.exec(htmlString); const local = srcTwo.exec(htmlString) // 如果匹配成功,返回第一个捕获组的内容(src属性的值) if (match && match[1]) { return match[1]; return match[1].replace( '../file', app.config.requestCtx + '/file'); } else if (local && local[1]) { return local[1] return local[1].replace( '../file', app.config.requestCtx + '/file') } else { // 如果没有匹配到,返回null return null; pages/bookServices/assort/index.wxss
@@ -8,6 +8,8 @@ } .navbar-title { height: 80rpx; line-height: 80rpx; text-align: center; color: #0F1214; font-size: 36rpx;