xiaoxin 1 ano atrás
pai
commit
a275d10a22
38 arquivos alterados com 91 adições e 98 exclusões
  1. 2 0
      .gitignore
  2. 52 21
      pages/act_detail/act_detail.vue
  3. 2 2
      pages/index/index.vue
  4. 12 12
      pages/organization/organization.vue
  5. 0 1
      unpackage/dist/build/web/assets/act_detail-WakvQJO-.css
  6. 0 1
      unpackage/dist/build/web/assets/common-controlTag.5wkB7zk_.js
  7. 0 1
      unpackage/dist/build/web/assets/common-search.Bo9LnqLQ.js
  8. 0 25
      unpackage/dist/build/web/assets/index-DwAHp86Z.js
  9. 0 1
      unpackage/dist/build/web/assets/index.rlhiF3U7.js
  10. 0 1
      unpackage/dist/build/web/assets/noData.BJxajvjk.js
  11. 0 1
      unpackage/dist/build/web/assets/organization-CrcLw0pk.css
  12. 0 1
      unpackage/dist/build/web/assets/pages-404-404.CPR6a15d.js
  13. 0 1
      unpackage/dist/build/web/assets/pages-act_album-act_album.C3C70Dcn.js
  14. 0 1
      unpackage/dist/build/web/assets/pages-act_detail-act_detail.CEoDSU7x.js
  15. 0 1
      unpackage/dist/build/web/assets/pages-activity-activity.vatGX2hx.js
  16. 0 1
      unpackage/dist/build/web/assets/pages-address_book-address_book.Bw7wPC5s.js
  17. 0 1
      unpackage/dist/build/web/assets/pages-back_school-back_school.Cu8Tf6qX.js
  18. 0 1
      unpackage/dist/build/web/assets/pages-check-check.BZUOm-H6.js
  19. 0 1
      unpackage/dist/build/web/assets/pages-home-home.BJzCFgPb.js
  20. 0 1
      unpackage/dist/build/web/assets/pages-index-index.4BmVm4oT.js
  21. 0 1
      unpackage/dist/build/web/assets/pages-news-news.xpeHGcwY.js
  22. 0 1
      unpackage/dist/build/web/assets/pages-news_detail-news_detail.ClUHMY3I.js
  23. 0 1
      unpackage/dist/build/web/assets/pages-org_detail-org_detail.CIQgaEFr.js
  24. 0 1
      unpackage/dist/build/web/assets/pages-org_list-org_list.qocSlPtQ.js
  25. 0 1
      unpackage/dist/build/web/assets/pages-organization-organization.7X4o2Pr9.js
  26. 0 1
      unpackage/dist/build/web/assets/pages-people_detail-people_detail.po2KF1ac.js
  27. 0 1
      unpackage/dist/build/web/assets/pages-school_form-school_form.BMzvViSk.js
  28. 0 1
      unpackage/dist/build/web/assets/pages-school_photo-school_photo.CTZ1kRGN.js
  29. 0 1
      unpackage/dist/build/web/assets/pages-school_photo_upload-school_photo_upload.Dph2ect2.js
  30. 0 1
      unpackage/dist/build/web/assets/pages-school_represent-school_represent.Cw1KF6MU.js
  31. 0 1
      unpackage/dist/build/web/assets/pages-school_represent_detail-school_represent_detail.WaLmcEr7.js
  32. 0 7
      unpackage/dist/build/web/assets/pages-set_act-set_act.DzPlnRvW.js
  33. 0 1
      unpackage/dist/build/web/assets/uni-app.es.BiY8MyXX.js
  34. 0 1
      unpackage/dist/build/web/assets/uni-icons.CX3yw1Fp.js
  35. 0 1
      unpackage/dist/build/web/assets/uploadImage.D3MgMNiF.js
  36. 0 1
      unpackage/dist/build/web/assets/uv-parse.4AK_bYCn.js
  37. 1 1
      unpackage/dist/build/web/index.html
  38. 22 0
      utils/calculateDistance.js

+ 2 - 0
.gitignore

@@ -0,0 +1,2 @@
+node_modules
+unpackage/

+ 52 - 21
pages/act_detail/act_detail.vue

@@ -115,6 +115,7 @@ import { onLoad } from '@dcloudio/uni-app'
 import { ref } from 'vue'
 import { getDetailInfoById, getReportById, getSigninById } from '@/api/index.js'
 import dayjs from 'dayjs'
