import { weixinSdk } from './weixin'; export type StorePosition = { latitude: number; longitude: number; }; /** 获取当前 GPS 坐标(微信 JSSDK / 浏览器 Geolocation) */ export async function locateStorePosition(): Promise { const outcome = await weixinSdk.getLocationDetailed(); if (!outcome.location) { throw new Error(outcome.errMsg || '定位失败,请允许位置权限后重试'); } const { latitude, longitude } = outcome.location; if (!Number.isFinite(latitude) || !Number.isFinite(longitude)) { throw new Error('定位结果无效'); } return { latitude, longitude }; } export function formatStoreCoords(lat?: string | number | null, lng?: string | number | null): string { const a = lat != null && lat !== '' ? Number(lat) : NaN; const b = lng != null && lng !== '' ? Number(lng) : NaN; if (!Number.isFinite(a) || !Number.isFinite(b)) return ''; return `${a.toFixed(6)}, ${b.toFixed(6)}`; }