Browse Source

首页创建

zs 1 year ago
parent
commit
40f16759fc
65 changed files with 18728 additions and 1306 deletions
  1. 1 1
      common/api.js
  2. 29 64
      common/css/iconfont.css
  3. BIN
      common/css/iconfont.ttf
  4. 8164 0
      components/cityPicker.vue
  5. 66 66
      manifest.json
  6. 12 0
      pages.json
  7. 37 0
      pages/home/components/activity.vue
  8. 37 0
      pages/home/components/game.vue
  9. 37 0
      pages/home/components/team.vue
  10. 90 4
      pages/home/index.vue
  11. 1 1
      pages/index/index.vue
  12. 1 1
      pages/login/index.vue
  13. 39 0
      pagesHome/match/index.vue
  14. 39 0
      pagesHome/team/index.vue
  15. 58 20
      pagesMy/basic/index.vue
  16. BIN
      static/qiudui.png
  17. BIN
      static/saishi.png
  18. 2 0
      unpackage/dist/dev/mp-weixin/app.js
  19. 3 1
      unpackage/dist/dev/mp-weixin/app.json
  20. 1076 1103
      unpackage/dist/dev/mp-weixin/app.wxss
  21. 1 1
      unpackage/dist/dev/mp-weixin/common/api.js
  22. 39 0
      unpackage/dist/dev/mp-weixin/common/vendor.js
  23. 7948 0
      unpackage/dist/dev/mp-weixin/components/cityPicker.js
  24. 4 0
      unpackage/dist/dev/mp-weixin/components/cityPicker.json
  25. 1 0
      unpackage/dist/dev/mp-weixin/components/cityPicker.wxml
  26. 179 0
      unpackage/dist/dev/mp-weixin/components/cityPicker.wxss
  27. 19 0
      unpackage/dist/dev/mp-weixin/pages/home/components/activity.js
  28. 4 0
      unpackage/dist/dev/mp-weixin/pages/home/components/activity.json
  29. 1 0
      unpackage/dist/dev/mp-weixin/pages/home/components/activity.wxml
  30. 13 0
      unpackage/dist/dev/mp-weixin/pages/home/components/activity.wxss
  31. 19 0
      unpackage/dist/dev/mp-weixin/pages/home/components/game.js
  32. 4 0
      unpackage/dist/dev/mp-weixin/pages/home/components/game.json
  33. 1 0
      unpackage/dist/dev/mp-weixin/pages/home/components/game.wxml
  34. 13 0
      unpackage/dist/dev/mp-weixin/pages/home/components/game.wxss
  35. 19 0
      unpackage/dist/dev/mp-weixin/pages/home/components/team.js
  36. 4 0
      unpackage/dist/dev/mp-weixin/pages/home/components/team.json
  37. 1 0
      unpackage/dist/dev/mp-weixin/pages/home/components/team.wxml
  38. 13 0
      unpackage/dist/dev/mp-weixin/pages/home/components/team.wxss
  39. 85 10
      unpackage/dist/dev/mp-weixin/pages/home/index.js
  40. 6 1
      unpackage/dist/dev/mp-weixin/pages/home/index.json
  41. 1 1
      unpackage/dist/dev/mp-weixin/pages/home/index.wxml
  42. 20 1
      unpackage/dist/dev/mp-weixin/pages/home/index.wxss
  43. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  44. 1 1
      unpackage/dist/dev/mp-weixin/pages/login/index.js
  45. 19 0
      unpackage/dist/dev/mp-weixin/pagesHome/match/index.js
  46. 4 0
      unpackage/dist/dev/mp-weixin/pagesHome/match/index.json
  47. 1 0
      unpackage/dist/dev/mp-weixin/pagesHome/match/index.wxml
  48. 15 0
      unpackage/dist/dev/mp-weixin/pagesHome/match/index.wxss
  49. 19 0
      unpackage/dist/dev/mp-weixin/pagesHome/team/index.js
  50. 4 0
      unpackage/dist/dev/mp-weixin/pagesHome/team/index.json
  51. 1 0
      unpackage/dist/dev/mp-weixin/pagesHome/team/index.wxml
  52. 15 0
      unpackage/dist/dev/mp-weixin/pagesHome/team/index.wxss
  53. 67 27
      unpackage/dist/dev/mp-weixin/pagesMy/basic/index.js
  54. 3 1
      unpackage/dist/dev/mp-weixin/pagesMy/basic/index.json
  55. 1 1
      unpackage/dist/dev/mp-weixin/pagesMy/basic/index.wxml
  56. BIN
      unpackage/dist/dev/mp-weixin/static/qiudui.png
  57. BIN
      unpackage/dist/dev/mp-weixin/static/saishi.png
  58. 219 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-fab/components/uni-fab/uni-fab.js
  59. 6 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-fab/components/uni-fab/uni-fab.json
  60. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-fab/components/uni-fab/uni-fab.wxml
  61. 142 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-fab/components/uni-fab/uni-fab.wxss
  62. 74 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.js
  63. 4 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.json
  64. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.wxml
  65. 43 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.wxss

+ 1 - 1
common/api.js

@@ -2,7 +2,7 @@ import config from '../config.js';
 const getDomain = (uri, method, type) => {
 	let serverUrl = config.serverUrl;
 	if (type && type == 'file') return serverUrl + `/common/upload`;
-	else return serverUrl + uri;
+	else return serverUrl + '/system/' + uri;
 };
 
 export const requestBase = async (uri, method = 'GET', data, type) => {

+ 29 - 64
common/css/iconfont.css

@@ -1,64 +1,29 @@
-@font-face {
-	font-family: "iconfont";
-	src: url('@/common/css/iconfont.ttf') format('truetype');
-}
-
-.iconfont {
-	font-family: "iconfont" !important;
-	font-size: 16px;
-	font-style: normal;
-	-webkit-font-smoothing: antialiased;
-	-moz-osx-font-smoothing: grayscale;
-}
-
-.icon-lishijilu_huaban:before {
-	content: "\e617";
-}
-
-.icon-jibenxinxi:before {
-	content: "\e659";
-}
-
-.icon-qunzu:before {
-	content: "\e649";
-}
-
-.icon-yiliao:before {
-	content: "\e6ee";
-}
-
-.icon-youbofang:before {
-	content: "\e638";
-}
-
-.icon-zuobofang:before {
-	content: "\e63a";
-}
-
-.icon-shanchu:before {
-	content: "\e68a";
-}
-
-.icon-weixin:before {
-	content: "\e73b";
-}
-
-.icon-dayuhao:before {
-	content: "\e625";
-}
-
-.icon-yonghu:before {
-	content: "\e614";
-}
-
-.icon-erweima:before {
-	content: "\1017b";
-}
-
-.icon-shezhi:before {
-	content: "\1017c";
-}
-
-.icon-gengduo:before {
-	content: "\e719";
-}
+@font-face {
+	font-family: "iconfont";
+	src: url('@/common/css/iconfont.ttf') format('truetype');
+}
+
+.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-weixin:before {
+  content: "\e73b";
+}
+
+.icon-kaoqinchuqin:before {
+  content: "\e8d0";
+}
+
+.icon-zuqiu:before {
+  content: "\e61b";
+}
+
+.icon-qi:before {
+  content: "\e61f";
+}
+

BIN
common/css/iconfont.ttf


File diff suppressed because it is too large
+ 8164 - 0
components/cityPicker.vue


+ 66 - 66
manifest.json

@@ -1,67 +1,67 @@
-{
-    "name" : "match_applet",
-    "appid" : "__UNI__818FE07",
-    "description" : "",
-    "versionName" : "1.0.0",
-    "versionCode" : "100",
-    "transformPx" : false,
-    "app-plus" : {
-        /* 5+App特有相关 */
-        "usingComponents" : true,
-        "nvueCompiler" : "uni-app",
-        "nvueStyleCompiler" : "uni-app",
-        "splashscreen" : {
-            "alwaysShowBeforeRender" : true,
-            "waiting" : true,
-            "autoclose" : true,
-            "delay" : 0
-        },
-        "modules" : {},
-        /* 模块配置 */
-        "distribute" : {
-            /* 应用发布信息 */
-            "android" : {
-                /* android打包配置 */
-                "permissions" : [
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-                ]
-            },
-            "ios" : {},
-            /* ios打包配置 */
-            "sdkConfigs" : {}
-        }
-    },
-    /* SDK配置 */
-    "quickapp" : {},
+{
+	"name": "match_applet",
+	"appid": "__UNI__818FE07",
+	"description": "",
+	"versionName": "1.0.0",
+	"versionCode": "100",
+	"transformPx": false,
+	"app-plus": {
+		/* 5+App特有相关 */
+		"usingComponents": true,
+		"nvueCompiler": "uni-app",
+		"nvueStyleCompiler": "uni-app",
+		"splashscreen": {
+			"alwaysShowBeforeRender": true,
+			"waiting": true,
+			"autoclose": true,
+			"delay": 0
+		},
+		"modules": {},
+		/* 模块配置 */
+		"distribute": {
+			/* 应用发布信息 */
+			"android": {
+				/* android打包配置 */
+				"permissions": [
+					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
+					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+					"<uses-feature android:name=\"android.hardware.camera\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+				]
+			},
+			"ios": {},
+			/* ios打包配置 */
+			"sdkConfigs": {}
+		}
+	},
+	/* SDK配置 */
+	"quickapp": {},
 	/* 快应用特有相关 */
-	"mp-weixin" : {
-	    /* 小程序特有相关 */
-	    "appid" : "wx34436977cd1e02e4",
-	    "setting" : {
-	        "urlCheck" : false,
-	        "minified" : true,
-	        "es6" : true,
-	        "postcss" : true
-	    },
-	    "optimization" : {
-	        "subPackages" : true
-	    },
-	    "lazyCodeLoading" : "requiredComponents",
-	    "usingComponents" : true
-	},
-    "vueVersion" : "3"
-}
+	"mp-weixin": {
+		/* 小程序特有相关 */
+		"appid": "wx34436977cd1e02e4",
+		"setting": {
+			"urlCheck": false,
+			"minified": true,
+			"es6": true,
+			"postcss": true
+		},
+		"optimization": {
+			"subPackages": true
+		},
+		"lazyCodeLoading": "requiredComponents",
+		"usingComponents": true
+	},
+	"vueVersion": "3"
+}

+ 12 - 0
pages.json

@@ -43,6 +43,18 @@
 						"backgroundColorTop": "#F4F5F6",
 						"backgroundColorBottom": "#F4F5F6"
 					}
+				},
+				{
+					"path": "team/index",
+					"style": {
+						"navigationBarTitleText": "创建球队"
+					}
+				},
+				{
+					"path": "match/index",
+					"style": {
+						"navigationBarTitleText": "创建赛事"
+					}
 				}
 			]
 		},

