课程详情(home)

This commit is contained in:
张文涛 2025-04-23 22:40:42 +08:00
parent dfb3f27f39
commit ee5860cd45
7 changed files with 226 additions and 265 deletions

14
api/chapter.ts Normal file
View File

@ -0,0 +1,14 @@
import { get, post, put, del } from '../utils/request';
/*
*/
export const chapterList = (data : any) => get('v1/chapter/list', data);
/*
*/
export const chapterInfo = (data : any) => get('v1/chapter/info', data);

View File

@ -4,19 +4,19 @@
:show-screen-lock-button="lockButton" :show-casting-button="showCasting" autoplay="true"
@fullscreenchange="fullscreenchange" @controlstoggle="controlstoggle">
<cover-view class="video-heizith-menu" @tap.stop="showSpeedOptions"
v-show="isShowControl">{{playbackRateItem == '1.0'?'倍数':playbackRateItem+'x'}}</cover-view>
<cover-view v-if="showSpeedModal" class="modal" @tap.stop="hideSpeedOptions">
<cover-view class="modal-content" @click.stop>
<cover-view class="modal-content-txt">
<view class="video-heizith-menu" @tap.stop="showSpeedOptions"
v-show="isShowControl">{{playbackRateItem == '1.0'?'倍数':playbackRateItem+'x'}}</view>
<view v-if="showSpeedModal" class="modal" @tap.stop="hideSpeedOptions">
<view class="modal-content" @click.stop>
<view class="modal-content-txt">
倍数
</cover-view>
<cover-view class="speed-option" v-for="(items,indexs) in playbackRateList" :key="indexs"
</view>
<view class="speed-option" v-for="(items,indexs) in playbackRateList" :key="indexs"
@tap.stop="changeSpeed" :data-rate="items" :class="{ active: items == playbackRateItem }">
{{ items }}X
</cover-view>
</cover-view>
</cover-view>
</view>
</view>
</view>
</video>
</view>

View File

@ -300,7 +300,7 @@
"current": 0, // 0
"list": [{
"name": "", //
"path": "pagesB/complaint/index", //
"path": "", //
"query": "" //
}]
}

View File

