t-comm
Version:
专业、稳定、纯粹的工具库
64 lines (63 loc) • 2.74 kB
TypeScript
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();
}