+ 37 - 0
pages/home/components/activity.vue

@@ -0,0 +1,37 @@
+<template>
+	<view class="content">
+		<view class="one">
+			活动
+		</view>
+	</view>
+</template>
+
+<script setup lang="ts">
+	import { ref } from 'vue';
+	//该依赖已内置不需要单独安装
+	import { onShow } from "@dcloudio/uni-app";
+	// 基本信息
+	const config = ref({});
+	onShow(() => {
+		searchConfig();
+	})
+	// config信息
+	const searchConfig = async () => {
+		config.value = uni.getStorageSync('config');
+	};
+</script>
+<style lang="scss" scoped>
+	.content {
+		display: flex;
+		flex-direction: column;
+
+		.one {
+			padding: 2vw;
+
+			.rich-img {
+				width: 100% !important;
+				display: block;
+			}
+		}
+	}
+</style>

+ 37 - 0
pages/home/components/game.vue

@@ -0,0 +1,37 @@
+<template>
+	<view class="content">
+		<view class="one">
+			赛事
+		</view>
+	</view>
+</template>
+
+<script setup lang="ts">
+	import { ref } from 'vue';
+	//该依赖已内置不需要单独安装
+	import { onShow } from "@dcloudio/uni-app";
+	// 基本信息
+	const config = ref({});
+	onShow(() => {
+		searchConfig();
+	})
+	// config信息
+	const searchConfig = async () => {
+		config.value = uni.getStorageSync('config');
+	};
+</script>
+<style lang="scss" scoped>
+	.content {
+		display: flex;
+		flex-direction: column;
+
+		.one {
+			padding: 2vw;
+
+			.rich-img {
+				width: 100% !important;
+				display: block;
+			}
+		}
+	}
+</style>

+ 37 - 0
pages/home/components/team.vue

@@ -0,0 +1,37 @@
+<template>
+	<view class="content">
+		<view class="one">
+			球队
+		</view>
+	</view>
+</template>
+
+<script setup lang="ts">
+	import { ref } from 'vue';
+	//该依赖已内置不需要单独安装
+	import { onShow } from "@dcloudio/uni-app";
+	// 基本信息
+	const config = ref({});
+	onShow(() => {
+		searchConfig();
+	})
+	// config信息
+	const searchConfig = async () => {
+		config.value = uni.getStorageSync('config');
+	};
+</script>
+<style lang="scss" scoped>
+	.content {
+		display: flex;
+		flex-direction: column;
+
+		.one {
+			padding: 2vw;
+
+			.rich-img {
+				width: 100% !important;
+				display: block;
+			}
+		}
+	}
+</style>

+ 90 - 4
pages/home/index.vue

@@ -8,7 +8,26 @@
 				<uni-icons style="padding: 4px 0 0 0;" type="forward" size="20" color="#ffffff"></uni-icons>
 			</view>
 			<view class="one_2">
-
+				<view class="list" v-for="(item, index) in menuList" :key="index" @tap="toInfo(item)">
+					<uni-icons custom-prefix="iconfont" :type="item.icon" size="18" :color="item.color"></uni-icons>
+					<view class="name">{{item.name}}</view>
+					<view class="num">{{item.num}}</view>
+				</view>
+			</view>
+		</view>
+		<view class="two">
+			<uni-segmented-control :current="current" :values="list" @clickItem="onClickItem" styleType="text"
+				activeColor="#dd524d"></uni-segmented-control>
+			<view class="two_1">
+				<view v-show="current === 0">
+					<team></team>
+				</view>
+				<view v-show="current === 1">
+					<activity></activity>
+				</view>
+				<view v-show="current === 2">
+					<game></game>
+				</view>
 			</view>
 		</view>
 		<!-- 普通弹窗 -->
@@ -25,6 +44,8 @@
 				</view>
 			</view>
 		</uni-popup>
+		<!-- 悬浮按钮 -->
+		<uni-fab :pattern="pattern" :content="content" horizontal="right" direction="vertical" @trigger="trigger" />
 	</view>
 </template>
 
@@ -32,6 +53,9 @@
 	import { getCurrentInstance, computed, ref } from 'vue';
 	//该依赖已内置不需要单独安装
 	import { onPullDownRefresh, onShow } from "@dcloudio/uni-app";
+	import activity from './components/activity.vue';
+	import game from './components/game.vue';
+	import team from './components/team.vue';
 	// 请求接口
 	const $api = getCurrentInstance()?.appContext.config.globalProperties.$api;
 	// openid
@@ -45,7 +69,34 @@
 	// 禁止滚动穿透
 	const show = ref(false);
 	// 标签列表
