适配小程序代码结构

This commit is contained in:
zhonghua1
2026-01-20 08:46:36 +08:00
parent 3b169467ac
commit 9c00db8ff5
615 changed files with 62726 additions and 8 deletions

View File

@@ -0,0 +1 @@
{"version":3,"file":"DeviceTab.js","sources":["pages/speaking_training_edu/components/DeviceTab.vue","../../../work/soft/HBuilderX.4.87.20251210/plugins/uniapp-cli-vite/uniComponent:/RDovd29yazIvY29kZS9zbWFydERyaXZlRUVVbmlBcHAxMTExL3BhZ2VzL3NwZWFraW5nX3RyYWluaW5nX2VkdS9jb21wb25lbnRzL0RldmljZVRhYi52dWU"],"sourcesContent":["<template>\r\n <view class=\"device-tab\">\r\n <!-- 设备列表入口按钮 -->\r\n <view class=\"device-entry\" @click=\"openDeviceList\">\r\n <view class=\"entry-content\">\r\n <uni-icons type=\"list\" size=\"24\" color=\"#2A68FF\" />\r\n <text class=\"entry-text\">查看设备列表</text>\r\n </view>\r\n <uni-icons type=\"right\" size=\"16\" color=\"#999\" />\r\n </view>\r\n\r\n <!-- 设备列表弹窗 -->\r\n <DeviceListPopup ref=\"deviceListPopup\" />\r\n </view>\r\n</template>\r\n\r\n<script>\r\nimport DeviceListPopup from '@/pages/ucenter/components/DeviceListPopup.vue';\r\n\r\nexport default {\r\n name: 'DeviceTab',\r\n components: {\r\n DeviceListPopup,\r\n },\r\n methods: {\r\n // 打开设备列表弹窗\r\n openDeviceList() {\r\n if (this.$refs.deviceListPopup) {\r\n this.$refs.deviceListPopup.open();\r\n }\r\n },\r\n // 对外暴露的\"加载更多\"方法,供页面 onReachBottom 调用(保留接口兼容性)\r\n loadMore() {\r\n // 弹窗内部已处理滚动加载,这里不需要额外处理\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style>\r\n.device-tab {\r\n padding: 148rpx 32rpx 32rpx;\r\n box-sizing: border-box;\r\n background-color: #f5f5f5;\r\n min-height: 100vh;\r\n}\r\n\r\n.device-entry {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 32rpx 24rpx;\r\n background-color: #ffffff;\r\n border-radius: 16rpx;\r\n box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03);\r\n margin-bottom: 24rpx;\r\n}\r\n\r\n.entry-content {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.entry-text {\r\n margin-left: 16rpx;\r\n font-size: 30rpx;\r\n color: #333;\r\n font-weight: 500;\r\n}\r\n</style>\r\n\r\n\r\n","import Component from 'D:/work2/code/smartDriveEEUniApp1111/pages/speaking_training_edu/components/DeviceTab.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;AAiBA,wBAAwB,MAAW;AAEnC,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,EACD;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,iBAAiB;AACf,UAAI,KAAK,MAAM,iBAAiB;AAC9B,aAAK,MAAM,gBAAgB;MAC7B;AAAA,IACD;AAAA;AAAA,IAED,WAAW;AAAA,IAEV;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCA,GAAG,gBAAgB,SAAS;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"HomeworkTab.js","sources":["pages/speaking_training_edu/components/HomeworkTab.vue","../../../work/soft/HBuilderX.4.87.20251210/plugins/uniapp-cli-vite/uniComponent:/RDovd29yazIvY29kZS9zbWFydERyaXZlRUVVbmlBcHAxMTExL3BhZ2VzL3NwZWFraW5nX3RyYWluaW5nX2VkdS9jb21wb25lbnRzL0hvbWV3b3JrVGFiLnZ1ZQ"],"sourcesContent":["<template>\r\n <scroll-view\r\n class=\"tab-content\"\r\n scroll-y\r\n >\r\n <view class=\"section\">\r\n <text class=\"section-title\">作业列表</text>\r\n <view class=\"placeholder-box\">\r\n <text class=\"placeholder-text\">\r\n 这里展示布置 / 提交的作业记录(待接入接口)\r\n </text>\r\n </view>\r\n </view>\r\n <view class=\"section\">\r\n <text class=\"section-title\">常用操作</text>\r\n <view class=\"btn-row\">\r\n <button class=\"primary-btn\" type=\"primary\" size=\"mini\">\r\n 布置作业\r\n </button>\r\n <button class=\"outline-btn\" type=\"default\" size=\"mini\">\r\n 批改作业\r\n </button>\r\n </view>\r\n </view>\r\n </scroll-view>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'HomeworkTab',\r\n};\r\n</script>\r\n\r\n<style>\r\n.tab-content {\r\n padding: 148rpx 32rpx 32rpx;\r\n box-sizing: border-box;\r\n}\r\n\r\n.section {\r\n margin-bottom: 32rpx;\r\n}\r\n\r\n.section-title {\r\n font-size: 32rpx;\r\n font-weight: 600;\r\n color: #333;\r\n margin-bottom: 16rpx;\r\n display: block;\r\n}\r\n\r\n.placeholder-box {\r\n padding: 40rpx 32rpx;\r\n background-color: #ffffff;\r\n border-radius: 16rpx;\r\n border: 1px dashed #e0e0e0;\r\n}\r\n\r\n.placeholder-text {\r\n font-size: 26rpx;\r\n color: #999;\r\n}\r\n\r\n.btn-row {\r\n flex-direction: row;\r\n display: flex;\r\n gap: 24rpx;\r\n}\r\n\r\n.primary-btn {\r\n background-color: #007aff;\r\n border-radius: 999rpx;\r\n}\r\n\r\n.outline-btn {\r\n border-radius: 999rpx;\r\n}\r\n</style>\r\n\r\n\r\n","import Component from 'D:/work2/code/smartDriveEEUniApp1111/pages/speaking_training_edu/components/HomeworkTab.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;AA4BA,MAAK,YAAU;AAAA,EACb,MAAM;AACR;;;;;AC7BA,GAAG,gBAAgB,SAAS;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"speaking_training_edu.js","sources":["pages/speaking_training_edu/speaking_training_edu.vue","../../../work/soft/HBuilderX.4.87.20251210/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvc3BlYWtpbmdfdHJhaW5pbmdfZWR1L3NwZWFraW5nX3RyYWluaW5nX2VkdS52dWU"],"sourcesContent":["<template>\r\n <view class=\"page\">\r\n <!-- 顶部导航栏 -->\r\n <uni-nav-bar\r\n :fixed=\"true\"\r\n :statusBar=\"true\"\r\n title=\"教务\"\r\n leftIcon=\"\"\r\n color=\"#333\"\r\n backgroundColor=\"#FFFFFF\"\r\n />\r\n\r\n <view class=\"content\">\r\n <!-- 顶部 Tab -->\r\n <view class=\"tabs\">\r\n <view\r\n class=\"tab-item\"\r\n :class=\"{ active: activeTab === 'device' }\"\r\n @click=\"switchTab('device')\"\r\n >\r\n <text>设备管理</text>\r\n </view>\r\n <view\r\n class=\"tab-item\"\r\n :class=\"{ active: activeTab === 'homework' }\"\r\n @click=\"switchTab('homework')\"\r\n >\r\n <text>作业管理</text>\r\n </view>\r\n </view>\r\n\r\n <!-- 设备管理 -->\r\n <DeviceTab v-if=\"activeTab === 'device'\" ref=\"deviceTab\" />\r\n\r\n <!-- 作业管理 -->\r\n <HomeworkTab v-else />\r\n </view>\r\n </view>\r\n</template>\r\n\r\n<script>\r\nimport DeviceTab from './components/DeviceTab.vue';\r\nimport HomeworkTab from './components/HomeworkTab.vue';\r\n\r\nexport default {\r\n components: {\r\n DeviceTab,\r\n HomeworkTab,\r\n },\r\n onShow() {\r\n // 所有登录人都可以访问,已移除权限限制\r\n },\r\n data() {\r\n return {\r\n activeTab: 'device', // device | homework\r\n };\r\n },\r\n onReachBottom() {\r\n // 页面触底时,如果当前在设备管理 Tab则触发子组件加载更多\r\n if (this.activeTab === 'device' && this.$refs.deviceTab && this.$refs.deviceTab.loadMore) {\r\n this.$refs.deviceTab.loadMore();\r\n }\r\n },\r\n methods: {\r\n switchTab(tab) {\r\n this.activeTab = tab;\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style>\r\n.page {\r\n min-height: 100vh;\r\n background-color: #f5f5f5;\r\n}\r\n\r\n.content {\r\n padding-top: 88rpx;\r\n}\r\n\r\n.tabs {\r\n position: fixed;\r\n top: 88rpx;\r\n left: 0;\r\n right: 0;\r\n display: flex;\r\n background-color: #ffffff;\r\n border-bottom: 1px solid #e0e0e0;\r\n z-index: 10;\r\n}\r\n\r\n.tab-item {\r\n flex: 1;\r\n padding: 24rpx 0;\r\n text-align: center;\r\n position: relative;\r\n}\r\n\r\n.tab-item text {\r\n font-size: 30rpx;\r\n color: #666;\r\n}\r\n\r\n.tab-item.active text {\r\n color: #333;\r\n font-weight: 500;\r\n}\r\n\r\n.tab-item.active::after {\r\n content: '';\r\n position: absolute;\r\n bottom: 0;\r\n left: 25%;\r\n right: 25%;\r\n height: 4rpx;\r\n border-radius: 2rpx;\r\n background-color: #007aff;\r\n}\r\n\r\n.tab-content {\r\n padding: 148rpx 32rpx 32rpx;\r\n box-sizing: border-box;\r\n}\r\n</style>\r\n\r\n\r\n","import MiniProgramPage from 'D:/work2/code/smartDriveEEUniApp1111/pages/speaking_training_edu/speaking_training_edu.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;AAyCA,kBAAkB,MAAW;AAC7B,oBAAoB,MAAW;AAE/B,MAAK,YAAU;AAAA,EACb,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,EAER;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,WAAW;AAAA;AAAA;EAEd;AAAA,EACD,gBAAgB;AAEd,QAAI,KAAK,cAAc,YAAY,KAAK,MAAM,aAAa,KAAK,MAAM,UAAU,UAAU;AACxF,WAAK,MAAM,UAAU;IACvB;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP,UAAU,KAAK;AACb,WAAK,YAAY;AAAA,IAClB;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnEA,GAAG,WAAW,eAAe;"}