@ -38,8 +38,9 @@
</view>
<!-- grid -->
<view class="li-mt-15 ">
<wd-grid class="li-px-30" bg-color="transparent" :column="4" :clickable="true">
<view v-if="filteredGridList.length > 0" class="li-mt-15 ">
<wd-grid class="li-px-30" bg-color="transparent" :column="Math.max(1, filteredGridList.length)"
:clickable="true">
<wd-grid-item use-icon-slot use-text-slot v-for="(item,index) in filteredGridList" :key="index"
@itemclick="toPages({type:item.type})">
<template #icon>
@ -69,20 +70,21 @@
<view class="li-w-88% li-mx-auto li-mt-30">
<text class="li-ml-35 li-text-30">常见问题解答</text>
<view class="li-bg-white li-rd-10 li-mt-20 li-px-25">
<view v-for="(item,index) in problemList" :key="index" @click="toPages({type:'course'})"
<view v-for="(item,index) in problemList" :key="index"
@click="toPages({type:'course',value:{chapter_id:item.chapter_id}})"
class="li-flex justify-between li-py-25 li-bottom-border">
<view class="li-w-70%">
<text class="li-text-28 li-text-#343333 li-two-line ">{{item.title}}</text>
<text class="li-text-28 li-text-#343333 li-two-line ">{{item.chapter_name}}</text>
<view class="li-flex items-center justify-between li-text-26 li-text-#B1B0B0 li-mt-20">
<text>{{item.time}}</text>
<view class="li-flex-center">
<text>{{item.create_time}}</text>
<!-- <view class="li-flex-center">
<text class="ri-eye-line li-text-26 li-mr-5"></text>
<text>{{item.viewCount}}</text>
</view>
</view> -->
</view>
</view>
<view>
<image class="li-w-130 li-h-130 li-rd-15" :src="item.image" mode="aspectFill"></image>
<image class="li-w-130 li-h-130 li-rd-15" :src="item.cover" mode="aspectFill"></image>
</view>
</view>
</view>
@ -98,9 +100,9 @@
</view>
</view>
<!-- #endif -->
<view v-if="problemList?.length > 0">
<!-- <view v-if="problemList?.length > 0">
<wd-loadmore loading-text="努力加载中" finished-text="没有更多了" :state="state" @reload="loadmore" />
</view>
</view> -->
</view>
</template>
@ -110,21 +112,36 @@
menu
} from '@/api/login';
import {
newMessage, bannerList
newMessage,
bannerList
} from '@/api/message';
import {
ref, computed, provide
chapterList
} from "@/api/chapter"
import {
ref,
computed,
provide
} from 'vue'
import { onLoad, onReachBottom, onPullDownRefresh } from "@dcloudio/uni-app"
import { hasPermission, filterByPermission } from '@/utils/permission'
import {
onLoad,
onReachBottom,
onPullDownRefresh
} from "@dcloudio/uni-app"
import {
hasPermission,
filterByPermission
} from '@/utils/permission'
const card_back = uni.$globalData?.RESOURCE_URL + 'home/card-back.png'
const keyword = ref('')
const messageCount = ref(0)
const current = ref(0)
const state = ref('loading')
const menuInfo = ref({})
// 使
provide('userPermissions', computed(() => menuInfo.value?.auth || []))
@ -132,18 +149,15 @@
const filteredGridList = computed(() => {
return menuInfo.value?.auth ? filterByPermission(gridList.value, menuInfo.value.auth) : [];
});
// 便使
const checkPermission = (type) => {
return hasPermission(type, menuInfo.value?.auth || []);
}
// 使
const swiperList = ref([
'/static/swiper/1.png',
])
const porcelainList = ref([
{
const swiperList = ref([])
const porcelainList = ref([{
image: uni.$globalData?.RESOURCE_URL + 'home/back1.png',
title: '我的工单',
desc: '工单一键处理',
@ -210,8 +224,7 @@
])
const toDoList = ref([
{
const toDoList = ref([{
num: '30',
desc: '今日任务',
},
@ -225,26 +238,12 @@
}
])
const problemList = ref([
// {
// image: '/static/swiper/1.png',
// title: '',
// time: '2025-06',
// viewCount: '200'
// },
// {
// image: '/static/swiper/1.png',
// title: '',
// time: '2025-06',
// viewCount: '200'
// },
// {
// image: '/static/swiper/1.png',
// title: '',
// time: '2025-06',
// viewCount: '200'
// }
])
const problemList = ref([])
const getChapterList = async () => {
var res = await chapterList()
problemList.value = res.data
}
const handleClick = (e) => {
console.log(e)
@ -270,7 +269,7 @@
case 'course':
//
uni.navigateTo({
url: '/pagesA/course/detail'
url: '/pagesA/course/detail?id=' + item.value.chapter_id
});
break;
case 'verification':
@ -333,17 +332,15 @@
}
const getBannerList = () => {
const res = bannerList({ position: 2 })
const res = bannerList({
position: 2
})
}
const loadmore = (e) => {
console.log(e);
}
onReachBottom(() => {
// state.value = 'error'
state.value = 'finished'
// state.value = 'finished'
})
//
@ -352,8 +349,14 @@
const mess = await newMessage()
messageCount.value = mess.data.count
//
const banner = await bannerList({ position: 1 })
// swiperList.value = banner.data.map((item) => item.image)
const banner = await bannerList({
position: 1
})
if (banner.data.length > 0) {
swiperList.value = banner.data.map((item) => item.image)
} else {
swiperList.value.push('/static/swiper/1.png', )
}
})
//
@ -368,6 +371,7 @@
onLoad(() => {
loadData()
getMenu()
getChapterList()
})
onPullDownRefresh(() => {

View File

@ -1,101 +1,55 @@
<template>
<view>
<wd-sticky :offset-top="0.01">
<zVideo url="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/2minute-demo.mp4" :isSpeed="isSpeed"
:showCasting="showCasting" :lockButton="lockButton">
<wd-sticky v-if="courseInfo?.url" :offset-top="0.01">
<zVideo :url="courseInfo?.url" :isSpeed="isSpeed" :showCasting="showCasting" :lockButton="lockButton">
</zVideo>
</wd-sticky>
<view class="li-flex-col li-m-30 li-bg-white">
<view class="li-text-32 li-text-#000000">
如何新建工单
<view v-if="courseInfo?.chapter_name" class="li-text-32 li-text-#000000">
{{courseInfo?.chapter_name}}
</view>
<view class="li-font-400 li-text-24 li-text-#595959 li-mt-10">
新建工单的作用与感悟
<view v-if="courseInfo?.author" class="li-font-400 li-text-24 li-text-#595959 li-mt-10">
{{courseInfo?.author}}
</view>
<view class="li-mt-30">
<rich-text :nodes="strings"></rich-text>
<view v-if="courseInfo?.content" class="li-mt-30">
<mp-html :content="courseInfo?.content" />
<!-- <rich-text :selectable='true' :preview='true' :nodes="courseInfo?.content" @itemclick="goImgDetials"></rich-text> -->
</view>
</view>
</view>
</template>
<script lang="ts" setup>
import zVideo from '@/components/z-video/z-video.vue';
import {
chapterInfo
} from "@/api/chapter"
import { ref } from 'vue'
import {
onLoad
} from "@dcloudio/uni-app"
//
const isSpeed = ref<boolean>(true)
//
const showCasting = ref<boolean>(true)
//
const lockButton = ref<boolean>(true)
const courseInfo = ref<object>({})
const strings = `![流程图标] <span style="color: #2E86C1; font-weight: bold;">一、工单提交</span>
1. 多渠道受理
业主可通过以下方式发起工单
线上渠道物业APP/微信公众号-报事报修模块
电话申报24小时服务热线400-XXX-XXXX
现场登记物业服务中心前台8:30-18:30
const getChapterInfo = async (id) => {
var res = await chapterInfo({ chapter_id: id })
courseInfo.value = res.data
}
2. 信息完整性
需包含
问题类型水电/设施/环境等
具体位置楼栋-单元-房号
现场照片/视频建议上传
紧急程度普通/加急/特急
![分类图标] <span style="color: #28B463; font-weight: bold;">工单分类派发</span>
智能分派系统
系统自动识别
水电类工程部红色标签
保洁类环境组绿色标签
安保类秩序部蓝色标签
人工复核机制
值班主管15分钟内确认分派合理性
跨部门工单需标注协同处理要求
响应时效标准
🔔 特急工单如爆管断电10分钟响应
🔔 加急工单如电梯故障30分钟响应
🔔 普通工单2小时内响应
![处理图标] <span style="color: #D35400; font-weight: bold;">现场处理规范</span>
1. 服务标准
维修人员佩戴记录仪上岗
入户前穿戴鞋套/出示工牌
现场评估后告知预计处理时间
2. 过程记录
📝 系统实时上传
维修前//后对比照片
更换配件型号及品牌
业主签字确认单电子/纸质
![验收图标] <span style="color: #8E44AD; font-weight: bold;">工单验收闭环</span>
三级验收机制
业主满意度评分1-5
品质部24小时内电话回访
月度抽取20%工单现场复检
数据应用
📊 生成服务响应分析报表
📊 纳入供应商考核指标体系
温馨提示工单全程可通过服务进度查询功能实时追踪重大复杂问题启动<mark>联席会议制度</mark>确保48小时内出具解决方案
`
onLoad((options) => {
getChapterInfo(options?.id)
})
</script>
<style lang="scss">
</style>

View File

@ -120,6 +120,9 @@
if (options.type) {
activeTab.value = Number(options.type)
handleStatusChange(Number(options.status))
}else{
activeTab.value = 0
handleStatusChange('ALL')
}
})

View File

@ -1,50 +1,31 @@
.li-items-center{align-items:center}
.li-items-center{align-items:center}
.items-center{align-items:center}
.li-justify-center{justify-content:center}
.justify-end{justify-content:end}
.li-justify-center{justify-content:center}
.justify-center{justify-content:center}
.li-justify-between{justify-content:space-between}
.li-justify-between{justify-content:space-between}
.justify-between{justify-content:space-between}
.li-bg-white{background-color:rgb(255,255,255)}
.li-flex{display:flex}
.li-flex-col{flex-direction:column}
.li-font-550{font-weight:550}
.li-h-130{height:130rpx}
.li-h-68{height:68rpx}
.li-items-center{align-items:center}
.li-justify-between{justify-content:space-between}
.li-justify-center{justify-content:center}
.li-mt-100{margin-top:100rpx}
.li-mt-28{margin-top:28rpx}
.li-mt-32{margin-top:32rpx}
.li-mt-90{margin-top:90rpx}
.li-mx-10{margin-left:10rpx;margin-right:10rpx}
.li-mx-auto{margin-left:auto;margin-right:auto}
.li-pt-270{padding-top:270rpx}
.li-rd-40{border-radius:40rpx}
.li-text-000000-color{color:rgb(0,0,0)}
.li-text-24{font-size:24rpx}
.li-text-2EA1EA-color{color:rgb(46,161,234)}
.li-text-38{font-size:38rpx}
.li-text-a5a5a5-color{color:rgb(165,165,165)}
.li-w-130{width:130rpx}
.li-w-150{width:150rpx}
.li-w-420{width:420rpx}
.li-w-full-80{width:80%}
.li-w-full-85{width:85%}
.li-w-full-90{width:90%}
.items-center{align-items:center}
.justify-end{justify-content:end}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.li-flex-center{display:flex;align-items:center;justify-content:center}
.li-h-160{height:160rpx}
.li-h-58{height:58rpx}
.li-justify-around{justify-content:space-around}
.li-ml-22{margin-left:22rpx}
.li-ml-25{margin-left:25rpx}
.li-ml-35{margin-left:35rpx}
.li-mr-5{margin-right:5rpx}
.li-mt-10{margin-top:10rpx}
.li-mt-12{margin-top:12rpx}
.li-mt-14{margin-top:14rpx}
.li-mt-15{margin-top:15rpx}
.li-mt-20{margin-top:20rpx}
.li-mt-30{margin-top:30rpx}
.li-mx-auto{margin-left:auto;margin-right:auto}
.li-px-25{padding-left:25rpx;padding-right:25rpx}
.li-px-30{padding-left:30rpx;padding-right:30rpx}
.li-px-40{padding-left:40rpx;padding-right:40rpx}
@ -59,30 +40,17 @@
.li-text-343333-color{color:rgb(52,51,51)}
.li-text-AFB2B8-color{color:rgb(175,178,184)}
.li-text-B1B0B0-color{color:rgb(177,176,176)}
.li-w-130{width:130rpx}
.li-w-310{width:310rpx}
.li-w-58{width:58rpx}
.li-w-full-70{width:70%}
.li-w-full-88{width:88%}
.li-h-100{height:100rpx}
.li-ml-20{margin-left:20rpx}
.li-ml-200{margin-left:200rpx}
.li-ml-30{margin-left:30rpx}
.li-mr-10{margin-right:10rpx}
.li-mr-30{margin-right:30rpx}
.li-mt-300-important{margin-top:300rpx !important}
.li-pt-2{padding-top:2rpx}
.li-py-20{padding-top:20rpx;padding-bottom:20rpx}
.li-rd-full-50{border-radius:50%}
.li-text-25{font-size:25rpx}
.li-text-35{font-size:35rpx}
.li-text-42{font-size:42rpx}
.li-text-46{font-size:46rpx}
.li-w-100{width:100rpx}
.bg-0070F0{background-color:rgb(0,112,240)}
.bg-f9f9f9{background-color:rgb(249,249,249)}
.bg-FFFFFF{background-color:rgb(255,255,255)}
.border-4-white{border-style:solid;border-color:rgb(255,255,255);border-width:4rpx}
.li-font-bold{font-weight:bold}
.li-h-100{height:100rpx}
.li-h-240{height:240rpx}
.li-h-250{height:250rpx}
.li-h-50{height:50rpx}
@ -103,12 +71,17 @@
.li-pb-20{padding-bottom:20rpx}
.li-pt-20{padding-top:20rpx}
.li-pt-8{padding-top:8rpx}
.li-py-20{padding-top:20rpx;padding-bottom:20rpx}
.li-rd-20{border-radius:20rpx}
.li-rd-full-50{border-radius:50%}
.li-rd-tl-30-important{border-top-left-radius:30rpx !important}
.li-rd-tr-30-important{border-top-right-radius:30rpx !important}
.li-text-000000-color{color:rgb(0,0,0)}
.li-text-19171B-color{color:rgb(25,23,27)}
.li-text-20{font-size:20rpx}
.li-text-24{font-size:24rpx}
.li-text-32{font-size:32rpx}
.li-text-38{font-size:38rpx}
.li-text-706e70-color{color:rgb(112,110,112)}
.li-text-B2B2B2-color{color:rgb(178,178,178)}
.li-text-BBBDDA-color{color:rgb(187,189,218)}
@ -116,16 +89,35 @@
.li-text-F8C883-color{color:rgb(248,200,131)}
.li-text-FFFFFF-color{color:rgb(255,255,255)}
.li-text-b1bbc7-color{color:rgb(177,187,199)}
.li-w-100{width:100rpx}
.li-w-240{width:240rpx}
.li-w-50{width:50rpx}
.li-w-60{width:60rpx}
.li-w-full-94{width:94%}
.li-font-550{font-weight:550}
.li-h-68{height:68rpx}
.li-mt-100{margin-top:100rpx}
.li-mt-28{margin-top:28rpx}
.li-mt-32{margin-top:32rpx}
.li-mt-90{margin-top:90rpx}
.li-mx-10{margin-left:10rpx;margin-right:10rpx}
.li-pt-270{padding-top:270rpx}
.li-rd-40{border-radius:40rpx}
.li-text-2EA1EA-color{color:rgb(46,161,234)}
.li-text-a5a5a5-color{color:rgb(165,165,165)}
.li-w-150{width:150rpx}
.li-w-420{width:420rpx}
.li-w-full-80{width:80%}
.li-w-full-85{width:85%}
.li-w-full-90{width:90%}
.li-h-110{height:110rpx}
.li-items-start{align-items:start}
.li-mb-12{margin-bottom:12rpx}
.li-mb-20{margin-bottom:20rpx}
.li-mb-8{margin-bottom:8rpx}
.li-ml-15{margin-left:15rpx}
.li-ml-20{margin-left:20rpx}
.li-mr-10{margin-right:10rpx}
.li-mr-12{margin-right:12rpx}
.li-mr-3{margin-right:3rpx}
.li-mr-6{margin-right:6rpx}
@ -135,10 +127,12 @@
.li-pl-20{padding-left:20rpx}
.li-pl-30{padding-left:30rpx}
.li-pr-30{padding-right:30rpx}
.li-pt-2{padding-top:2rpx}
.li-pt-30{padding-top:30rpx}
.li-py-6{padding-top:6rpx;padding-bottom:6rpx}
.li-text-009aff-color{color:rgb(0,154,255)}
.li-text-40{font-size:40rpx}
.li-text-42{font-size:42rpx}
.li-text-55{font-size:55rpx}
.li-text-5f5f5f-color{color:rgb(95,95,95)}
.li-text-666-color{color:rgb(102,102,102)}
@ -149,6 +143,15 @@
.li-w-400{width:400rpx}
.li-w-full-92{width:92%}
.overflow-hidden{overflow:hidden}
.li-flex-center{display:flex;align-items:center;justify-content:center}
.li-ml-200{margin-left:200rpx}
.li-ml-30{margin-left:30rpx}
.li-mr-30{margin-right:30rpx}
.li-mt-300-important{margin-top:300rpx !important}
.li-text-25{font-size:25rpx}
.li-text-35{font-size:35rpx}
.li-text-46{font-size:46rpx}
.li-mb-25{margin-bottom:25rpx}
.li-ml-6{margin-left:6rpx}
.li-p-15{padding:15rpx}
.li-pb-15{padding-bottom:15rpx}
@ -161,30 +164,25 @@
.li-font-400{font-weight:400}
.li-m-30{margin:30rpx}
.li-text-595959-color{color:rgb(89,89,89)}
.li-mb-25{margin-bottom:25rpx}
.li-mb-30{margin-bottom:30rpx}
.li-ml-10{margin-left:10rpx}
.li-mt-100-important{margin-top:100rpx !important}
.li-mt-8{margin-top:8rpx}
.li-text-999-color{color:rgb(153,153,153)}
.li-mr-200{margin-right:200rpx}
.li-mr-4{margin-right:4rpx}
.li-mt-100-important{margin-top:100rpx !important}
.li-text-48{font-size:48rpx}
.li-mb-30{margin-bottom:30rpx}
.li-ml-10{margin-left:10rpx}
.li-mt-4{margin-top:4rpx}
.li-mt-50{margin-top:50rpx}
.li-mt-8{margin-top:8rpx}
.li-py-40{padding-top:40rpx;padding-bottom:40rpx}
.li-text-0070F0-color{color:rgb(0,112,240)}
.li-text-333-color{color:rgb(51,51,51)}
.li-text-34{font-size:34rpx}
.li-text-44{font-size:44rpx}
.li-text-48{font-size:48rpx}
.li-text-90{font-size:90rpx}
.li-text-999-color{color:rgb(153,153,153)}
.li-text-center{text-align:center}
.li-text-white{color:rgb(255,255,255)}
.li-w-500{width:500rpx}
.li-mr-25{margin-right:25rpx}
.li-h-90{height:90rpx}
.li-text-47{font-size:47rpx}
.li-w-90{width:90rpx}
.li-border-b{border-style:solid;border-color:b;border-width:1rpx}
.li-mb-10{margin-bottom:10rpx}
.li-mb-15{margin-bottom:15rpx}
@ -192,30 +190,38 @@
.li-p-30{padding:30rpx}
.li-py-30{padding-top:30rpx;padding-bottom:30rpx}
.li-text-ff6b35-color{color:rgb(255,107,53)}
.li-h-90{height:90rpx}
.li-text-47{font-size:47rpx}
.li-w-90{width:90rpx}
.li-flex-1{flex:1}
.li-flex-wrap{flex-wrap:wrap}
.li-mt-25{margin-top:25rpx}
.li-mt-5{margin-top:5rpx}
.li-text-999999-color{color:rgb(153,153,153)}
.li-w-160{width:160rpx}
.li-mr-15{margin-right:15rpx}
.li-my-10{margin-top:10rpx;margin-bottom:10rpx}
.li-p-20{padding:20rpx}
.li-px-20{padding-left:20rpx;padding-right:20rpx}
.li-py-10{padding-top:10rpx;padding-bottom:10rpx}
.li-py-60{padding-top:60rpx;padding-bottom:60rpx}
.li-rd-8{border-radius:8rpx}
.li-text-dddddd-color{color:rgb(221,221,221)}
.li-text-ff9900-color{color:rgb(255,153,0)}
.li-line-clamp-2{overflow:hidden;display:-webkit-box;line-clamp:2;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.li-w-full-96{width:96%}
.li-block{display:block}
.li-items-baseline{align-items:baseline}
.li-mr-15{margin-right:15rpx}
.li-mt-5{margin-top:5rpx}
.li-opacity-100{undefined:1}
.li-rd-12{border-radius:12rpx}
.li-rd-16{border-radius:16rpx}
.li-text-0a4696-color{color:rgb(10,70,150)}
.li-flex-1{flex:1}
.li-flex-wrap{flex-wrap:wrap}
.li-line-clamp-2{overflow:hidden;display:-webkit-box;line-clamp:2;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.li-text-999999-color{color:rgb(153,153,153)}
.li-w-160{width:160rpx}
.li-w-full-96{width:96%}
.li-mt-25{margin-top:25rpx}
.li-mt-200{margin-top:200rpx}
.li-pt-6{padding-top:6rpx}
.li-mr-180{margin-right:180rpx}
.li-opacity-80{undefined:0.8}
.li-pb-40{padding-bottom:40rpx}
.li-px-20{padding-left:20rpx;padding-right:20rpx}
.li-py-10{padding-top:10rpx;padding-bottom:10rpx}
.li-py-100{padding-top:100rpx;padding-bottom:100rpx}
.li-py-60{padding-top:60rpx;padding-bottom:60rpx}
.li-rd-30{border-radius:30rpx}
.li-text-100{font-size:100rpx}
.li-text-3e9bff-color{color:rgb(62,155,255)}
@ -223,69 +229,49 @@
.li-text-52c41a-color{color:rgb(82,196,26)}
.li-text-ccc-color{color:rgb(204,204,204)}
.li-text-ff4d4f-color{color:rgb(255,77,79)}
.li-my-10{margin-top:10rpx;margin-bottom:10rpx}
.li-p-20{padding:20rpx}
.li-rd-8{border-radius:8rpx}
.li-text-dddddd-color{color:rgb(221,221,221)}
.li-text-ff9900-color{color:rgb(255,153,0)}
.li-ml-20{margin-left:20rpx}
.li-ml-30{margin-left:30rpx}
.li-mr-30{margin-right:30rpx}
.li-mt-300-important{margin-top:300rpx !important}
.li-pt-2{padding-top:2rpx}
.li-text-25{font-size:25rpx}
.li-text-35{font-size:35rpx}
.li-text-46{font-size:46rpx}
.li-h-90{height:90rpx}
.li-mr-6{margin-right:6rpx}
.li-text-52{font-size:52rpx}
.li-w-90{width:90rpx}
.li-flex-1{flex:1}
.li-flex-wrap{flex-wrap:wrap}
.li-items-start{align-items:start}
.li-line-clamp-2{overflow:hidden;display:-webkit-box;line-clamp:2;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.li-mb-10{margin-bottom:10rpx}
.li-mb-15{margin-bottom:15rpx}
.li-items-end{align-items:end}
.li-mb-20{margin-bottom:20rpx}
.li-pb-15{padding-bottom:15rpx}
.li-pb-30{padding-bottom:30rpx}
.li-pl-30{padding-left:30rpx}
.li-mb-30{margin-bottom:30rpx}
.li-mb-8{margin-bottom:8rpx}
.li-ml-10{margin-left:10rpx}
.li-ml-15{margin-left:15rpx}
.li-ml-20{margin-left:20rpx}
.li-mr-10{margin-right:10rpx}
.li-mr-4{margin-right:4rpx}
.li-mt-100{margin-top:100rpx}
.li-mt-100-important{margin-top:100rpx !important}
.li-mt-4{margin-top:4rpx}
.li-mt-40{margin-top:40rpx}
.li-mt-50{margin-top:50rpx}
.li-mt-8{margin-top:8rpx}
.li-pb-10{padding-bottom:10rpx}
.li-py-40{padding-top:40rpx;padding-bottom:40rpx}
.li-rd-20{border-radius:20rpx}
.li-text-0070F0-color{color:rgb(0,112,240)}
.li-text-009aff-color{color:rgb(0,154,255)}
.li-text-333-color{color:rgb(51,51,51)}
.li-text-34{font-size:34rpx}
.li-text-999-color{color:rgb(153,153,153)}
.li-text-999999-color{color:rgb(153,153,153)}
.li-text-9a9a9a-color{color:rgb(154,154,154)}
.li-text-center{text-align:center}
.li-w-160{width:160rpx}
.li-w-full-92{width:92%}
.li-w-full-96{width:96%}
.li-mb-30{margin-bottom:30rpx}
.li-mr-15{margin-right:15rpx}
.li-mt-200{margin-top:200rpx}
.li-p-30{padding:30rpx}
.li-pt-6{padding-top:6rpx}
.li-text-36{font-size:36rpx}
.li-text-40{font-size:40rpx}
.li-mr-4{margin-right:4rpx}
.li-text-42{font-size:42rpx}
.li-text-44{font-size:44rpx}
.li-text-55{font-size:55rpx}
.li-text-666-color{color:rgb(102,102,102)}
.li-text-70{font-size:70rpx}
.li-text-90{font-size:90rpx}
.li-text-999-color{color:rgb(153,153,153)}
.li-text-center{text-align:center}
.li-text-white{color:rgb(255,255,255)}
.li-w-500{width:500rpx}
.li-w-full-90{width:90%}
.li-w-full-92{width:92%}
.li-h-90{height:90rpx}
.li-ml-30{margin-left:30rpx}
.li-mr-6{margin-right:6rpx}
.li-mt-300-important{margin-top:300rpx !important}
.li-pt-2{padding-top:2rpx}
.li-py-20{padding-top:20rpx;padding-bottom:20rpx}
.li-text-25{font-size:25rpx}
.li-text-52{font-size:52rpx}
.li-w-90{width:90rpx}
.li-w-full-80{width:80%}