zs 1 рік тому
батько
коміт
a51a810956
59 змінених файлів з 1523 додано та 1052 видалено
  1. 5 0
      config.js
  2. 6 0
      pages.json
  3. 52 32
      pages/home/index.vue
  4. 1 6
      pages/my/index.vue
  5. 103 4
      pages/teacher/index.vue
  6. 2 10
      pagesMy/course/index.vue
  7. 44 0
      pagesMy/introduce/index.vue
  8. 3 1
      pagesMy/opinion/list.vue
  9. 6 2
      static/iconfont-weapp/icon/icon.wxss
  10. 14 2
      static/iconfont-weapp/iconfont-weapp-icon.css
  11. 6 2
      static/iconfont-weapp/iconfont-weapp-icon.wxss
  12. BIN
      static/list.png
  13. 1 0
      unpackage/dist/dev/mp-weixin/app.js
  14. 1 0
      unpackage/dist/dev/mp-weixin/app.json
  15. 13 2
      unpackage/dist/dev/mp-weixin/app.wxss
  16. 578 876
      unpackage/dist/dev/mp-weixin/common/vendor.js
  17. 5 0
      unpackage/dist/dev/mp-weixin/config.js
  18. 83 0
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.js
  19. 6 0
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.json
  20. 1 0
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.wxml
  21. 45 0
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.wxss
  22. 1 1
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-input/u-input.js
  23. 1 1
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-line/u-line.js
  24. 1 1
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-link/u-link.js
  25. 1 1
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-list-item/u-list-item.js
  26. 1 1
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-list/u-list.js
  27. 1 1
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-overlay/u-overlay.js
  28. 1 1
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-radio-group/u-radio-group.js
  29. 1 1
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-radio/u-radio.js
  30. 161 0
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-search/u-search.js
  31. 6 0
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-search/u-search.json
  32. 1 0
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-search/u-search.wxml
  33. 92 0
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-search/u-search.wxss
  34. 1 1
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-text/u-text.js
  35. 1 1
      unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-transition/u-transition.js
  36. 52 43
      unpackage/dist/dev/mp-weixin/pages/home/index.js
  37. 0 2
      unpackage/dist/dev/mp-weixin/pages/home/index.json
  38. 1 1
      unpackage/dist/dev/mp-weixin/pages/home/index.wxml
  39. 1 1
      unpackage/dist/dev/mp-weixin/pages/home/index.wxss
  40. 1 6
      unpackage/dist/dev/mp-weixin/pages/my/index.wxss
  41. 112 10
      unpackage/dist/dev/mp-weixin/pages/teacher/index.js
  42. 5 0
      unpackage/dist/dev/mp-weixin/pages/teacher/index.json
  43. 1 1
      unpackage/dist/dev/mp-weixin/pages/teacher/index.wxml
  44. 10 0
      unpackage/dist/dev/mp-weixin/pages/teacher/index.wxss
  45. 2 22
      unpackage/dist/dev/mp-weixin/pagesMy/course/index.js
  46. 1 4
      unpackage/dist/dev/mp-weixin/pagesMy/course/index.json
  47. 1 1
      unpackage/dist/dev/mp-weixin/pagesMy/course/index.wxml
  48. 1 0
      unpackage/dist/dev/mp-weixin/pagesMy/course/index.wxss
  49. 32 0
      unpackage/dist/dev/mp-weixin/pagesMy/introduce/index.js
  50. 4 0
      unpackage/dist/dev/mp-weixin/pagesMy/introduce/index.json
  51. 1 0
      unpackage/dist/dev/mp-weixin/pagesMy/introduce/index.wxml
  52. 8 0
      unpackage/dist/dev/mp-weixin/pagesMy/introduce/index.wxss
  53. 16 6
      unpackage/dist/dev/mp-weixin/pagesMy/opinion/list.js
  54. 2 1
      unpackage/dist/dev/mp-weixin/pagesMy/opinion/list.json
  55. 1 1
      unpackage/dist/dev/mp-weixin/pagesMy/opinion/list.wxml
  56. 6 2
      unpackage/dist/dev/mp-weixin/static/iconfont-weapp/icon/icon.wxss
  57. 14 2
      unpackage/dist/dev/mp-weixin/static/iconfont-weapp/iconfont-weapp-icon.css
  58. 6 2
      unpackage/dist/dev/mp-weixin/static/iconfont-weapp/iconfont-weapp-icon.wxss
  59. BIN
      unpackage/dist/dev/mp-weixin/static/list.png

+ 5 - 0
config.js

@@ -58,6 +58,11 @@ export default {
 			icon: "t-icon-gerenzhongxin",
 			title: "账号设置",
 			route: "pagesMy/account/index",
+		},
+		{
+			icon: "t-icon-tishi",
+			title: "关于我们",
+			route: "pagesMy/introduce/index",
 		}
 	],
 	china: [

+ 6 - 0
pages.json

@@ -88,6 +88,12 @@
 						"navigationBarTitleText": "账号设置"
 					}
 				},
+				{
+					"path": "introduce/index",
+					"style": {
+						"navigationBarTitleText": "关于我们"
+					}
+				},
 				{
 					"path": "opinion/index",
 					"style": {

+ 52 - 32
pages/home/index.vue

@@ -18,12 +18,7 @@
 		<view class="five">
 			<up-list @scrolltolower="scrolltolower">
 				<up-list-item v-for="(item, index) in list" :key="index">
-					<up-cell :title="`列表长度-${index + 1}`">
-						<template #icon>
-							<up-avatar shape="square" size="35" :src="item.url"
-								customStyle="margin: -3px 5px -3px 0"></up-avatar>
-						</template>
-					</up-cell>
+					{{item.nick_name}}
 				</up-list-item>
 			</up-list>
 		</view>
@@ -49,8 +44,14 @@
 		{ name: '高中', icon: 't-icon-gaozhong', type: '3' },
 	]);
 	const config = ref({ icon: [], logo: [], file: [] });
+	// 列表
 	const list = ref([]);
 	const total = ref(0);
+	const skip = ref(0);
+	const limit = ref(5);
+	const page = ref(0);
+	// 数据是否触底
+	const is_bottom = ref(false);
 	// 字典表
 	const subjectList = ref([]);
 	// 遮罩层
@@ -62,33 +63,15 @@
 	onShow(async () => {
 		await searchConfig();
 		await searchOther();
+		await clearPage();
 		await search();
 		if (!user.value) show.value = true
-		loadmore();
 	})
-	const urls = [
-		'https://cdn.uviewui.com/uview/album/1.jpg',
-		'https://cdn.uviewui.com/uview/album/2.jpg',
-		'https://cdn.uviewui.com/uview/album/3.jpg',
-		'https://cdn.uviewui.com/uview/album/4.jpg',
-		'https://cdn.uviewui.com/uview/album/5.jpg',
-		'https://cdn.uviewui.com/uview/album/6.jpg',
-		'https://cdn.uviewui.com/uview/album/7.jpg',
-		'https://cdn.uviewui.com/uview/album/8.jpg',
-		'https://cdn.uviewui.com/uview/album/9.jpg',
-		'https://cdn.uviewui.com/uview/album/10.jpg',
-	];
-
-	const scrolltolower = () => {
-		loadmore();
-	};
-	const loadmore = () => {
-		for (let i = 0; i < 30; i++) {
-			list.value.push({
-				url: urls[uni.$u.random(0, urls.length - 1)],
-			});
-		}
-	};
+	onPullDownRefresh(async () => {
+		await clearPage();
+		await search();
+		uni.stopPullDownRefresh();
+	})
 	// config信息
 	const searchConfig = async () => {
 		config.value = uni.getStorageSync('config');
@@ -99,9 +82,27 @@
 		// 学科
 		res = await $api(`dictData`, 'GET', { code: 'subject', is_use: '0' });
 		if (res.errcode === 0) subjectList.value = res.data;
+		subjectList.value.unshift({ label: '全部', value: '-1', is_show: true })
 	};
 	// 查询
