1、修改 capacitor.config.ts 或capacitor.config.json文件,增加微信相关配置参数
const config: CapacitorConfig = {
mchid: '123456', // 商户id,无需微信支付功能可忽略本参数
wechatAppId: 'wxd***c1fdsfsfs7f4f***', // 应用从微信开放平台官方网站申请到的合法appID
wechatUniversalLink: 'https://com.***.***/' // UniversalLink 仅针对于iOS
};
1、参考微信官方配置UniversalLink并配置URL scheme和LSApplicationQueriesSchemes
2、在你的工程文件中选择 Build Setting,在"Other Linker Flags"中加入"-ObjC -all_load"
3、修改app/appDelegate.swift,增加或修改下面回调处理:
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
return WechatSDKApplicationDelegate.sharedInstance.application(application,continue: userActivity, restorationHandler: restorationHandler)
// return ApplicationDelegateProxy.shared.application(application, continue: userActivity, restorationHandler: restorationHandler)
}
1、安卓还需要修改capacitor-wechat-sdk/android/build.gradle文件,如下图红色标记所示:
2、Android 11 适配 参考微信官方文档
wechat sdk wrapper with capacitor ,support ios and android,本项目为自用项目并未发布到npm仓库,请clone到本地后,使用本地路径安装 :
npm install /pathto/capacitor-wechat-sdk
npx cap sync
***下面的安装方式为capacitor自动生成,不可用。
npm install @capacitor/wechat-sdk
npx cap sync
echo(...)
pay(...)
isInstalled()
shareText(...)
shareLink(...)
shareImage(...)
shareMiniProgram(...)
launchMiniProgram(...)
sendAuthRequest(...)
wxOpenCustomerServiceChat(...)
echo(options: { value: string; }) => Promise<any>
测试
Param | Type |
---|---|
options |
{ value: string; } |
Returns: Promise<any>
pay(options: { prepayId: string; packageValue: string; nonceStr: string; timeStamp: string; sign: string; }) => Promise<any>
调起微信支付
Param | Type |
---|---|
options |
{ prepayId: string; packageValue: string; nonceStr: string; timeStamp: string; sign: string; } |
Returns: Promise<any>
isInstalled() => Promise<any>
判断是否安装微信
Returns: Promise<any>
shareText(options: { text: string; scene: string; }) => Promise<any>
分享文本
Param | Type |
---|---|
options |
{ text: string; scene: string; } |
Returns: Promise<any>
shareLink(options: { url: string; title: string; description: string; thumb?: string; scene: number; }) => Promise<any>
分享链接
Param | Type | Description |
---|---|---|
options |
{ url: string; title: string; description: string; thumb?: string; scene: number; } |
thumb - 图片url地址 例如:http://xxx.com/test.png |
Returns: Promise<any>
shareImage(options: { image: string; title: string; description: string; scene: number; }) => Promise<any>
分享图片,可配合@capacitor/filesystem 使用
Param | Type | Description |
---|---|---|
options |
{ image: string; title: string; description: string; scene: number; } |
image - 本地图片的名称,如有特殊需求请自行修改获取图片的位置或方式 ios默认去documentDirectory下寻找 android默认去 /XXX/yourAppPackageName/cache目录下寻找图片文件 |
Returns: Promise<any>
shareMiniProgram(options: { webpageUrl: string; userName: string; path: string; hdImageData: string; withShareTicket: boolean; miniProgramType: number; title: string; description: string; scene: number; }) => Promise<any>
分享微信小程序
Param | Type | Description |
---|---|---|
options |
{ webpageUrl: string; userName: string; path: string; hdImageData: string; withShareTicket: boolean; miniProgramType: number; title: string; description: string; scene: number; } |
hdImageData - 图片url地址 例如:http://xxx.com/test.png |
Returns: Promise<any>
launchMiniProgram(options: { userName: string; path: string; miniProgramType: number; }) => Promise<any>
调起微信小程序
Param | Type |
---|---|
options |
{ userName: string; path: string; miniProgramType: number; } |
Returns: Promise<any>
sendAuthRequest(options: { scope: string; state: string; }) => Promise<any>
微信登录
Param | Type |
---|---|
options |
{ scope: string; state: string; } |
Returns: Promise<any>
wxOpenCustomerServiceChat(options: { corpId: string; url: string; }) => Promise<any>
拉起微信客服
Param | Type | Description |
---|---|---|
options |
{ corpId: string; url: string; } |
corpId - 企业ID url - 客服URL |
Returns: Promise<any>