From ee5860cd458905a643efc14f4b3bbef88bb4598a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=87=E6=B6=9B?= <1909118034@qq.com> Date: Wed, 23 Apr 2025 22:40:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E8=AF=A6=E6=83=85(home)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/chapter.ts | 14 ++ components/z-video/z-video.vue | 20 +-- pages.json | 2 +- pages/index/index.vue | 110 +++++++-------- pagesA/course/detail.vue | 100 ++++---------- pagesA/my_order/list.vue | 3 + unocss/a-hua-unocss/index.scss | 242 ++++++++++++++++----------------- 7 files changed, 226 insertions(+), 265 deletions(-) create mode 100644 api/chapter.ts diff --git a/api/chapter.ts b/api/chapter.ts new file mode 100644 index 0000000..f5b34a5 --- /dev/null +++ b/api/chapter.ts @@ -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); + + diff --git a/components/z-video/z-video.vue b/components/z-video/z-video.vue index fe58236..868a06e 100644 --- a/components/z-video/z-video.vue +++ b/components/z-video/z-video.vue @@ -4,19 +4,19 @@ :show-screen-lock-button="lockButton" :show-casting-button="showCasting" autoplay="true" @fullscreenchange="fullscreenchange" @controlstoggle="controlstoggle"> - {{playbackRateItem == '1.0'?'倍数':playbackRateItem+'x'}} - - - + {{playbackRateItem == '1.0'?'倍数':playbackRateItem+'x'}} + + + 倍数 - - + {{ items }}X - - - + + + diff --git a/pages.json b/pages.json index da52615..10545a4 100644 --- a/pages.json +++ b/pages.json @@ -300,7 +300,7 @@ "current": 0, // 当前激活的条件,默认为 0 "list": [{ "name": "", // 条件名称 - "path": "pagesB/complaint/index", // 要打开的页面路径 + "path": "", // 要打开的页面路径 "query": "" // 可选的页面参数 }] } diff --git a/pages/index/index.vue b/pages/index/index.vue index 8d814d5..b1ac938 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -38,8 +38,9 @@ - - + + @@ -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(() => { diff --git a/pagesA/course/detail.vue b/pagesA/course/detail.vue index 6268ca3..f49461f 100644 --- a/pagesA/course/detail.vue +++ b/pagesA/course/detail.vue @@ -1,101 +1,55 @@ \ No newline at end of file diff --git a/pagesA/my_order/list.vue b/pagesA/my_order/list.vue index f8bac8c..d6e12c5 100644 --- a/pagesA/my_order/list.vue +++ b/pagesA/my_order/list.vue @@ -120,6 +120,9 @@ if (options.type) { activeTab.value = Number(options.type) handleStatusChange(Number(options.status)) + }else{ + activeTab.value = 0 + handleStatusChange('ALL') } }) diff --git a/unocss/a-hua-unocss/index.scss b/unocss/a-hua-unocss/index.scss index f7951fd..47e372b 100644 --- a/unocss/a-hua-unocss/index.scss +++ b/unocss/a-hua-unocss/index.scss @@ -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%}