mergecode

This commit is contained in:
筱野
2025-08-24 16:08:31 +08:00
45 changed files with 1452 additions and 512 deletions

View File

@@ -1,5 +1,12 @@
import Taro from '@tarojs/taro'
export interface Location {
latitude: number
longitude: number
speed?: number
accuracy?: number
}
export interface LocationInfo {
latitude: number
longitude: number
@@ -56,6 +63,24 @@ export const chooseLocation = (): Promise<LocationInfo> => {
})
}
export const getLocation = (): Promise<Location> => {
return new Promise((resolve, reject) => {
Taro.getLocation({
success: (res) => {
resolve({
latitude: res.latitude,
longitude: res.longitude,
speed: res.speed,
accuracy: res.accuracy
})
},
fail: (error) => {
reject(error)
}
})
})
}
// 逆地理编码简化版本实际项目中应该调用真实的地图服务API
export const reverseGeocode = (latitude: number, longitude: number): Promise<string> => {
return new Promise((resolve) => {

44
src/utils/timeUtils.ts Normal file
View File

@@ -0,0 +1,44 @@
import dayjs from 'dayjs'
/**
* 获取下一个整点时间
* @returns 格式为 YYYY-MM-DD HH:mm 的字符串
*/
export const getNextHourTime = (): string => {
const now = dayjs()
const nextHour = now.add(1, 'hour').startOf('hour')
return nextHour.format('YYYY-MM-DD HH:mm')
}
/**
* 根据开始时间计算结束时间2小时后
* @param startTime 开始时间,格式为 YYYY-MM-DD HH:mm
* @returns 格式为 YYYY-MM-DD HH:mm 的字符串
*/
export const getEndTime = (startTime: string): string => {
const startDateTime = dayjs(startTime)
const endDateTime = startDateTime.add(2, 'hour')
return endDateTime.format('YYYY-MM-DD HH:mm')
}
export const getDate = (date: string): string => {
return dayjs(date).format('YYYY年MM月DD日')
}
export const getTime = (time: string): string => {
const timeObj = dayjs(time)
const hour = timeObj.hour()
const minute = timeObj.minute()
// 判断是上午还是下午
const period = hour < 12 ? 'AM' : 'PM'
// 转换为12小时制
const hour12 = hour === 0 ? 12 : hour > 12 ? hour - 12 : hour
// 格式化分钟,保证两位数
const minuteStr = minute.toString().padStart(2, '0')
return `${hour12}:${minuteStr} ${period}`
}