+import { calculateDistance } from '@/utils/calculateDistance.js'
 
 // 富文本样式
 let tagStyle = {
@@ -126,11 +127,16 @@ const info = ref({})
 // 活动ID
 const currentId = ref()
 
+const lat = ref('')
+const lng = ref('')
+
 onLoad((options) => {
 	if (options.id) {
 		currentId.value = options.id
 		// 根据ID获取活动数据详情
 		getData(options.id)
+		// 获取当前用户经纬度
+		getAddress()
 	}
 })
 
@@ -144,6 +150,17 @@ const getData = async (id) => {
 	info.value = res.data
 }
 
+// 获取当前用户经纬度
+const getAddress = () => {
+	uni.getLocation({
+		// type: 'wgs84',
+		success: (res) => {
+			lng.value = res.longitude
+			lat.value = res.latitude
+		}
+	})
+}
+
 // 点击查看更多回调
 const goDetail = (e) => {
 	// 1为已报名,2为签到人员,3为活动相册
@@ -190,29 +207,43 @@ const handleApply = (id) => {
 
 // 我要签到按钮回调
 const handleSign = (id) => {
-	uni.showModal({
-		title: '提示',
-		content: '确定签到吗?',
-		success: async (res) => {
-			if (res.confirm) {
-				let data = {
-					id
-				}
-				const res = await getSigninById(data)
-				// console.log(res)
-				if (res.code == 200) {
-					uni.showToast({
-						title: res.message,
-						icon: 'success',
-						mask: true
-					})
-					setTimeout(() => {
-						getData(info.id)
-					}, 1500)
+	let rangValue = 500
+
+	// 计算出距离
+	let distance = calculateDistance(info.value.lat, info.value.lng, lat.value, lng.value)
+	// console.log(distance)
+
+	if (rangValue > distance) {
+		uni.showModal({
+			title: '提示',
+			content: '确定签到吗?',
+			success: async (res) => {
+				if (res.confirm) {
+					let data = {
+						id
+					}
+					const res = await getSigninById(data)
+					// console.log(res)
+					if (res.code == 200) {
+						uni.showToast({
+							title: res.message,
+							icon: 'success',
+							mask: true
+						})
+						setTimeout(() => {
+							getData(info.id)
+						}, 1500)
+					}
 				}
 			}
-		}
-	})
+		})
+	} else {
+		uni.showToast({
+			title: '超出签到范围,无法签到',
+			icon: 'none',
+			mask: true
+		})
+	}
 }
 </script>
 

+ 2 - 2
pages/index/index.vue

@@ -75,11 +75,11 @@ const loginFilter = () => {
 				url: '/pages/check/check'
 			})
 		} else {
-			uni.setStorageSync('token', '')
-
 			// uni.reLaunch({
 			// 	url: '/pages/home/home'
 			// })
+
+			uni.setStorageSync('token', '')
 			uni.reLaunch({
 				url: '/pages/404/404?message=暂无页面'
 			})

+ 12 - 12
pages/organization/organization.vue

@@ -107,7 +107,7 @@ const handleJoinReq = async () => {
 		id: info.value.id
 	}
 	const res = await getJoinClubApply(data)
-	console.log(res)
+	// console.log(res)
 	if (res.code == 200) {
 		uni.showToast({
 			title: res.message,
@@ -120,11 +120,11 @@ const handleJoinReq = async () => {
 }
 
 // 点击拨打电话回调
-// const handlePhone = (phoneNumber) => {
-// 	uni.makePhoneCall({
-// 		phoneNumber
-// 	})
-// }
+const handlePhone = (phoneNumber) => {
+	uni.makePhoneCall({
+		phoneNumber
+	})
+}
 
 // 点击每一个组织回调
 const clickItem = (index) => {
@@ -256,13 +256,13 @@ const changeIndex = (e) => {
 		.contact {
 			margin-top: 15rpx;
 
-			// .phone {
-			// 	display: flex;
+			.phone {
+				display: flex;
 
-			// 	.phone_num {
-			// 		color: #007aff;
-			// 	}
-			// }
+				.phone_num {
+					color: #007aff;
+				}
+			}
 		}
 	}
 }

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/act_detail-WakvQJO-.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/common-controlTag.5wkB7zk_.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/common-search.Bo9LnqLQ.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 25
unpackage/dist/build/web/assets/index-DwAHp86Z.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/index.rlhiF3U7.js


+ 0 - 1
unpackage/dist/build/web/assets/noData.BJxajvjk.js

@@ -1 +0,0 @@
-import{o as s,c as a,w as e,e as t,b as n,d as o,i as r}from"./index-DwAHp86Z.js";import{_ as c}from"./_plugin-vue_export-helper.BCo6x5W8.js";const i=c({},[["render",function(c,i){const p=r;return s(),a(p,{class:"content"},{default:e((()=>[t("img",{class:"img",src:"/alumnus/alumniH5/assets/7-BtUqBsmp.png"}),n(p,{class:"info"},{default:e((()=>[o("暂无数据")])),_:1})])),_:1})}],["__scopeId","data-v-ef5f25ce"]]);export{i as _};

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/organization-CrcLw0pk.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-404-404.CPR6a15d.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-act_album-act_album.C3C70Dcn.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-act_detail-act_detail.CEoDSU7x.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-activity-activity.vatGX2hx.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-address_book-address_book.Bw7wPC5s.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-back_school-back_school.Cu8Tf6qX.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-check-check.BZUOm-H6.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-home-home.BJzCFgPb.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-index-index.4BmVm4oT.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-news-news.xpeHGcwY.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-news_detail-news_detail.ClUHMY3I.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-org_detail-org_detail.CIQgaEFr.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-org_list-org_list.qocSlPtQ.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-organization-organization.7X4o2Pr9.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-people_detail-people_detail.po2KF1ac.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-school_form-school_form.BMzvViSk.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-school_photo-school_photo.CTZ1kRGN.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-school_photo_upload-school_photo_upload.Dph2ect2.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-school_represent-school_represent.Cw1KF6MU.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/pages-school_represent_detail-school_represent_detail.WaLmcEr7.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 7
unpackage/dist/build/web/assets/pages-set_act-set_act.DzPlnRvW.js


+ 0 - 1
unpackage/dist/build/web/assets/uni-app.es.BiY8MyXX.js

@@ -1 +0,0 @@
-import{a5 as a,a6 as s,a7 as o,a8 as r,a9 as t}from"./index-DwAHp86Z.js";function n(a,s){return"string"==typeof a?s:a}const e=r=>(t,n=o())=>{!a&&s(r,t,n)},i=e(r),f=e(t);export{f as a,i as o,n as r};

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/uni-icons.CX3yw1Fp.js


+ 0 - 1
unpackage/dist/build/web/assets/uploadImage.D3MgMNiF.js

@@ -1 +0,0 @@
-import{U as a,V as e}from"./index-DwAHp86Z.js";const i=async i=>await a({url:"https://chtech.ncjti.edu.cn/alumnus/alumni_api/alumni/api/file/uploadFile",filePath:i,name:"file",header:{token:e("token")||""}});export{i as u};

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/web/assets/uv-parse.4AK_bYCn.js


+ 1 - 1
unpackage/dist/build/web/index.html

@@ -14,7 +14,7 @@
     <title>H5_schoolFellow</title>
     <!--preload-links-->
     <!--app-context-->
-    <script type="module" crossorigin src="/alumnus/alumniH5/assets/index-DwAHp86Z.js"></script>
+    <script type="module" crossorigin src="/alumnus/alumniH5/assets/index-BSKQ0MOK.js"></script>
     <link rel="stylesheet" crossorigin href="/alumnus/alumniH5/assets/index-DKUHF3PI.css">
   </head>
   <body>

+ 22 - 0
utils/calculateDistance.js

@@ -0,0 +1,22 @@
+/* 
+参数
+lat:目标地点纬度
+lng:目标地点经度
+myLat:用户当前纬度
+myLng:用户当前经度
+ */
+export const calculateDistance = (lat = '', lng = '', myLat = '', myLng = '') => {
+	let centerLat = lat
+	let centerLng = lng
+
+	let red1 = (myLat * Math.PI) / 180.0
+	let red2 = (centerLat * Math.PI) / 180.0
+	let a = red1 - red2
+	let b = (myLng * Math.PI) / 180.0 - (centerLng * Math.PI) / 180.0
+	let R = 6378137
+	let distance = R * 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(red1) * Math.cos(red2) * Math
+		.pow(Math.sin(b / 2), 2)))
+	let res = (distance / 1000).toFixed(2) * 1
+
+	return res
+}