my-uniapp-tools
Version:
一个简洁稳定的 uni-app 开发工具库,提供剪贴板、本地存储、导航、系统信息等常用功能
101 lines (100 loc) • 2.82 kB
TypeScript
export interface WxConfig {
debug?: boolean;
appId: string;
timestamp: number;
nonceStr: string;
signature: string;
jsApiList: string[];
}
export interface WxShareConfig {
title: string;
desc: string;
link: string;
imgUrl: string;
success?: () => void;
cancel?: () => void;
}
/**
* checkJsApi 返回结果
*/
export interface WxCheckJsApiSuccessResult {
checkResult?: Record<string, boolean>;
[key: string]: unknown;
}
export interface WxLoadOptions {
timeoutMs?: number;
cdnUrls?: string[];
}
export interface WxConfigOptions {
timeoutMs?: number;
}
declare global {
interface Window {
wx?: {
config?: (config: WxConfig) => void;
ready?: (callback: () => void) => void;
error?: (callback: (res: unknown) => void) => void;
checkJsApi?: (config: {
jsApiList: string[];
success: (res: WxCheckJsApiSuccessResult) => void;
}) => void;
updateAppMessageShareData?: (config: WxShareConfig) => void;
updateTimelineShareData?: (config: WxShareConfig) => void;
onMenuShareTimeline?: (config: WxShareConfig) => void;
onMenuShareAppMessage?: (config: WxShareConfig) => void;
onMenuShareWeibo?: (config: WxShareConfig) => void;
onMenuShareQZone?: (config: WxShareConfig) => void;
};
}
}
/**
* 检测是否在微信浏览器中运行
*/
export declare const isWechat: () => boolean;
export declare const resetWechatJSSDK: () => void;
/**
* 动态加载微信 JS-SDK
* 支持主备 CDN 地址,提升服务稳定性
*/
export declare const loadWechatJSSDK: (options?: WxLoadOptions) => Promise<boolean>;
export declare const configWechatJSSDK: (config: WxConfig, options?: WxConfigOptions) => Promise<boolean>;
/**
* 检查微信 JS-SDK API 可用性
*/
export declare const checkWechatJSAPI: (jsApiList: string[], options?: WxConfigOptions) => Promise<Record<string, boolean>>;
/**
* 微信分享到朋友圈
*/
export declare const shareToTimeline: (config: WxShareConfig) => void;
/**
* 微信分享给朋友
*/
export declare const shareToFriend: (config: WxShareConfig) => void;
/**
* 微信 JS-SDK 工具类
*/
export declare class WechatSDK {
private static instance;
private isConfigured;
private config;
private initPromise;
private constructor();
static getInstance(): WechatSDK;
/**
* 初始化微信 JS-SDK
*/
init(config: WxConfig): Promise<boolean>;
/**
* 检查是否已配置
*/
isReady(): boolean;
/**
* 获取配置信息
*/
getConfig(): WxConfig | null;
reset(): void;
/**
* 设置分享信息
*/
setShareData(shareConfig: WxShareConfig): void;
}