-	const search = async () => { };
+	const search = async () => {
+		const info : any = {
+			skip: skip.value,
+			limit: limit.value,
+			status: '1',
+			is_show: '0'
+		}
+		const res = await $api('teacher', 'GET', info);
+		if (res.errcode === 0) {
+			list.value = list.value.concat(res.data)
+			total.value = res.total
+		} else {
+			uni.showToast({
+				title: res.errmsg || '',
+				icon: 'error',
+			});
+		}
+	};
 	// 改变标签
 	const toTab = async (data) => {
 		console.log(data);
@@ -109,6 +110,25 @@
 	const showChange = () => {
 		show.value = false
 	}
+	const scrolltolower = () => {
+		if (total.value > list.value.length) {
+			uni.showLoading({
+				title: '加载中',
+				mask: true
+			})
+			page.value = page.value + 1;
+			skip.value = page.value * limit.value;
+			search();
+			uni.hideLoading();
+		} else is_bottom.value = true
+	};
+	// 清空列表
+	const clearPage = () => {
+		list.value = []
+		skip.value = 0
+		limit.value = 6
+		page.value = 0
+	};
 </script>
 <style lang="scss" scoped>
 	.content {
@@ -136,7 +156,7 @@
 				align-items: center;
 
 				.text {
-					margin: 1vw 0 0 0;
+					margin: 2vw 0 0 0;
 					font-size: var(--font14Size);
 				}
 			}

+ 1 - 6
pages/my/index.vue

@@ -195,13 +195,9 @@
 			.two_2 {
 				display: flex;
 				justify-content: space-between;
-				padding: 2vw 0;
+				padding: 2vw;
 
 				.list {
-					display: flex;
-					flex-direction: column;
-					align-items: center;
-					justify-content: center;
 					text-align: center;
 
 
@@ -229,7 +225,6 @@
 
 				.left {
 					display: flex;
-					align-items: center;
 					font-size: var(--font14Size);
 
 					.icon {

+ 103 - 4
pages/teacher/index.vue

@@ -1,6 +1,25 @@
 <template>
 	<view class="content">
-		教师
+		<view class="one">
+			<up-search v-model="nick_name" @custom="searchInfo"></up-search>
+		</view>
+		<view class="two">
+			<up-tabs :list="subjectList" keyName="label" @click="toTab"></up-tabs>
+		</view>
+		<view class="thr" v-if="total>0">
+			<up-list @scrolltolower="scrolltolower">
+				<up-list-item v-for="(item, index) in list" :key="index">
+					<view class="list">
+						{{item.nick_name}}
+					</view>
+				</up-list-item>
+			</up-list>
+		</view>
+		<up-empty v-else mode="list" icon="/static/list.png">
+		</up-empty>
+		<view class="is_bottom" v-if="is_bottom">
+			<text>{{config.bottom_title||'没有更多了!'}}</text>
+		</view>
 		<up-overlay :show="show">
 			<login @showChange='showChange'></login>
 		</up-overlay>
@@ -14,13 +33,21 @@
 	import { onShow, onPullDownRefresh } from "@dcloudio/uni-app";
 	// 请求接口
 	const $api = inject('$api');
-	const $config = inject('$config');
 	// 基本信息
 	const config = ref({ logo: [], file: [] });
+	// 列表
 	const list = ref([]);
 	const total = ref(0);
+	const skip = ref(0);
+	const limit = ref(5);
+	const page = ref(0);
+	// 数据是否触底
+	const is_bottom = ref(false);
 	// 遮罩层
 	const show = ref(false);
+	// 字典表
+	const subjectList = ref([]);
+	const nick_name = ref('');
 	// user
 	const user = computed(() => {
 		return uni.getStorageSync('user');
@@ -28,25 +55,97 @@
 	onShow(async () => {
 		await searchConfig();
 		await searchOther();
+		await clearPage();
 		await search();
 		if (!user.value) show.value = true
 	})
+	onPullDownRefresh(async () => {
+		await clearPage();
+		await search();
+		uni.stopPullDownRefresh();
+	})
 	// config信息
 	const searchConfig = async () => {
 		config.value = uni.getStorageSync('config');
 	};
 	// 其他查询信息
-	const searchOther = async () => { };
+	const searchOther = async () => {
+		let res;
+		// 学科
+		res = await $api(`dictData`, 'GET', { code: 'subject', is_use: '0' });
+		if (res.errcode === 0) subjectList.value = res.data;
+		subjectList.value.unshift({ label: '全部', value: '-1', is_show: true })
+	};
+	// 名称搜索
+	const searchInfo = async () => {
+		if (nick_name.value) {
+			await clearPage();
+			await search();
+		}
+	};
 	// 查询
-	const search = async () => { };
+	const search = async () => {
+		const info : any = {
+			skip: skip.value,
+			limit: limit.value,
+			status: '1',
+			is_show: '0'
+		}
+		if (nick_name.value) info.nick_name = nick_name.value
+		const res = await $api('teacher', 'GET', info);
+		if (res.errcode === 0) {
+			list.value = list.value.concat(res.data)
+			total.value = res.total
+		} else {
+			uni.showToast({
+				title: res.errmsg || '',
+				icon: 'error',
+			});
+		}
+	};
+	// 改变标签
+	const toTab = async (data) => {
+		console.log(data);
+	};
 	const showChange = () => {
 		show.value = false
 	}
+	const scrolltolower = () => {
+		if (total.value > list.value.length) {
+			uni.showLoading({
+				title: '加载中',
+				mask: true
+			})
+			page.value = page.value + 1;
+			skip.value = page.value * limit.value;
+			search();
+			uni.hideLoading();
+		} else is_bottom.value = true
+	};
+	// 清空列表
+	const clearPage = () => {
+		list.value = []
+		skip.value = 0
+		limit.value = 6
+		page.value = 0
+	};
 </script>
 <style lang="scss" scoped>
 	.content {
 		display: flex;
 		flex-direction: column;
+		min-height: 100vh;
 		background-color: var(--f1Color);
+
+		.one {
+			padding: 2vw;
+			background-color: var(--mainColor);
+		}
+
+		.two {
+			margin: 2vw;
+			border-radius: 5px;
+			background-color: var(--mainColor);
+		}
 	}
 </style>

+ 2 - 10
pagesMy/course/index.vue

@@ -1,14 +1,10 @@
 <template>
 	<view class="content">
 		我的课程
-		<up-overlay :show="show">
-			<login @showChange='showChange'></login>
-		</up-overlay>
 	</view>
 </template>
 
 <script setup lang="ts">
-	import login from "@/components/login.vue"
 	import { inject, computed, ref } from 'vue';
 	//该依赖已内置不需要单独安装
 	import { onShow, onPullDownRefresh } from "@dcloudio/uni-app";
@@ -19,8 +15,6 @@
 	const config = ref({ logo: [], file: [] });
 	const list = ref([]);
 	const total = ref(0);
-	// 遮罩层
-	const show = ref(false);
 	// user
 	const user = computed(() => {
 		return uni.getStorageSync('user');
@@ -29,7 +23,6 @@
 		await searchConfig();
 		await searchOther();
 		await search();
-		if (!user.value) show.value = true
 	})
 	// config信息
 	const searchConfig = async () => {
@@ -39,14 +32,13 @@
 	const searchOther = async () => { };
 	// 查询
 	const search = async () => { };
-	const showChange = () => {
-		show.value = false
-	}
+	
 </script>
 <style lang="scss" scoped>
 	.content {
 		display: flex;
 		flex-direction: column;
+		min-height: 100vh;
 		background-color: var(--f1Color);
 	}
 </style>

+ 44 - 0
pagesMy/introduce/index.vue

@@ -0,0 +1,44 @@
+<template>
+	<view class="content">
+		关于我们
+	</view>
+</template>
+
+<script setup lang="ts">
+	import { inject, computed, ref } from 'vue';
+	//该依赖已内置不需要单独安装
+	import { onShow, onPullDownRefresh } from "@dcloudio/uni-app";
+	// 请求接口
+	const $api = inject('$api');
+	const $config = inject('$config');
+	// 基本信息
+	const config = ref({ logo: [], file: [] });
+	const list = ref([]);
+	const total = ref(0);
+	// user
+	const user = computed(() => {
+		return uni.getStorageSync('user');
+	})
+	onShow(async () => {
+		await searchConfig();
+		await searchOther();
+		await search();
+	})
+	// config信息
+	const searchConfig = async () => {
+		config.value = uni.getStorageSync('config');
+	};
+	// 其他查询信息
+	const searchOther = async () => { };
+	// 查询
+	const search = async () => { };
+	
+</script>
+<style lang="scss" scoped>
+	.content {
+		display: flex;
+		flex-direction: column;
+		min-height: 100vh;
+		background-color: var(--f1Color);
+	}
+</style>

+ 3 - 1
pagesMy/opinion/list.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="content">
-		<view class="one">
+		<view class="one" v-if="total>0">
 			<up-list @scrolltolower="scrolltolower">
 				<up-list-item v-for="(item, index) in list" :key="index">
 					<view class="list">
@@ -25,6 +25,8 @@
 				</up-list-item>
 			</up-list>
 		</view>
+		<up-empty v-else mode="list" icon="/static/list.png">
+		</up-empty>
 		<view class="is_bottom" v-if="is_bottom">
 			<text>{{config.bottom_title||'没有更多了!'}}</text>
 		</view>

Різницю між файлами не показано, бо вона завелика
+ 6 - 2
static/iconfont-weapp/icon/icon.wxss


Різницю між файлами не показано, бо вона завелика
+ 14 - 2
static/iconfont-weapp/iconfont-weapp-icon.css


Різницю між файлами не показано, бо вона завелика
+ 6 - 2
static/iconfont-weapp/iconfont-weapp-icon.wxss


BIN
static/list.png


+ 1 - 0
unpackage/dist/dev/mp-weixin/app.js

@@ -14,6 +14,7 @@ if (!Math) {
   "./pagesMy/course/index.js";
   "./pagesMy/follow/index.js";
   "./pagesMy/account/index.js";
+  "./pagesMy/introduce/index.js";
   "./pagesMy/opinion/index.js";
   "./pagesMy/opinion/list.js";
 }

+ 1 - 0
unpackage/dist/dev/mp-weixin/app.json

@@ -19,6 +19,7 @@
         "course/index",
         "follow/index",
         "account/index",
+        "introduce/index",
         "opinion/index",
         "opinion/list"
       ]

Різницю між файлами не показано, бо вона завелика
+ 13 - 2
unpackage/dist/dev/mp-weixin/app.wxss


Різницю між файлами не показано, бо вона завелика
+ 578 - 876
unpackage/dist/dev/mp-weixin/common/vendor.js


+ 5 - 0
unpackage/dist/dev/mp-weixin/config.js

@@ -59,6 +59,11 @@ const configInfo = {
       icon: "t-icon-gerenzhongxin",
       title: "账号设置",
       route: "pagesMy/account/index"
+    },
+    {
+      icon: "t-icon-tishi",
+      title: "关于我们",
+      route: "pagesMy/introduce/index"
     }
   ],
   china: [

+ 83 - 0
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.js

@@ -0,0 +1,83 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-empty",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$7],
+  data() {
+    return {
+      icons: {
+        car: "购物车为空",
+        page: "页面不存在",
+        search: "没有搜索结果",
+        address: "没有收货地址",
+        wifi: "没有WiFi",
+        order: "订单为空",
+        coupon: "没有优惠券",
+        favor: "暂无收藏",
+        permission: "无权限",
+        history: "无历史记录",
+        news: "无新闻列表",
+        message: "消息列表为空",
+        list: "列表为空",
+        data: "数据为空",
+        comment: "暂无评论"
+      }
+    };
+  },
+  computed: {
+    // 组件样式
+    emptyStyle() {
+      const style = {};
+      style.marginTop = common_vendor.addUnit(this.marginTop);
+      return common_vendor.deepMerge(common_vendor.addStyle(this.customStyle), style);
+    },
+    // 文本样式
+    textStyle() {
+      const style = {};
+      style.color = this.textColor;
+      style.fontSize = common_vendor.addUnit(this.textSize);
+      return style;
+    },
+    // 判断icon是否图片路径
+    isSrc() {
+      return this.icon.indexOf("/") >= 0;
+    }
+  },
+  methods: {
+    addUnit: common_vendor.addUnit
+  }
+};
+if (!Array) {
+  const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
+  _easycom_u_icon2();
+}
+const _easycom_u_icon = () => "../u-icon/u-icon.js";
+if (!Math) {
+  _easycom_u_icon();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.show
+  }, _ctx.show ? common_vendor.e({
+    b: !$options.isSrc
+  }, !$options.isSrc ? {
+    c: common_vendor.p({
+      name: _ctx.mode === "message" ? "chat" : `empty-${_ctx.mode}`,
+      size: _ctx.iconSize,
+      color: _ctx.iconColor,
+      ["margin-top"]: "14"
+    })
+  } : {
+    d: $options.addUnit(_ctx.width),
+    e: $options.addUnit(_ctx.height),
+    f: _ctx.icon
+  }, {
+    g: common_vendor.t(_ctx.text ? _ctx.text : $data.icons[_ctx.mode]),
+    h: common_vendor.s($options.textStyle),
+    i: _ctx.$slots.default || _ctx.$slots.$default
+  }, _ctx.$slots.default || _ctx.$slots.$default ? {} : {}, {
+    j: common_vendor.s($options.emptyStyle)
+  }) : {});
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-bd84101d"], ["__file", "D:/project/学吧/learn_applet/node_modules/uview-plus/components/u-empty/u-empty.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-icon": "../u-icon/u-icon"
+  }
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.wxml

@@ -0,0 +1 @@
+<view wx:if="{{a}}" class="u-empty data-v-bd84101d" style="{{j}}"><u-icon wx:if="{{b}}" class="data-v-bd84101d" u-i="bd84101d-0" bind:__l="__l" u-p="{{c}}"></u-icon><image wx:else class="data-v-bd84101d" style="{{'width:' + d + ';' + ('height:' + e)}}" src="{{f}}" mode="widthFix"></image><text class="u-empty__text data-v-bd84101d" style="{{h}}">{{g}}</text><view wx:if="{{i}}" class="u-empty__wrap data-v-bd84101d"><slot/></view></view>

+ 45 - 0
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.wxss

@@ -0,0 +1,45 @@
+/* 水平间距 */
+/* 水平间距 */
+.u-empty.data-v-bd84101d,
+.u-empty__wrap.data-v-bd84101d,
+.u-tabs.data-v-bd84101d,
+.u-tabs__wrapper.data-v-bd84101d,
+.u-tabs__wrapper__scroll-view-wrapper.data-v-bd84101d,
+.u-tabs__wrapper__scroll-view.data-v-bd84101d,
+.u-tabs__wrapper__nav.data-v-bd84101d,
+.u-tabs__wrapper__nav__line.data-v-bd84101d {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-empty.data-v-bd84101d {
+
+  display: flex;
+
+  flex-direction: row;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+}
+.u-empty__text.data-v-bd84101d {
+
+  display: flex;
+
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+  margin-top: 20rpx;
+}
+.u-slot-wrap.data-v-bd84101d {
+
+  display: flex;
+
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+  margin-top: 20rpx;
+}

+ 1 - 1
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-input/u-input.js

@@ -2,7 +2,7 @@
 const common_vendor = require("../../../../common/vendor.js");
 const _sfc_main = {
   name: "u-input",
-  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$20],
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$18],
   data() {
     return {
       // 清除操作

+ 1 - 1
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-line/u-line.js

@@ -2,7 +2,7 @@
 const common_vendor = require("../../../../common/vendor.js");
 const _sfc_main = {
   name: "u-line",
-  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$16],
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$18],
   computed: {
     lineStyle() {
       const style = {};

+ 1 - 1
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-link/u-link.js

@@ -2,7 +2,7 @@
 const common_vendor = require("../../../../common/vendor.js");
 const _sfc_main = {
   name: "u-link",
-  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$21],
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$23],
   computed: {
     linkStyle() {
       const style = {

+ 1 - 1
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-list-item/u-list-item.js

@@ -2,7 +2,7 @@
 const common_vendor = require("../../../../common/vendor.js");
 const _sfc_main = {
   name: "u-list-item",
-  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$5],
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$3],
   data() {
     return {
       // 节点信息

+ 1 - 1
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-list/u-list.js

@@ -2,7 +2,7 @@
 const common_vendor = require("../../../../common/vendor.js");
 const _sfc_main = {
   name: "u-list",
-  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$6],
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$4],
   watch: {
     scrollIntoView(n) {
       this.scrollIntoViewById(n);

+ 1 - 1
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-overlay/u-overlay.js

@@ -2,7 +2,7 @@
 const common_vendor = require("../../../../common/vendor.js");
 const _sfc_main = {
   name: "u-overlay",
-  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$7],
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$5],
   computed: {
     overlayStyle() {
       const style = {

+ 1 - 1
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-radio-group/u-radio-group.js

@@ -2,7 +2,7 @@
 const common_vendor = require("../../../../common/vendor.js");
 const _sfc_main = {
   name: "u-radio-group",
-  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$19],
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$17],
   computed: {
     // 这里computed的变量,都是子组件u-radio需要用到的,由于头条小程序的兼容性差异,子组件无法实时监听父组件参数的变化
     // 所以需要手动通知子组件,这里返回一个parentData变量,供watch监听,在其中去通知每一个子组件重新从父组件(u-radio-group)

+ 1 - 1
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-radio/u-radio.js

@@ -2,7 +2,7 @@
 const common_vendor = require("../../../../common/vendor.js");
 const _sfc_main = {
   name: "u-radio",
-  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$18],
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$16],
   data() {
     return {
       checked: false,

+ 161 - 0
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-search/u-search.js

@@ -0,0 +1,161 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-search",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$6],
+  data() {
+    return {
+      keyword: "",
+      showClear: false,
+      // 是否显示右边的清除图标
+      show: false,
+      // 标记input当前状态是否处于聚焦中,如果是,才会显示右侧的清除控件
+      focused: this.focus
+      // 绑定输入框的值
+      // inputValue: this.value
+    };
+  },
+  watch: {
+    keyword(nVal) {
+      this.$emit("update:modelValue", nVal);
+      this.$emit("change", nVal);
+    },
+    modelValue: {
+      immediate: true,
+      handler(nVal) {
+        this.keyword = nVal;
+      }
+    }
+  },
+  computed: {
+    showActionBtn() {
+      return !this.animation && this.showAction;
+    }
+  },
+  emits: ["clear", "search", "custom", "focus", "blur", "click", "clickIcon", "update:modelValue", "change"],
+  methods: {
+    addStyle: common_vendor.addStyle,
+    addUnit: common_vendor.addUnit,
+    // 目前HX2.6.9 v-model双向绑定无效,故监听input事件获取输入框内容的变化
+    inputChange(e) {
+      this.keyword = e.detail.value;
+    },
+    // 清空输入
+    // 也可以作为用户通过this.$refs形式调用清空输入框内容
+    clear() {
+      this.keyword = "";
+      this.$nextTick(() => {
+        this.$emit("clear");
+      });
+    },
+    // 确定搜索
+    search(e) {
+      this.$emit("search", e.detail.value);
+      try {
+        common_vendor.index.hideKeyboard();
+      } catch (e2) {
+      }
+    },
+    // 点击右边自定义按钮的事件
+    custom() {
+      this.$emit("custom", this.keyword);
+      try {
+        common_vendor.index.hideKeyboard();
+      } catch (e) {
+      }
+    },
+    // 获取焦点
+    getFocus() {
+      this.focused = true;
+      if (this.animation && this.showAction)
+        this.show = true;
+      this.$emit("focus", this.keyword);
+    },
+    // 失去焦点
+    blur() {
+      setTimeout(() => {
+        this.focused = false;
+      }, 100);
+      this.show = false;
+      this.$emit("blur", this.keyword);
+    },
+    // 点击搜索框,只有disabled=true时才发出事件,因为禁止了输入,意味着是想跳转真正的搜索页
+    clickHandler() {
+      if (this.disabled)
+        this.$emit("click");
+    },
+    // 点击左边图标
+    clickIcon(e) {
+      this.$emit("clickIcon", this.keyword);
+      try {
+        common_vendor.index.hideKeyboard();
+      } catch (e2) {
+      }
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
+  _easycom_u_icon2();
+}
+const _easycom_u_icon = () => "../u-icon/u-icon.js";
+if (!Math) {
+  _easycom_u_icon();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.$slots.label || _ctx.label !== null
+  }, _ctx.$slots.label || _ctx.label !== null ? {
+    b: common_vendor.t(_ctx.label)
+  } : {}, {
+    c: common_vendor.o($options.clickIcon),
+    d: common_vendor.p({
+      size: _ctx.searchIconSize,
+      name: _ctx.searchIcon,
+      color: _ctx.searchIconColor ? _ctx.searchIconColor : _ctx.color
+    }),
+    e: common_vendor.o((...args) => $options.blur && $options.blur(...args)),
+    f: $data.keyword,
+    g: common_vendor.o((...args) => $options.search && $options.search(...args)),
+    h: common_vendor.o((...args) => $options.inputChange && $options.inputChange(...args)),
+    i: _ctx.disabled,
+    j: common_vendor.o((...args) => $options.getFocus && $options.getFocus(...args)),
+    k: _ctx.focus,
+    l: _ctx.maxlength,
+    m: _ctx.adjustPosition,
+    n: _ctx.autoBlur,
+    o: _ctx.placeholder,
+    p: `color: ${_ctx.placeholderColor}`,
+    q: common_vendor.s({
+      textAlign: _ctx.inputAlign,
+      color: _ctx.color,
+      backgroundColor: _ctx.bgColor,
+      height: $options.addUnit(_ctx.height)
+    }),
+    r: common_vendor.s(_ctx.inputStyle),
+    s: $data.keyword && _ctx.clearabled && $data.focused
+  }, $data.keyword && _ctx.clearabled && $data.focused ? {
+    t: common_vendor.p({
+      name: "close",
+      size: "11",
+      color: "#ffffff",
+      customStyle: "line-height: 12px"
+    }),
+    v: common_vendor.o((...args) => $options.clear && $options.clear(...args))
+  } : {}, {
+    w: _ctx.bgColor,
+    x: _ctx.shape == "round" ? "100px" : "4px",
+    y: _ctx.borderColor,
+    z: common_vendor.t(_ctx.actionText),
+    A: common_vendor.s(_ctx.actionStyle),
+    B: common_vendor.n(($options.showActionBtn || $data.show) && "u-search__action--active"),
+    C: common_vendor.o((...args) => $options.custom && $options.custom(...args)),
+    D: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)),
+    E: common_vendor.s({
+      margin: _ctx.margin
+    }),
+    F: common_vendor.s($options.addStyle(_ctx.customStyle))
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-ed789780"], ["__file", "D:/project/学吧/learn_applet/node_modules/uview-plus/components/u-search/u-search.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-search/u-search.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-icon": "../u-icon/u-icon"
+  }
+}

Різницю між файлами не показано, бо вона завелика
+ 1 - 0
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-search/u-search.wxml


+ 92 - 0
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-search/u-search.wxss

@@ -0,0 +1,92 @@
+/* 水平间距 */
+/* 水平间距 */
+.u-empty.data-v-ed789780,
+.u-empty__wrap.data-v-ed789780,
+.u-tabs.data-v-ed789780,
+.u-tabs__wrapper.data-v-ed789780,
+.u-tabs__wrapper__scroll-view-wrapper.data-v-ed789780,
+.u-tabs__wrapper__scroll-view.data-v-ed789780,
+.u-tabs__wrapper__nav.data-v-ed789780,
+.u-tabs__wrapper__nav__line.data-v-ed789780 {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-search.data-v-ed789780 {
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  flex: 1;
+}
+.u-search__content.data-v-ed789780 {
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  padding: 0 10px;
+  flex: 1;
+  justify-content: space-between;
+  border-width: 1px;
+  border-color: transparent;
+  border-style: solid;
+  overflow: hidden;
+}
+.u-search__content__icon.data-v-ed789780 {
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+}
+.u-search__content__label.data-v-ed789780 {
+  color: #303133;
+  font-size: 14px;
+  margin: 0 4px;
+}
+.u-search__content__close.data-v-ed789780 {
+  width: 20px;
+  height: 20px;
+  border-top-left-radius: 100px;
+  border-top-right-radius: 100px;
+  border-bottom-left-radius: 100px;
+  border-bottom-right-radius: 100px;
+  background-color: #C6C7CB;
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  transform: scale(0.82);
+}
+.u-search__content__input.data-v-ed789780 {
+  flex: 1;
+  font-size: 14px;
+  line-height: 1;
+  margin: 0 5px;
+  color: #303133;
+}
+.u-search__content__input--placeholder.data-v-ed789780 {
+  color: #909193;
+}
+.u-search__action.data-v-ed789780 {
+  font-size: 14px;
+  color: #303133;
+  width: 0;
+  overflow: hidden;
+  transition-property: width;
+  transition-duration: 0.3s;
+  white-space: nowrap;
+  text-align: center;
+}
+.u-search__action--active.data-v-ed789780 {
+  width: 40px;
+  margin-left: 5px;
+}

+ 1 - 1
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-text/u-text.js

@@ -2,7 +2,7 @@
 const common_vendor = require("../../../../common/vendor.js");
 const _sfc_main = {
   name: "u--text",
-  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.value, common_vendor.button, common_vendor.openType, common_vendor.props$15],
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.value, common_vendor.button, common_vendor.openType, common_vendor.props$17],
   emits: ["click"],
   computed: {
     valueStyle() {

+ 1 - 1
unpackage/dist/dev/mp-weixin/node-modules/uview-plus/components/u-transition/u-transition.js

@@ -33,7 +33,7 @@ const _sfc_main = {
     }
   },
   // 将mixin挂在到组件中,实际上为一个vue格式对象。
-  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.transition, common_vendor.props$17],
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.transition, common_vendor.props$15],
   watch: {
     show: {
       handler(newVal) {

+ 52 - 43
unpackage/dist/dev/mp-weixin/pages/home/index.js

@@ -4,23 +4,19 @@ if (!Array) {
   const _easycom_u_swiper2 = common_vendor.resolveComponent("u-swiper");
   const _easycom_up_notice_bar2 = common_vendor.resolveComponent("up-notice-bar");
   const _easycom_up_tabs2 = common_vendor.resolveComponent("up-tabs");
-  const _easycom_up_avatar2 = common_vendor.resolveComponent("up-avatar");
-  const _easycom_up_cell2 = common_vendor.resolveComponent("up-cell");
   const _easycom_up_list_item2 = common_vendor.resolveComponent("up-list-item");
   const _easycom_up_list2 = common_vendor.resolveComponent("up-list");
   const _easycom_up_overlay2 = common_vendor.resolveComponent("up-overlay");
-  (_easycom_u_swiper2 + _easycom_up_notice_bar2 + _easycom_up_tabs2 + _easycom_up_avatar2 + _easycom_up_cell2 + _easycom_up_list_item2 + _easycom_up_list2 + _easycom_up_overlay2)();
+  (_easycom_u_swiper2 + _easycom_up_notice_bar2 + _easycom_up_tabs2 + _easycom_up_list_item2 + _easycom_up_list2 + _easycom_up_overlay2)();
 }
 const _easycom_u_swiper = () => "../../node-modules/uview-plus/components/u-swiper/u-swiper.js";
 const _easycom_up_notice_bar = () => "../../node-modules/uview-plus/components/u-notice-bar/u-notice-bar.js";
 const _easycom_up_tabs = () => "../../node-modules/uview-plus/components/u-tabs/u-tabs.js";
-const _easycom_up_avatar = () => "../../node-modules/uview-plus/components/u-avatar/u-avatar.js";
-const _easycom_up_cell = () => "../../node-modules/uview-plus/components/u-cell/u-cell.js";
 const _easycom_up_list_item = () => "../../node-modules/uview-plus/components/u-list-item/u-list-item.js";
 const _easycom_up_list = () => "../../node-modules/uview-plus/components/u-list/u-list.js";
 const _easycom_up_overlay = () => "../../node-modules/uview-plus/components/u-overlay/u-overlay.js";
 if (!Math) {
-  (_easycom_u_swiper + _easycom_up_notice_bar + _easycom_up_tabs + _easycom_up_avatar + _easycom_up_cell + _easycom_up_list_item + _easycom_up_list + login + _easycom_up_overlay)();
+  (_easycom_u_swiper + _easycom_up_notice_bar + _easycom_up_tabs + _easycom_up_list_item + _easycom_up_list + login + _easycom_up_overlay)();
 }
 const login = () => "../../components/login.js";
 const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
@@ -36,7 +32,11 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     ]);
     const config = common_vendor.ref({ icon: [], logo: [], file: [] });
     const list = common_vendor.ref([]);
-    common_vendor.ref(0);
+    const total = common_vendor.ref(0);
+    const skip = common_vendor.ref(0);
+    const limit = common_vendor.ref(5);
+    const page = common_vendor.ref(0);
+    const is_bottom = common_vendor.ref(false);
     const subjectList = common_vendor.ref([]);
     const show = common_vendor.ref(false);
     const user = common_vendor.computed(() => {
@@ -45,33 +45,16 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     common_vendor.onShow(async () => {
       await searchConfig();
       await searchOther();
+      await clearPage();
       await search();
       if (!user.value)
         show.value = true;
-      loadmore();
     });
-    const urls = [
-      "https://cdn.uviewui.com/uview/album/1.jpg",
-      "https://cdn.uviewui.com/uview/album/2.jpg",
-      "https://cdn.uviewui.com/uview/album/3.jpg",
-      "https://cdn.uviewui.com/uview/album/4.jpg",
-      "https://cdn.uviewui.com/uview/album/5.jpg",
-      "https://cdn.uviewui.com/uview/album/6.jpg",
-      "https://cdn.uviewui.com/uview/album/7.jpg",
-      "https://cdn.uviewui.com/uview/album/8.jpg",
-      "https://cdn.uviewui.com/uview/album/9.jpg",
-      "https://cdn.uviewui.com/uview/album/10.jpg"
-    ];
-    const scrolltolower = () => {
-      loadmore();
-    };
-    const loadmore = () => {
-      for (let i = 0; i < 30; i++) {
-        list.value.push({
-          url: urls[common_vendor.index.$u.random(0, urls.length - 1)]
-        });
-      }
-    };
+    common_vendor.onPullDownRefresh(async () => {
+      await clearPage();
+      await search();
+      common_vendor.index.stopPullDownRefresh();
+    });
     const searchConfig = async () => {
       config.value = common_vendor.index.getStorageSync("config");
     };
@@ -80,8 +63,25 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
       res = await $api(`dictData`, "GET", { code: "subject", is_use: "0" });
       if (res.errcode === 0)
         subjectList.value = res.data;
+      subjectList.value.unshift({ label: "全部", value: "-1", is_show: true });
     };
     const search = async () => {
+      const info = {
+        skip: skip.value,
+        limit: limit.value,
+        status: "1",
+        is_show: "0"
+      };
+      const res = await $api("teacher", "GET", info);
+      if (res.errcode === 0) {
+        list.value = list.value.concat(res.data);
+        total.value = res.total;
+      } else {
+        common_vendor.index.showToast({
+          title: res.errmsg || "",
+          icon: "error"
+        });
+      }
     };
     const toTab = async (data) => {
       console.log(data);
@@ -89,6 +89,25 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     const showChange = () => {
       show.value = false;
     };
+    const scrolltolower = () => {
+      if (total.value > list.value.length) {
+        common_vendor.index.showLoading({
+          title: "加载中",
+          mask: true
+        });
+        page.value = page.value + 1;
+        skip.value = page.value * limit.value;
+        search();
+        common_vendor.index.hideLoading();
+      } else
+        is_bottom.value = true;
+    };
+    const clearPage = () => {
+      list.value = [];
+      skip.value = 0;
+      limit.value = 6;
+      page.value = 0;
+    };
     return (_ctx, _cache) => {
       return common_vendor.e({
         a: common_vendor.p({
@@ -120,19 +139,9 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
         }),
         g: common_vendor.f(list.value, (item, index, i0) => {
           return {
-            a: "4978fed5-6-" + i0 + "," + ("4978fed5-5-" + i0),
-            b: common_vendor.p({
-              shape: "square",
-              size: "35",
-              src: item.url,
-              customStyle: "margin: -3px 5px -3px 0"
-            }),
-            c: "4978fed5-5-" + i0 + "," + ("4978fed5-4-" + i0),
-            d: common_vendor.p({
-              title: `列表长度-${index + 1}`
-            }),
-            e: index,
-            f: "4978fed5-4-" + i0 + ",4978fed5-3"
+            a: common_vendor.t(item.nick_name),
+            b: index,
+            c: "4978fed5-4-" + i0 + ",4978fed5-3"
           };
         }),
         h: common_vendor.o(scrolltolower),

+ 0 - 2
unpackage/dist/dev/mp-weixin/pages/home/index.json

@@ -5,8 +5,6 @@
     "u-swiper": "../../node-modules/uview-plus/components/u-swiper/u-swiper",
     "up-notice-bar": "../../node-modules/uview-plus/components/u-notice-bar/u-notice-bar",
     "up-tabs": "../../node-modules/uview-plus/components/u-tabs/u-tabs",
-    "up-avatar": "../../node-modules/uview-plus/components/u-avatar/u-avatar",
-    "up-cell": "../../node-modules/uview-plus/components/u-cell/u-cell",
     "up-list-item": "../../node-modules/uview-plus/components/u-list-item/u-list-item",
     "up-list": "../../node-modules/uview-plus/components/u-list/u-list",
     "up-overlay": "../../node-modules/uview-plus/components/u-overlay/u-overlay",

Різницю між файлами не показано, бо вона завелика
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/home/index.wxml


+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/home/index.wxss

@@ -24,7 +24,7 @@
   align-items: center;
 }
 .content .thr .list .text.data-v-4978fed5 {
-  margin: 1vw 0 0 0;
+  margin: 2vw 0 0 0;
   font-size: var(--font14Size);
 }
 .content .four.data-v-4978fed5 {

+ 1 - 6
unpackage/dist/dev/mp-weixin/pages/my/index.wxss

@@ -60,13 +60,9 @@
 .content .two .two_2.data-v-f97bc692 {
   display: flex;
   justify-content: space-between;
-  padding: 2vw 0;
+  padding: 2vw;
 }
 .content .two .two_2 .list.data-v-f97bc692 {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
   text-align: center;
 }
 .content .two .two_2 .list .title.data-v-f97bc692 {
@@ -89,7 +85,6 @@
 }
 .content .thr .list .left.data-v-f97bc692 {
   display: flex;
-  align-items: center;
   font-size: var(--font14Size);
 }
 .content .thr .list .left .icon.data-v-f97bc692 {

+ 112 - 10
unpackage/dist/dev/mp-weixin/pages/teacher/index.js

@@ -1,50 +1,152 @@
 "use strict";
 const common_vendor = require("../../common/vendor.js");
 if (!Array) {
+  const _easycom_up_search2 = common_vendor.resolveComponent("up-search");
+  const _easycom_up_tabs2 = common_vendor.resolveComponent("up-tabs");
+  const _easycom_up_list_item2 = common_vendor.resolveComponent("up-list-item");
+  const _easycom_up_list2 = common_vendor.resolveComponent("up-list");
+  const _easycom_up_empty2 = common_vendor.resolveComponent("up-empty");
   const _easycom_up_overlay2 = common_vendor.resolveComponent("up-overlay");
-  _easycom_up_overlay2();
+  (_easycom_up_search2 + _easycom_up_tabs2 + _easycom_up_list_item2 + _easycom_up_list2 + _easycom_up_empty2 + _easycom_up_overlay2)();
 }
+const _easycom_up_search = () => "../../node-modules/uview-plus/components/u-search/u-search.js";
+const _easycom_up_tabs = () => "../../node-modules/uview-plus/components/u-tabs/u-tabs.js";
+const _easycom_up_list_item = () => "../../node-modules/uview-plus/components/u-list-item/u-list-item.js";
+const _easycom_up_list = () => "../../node-modules/uview-plus/components/u-list/u-list.js";
+const _easycom_up_empty = () => "../../node-modules/uview-plus/components/u-empty/u-empty.js";
 const _easycom_up_overlay = () => "../../node-modules/uview-plus/components/u-overlay/u-overlay.js";
 if (!Math) {
-  (login + _easycom_up_overlay)();
+  (_easycom_up_search + _easycom_up_tabs + _easycom_up_list_item + _easycom_up_list + _easycom_up_empty + login + _easycom_up_overlay)();
 }
 const login = () => "../../components/login.js";
 const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
   __name: "index",
   setup(__props) {
-    common_vendor.inject("$api");
-    common_vendor.inject("$config");
+    const $api = common_vendor.inject("$api");
     const config = common_vendor.ref({ logo: [], file: [] });
-    common_vendor.ref([]);
-    common_vendor.ref(0);
+    const list = common_vendor.ref([]);
+    const total = common_vendor.ref(0);
+    const skip = common_vendor.ref(0);
+    const limit = common_vendor.ref(5);
+    const page = common_vendor.ref(0);
+    const is_bottom = common_vendor.ref(false);
     const show = common_vendor.ref(false);
+    const subjectList = common_vendor.ref([]);
+    const nick_name = common_vendor.ref("");
     const user = common_vendor.computed(() => {
       return common_vendor.index.getStorageSync("user");
     });
     common_vendor.onShow(async () => {
       await searchConfig();
       await searchOther();
+      await clearPage();
       await search();
       if (!user.value)
         show.value = true;
     });
+    common_vendor.onPullDownRefresh(async () => {
+      await clearPage();
+      await search();
+      common_vendor.index.stopPullDownRefresh();
+    });
     const searchConfig = async () => {
       config.value = common_vendor.index.getStorageSync("config");
     };
     const searchOther = async () => {
+      let res;
+      res = await $api(`dictData`, "GET", { code: "subject", is_use: "0" });
+      if (res.errcode === 0)
+        subjectList.value = res.data;
+      subjectList.value.unshift({ label: "全部", value: "-1", is_show: true });
+    };
+    const searchInfo = async () => {
+      if (nick_name.value) {
+        await clearPage();
+        await search();
+      }
     };
     const search = async () => {
+      const info = {
+        skip: skip.value,
+        limit: limit.value,
+        status: "1",
+        is_show: "0"
+      };
+      if (nick_name.value)
+        info.nick_name = nick_name.value;
+      const res = await $api("teacher", "GET", info);
+      if (res.errcode === 0) {
+        list.value = list.value.concat(res.data);
+        total.value = res.total;
+      } else {
+        common_vendor.index.showToast({
+          title: res.errmsg || "",
+          icon: "error"
+        });
+      }
+    };
+    const toTab = async (data) => {
+      console.log(data);
     };
     const showChange = () => {
       show.value = false;
     };
+    const scrolltolower = () => {
+      if (total.value > list.value.length) {
+        common_vendor.index.showLoading({
+          title: "加载中",
+          mask: true
+        });
+        page.value = page.value + 1;
+        skip.value = page.value * limit.value;
+        search();
+        common_vendor.index.hideLoading();
+      } else
+        is_bottom.value = true;
+    };
+    const clearPage = () => {
+      list.value = [];
+      skip.value = 0;
+      limit.value = 6;
+      page.value = 0;
+    };
     return (_ctx, _cache) => {
-      return {
-        a: common_vendor.o(showChange),
-        b: common_vendor.p({
+      return common_vendor.e({
+        a: common_vendor.o(searchInfo),
+        b: common_vendor.o(($event) => nick_name.value = $event),
+        c: common_vendor.p({
+          modelValue: nick_name.value
+        }),
+        d: common_vendor.o(toTab),
+        e: common_vendor.p({
+          list: subjectList.value,
+          keyName: "label"
+        }),
+        f: total.value > 0
+      }, total.value > 0 ? {
+        g: common_vendor.f(list.value, (item, index, i0) => {
+          return {
+            a: common_vendor.t(item.nick_name),
+            b: index,
+            c: "f3506c63-3-" + i0 + ",f3506c63-2"
+          };
+        }),
+        h: common_vendor.o(scrolltolower)
+      } : {
+        i: common_vendor.p({
+          mode: "list",
+          icon: "/static/list.png"
+        })
+      }, {
+        j: is_bottom.value
+      }, is_bottom.value ? {
+        k: common_vendor.t(config.value.bottom_title || "没有更多了!")
+      } : {}, {
+        l: common_vendor.o(showChange),
+        m: common_vendor.p({
           show: show.value
         })
-      };
+      });
     };
   }
 });

+ 5 - 0
unpackage/dist/dev/mp-weixin/pages/teacher/index.json

@@ -2,6 +2,11 @@
   "navigationBarTitleText": "教师",
   "enablePullDownRefresh": true,
   "usingComponents": {
+    "up-search": "../../node-modules/uview-plus/components/u-search/u-search",
+    "up-tabs": "../../node-modules/uview-plus/components/u-tabs/u-tabs",
+    "up-list-item": "../../node-modules/uview-plus/components/u-list-item/u-list-item",
+    "up-list": "../../node-modules/uview-plus/components/u-list/u-list",
+    "up-empty": "../../node-modules/uview-plus/components/u-empty/u-empty",
     "up-overlay": "../../node-modules/uview-plus/components/u-overlay/u-overlay",
     "login": "../../components/login"
   }

Різницю між файлами не показано, бо вона завелика
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/teacher/index.wxml


+ 10 - 0
unpackage/dist/dev/mp-weixin/pages/teacher/index.wxss

@@ -3,5 +3,15 @@
 .content.data-v-f3506c63 {
   display: flex;
   flex-direction: column;
+  min-height: 100vh;
   background-color: var(--f1Color);
+}
+.content .one.data-v-f3506c63 {
+  padding: 2vw;
+  background-color: var(--mainColor);
+}
+.content .two.data-v-f3506c63 {
+  margin: 2vw;
+  border-radius: 5px;
+  background-color: var(--mainColor);
 }

+ 2 - 22
unpackage/dist/dev/mp-weixin/pagesMy/course/index.js

@@ -1,14 +1,5 @@
 "use strict";
 const common_vendor = require("../../common/vendor.js");
-if (!Array) {
-  const _easycom_up_overlay2 = common_vendor.resolveComponent("up-overlay");
-  _easycom_up_overlay2();
-}
-const _easycom_up_overlay = () => "../../node-modules/uview-plus/components/u-overlay/u-overlay.js";
-if (!Math) {
-  (login + _easycom_up_overlay)();
-}
-const login = () => "../../components/login.js";
 const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
   __name: "index",
   setup(__props) {
@@ -17,16 +8,13 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     const config = common_vendor.ref({ logo: [], file: [] });
     common_vendor.ref([]);
     common_vendor.ref(0);
-    const show = common_vendor.ref(false);
-    const user = common_vendor.computed(() => {
+    common_vendor.computed(() => {
       return common_vendor.index.getStorageSync("user");
     });
     common_vendor.onShow(async () => {
       await searchConfig();
       await searchOther();
       await search();
-      if (!user.value)
-        show.value = true;
     });
     const searchConfig = async () => {
       config.value = common_vendor.index.getStorageSync("config");
@@ -35,16 +23,8 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     };
     const search = async () => {
     };
-    const showChange = () => {
-      show.value = false;
-    };
     return (_ctx, _cache) => {
-      return {
-        a: common_vendor.o(showChange),
-        b: common_vendor.p({
-          show: show.value
-        })
-      };
+      return {};
     };
   }
 });

+ 1 - 4
unpackage/dist/dev/mp-weixin/pagesMy/course/index.json

@@ -1,8 +1,5 @@
 {
   "navigationBarTitleText": "我的课程",
   "enablePullDownRefresh": true,
-  "usingComponents": {
-    "up-overlay": "../../node-modules/uview-plus/components/u-overlay/u-overlay",
-    "login": "../../components/login"
-  }
+  "usingComponents": {}
 }

+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesMy/course/index.wxml

@@ -1 +1 @@
-<view class="content data-v-5cb065a7"> 我的课程 <up-overlay wx:if="{{b}}" class="data-v-5cb065a7" u-s="{{['d']}}" u-i="5cb065a7-0" bind:__l="__l" u-p="{{b}}"><login class="data-v-5cb065a7" bindshowChange="{{a}}" u-i="5cb065a7-1,5cb065a7-0" bind:__l="__l"></login></up-overlay></view>
+<view class="content data-v-5cb065a7"> 我的课程 </view>

+ 1 - 0
unpackage/dist/dev/mp-weixin/pagesMy/course/index.wxss

@@ -3,5 +3,6 @@
 .content.data-v-5cb065a7 {
   display: flex;
   flex-direction: column;
+  min-height: 100vh;
   background-color: var(--f1Color);
 }

+ 32 - 0
unpackage/dist/dev/mp-weixin/pagesMy/introduce/index.js

@@ -0,0 +1,32 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+  __name: "index",
+  setup(__props) {
+    common_vendor.inject("$api");
+    common_vendor.inject("$config");
+    const config = common_vendor.ref({ logo: [], file: [] });
+    common_vendor.ref([]);
+    common_vendor.ref(0);
+    common_vendor.computed(() => {
+      return common_vendor.index.getStorageSync("user");
+    });
+    common_vendor.onShow(async () => {
+      await searchConfig();
+      await searchOther();
+      await search();
+    });
+    const searchConfig = async () => {
+      config.value = common_vendor.index.getStorageSync("config");
+    };
+    const searchOther = async () => {
+    };
+    const search = async () => {
+    };
+    return (_ctx, _cache) => {
+      return {};
+    };
+  }
+});
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-36ae6b6d"], ["__file", "D:/project/学吧/learn_applet/pagesMy/introduce/index.vue"]]);
+wx.createPage(MiniProgramPage);

+ 4 - 0
unpackage/dist/dev/mp-weixin/pagesMy/introduce/index.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "关于我们",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pagesMy/introduce/index.wxml

@@ -0,0 +1 @@
+<view class="content data-v-36ae6b6d"> 关于我们 </view>

+ 8 - 0
unpackage/dist/dev/mp-weixin/pagesMy/introduce/index.wxss

@@ -0,0 +1,8 @@
+/* 水平间距 */
+/* 水平间距 */
+.content.data-v-36ae6b6d {
+  display: flex;
+  flex-direction: column;
+  min-height: 100vh;
+  background-color: var(--f1Color);
+}

+ 16 - 6
unpackage/dist/dev/mp-weixin/pagesMy/opinion/list.js

@@ -3,12 +3,14 @@ const common_vendor = require("../../common/vendor.js");
 if (!Array) {
   const _easycom_up_list_item2 = common_vendor.resolveComponent("up-list-item");
   const _easycom_up_list2 = common_vendor.resolveComponent("up-list");
-  (_easycom_up_list_item2 + _easycom_up_list2)();
+  const _easycom_up_empty2 = common_vendor.resolveComponent("up-empty");
+  (_easycom_up_list_item2 + _easycom_up_list2 + _easycom_up_empty2)();
 }
 const _easycom_up_list_item = () => "../../node-modules/uview-plus/components/u-list-item/u-list-item.js";
 const _easycom_up_list = () => "../../node-modules/uview-plus/components/u-list/u-list.js";
+const _easycom_up_empty = () => "../../node-modules/uview-plus/components/u-empty/u-empty.js";
 if (!Math) {
-  (_easycom_up_list_item + _easycom_up_list)();
+  (_easycom_up_list_item + _easycom_up_list + _easycom_up_empty)();
 }
 const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
   __name: "list",
@@ -95,7 +97,9 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     };
     return (_ctx, _cache) => {
       return common_vendor.e({
-        a: common_vendor.f(list.value, (item, index, i0) => {
+        a: total.value > 0
+      }, total.value > 0 ? {
+        b: common_vendor.f(list.value, (item, index, i0) => {
           return {
             a: common_vendor.t(getDict(item.type, "type")),
             b: common_vendor.t(item.brief || "暂无"),
@@ -106,10 +110,16 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
             g: "c9b53715-1-" + i0 + ",c9b53715-0"
           };
         }),
-        b: common_vendor.o(scrolltolower),
-        c: is_bottom.value
+        c: common_vendor.o(scrolltolower)
+      } : {
+        d: common_vendor.p({
+          mode: "list",
+          icon: "/static/list.png"
+        })
+      }, {
+        e: is_bottom.value
       }, is_bottom.value ? {
-        d: common_vendor.t(config.value.bottom_title || "没有更多了!")
+        f: common_vendor.t(config.value.bottom_title || "没有更多了!")
       } : {});
     };
   }

+ 2 - 1
unpackage/dist/dev/mp-weixin/pagesMy/opinion/list.json

@@ -3,6 +3,7 @@
   "enablePullDownRefresh": true,
   "usingComponents": {
     "up-list-item": "../../node-modules/uview-plus/components/u-list-item/u-list-item",
-    "up-list": "../../node-modules/uview-plus/components/u-list/u-list"
+    "up-list": "../../node-modules/uview-plus/components/u-list/u-list",
+    "up-empty": "../../node-modules/uview-plus/components/u-empty/u-empty"
   }
 }

Різницю між файлами не показано, бо вона завелика
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesMy/opinion/list.wxml


Різницю між файлами не показано, бо вона завелика
+ 6 - 2
unpackage/dist/dev/mp-weixin/static/iconfont-weapp/icon/icon.wxss


Різницю між файлами не показано, бо вона завелика
+ 14 - 2
unpackage/dist/dev/mp-weixin/static/iconfont-weapp/iconfont-weapp-icon.css


Різницю між файлами не показано, бо вона завелика
+ 6 - 2
unpackage/dist/dev/mp-weixin/static/iconfont-weapp/iconfont-weapp-icon.wxss


BIN
unpackage/dist/dev/mp-weixin/static/list.png