9a3ccabcc9
CI / verify (pull_request) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
87 lines
3.1 KiB
TypeScript
87 lines
3.1 KiB
TypeScript
export { isWechatBrowser, isMiniProgram, getRuntimePlatform } from './env';
|
||
export { getRouterBasename, toAppPath, isOnAppPath } from './app-path';
|
||
export {
|
||
initWechatJssdk,
|
||
ensureJssdkReady,
|
||
isJssdkReady,
|
||
normalizeJssdkPageUrl,
|
||
getJssdkSignUrl,
|
||
captureIosJssdkEntryUrl,
|
||
resetJssdkConfig,
|
||
stripOAuthParamsFromLocation,
|
||
} from './jssdk';
|
||
export { formatScanFailMessage } from './scan';
|
||
export {
|
||
getWechatLocation,
|
||
getWechatLocationDetailed,
|
||
canUseWechatLocation,
|
||
isWechatEnv,
|
||
} from './location';
|
||
export type { WechatLocationOutcome } from './location';
|
||
export { scanQrCode } from './scan';
|
||
export { invokeWechatPay } from './pay';
|
||
export { chooseWechatImages, canUseWechatChooseImage, formatChooseImageFailMessage } from './chooseImage';
|
||
export type { ChooseWechatImageOptions } from './chooseImage';
|
||
export {
|
||
setWechatShareData,
|
||
canUseWechatShare,
|
||
getWechatShareLink,
|
||
shareViaWechatSdk,
|
||
tryInvokeSharePanel,
|
||
} from './share';
|
||
export type { WechatShareData } from './share';
|
||
export {
|
||
getWechatOAuthUrl,
|
||
startWechatOAuthLogin,
|
||
getMiniProgramLoginCode,
|
||
loginWithWechatCode,
|
||
handleWechatOAuthCallback,
|
||
bindWechatPhone,
|
||
getWechatPhoneNumber,
|
||
wechatLogin,
|
||
WECHAT_INAPP_REQUIRED_MSG,
|
||
} from './auth';
|
||
export type { WeixinSdkConfig, WxApi, MiniProgramWx } from './types';
|
||
export { DEFAULT_JS_API_LIST } from './types';
|
||
|
||
import type { WeixinSdkConfig } from './types';
|
||
import { initWechatJssdk, resetJssdkConfig } from './jssdk';
|
||
import { getWechatLocation, getWechatLocationDetailed } from './location';
|
||
import { scanQrCode } from './scan';
|
||
import { invokeWechatPay } from './pay';
|
||
import { chooseWechatImages } from './chooseImage';
|
||
import { setWechatShareData, shareViaWechatSdk } from './share';
|
||
import {
|
||
wechatLogin,
|
||
handleWechatOAuthCallback,
|
||
bindWechatPhone,
|
||
getWechatPhoneNumber,
|
||
} from './auth';
|
||
|
||
/** 微信 SDK 门面(按端注入 apiBase / clientApp) */
|
||
export function createWeixinSdk(config: WeixinSdkConfig) {
|
||
return {
|
||
init: () => initWechatJssdk({ ...config, apiBase: config.apiBase ?? '/api/v1' }),
|
||
reset: () => resetJssdkConfig(),
|
||
login: () => wechatLogin(config),
|
||
handleOAuthCallback: (params?: URLSearchParams) => handleWechatOAuthCallback(config, params),
|
||
bindPhone: (payload: { wxSessionKey: string; phone: string; code: string }) =>
|
||
bindWechatPhone(config, payload),
|
||
getPhoneNumber: () => getWechatPhoneNumber(config),
|
||
getLocation: () => getWechatLocation(config),
|
||
getLocationDetailed: () => getWechatLocationDetailed(config),
|
||
scanQrCode: () => scanQrCode(config),
|
||
chooseImages: (options?: Parameters<typeof chooseWechatImages>[1]) =>
|
||
chooseWechatImages(config, options),
|
||
pay: (prepay: Parameters<typeof invokeWechatPay>[0]) =>
|
||
invokeWechatPay(prepay, {
|
||
apiBase: config.apiBase ?? '/api/v1',
|
||
clientApp: config.clientApp,
|
||
getAccessToken: config.getAccessToken,
|
||
}),
|
||
setShare: (data: Parameters<typeof setWechatShareData>[1]) =>
|
||
setWechatShareData(config, data),
|
||
share: (data: Parameters<typeof shareViaWechatSdk>[1]) => shareViaWechatSdk(config, data),
|
||
};
|
||
}
|