mergecode
This commit is contained in:
@@ -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
44
src/utils/timeUtils.ts
Normal 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}`
|
||||
}
|
||||
Reference in New Issue
Block a user