UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

64 lines (63 loc) 2.74 kB
import { LocationFlag, LocationOptions } from './location-interface'; export declare class LocationWeb { static locationFlag: typeof LocationFlag; private static instance; private static locateTime; static getInstance(): LocationWeb; static getLocationPreCheck(options: LocationOptions): Promise<unknown>; /** * 获取定位信息 * @static * @param {object} options 定位参数 * @param {number} options.timeout 定位超时时间 * @param {boolean} options.useWxSdk 在微信环境下,是否优先使用微信Sdk定位,微信Sdk定位返回的信息将没有省市信息 * @param {boolean} options.useTipSdk 在游戏内环境,是否优先使用特权Sdk定位,目前只有和平和地主游戏支持 * @param {boolean} options.useSlugSdk 在游戏内环境,是否优先使用微社区Sdk定位,目前只有和平游戏支持 * @param {boolean} options.useMsdk 在游戏内环境,是否优先使用Msdk定位,目前只有地主支持 * @param {boolean} options.useTencentMap 是否用腾讯地图定位请求经纬度(默认为此种方式,走的是前端授权定位) * @param {boolean} options.useTencentMapIfFail 使用特权Sdk定位失败的情况下,是否用腾讯地图定位兜底 * @param {boolean} options.useTencentMapApi 是否使用腾讯地图api定位(后台IP定位) * @param {boolean} options.sessionCache 是否使用sessionStorage缓存,推荐使用 * @param {boolean} options.localCache 是否使用localStorage缓存 * @param {number} options.localExpireMs localStorage缓存过期时间 * * @example * * import Location from 'src/common/location'; * * Location.getLocation({ * timeout: 3000, * useWxSdk: false, * useTipSdk: false, * useSlugSdk: false, * useTencentMap: true, * useTencentMapIfFail: false, * useTencentMapApi: false, * sessionCache: false, * localCache: false, * localExpireMs: 100000 * }) * .then((res) => { * window.app.position = res.location; * }) * .catch(() => { * }); * */ static getLocation(options: LocationOptions): Promise<unknown>; static getAreaInfoByLatAndLng(lat: number, lng: number): Promise<unknown>; /** * 存储定位成功和缓存位置信息 * * @param {object} location 位置信息 * @param {object} options 定位配置信息 * @private */ private static storeLocationInfo; private locationHandle; /** * @classdesc 定位工具,支持腾讯地图定位、微信的sdk定位、游戏人生sdk定位 * @constructor */ constructor(); }