-	const meun = ref([]);
+	const menuList = ref([
+		{ name: '球队', num: '5', icon: 'icon-qi', color: '#1E90FF' },
+		{ name: '|' },
+		{ name: '出勤', num: '16%', icon: 'icon-kaoqinchuqin', color: '#FF4500' },
+		{ name: '|' },
+		{ name: '进球', num: '1', icon: 'icon-zuqiu', color: '#FFFFFF' },
+	]);
+	const list = ref(['球队', '活动', '赛事']);
+	const current = ref(0);
+	// 悬浮按钮
+	const pattern = ref({
+		color: '#3c3e49',
+		backgroundColor: '#fff',
+		selectedColor: '#fff',
+		buttonColor: '#fff',
+		iconColor: '#3c3e49'
+	});
+	const content = ref([{
+		iconPath: '/static/qiudui.png',
+		text: '建球队',
+		route: '/pagesHome/team/index',
+	},
+	{
+		iconPath: '/static/saishi.png',
+		text: '建赛事',
+		route: '/pagesHome/match/index',
+	}
+	]);
 	// 弹框
 	const popup = ref(null);
 	onShow(() => {
@@ -59,7 +110,7 @@
 	})
 	// 用户信息
 	const search = async () => {
-		const res = await $api(`/system/matchUser/find`, 'GET', {
+		const res = await $api(`matchUser/find`, 'GET', {
 			openid: openid.value
 		});
 		if (res.code === 200) {
@@ -91,6 +142,16 @@
 			url: `/pages/login/index`,
 		})
 	};
+	// 点击分页器
+	const onClickItem = (e) => {
+		if (current.value !== e.currentIndex) current.value = e.currentIndex
+	};
+	// 点击悬浮按钮
+	const trigger = (e) => {
+		uni.navigateTo({
+			url: e.item.route,
+		})
+	};
 	// 关闭弹框
 	const toClose = () => {
 		popup.value.close();
@@ -102,7 +163,7 @@
 		flex-direction: column;
 
 		.one {
-			height: 50vw;
+			height: 45vw;
 			background-color: var(--f12Color);
 
 			.one_1 {
@@ -122,6 +183,31 @@
 					font-size: var(--font18Size);
 				}
 			}
+
+			.one_2 {
+				display: flex;
+				justify-content: space-around;
+				color: var(--mainColor);
+				font-size: var(--font16Size);
+				padding: 4vw;
+				margin: 2vw 0 0 0;
+
+				.list {
+					display: flex;
+					align-items: center;
+
+					.name {
+						padding: 0 1vw;
+						color: var(--f85Color);
+					}
+				}
+			}
+		}
+
+		.two {
+			.two_1 {
+				padding: 2vw;
+			}
 		}
 
 		.popup {

+ 1 - 1
pages/index/index.vue

@@ -62,7 +62,7 @@
 	};
 	// config信息
 	const searchConfig = async () => {
-		const res = await $api('/system/matchconfig/findOne', 'GET', {});
+		const res = await $api('matchconfig/findOne', 'GET', {});
 		if (res.code === 200) {
 			if (res.data) {
 				logoUrl.value = res.data.logoUrl

+ 1 - 1
pages/login/index.vue

@@ -42,7 +42,7 @@
 							icon: res.userInfo.avatarUrl,
 							nickname: res.userInfo.nickName + moment().valueOf()
 						}
-						const arr = await that.$api(`/system/matchUser`, 'POST', parmas);
+						const arr = await that.$api(`matchUser`, 'POST', parmas);
 						if (arr.code === 200) {
 							uni.setStorage({
 								key: 'user',

+ 39 - 0
pagesHome/match/index.vue

@@ -0,0 +1,39 @@
+<template>
+	<view class="content">
+		<view class="one">
+			赛事
+		</view>
+	</view>
+</template>
+
+<script setup lang="ts">
+	import { ref } from 'vue';
+	//该依赖已内置不需要单独安装
+	import { onShow } from "@dcloudio/uni-app";
+	// 基本信息
+	const config = ref({});
+	onShow(() => {
+		searchConfig();
+	})
+	// config信息
+	const searchConfig = async () => {
+		config.value = uni.getStorageSync('config');
+	};
+</script>
+<style lang="scss" scoped>
+	.content {
+		display: flex;
+		flex-direction: column;
+		width: 100vw;
+		height: 100vh;
+
+		.one {
+			padding: 2vw;
+
+			.rich-img {
+				width: 100% !important;
+				display: block;
+			}
+		}
+	}
+</style>

+ 39 - 0
pagesHome/team/index.vue

@@ -0,0 +1,39 @@
+<template>
+	<view class="content">
+		<view class="one">
+			球队
+		</view>
+	</view>
+</template>
+
+<script setup lang="ts">
+	import { ref } from 'vue';
+	//该依赖已内置不需要单独安装
+	import { onShow } from "@dcloudio/uni-app";
+	// 基本信息
+	const config = ref({});
+	onShow(() => {
+		searchConfig();
+	})
+	// config信息
+	const searchConfig = async () => {
+		config.value = uni.getStorageSync('config');
+	};
+</script>
+<style lang="scss" scoped>
+	.content {
+		display: flex;
+		flex-direction: column;
+		width: 100vw;
+		height: 100vh;
+
+		.one {
+			padding: 2vw;
+
+			.rich-img {
+				width: 100% !important;
+				display: block;
+			}
+		}
+	}
+</style>

+ 58 - 20
pagesMy/basic/index.vue

@@ -26,15 +26,9 @@
 				<view class="value other">
 					<view class="title">性别</view>
 					<view class="label">
-						<radio-group @change="radioChange">
-							<label class="radio" v-for="(item, index) in genderList" :key="item.value">
-								<view>
-									<radio :value="item.value" :checked="index === current" />
-								</view>
-								<view>{{item.name}}</view>
-							</label>
-						</radio-group>
-						<input class="input" :value="form.sex" placeholder="请选择性别" />
+						<picker @change="sexChange" :value="index" :range="sexList" range-key="dictLabel">
+							<view class="picker">{{form.sex||'请选择性别'}}</view>
+						</picker>
 					</view>
 				</view>
 				<view class="value other">
@@ -46,7 +40,8 @@
 				<view class="value other">
 					<view class="title">城市</view>
 					<view class="label">
-						<input class="input" :value="form.city" placeholder="请选择城市" />
+						<cityPicker :showSheetView="showSheetView" :defaultIndexs="[0,0,0]" @onSelected="onSelected">
+						</cityPicker>
 					</view>
 				</view>
 				<view class="value other">
@@ -64,7 +59,9 @@
 				<view class="value other margin">
 					<view class="title">主要项目</view>
 					<view class="label">
-						<input class="input" :value="form.type" placeholder="请选择主要项目" />
+						<picker @change="typeChange" :value="index" :range="typeList" range-key="dictLabel">
+							<view class="picker">{{form.type||'请选择主要项目'}}</view>
+						</picker>
 					</view>
 				</view>
 				<view class="value other">
@@ -76,7 +73,9 @@
 				<view class="value other">
 					<view class="title">队内位置</view>
 					<view class="label">
-						<input class="input" :value="form.place" placeholder="请选择队内位置" />
+						<picker @change="placeChange" :value="index" :range="placeList" range-key="dictLabel">
+							<view class="picker">{{form.place||'请选择队内位置'}}</view>
+						</picker>
 					</view>
 				</view>
 				<view class="button">
@@ -89,6 +88,7 @@
 
 <script setup lang="ts">
 	import { getCurrentInstance, computed, ref } from 'vue';
+	import cityPicker from '../../components/cityPicker.vue';
 	//该依赖已内置不需要单独安装
 	import { onLoad } from "@dcloudio/uni-app";
 	// 请求接口
@@ -101,15 +101,37 @@
 	const config = ref({ logoUrl: '' });
 	// 用户信息
 	const form = ref({ icon: '' });
+	// 城市选择器
+	const showSheetView = ref(true);
 	// 字典表
-	const genderList = ref([]);
-	onLoad(() => {
-		search()
-		searchConfig();
+	const sexList = ref([]);
+	const typeList = ref([]);
+	const placeList = ref([]);
+	onLoad(async () => {
+		await searchOther();
+		await searchConfig();
+		await search()
 	})
+	// 查询其他信息
+	const searchOther = async () => {
+		let res;
+		// 性别
+		res = await $api(`dict/data/list`, 'GET', { dictType: 'sys_user_sex' });
+		if (res.code === 200 && res.total > 0) sexList.value = res.rows
+		// 主要项目
+		res = await $api(`dict/data/list`, 'GET', { dictType: 'sys_user_type' });
+		if (res.code === 200 && res.total > 0) typeList.value = res.rows
+		// 队内位置
+		res = await $api(`dict/data/list`, 'GET', { dictType: 'sys_user_place' });
+		if (res.code === 200 && res.total > 0) placeList.value = res.rows
+	};
+	// config信息
+	const searchConfig = async () => {
+		config.value = uni.getStorageSync('config');
+	};
 	// 查询
 	const search = async () => {
-		const res = await $api(`/system/matchUser/find`, 'GET', {
+		const res = await $api(`matchUser/find`, 'GET', {
 			openid: openid.value
 		});
 		if (res.code === 200) {
@@ -126,9 +148,25 @@
 			});
 		}
 	};
-	// config信息
-	const searchConfig = async () => {
-		config.value = uni.getStorageSync('config');
+	// 选择市
+	const onSelected = (row) => {
+		console.log(row, '1');
+		showSheetView.value = false
+	};
+	// 性别选择
+	const sexChange = (e) => {
+		const data = sexList.value[e.detail.value]
+		if (data) form.value.sex = data.dictLabel
+	};
+	// 主要项目选择
+	const typeChange = (e) => {
+		const data = typeList.value[e.detail.value]
+		if (data) form.value.type = data.dictLabel
+	};
+	// 队内位置别选择
+	const placeChange = (e) => {
+		const data = placeList.value[e.detail.value]
+		if (data) form.value.place = data.dictLabel
 	};
 </script>
 <style lang="scss" scoped>

BIN
static/qiudui.png


BIN
static/saishi.png


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

@@ -8,6 +8,8 @@ if (!Math) {
   "./pages/home/index.js";
   "./pages/login/index.js";
   "./pagesHome/agree/index.js";
+  "./pagesHome/team/index.js";
+  "./pagesHome/match/index.js";
   "./pagesMy/basic/index.js";
 }
 const _sfc_main = {

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

@@ -8,7 +8,9 @@
     {
       "root": "pagesHome",
       "pages": [
-        "agree/index"
+        "agree/index",
+        "team/index",
+        "match/index"
       ]
     },
     {

File diff suppressed because it is too large
+ 1076 - 1103
unpackage/dist/dev/mp-weixin/app.wxss


+ 1 - 1
unpackage/dist/dev/mp-weixin/common/api.js

@@ -6,7 +6,7 @@ const getDomain = (uri, method, type) => {
   if (type && type == "file")
     return serverUrl + `/common/upload`;
   else
-    return serverUrl + uri;
+    return serverUrl + "/system/" + uri;
 };
 const requestBase = async (uri, method = "GET", data, type) => {
   let baseUrl = getDomain(uri, method, type);

+ 39 - 0
unpackage/dist/dev/mp-weixin/common/vendor.js

@@ -1896,6 +1896,10 @@ function triggerEffect(effect, debuggerEventExtraInfo) {
     }
   }
 }
+function getDepFromReactive(object, key) {
+  var _a2;
+  return (_a2 = targetMap.get(object)) === null || _a2 === void 0 ? void 0 : _a2.get(key);
+}
 const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
 const builtInSymbols = new Set(
   /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
@@ -2530,6 +2534,38 @@ const shallowUnwrapHandlers = {
 function proxyRefs(objectWithRefs) {
   return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
 }
+function toRefs(object) {
+  if (!isProxy(object)) {
+    console.warn(`toRefs() expects a reactive object but received a plain one.`);
+  }
+  const ret = isArray$1(object) ? new Array(object.length) : {};
+  for (const key in object) {
+    ret[key] = toRef(object, key);
+  }
+  return ret;
+}
+class ObjectRefImpl {
+  constructor(_object, _key, _defaultValue) {
+    this._object = _object;
+    this._key = _key;
+    this._defaultValue = _defaultValue;
+    this.__v_isRef = true;
+  }
+  get value() {
+    const val = this._object[this._key];
+    return val === void 0 ? this._defaultValue : val;
+  }
+  set value(newVal) {
+    this._object[this._key] = newVal;
+  }
+  get dep() {
+    return getDepFromReactive(toRaw(this._object), this._key);
+  }
+}
+function toRef(object, key, defaultValue) {
+  const val = object[key];
+  return isRef(val) ? val : new ObjectRefImpl(object, key, defaultValue);
+}
 var _a;
 class ComputedRefImpl {
   constructor(getter, _setter, isReadonly2, isSSR) {
@@ -10785,3 +10821,6 @@ exports.resolveComponent = resolveComponent;
 exports.s = s;
 exports.sr = sr;
 exports.t = t;
+exports.toRefs = toRefs;
+exports.unref = unref;
+exports.watch = watch;

File diff suppressed because it is too large
+ 7948 - 0
unpackage/dist/dev/mp-weixin/components/cityPicker.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/components/cityPicker.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/mp-weixin/components/cityPicker.wxml


+ 179 - 0
unpackage/dist/dev/mp-weixin/components/cityPicker.wxss

@@ -0,0 +1,179 @@
+/* 水平间距 */
+/* 水平间距 */
+.ani_start.data-v-f86c9fd2 {
+  animation: animationShow-f86c9fd2 0.4s;
+}
+.ani_end.data-v-f86c9fd2 {
+  animation: animationHide-f86c9fd2 0.4s;
+}
+@keyframes animationShow-f86c9fd2 {
+from {
+    background-color: rgba(0, 0, 0, 0);
+    opacity: 0;
+}
+to {
+    background-color: rgba(0, 0, 0, 0.2);
+    opacity: 1;
+}
+}
+@keyframes animationHide-f86c9fd2 {
+from {
+    background-color: rgba(0, 0, 0, 0.2);
+    opacity: 1;
+}
+to {
+    background-color: rgba(0, 0, 0, 0);
+    opacity: 0;
+}
+}
+@keyframes slideBottom-f86c9fd2 {
+0% {
+    transform: translateY(100%);
+}
+100% {
+    transform: translateY(0);
+}
+}
+.picker-view.data-v-f86c9fd2 {
+  width: 100%;
+  height: 540rpx;
+}
+.item.data-v-f86c9fd2 {
+  line-height: 100rpx;
+  text-align: center;
+}
+.view-modal.data-v-f86c9fd2 {
+  position: fixed;
+  top: calc(var(--status-bar-height) + 44px);
+  height: calc(100% - var(--status-bar-height) - 44px);
+  width: 100%;
+  z-index: 1;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-start;
+  align-items: center;
+  background-color: rgba(0, 0, 0, 0.2);
+}
+.ani-btm.data-v-f86c9fd2 {
+  transform: translateY(640rpx);
+}
+.ani-top.data-v-f86c9fd2 {
+  animation: slideBottom-f86c9fd2 0.4s;
+}
+.sheet-view.data-v-f86c9fd2 {
+  position: absolute;
+  bottom: 0rpx;
+  height: 640rpx;
+  width: 100%;
+  transition: all 0.25s;
+  background-color: white;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-start;
+  align-items: center;
+}
+.head-view.data-v-f86c9fd2 {
+  position: relative;
+  width: calc(100% - 70rpx);
+  height: 100rpx;
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  align-items: center;
+}
+.cancel-view.data-v-f86c9fd2 {
+  position: relative;
+  width: 124rpx;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+}
+.cancel-view text.data-v-f86c9fd2 {
+  position: relative;
+  width: 100%;
+  font-size: 32rpx;
+  color: #333333;
+  text-align: left;
+}
+.title-view.data-v-f86c9fd2 {
+  position: relative;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+}
+.title-view text.data-v-f86c9fd2 {
+  position: relative;
+  width: 100%;
+  font-size: 30rpx;
+  color: #999999;
+  text-align: left;
+}
+.ok-view.data-v-f86c9fd2 {
+  position: relative;
+  width: 124rpx;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+}
+.ok-view text.data-v-f86c9fd2 {
+  position: relative;
+  width: 100%;
+  font-size: 32rpx;
+  color: #2197FF;
+  text-align: right;
+}
+.mid-view.data-v-f86c9fd2 {
+  position: relative;
+  width: 100%;
+  height: 106rpx;
+  border-bottom: 1rpx solid #ebebeb;
+  border-top: 1rpx solid #ebebeb;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+}
+.btn-view.data-v-f86c9fd2 {
+  position: relative;
+  width: 50%;
+  height: 100%;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+}
+.tt-view.data-v-f86c9fd2 {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+}
+.normal-text.data-v-f86c9fd2 {
+  position: relative;
+  width: 100%;
+  font-size: 32rpx;
+  color: #555555;
+  text-align: center;
+}
+.hili-text.data-v-f86c9fd2 {
+  position: relative;
+  width: 100%;
+  font-size: 32rpx;
+  color: #2197FF;
+  text-align: center;
+}
+.active.data-v-f86c9fd2 {
+  background-color: white;
+}
+.non-active.data-v-f86c9fd2 {
+  background-color: whitesmoke;
+}

+ 19 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/activity.js

@@ -0,0 +1,19 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+  __name: "activity",
+  setup(__props) {
+    const config = common_vendor.ref({});
+    common_vendor.onShow(() => {
+      searchConfig();
+    });
+    const searchConfig = async () => {
+      config.value = common_vendor.index.getStorageSync("config");
+    };
+    return (_ctx, _cache) => {
+      return {};
+    };
+  }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-8f22acf3"], ["__file", "D:/project/足球比赛/match_applet/pages/home/components/activity.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/activity.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/activity.wxml

@@ -0,0 +1 @@
+<view class="content data-v-8f22acf3"><view class="one data-v-8f22acf3"> 活动 </view></view>

+ 13 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/activity.wxss

@@ -0,0 +1,13 @@
+/* 水平间距 */
+/* 水平间距 */
+.content.data-v-8f22acf3 {
+  display: flex;
+  flex-direction: column;
+}
+.content .one.data-v-8f22acf3 {
+  padding: 2vw;
+}
+.content .one .rich-img.data-v-8f22acf3 {
+  width: 100% !important;
+  display: block;
+}

+ 19 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/game.js

@@ -0,0 +1,19 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+  __name: "game",
+  setup(__props) {
+    const config = common_vendor.ref({});
+    common_vendor.onShow(() => {
+      searchConfig();
+    });
+    const searchConfig = async () => {
+      config.value = common_vendor.index.getStorageSync("config");
+    };
+    return (_ctx, _cache) => {
+      return {};
+    };
+  }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-a6b1fabb"], ["__file", "D:/project/足球比赛/match_applet/pages/home/components/game.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/game.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/game.wxml

@@ -0,0 +1 @@
+<view class="content data-v-a6b1fabb"><view class="one data-v-a6b1fabb"> 赛事 </view></view>

+ 13 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/game.wxss

@@ -0,0 +1,13 @@
+/* 水平间距 */
+/* 水平间距 */
+.content.data-v-a6b1fabb {
+  display: flex;
+  flex-direction: column;
+}
+.content .one.data-v-a6b1fabb {
+  padding: 2vw;
+}
+.content .one .rich-img.data-v-a6b1fabb {
+  width: 100% !important;
+  display: block;
+}

+ 19 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/team.js

@@ -0,0 +1,19 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+  __name: "team",
+  setup(__props) {
+    const config = common_vendor.ref({});
+    common_vendor.onShow(() => {
+      searchConfig();
+    });
+    const searchConfig = async () => {
+      config.value = common_vendor.index.getStorageSync("config");
+    };
+    return (_ctx, _cache) => {
+      return {};
+    };
+  }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-47929ca4"], ["__file", "D:/project/足球比赛/match_applet/pages/home/components/team.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/team.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/team.wxml

@@ -0,0 +1 @@
+<view class="content data-v-47929ca4"><view class="one data-v-47929ca4"> 球队 </view></view>

+ 13 - 0
unpackage/dist/dev/mp-weixin/pages/home/components/team.wxss

@@ -0,0 +1,13 @@
+/* 水平间距 */
+/* 水平间距 */
+.content.data-v-47929ca4 {
+  display: flex;
+  flex-direction: column;
+}
+.content .one.data-v-47929ca4 {
+  padding: 2vw;
+}
+.content .one .rich-img.data-v-47929ca4 {
+  width: 100% !important;
+  display: block;
+}

+ 85 - 10
unpackage/dist/dev/mp-weixin/pages/home/index.js

@@ -2,14 +2,21 @@
 const common_vendor = require("../../common/vendor.js");
 if (!Array) {
   const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
+  const _easycom_uni_segmented_control2 = common_vendor.resolveComponent("uni-segmented-control");
   const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
-  (_easycom_uni_icons2 + _easycom_uni_popup2)();
+  const _easycom_uni_fab2 = common_vendor.resolveComponent("uni-fab");
+  (_easycom_uni_icons2 + _easycom_uni_segmented_control2 + _easycom_uni_popup2 + _easycom_uni_fab2)();
 }
 const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
+const _easycom_uni_segmented_control = () => "../../uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.js";
 const _easycom_uni_popup = () => "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
+const _easycom_uni_fab = () => "../../uni_modules/uni-fab/components/uni-fab/uni-fab.js";
 if (!Math) {
-  (_easycom_uni_icons + _easycom_uni_popup)();
+  (_easycom_uni_icons + _easycom_uni_segmented_control + team + activity + game + _easycom_uni_popup + _easycom_uni_fab)();
 }
+const activity = () => "./components/activity.js";
+const game = () => "./components/game.js";
+const team = () => "./components/team.js";
 const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
   __name: "index",
   setup(__props) {
@@ -21,7 +28,34 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     const config = common_vendor.ref({});
     const user = common_vendor.ref({});
     const show = common_vendor.ref(false);
-    common_vendor.ref([]);
+    const menuList = common_vendor.ref([
+      { name: "球队", num: "5", icon: "icon-qi", color: "#1E90FF" },
+      { name: "|" },
+      { name: "出勤", num: "16%", icon: "icon-kaoqinchuqin", color: "#FF4500" },
+      { name: "|" },
+      { name: "进球", num: "1", icon: "icon-zuqiu", color: "#FFFFFF" }
+    ]);
+    const list = common_vendor.ref(["球队", "活动", "赛事"]);
+    const current = common_vendor.ref(0);
+    const pattern = common_vendor.ref({
+      color: "#3c3e49",
+      backgroundColor: "#fff",
+      selectedColor: "#fff",
+      buttonColor: "#fff",
+      iconColor: "#3c3e49"
+    });
+    const content = common_vendor.ref([
+      {
+        iconPath: "/static/qiudui.png",
+        text: "建球队",
+        route: "/pagesHome/team/index"
+      },
+      {
+        iconPath: "/static/saishi.png",
+        text: "建赛事",
+        route: "/pagesHome/match/index"
+      }
+    ]);
     const popup = common_vendor.ref(null);
     common_vendor.onShow(() => {
       common_vendor.index.hideHomeButton();
@@ -32,7 +66,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
       common_vendor.index.stopPullDownRefresh();
     });
     const search = async () => {
-      const res = await $api(`/system/matchUser/find`, "GET", {
+      const res = await $api(`matchUser/find`, "GET", {
         openid: openid.value
       });
       if (res.code === 200) {
@@ -63,6 +97,15 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
         url: `/pages/login/index`
       });
     };
+    const onClickItem = (e) => {
+      if (current.value !== e.currentIndex)
+        current.value = e.currentIndex;
+    };
+    const trigger = (e) => {
+      common_vendor.index.navigateTo({
+        url: e.item.route
+      });
+    };
     const toClose = () => {
       popup.value.close();
     };
@@ -77,20 +120,52 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
           color: "#ffffff"
         }),
         e: common_vendor.o(toBasic),
-        f: common_vendor.o(toClose),
-        g: common_vendor.p({
+        f: common_vendor.f(menuList.value, (item, index, i0) => {
+          return {
+            a: "4978fed5-1-" + i0,
+            b: common_vendor.p({
+              ["custom-prefix"]: "iconfont",
+              type: item.icon,
+              size: "18",
+              color: item.color
+            }),
+            c: common_vendor.t(item.name),
+            d: common_vendor.t(item.num),
+            e: index,
+            f: common_vendor.o(($event) => _ctx.toInfo(item), index)
+          };
+        }),
+        g: common_vendor.o(onClickItem),
+        h: common_vendor.p({
+          current: current.value,
+          values: list.value,
+          styleType: "text",
+          activeColor: "#dd524d"
+        }),
+        i: current.value === 0,
+        j: current.value === 1,
+        k: current.value === 2,
+        l: common_vendor.o(toClose),
+        m: common_vendor.p({
           type: "closeempty",
           size: "18",
           color: "#999999"
         }),
-        h: common_vendor.o(toLogin),
-        i: common_vendor.sr(popup, "4978fed5-1", {
+        n: common_vendor.o(toLogin),
+        o: common_vendor.sr(popup, "4978fed5-6", {
           "k": "popup"
         }),
-        j: common_vendor.o(change),
-        k: common_vendor.p({
+        p: common_vendor.o(change),
+        q: common_vendor.p({
           ["background-color"]: "#fff",
           type: "bottom"
+        }),
+        r: common_vendor.o(trigger),
+        s: common_vendor.p({
+          pattern: pattern.value,
+          content: content.value,
+          horizontal: "right",
+          direction: "vertical"
         })
       };
     };

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

@@ -3,6 +3,11 @@
   "enablePullDownRefresh": true,
   "usingComponents": {
     "uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons",
-    "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
+    "uni-segmented-control": "../../uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control",
+    "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup",
+    "uni-fab": "../../uni_modules/uni-fab/components/uni-fab/uni-fab",
+    "activity": "./components/activity",
+    "game": "./components/game",
+    "team": "./components/team"
   }
 }

File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/home/index.wxml


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

@@ -5,7 +5,7 @@
   flex-direction: column;
 }
 .content .one.data-v-4978fed5 {
-  height: 50vw;
+  height: 45vw;
   background-color: var(--f12Color);
 }
 .content .one .one_1.data-v-4978fed5 {
@@ -23,6 +23,25 @@
   padding: 0 1vw 0 2vw;
   font-size: var(--font18Size);
 }
+.content .one .one_2.data-v-4978fed5 {
+  display: flex;
+  justify-content: space-around;
+  color: var(--mainColor);
+  font-size: var(--font16Size);
+  padding: 4vw;
+  margin: 2vw 0 0 0;
+}
+.content .one .one_2 .list.data-v-4978fed5 {
+  display: flex;
+  align-items: center;
+}
+.content .one .one_2 .list .name.data-v-4978fed5 {
+  padding: 0 1vw;
+  color: var(--f85Color);
+}
+.content .two .two_1.data-v-4978fed5 {
+  padding: 2vw;
+}
 .content .popup.data-v-4978fed5 {
   height: 25vw;
   padding: 2vw 2vw 0 2vw;

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

@@ -52,7 +52,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
       }
     };
     const searchConfig = async () => {
-      const res = await $api("/system/matchconfig/findOne", "GET", {});
+      const res = await $api("matchconfig/findOne", "GET", {});
       if (res.code === 200) {
         if (res.data) {
           logoUrl.value = res.data.logoUrl;

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/login/index.js

@@ -20,7 +20,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
                 icon: res.userInfo.avatarUrl,
                 nickname: res.userInfo.nickName + common_vendor.hooks().valueOf()
               };
-              const arr = await that.$api(`/system/matchUser`, "POST", parmas);
+              const arr = await that.$api(`matchUser`, "POST", parmas);
               if (arr.code === 200) {
                 common_vendor.index.setStorage({
                   key: "user",

+ 19 - 0
unpackage/dist/dev/mp-weixin/pagesHome/match/index.js

@@ -0,0 +1,19 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+  __name: "index",
+  setup(__props) {
+    const config = common_vendor.ref({});
+    common_vendor.onShow(() => {
+      searchConfig();
+    });
+    const searchConfig = async () => {
+      config.value = common_vendor.index.getStorageSync("config");
+    };
+    return (_ctx, _cache) => {
+      return {};
+    };
+  }
+});
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-a9622e69"], ["__file", "D:/project/足球比赛/match_applet/pagesHome/match/index.vue"]]);
+wx.createPage(MiniProgramPage);

+ 4 - 0
unpackage/dist/dev/mp-weixin/pagesHome/match/index.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "创建赛事",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pagesHome/match/index.wxml

@@ -0,0 +1 @@
+<view class="content data-v-a9622e69"><view class="one data-v-a9622e69"> 赛事 </view></view>

+ 15 - 0
unpackage/dist/dev/mp-weixin/pagesHome/match/index.wxss

@@ -0,0 +1,15 @@
+/* 水平间距 */
+/* 水平间距 */
+.content.data-v-a9622e69 {
+  display: flex;
+  flex-direction: column;
+  width: 100vw;
+  height: 100vh;
+}
+.content .one.data-v-a9622e69 {
+  padding: 2vw;
+}
+.content .one .rich-img.data-v-a9622e69 {
+  width: 100% !important;
+  display: block;
+}

+ 19 - 0
unpackage/dist/dev/mp-weixin/pagesHome/team/index.js

@@ -0,0 +1,19 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+  __name: "index",
+  setup(__props) {
+    const config = common_vendor.ref({});
+    common_vendor.onShow(() => {
+      searchConfig();
+    });
+    const searchConfig = async () => {
+      config.value = common_vendor.index.getStorageSync("config");
+    };
+    return (_ctx, _cache) => {
+      return {};
+    };
+  }
+});
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-01c8185c"], ["__file", "D:/project/足球比赛/match_applet/pagesHome/team/index.vue"]]);
+wx.createPage(MiniProgramPage);

+ 4 - 0
unpackage/dist/dev/mp-weixin/pagesHome/team/index.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "创建球队",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pagesHome/team/index.wxml

@@ -0,0 +1 @@
+<view class="content data-v-01c8185c"><view class="one data-v-01c8185c"> 球队 </view></view>

+ 15 - 0
unpackage/dist/dev/mp-weixin/pagesHome/team/index.wxss

@@ -0,0 +1,15 @@
+/* 水平间距 */
+/* 水平间距 */
+.content.data-v-01c8185c {
+  display: flex;
+  flex-direction: column;
+  width: 100vw;
+  height: 100vh;
+}
+.content .one.data-v-01c8185c {
+  padding: 2vw;
+}
+.content .one .rich-img.data-v-01c8185c {
+  width: 100% !important;
+  display: block;
+}

+ 67 - 27
unpackage/dist/dev/mp-weixin/pagesMy/basic/index.js

@@ -1,5 +1,9 @@
 "use strict";
 const common_vendor = require("../../common/vendor.js");
+if (!Math) {
+  cityPicker();
+}
+const cityPicker = () => "../../components/cityPicker.js";
 const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
   __name: "index",
   setup(__props) {
@@ -10,13 +14,32 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     });
     const config = common_vendor.ref({ logoUrl: "" });
     const form = common_vendor.ref({ icon: "" });
-    const genderList = common_vendor.ref([]);
-    common_vendor.onLoad(() => {
-      search();
-      searchConfig();
+    const showSheetView = common_vendor.ref(true);
+    const sexList = common_vendor.ref([]);
+    const typeList = common_vendor.ref([]);
+    const placeList = common_vendor.ref([]);
+    common_vendor.onLoad(async () => {
+      await searchOther();
+      await searchConfig();
+      await search();
     });
+    const searchOther = async () => {
+      let res;
+      res = await $api(`dict/data/list`, "GET", { dictType: "sys_user_sex" });
+      if (res.code === 200 && res.total > 0)
+        sexList.value = res.rows;
+      res = await $api(`dict/data/list`, "GET", { dictType: "sys_user_type" });
+      if (res.code === 200 && res.total > 0)
+        typeList.value = res.rows;
+      res = await $api(`dict/data/list`, "GET", { dictType: "sys_user_place" });
+      if (res.code === 200 && res.total > 0)
+        placeList.value = res.rows;
+    };
+    const searchConfig = async () => {
+      config.value = common_vendor.index.getStorageSync("config");
+    };
     const search = async () => {
-      const res = await $api(`/system/matchUser/find`, "GET", {
+      const res = await $api(`matchUser/find`, "GET", {
         openid: openid.value
       });
       if (res.code === 200) {
@@ -34,35 +57,52 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
         });
       }
     };
-    const searchConfig = async () => {
-      config.value = common_vendor.index.getStorageSync("config");
+    const onSelected = (row) => {
+      console.log(row, "1");
+      showSheetView.value = false;
+    };
+    const sexChange = (e) => {
+      const data = sexList.value[e.detail.value];
+      if (data)
+        form.value.sex = data.dictLabel;
+    };
+    const typeChange = (e) => {
+      const data = typeList.value[e.detail.value];
+      if (data)
+        form.value.type = data.dictLabel;
+    };
+    const placeChange = (e) => {
+      const data = placeList.value[e.detail.value];
+      if (data)
+        form.value.place = data.dictLabel;
     };
     return (_ctx, _cache) => {
       return {
         a: form.value.icon || config.value.logoUrl,
         b: form.value.name,
         c: form.value.nickname,
-        d: common_vendor.f(genderList.value, (item, index, i0) => {
-          return {
-            a: item.value,
-            b: index === _ctx.current,
-            c: common_vendor.t(item.name),
-            d: item.value
-          };
+        d: common_vendor.t(form.value.sex || "请选择性别"),
+        e: common_vendor.o(sexChange),
+        f: _ctx.index,
+        g: sexList.value,
+        h: form.value.phone,
+        i: common_vendor.o(onSelected),
+        j: common_vendor.p({
+          showSheetView: showSheetView.value,
+          defaultIndexs: [0, 0, 0]
         }),
-        e: common_vendor.o(
-          //@ts-ignore
-          (...args) => _ctx.radioChange && _ctx.radioChange(...args)
-        ),
-        f: form.value.sex,
-        g: form.value.phone,
-        h: form.value.city,
-        i: form.value.height,
-        j: form.value.weight,
-        k: form.value.type,
-        l: form.value.ballYears,
-        m: form.value.place,
-        n: common_vendor.o(
+        k: form.value.height,
+        l: form.value.weight,
+        m: common_vendor.t(form.value.type || "请选择主要项目"),
+        n: common_vendor.o(typeChange),
+        o: _ctx.index,
+        p: typeList.value,
+        q: form.value.ballYears,
+        r: common_vendor.t(form.value.place || "请选择队内位置"),
+        s: common_vendor.o(placeChange),
+        t: _ctx.index,
+        v: placeList.value,
+        w: common_vendor.o(
           //@ts-ignore
           (...args) => _ctx.formSubmit && _ctx.formSubmit(...args)
         )

+ 3 - 1
unpackage/dist/dev/mp-weixin/pagesMy/basic/index.json

@@ -1,4 +1,6 @@
 {
   "navigationBarTitleText": "个人信息",
-  "usingComponents": {}
+  "usingComponents": {
+    "city-picker": "../../components/cityPicker"
+  }
 }

File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesMy/basic/index.wxml


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


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


+ 219 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-fab/components/uni-fab/uni-fab.js

@@ -0,0 +1,219 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+let platform = "other";
+const _sfc_main = {
+  name: "UniFab",
+  emits: ["fabClick", "trigger"],
+  props: {
+    pattern: {
+      type: Object,
+      default() {
+        return {};
+      }
+    },
+    horizontal: {
+      type: String,
+      default: "left"
+    },
+    vertical: {
+      type: String,
+      default: "bottom"
+    },
+    direction: {
+      type: String,
+      default: "horizontal"
+    },
+    content: {
+      type: Array,
+      default() {
+        return [];
+      }
+    },
+    show: {
+      type: Boolean,
+      default: false
+    },
+    popMenu: {
+      type: Boolean,
+      default: true
+    }
+  },
+  data() {
+    return {
+      fabShow: false,
+      isShow: false,
+      isAndroidNvue: platform === "android",
+      styles: {
+        color: "#3c3e49",
+        selectedColor: "#007AFF",
+        backgroundColor: "#fff",
+        buttonColor: "#007AFF",
+        iconColor: "#fff",
+        icon: "plusempty"
+      }
+    };
+  },
+  computed: {
+    contentWidth(e) {
+      return (this.content.length + 1) * 55 + 15 + "px";
+    },
+    contentWidthMin() {
+      return "55px";
+    },
+    // 动态计算宽度
+    boxWidth() {
+      return this.getPosition(3, "horizontal");
+    },
+    // 动态计算高度
+    boxHeight() {
+      return this.getPosition(3, "vertical");
+    },
+    // 计算左下位置
+    leftBottom() {
+      return this.getPosition(0, "left", "bottom");
+    },
+    // 计算右下位置
+    rightBottom() {
+      return this.getPosition(0, "right", "bottom");
+    },
+    // 计算左上位置
+    leftTop() {
+      return this.getPosition(0, "left", "top");
+    },
+    rightTop() {
+      return this.getPosition(0, "right", "top");
+    },
+    flexDirectionStart() {
+      return this.getPosition(1, "vertical", "top");
+    },
+    flexDirectionEnd() {
+      return this.getPosition(1, "vertical", "bottom");
+    },
+    horizontalLeft() {
+      return this.getPosition(2, "horizontal", "left");
+    },
+    horizontalRight() {
+      return this.getPosition(2, "horizontal", "right");
+    },
+    // 计算 nvue bottom
+    nvueBottom() {
+      common_vendor.index.getSystemInfoSync().windowBottom;
+      return 30;
+    }
+  },
+  watch: {
+    pattern: {
+      handler(val, oldVal) {
+        this.styles = Object.assign({}, this.styles, val);
+      },
+      deep: true
+    }
+  },
+  created() {
+    this.isShow = this.show;
+    if (this.top === 0) {
+      this.fabShow = true;
+    }
+    this.styles = Object.assign({}, this.styles, this.pattern);
+  },
+  methods: {
+    _onClick() {
+      this.$emit("fabClick");
+      if (!this.popMenu) {
+        return;
+      }
+      this.isShow = !this.isShow;
+    },
+    open() {
+      this.isShow = true;
+    },
+    close() {
+      this.isShow = false;
+    },
+    /**
+     * 按钮点击事件
+     */
+    _onItemClick(index, item) {
+      if (!this.isShow) {
+        return;
+      }
+      this.$emit("trigger", {
+        index,
+        item
+      });
+    },
+    /**
+     * 获取 位置信息
+     */
+    getPosition(types, paramA, paramB) {
+      if (types === 0) {
+        return this.horizontal === paramA && this.vertical === paramB;
+      } else if (types === 1) {
+        return this.direction === paramA && this.vertical === paramB;
+      } else if (types === 2) {
+        return this.direction === paramA && this.horizontal === paramB;
+      } else {
+        return this.isShow && this.direction === paramA ? this.contentWidth : this.contentWidthMin;
+      }
+    }
+  }
+};
+if (!Array) {
+  const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
+  _easycom_uni_icons2();
+}
+const _easycom_uni_icons = () => "../../../uni-icons/components/uni-icons/uni-icons.js";
+if (!Math) {
+  _easycom_uni_icons();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: $props.popMenu && ($options.leftBottom || $options.rightBottom || $options.leftTop || $options.rightTop) && $props.content.length > 0
+  }, $props.popMenu && ($options.leftBottom || $options.rightBottom || $options.leftTop || $options.rightTop) && $props.content.length > 0 ? common_vendor.e({
+    b: $options.flexDirectionStart || $options.horizontalLeft
+  }, $options.flexDirectionStart || $options.horizontalLeft ? {} : {}, {
+    c: common_vendor.f($props.content, (item, index, i0) => {
+      return {
+        a: item.active ? item.selectedIconPath : item.iconPath,
+        b: common_vendor.t(item.text),
+        c: item.active ? $data.styles.selectedColor : $data.styles.color,
+        d: index,
+        e: common_vendor.o(($event) => $options._onItemClick(index, item), index)
+      };
+    }),
+    d: $data.isShow ? 1 : "",
+    e: $options.flexDirectionEnd || $options.horizontalRight
+  }, $options.flexDirectionEnd || $options.horizontalRight ? {} : {}, {
+    f: $props.horizontal === "left" ? 1 : "",
+    g: $props.horizontal === "right" ? 1 : "",
+    h: $props.direction === "vertical" ? 1 : "",
+    i: $options.flexDirectionStart ? 1 : "",
+    j: $options.flexDirectionEnd ? 1 : "",
+    k: !$data.isAndroidNvue ? 1 : "",
+    l: $options.boxWidth,
+    m: $options.boxHeight,
+    n: $data.styles.backgroundColor,
+    o: $options.leftBottom ? 1 : "",
+    p: $options.rightBottom ? 1 : "",
+    q: $options.leftTop ? 1 : "",
+    r: $options.rightTop ? 1 : "",
+    s: common_vendor.s($options.nvueBottom)
+  }) : {}, {
+    t: $data.isShow && $props.content.length > 0 ? 1 : "",
+    v: common_vendor.p({
+      type: $data.styles.icon,
+      color: $data.styles.iconColor,
+      size: "32"
+    }),
+    w: $options.leftBottom ? 1 : "",
+    x: $options.rightBottom ? 1 : "",
+    y: $options.leftTop ? 1 : "",
+    z: $options.rightTop ? 1 : "",
+    A: !$data.isAndroidNvue ? 1 : "",
+    B: $data.styles.buttonColor,
+    C: $options.nvueBottom,
+    D: common_vendor.o((...args) => $options._onClick && $options._onClick(...args))
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/project/足球比赛/match_applet/uni_modules/uni-fab/components/uni-fab/uni-fab.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-fab/components/uni-fab/uni-fab.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-icons": "../../../uni-icons/components/uni-icons/uni-icons"
+  }
+}

File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-fab/components/uni-fab/uni-fab.wxml


+ 142 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-fab/components/uni-fab/uni-fab.wxss

@@ -0,0 +1,142 @@
+/* 水平间距 */
+/* 水平间距 */
+.uni-fab {
+  position: fixed;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  z-index: 10;
+  border-radius: 45px;
+  box-shadow: 0 1px 8px 1px rgba(165, 165, 165, 0.2);
+}
+.uni-fab--active {
+  opacity: 1;
+}
+.uni-fab--leftBottom {
+  left: 15px;
+  bottom: 30px;
+}
+.uni-fab--leftTop {
+  left: 15px;
+  top: 30px;
+}
+.uni-fab--rightBottom {
+  right: 15px;
+  bottom: 30px;
+}
+.uni-fab--rightTop {
+  right: 15px;
+  top: 30px;
+}
+.uni-fab__circle {
+  position: fixed;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  width: 55px;
+  height: 55px;
+  background-color: #3c3e49;
+  border-radius: 45px;
+  z-index: 11;
+}
+.uni-fab__circle--leftBottom {
+  left: 15px;
+  bottom: 30px;
+}
+.uni-fab__circle--leftTop {
+  left: 15px;
+  top: 30px;
+}
+.uni-fab__circle--rightBottom {
+  right: 15px;
+  bottom: 30px;
+}
+.uni-fab__circle--rightTop {
+  right: 15px;
+  top: 30px;
+}
+.uni-fab__circle--left {
+  left: 0;
+}
+.uni-fab__circle--right {
+  right: 0;
+}
+.uni-fab__circle--top {
+  top: 0;
+}
+.uni-fab__circle--bottom {
+  bottom: 0;
+}
+.uni-fab__plus {
+  font-weight: bold;
+}
+.fab-circle-icon {
+  transform: rotate(0deg);
+  transition: transform 0.3s;
+  font-weight: 200;
+}
+.uni-fab__plus--active {
+  transform: rotate(135deg);
+}
+.uni-fab__content {
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: row;
+  border-radius: 55px;
+  overflow: hidden;
+  transition-property: width, height;
+  transition-duration: 0.2s;
+  width: 55px;
+  border-color: #DDDDDD;
+  border-width: 1rpx;
+  border-style: solid;
+}
+.uni-fab__content--other-platform {
+  border-width: 0px;
+  box-shadow: 0 1px 8px 1px rgba(165, 165, 165, 0.2);
+}
+.uni-fab__content--left {
+  justify-content: flex-start;
+}
+.uni-fab__content--right {
+  justify-content: flex-end;
+}
+.uni-fab__content--flexDirection {
+  flex-direction: column;
+  justify-content: flex-end;
+}
+.uni-fab__content--flexDirectionStart {
+  flex-direction: column;
+  justify-content: flex-start;
+}
+.uni-fab__content--flexDirectionEnd {
+  flex-direction: column;
+  justify-content: flex-end;
+}
+.uni-fab__item {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  width: 55px;
+  height: 55px;
+  opacity: 0;
+  transition: opacity 0.2s;
+}
+.uni-fab__item--active {
+  opacity: 1;
+}
+.uni-fab__item-image {
+  width: 20px;
+  height: 20px;
+  margin-bottom: 4px;
+}
+.uni-fab__item-text {
+  color: #FFFFFF;
+  font-size: 12px;
+  line-height: 12px;
+  margin-top: 2px;
+}
+.uni-fab__item--first {
+  width: 55px;
+}

+ 74 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.js

@@ -0,0 +1,74 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "UniSegmentedControl",
+  emits: ["clickItem"],
+  props: {
+    current: {
+      type: Number,
+      default: 0
+    },
+    values: {
+      type: Array,
+      default() {
+        return [];
+      }
+    },
+    activeColor: {
+      type: String,
+      default: "#2979FF"
+    },
+    styleType: {
+      type: String,
+      default: "button"
+    }
+  },
+  data() {
+    return {
+      currentIndex: 0
+    };
+  },
+  watch: {
+    current(val) {
+      if (val !== this.currentIndex) {
+        this.currentIndex = val;
+      }
+    }
+  },
+  created() {
+    this.currentIndex = this.current;
+  },
+  methods: {
+    _onClick(index) {
+      if (this.currentIndex !== index) {
+        this.currentIndex = index;
+        this.$emit("clickItem", {
+          currentIndex: index
+        });
+      }
+    }
+  }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {
+    a: common_vendor.f($props.values, (item, index, i0) => {
+      return {
+        a: common_vendor.t(item),
+        b: index === $data.currentIndex ? $props.styleType === "text" ? $props.activeColor : "#fff" : $props.styleType === "text" ? "#000" : $props.activeColor,
+        c: common_vendor.n($props.styleType === "text" && index === $data.currentIndex ? "segmented-control__item--text" : ""),
+        d: common_vendor.n(index === $data.currentIndex && $props.styleType === "button" ? "segmented-control__item--button--active" : ""),
+        e: common_vendor.n(index === 0 && $props.styleType === "button" ? "segmented-control__item--button--first" : ""),
+        f: common_vendor.n(index === $props.values.length - 1 && $props.styleType === "button" ? "segmented-control__item--button--last" : ""),
+        g: index,
+        h: index === $data.currentIndex && $props.styleType === "button" ? $props.activeColor : "",
+        i: index === $data.currentIndex && ($props.styleType === "text" || $props.styleType === "button") ? $props.activeColor : "#d9d9d9",
+        j: common_vendor.o(($event) => $options._onClick(index), index)
+      };
+    }),
+    b: common_vendor.n($props.styleType === "text" ? "" : "segmented-control__item--button"),
+    c: common_vendor.n($props.styleType === "text" ? "segmented-control--text" : "segmented-control--button"),
+    d: $props.styleType === "text" ? "" : $props.activeColor
+  };
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/project/足球比赛/match_applet/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.wxml

@@ -0,0 +1 @@
+<view class="{{[c, 'segmented-control']}}" style="{{'border-color:' + d}}"><view wx:for="{{a}}" wx:for-item="item" wx:key="g" class="{{[b, item.d, item.e, item.f, 'segmented-control__item']}}" style="{{'background-color:' + item.h + ';' + ('border-color:' + item.i)}}" bindtap="{{item.j}}"><view><text style="{{'color:' + item.b}}" class="{{['segmented-control__text', item.c]}}">{{item.a}}</text></view></view></view>

+ 43 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.wxss

@@ -0,0 +1,43 @@
+/* 水平间距 */
+/* 水平间距 */
+.segmented-control {
+  display: flex;
+  box-sizing: border-box;
+  flex-direction: row;
+  height: 36px;
+  overflow: hidden;
+}
+.segmented-control__item {
+  display: inline-flex;
+  box-sizing: border-box;
+  position: relative;
+  flex: 1;
+  justify-content: center;
+  align-items: center;
+}
+.segmented-control__item--button {
+  border-style: solid;
+  border-top-width: 1px;
+  border-bottom-width: 1px;
+  border-right-width: 1px;
+  border-left-width: 0;
+}
+.segmented-control__item--button--first {
+  border-left-width: 1px;
+  border-top-left-radius: 5px;
+  border-bottom-left-radius: 5px;
+}
+.segmented-control__item--button--last {
+  border-top-right-radius: 5px;
+  border-bottom-right-radius: 5px;
+}
+.segmented-control__item--text {
+  border-bottom-style: solid;
+  border-bottom-width: 2px;
+  padding: 6px 0;
+}
+.segmented-control__text {
+  font-size: 14px;
+  line-height: 20px;
+  text-align: center;
+}