1、微信開發(fā)者平臺創(chuàng)建應(yīng)用(略:這個網(wǎng)上有教程)

image.png
2、引入插件
wechat_kit: ^1.1.2
3、配置
直接看文檔提供的.
4、代碼+解釋
import 'package:wechat_kit/wechat_kit.dart';
class WeChatTool{
WeChatTool._();
static final tools=WeChatTool._();
factory WeChatTool.getInstance() => tools;
///初始化
Wechat init(){
Wechat _weChatInit = Wechat() // 微信
..registerApp(
appId:這里填上面圖片獲取到的appid,
universalLink: 這里先填包名就行,下面ios有說到修改
);
return _weChatInit;
}
///小程序
miniProgram({String userName,String path}){
init().launchMiniProgram(
userName: userName, path:path);
}
///微信支付
weChatPay({String appId,partnerId,prepayId,package,nonceStr,timeStamp,sign}){
init().pay(
appId: appId,
partnerId:partnerId,
prepayId: prepayId,
package: package,
nonceStr:nonceStr,
timeStamp:timeStamp,
sign:sign,
);
}
///微信授權(quán)--并獲取相關(guān)內(nèi)容
weChatAuthorize(){
init().auth(scope:<String>[WechatScope.SNSAPI_USERINFO]);
init().authResp().listen((event)async {
if(event.errorCode== WechatSdkResp.ERRORCODE_SUCCESS){
WechatAccessTokenResp wechatAccessTokenResp=await init().getAccessTokenUnionID(
appId:上面第一張圖的appid,
appSecret:也在上面第一張圖里,
code: event.code
);
if(wechatAccessTokenResp.errcode==WechatSdkResp.ERRORCODE_SUCCESS){
print(wechatAccessTokenResp.openid);
}
}
});
}
}
使用用例:
1.授權(quán)登錄
WeChatTool.tools.weChatAuthorize();
2.打開小程序
WeChatTool.tools.miniProgram(userName: "gh_***********a", path: "pages/home/index");
userName:記得讓小程序提供者給你小程序的id,path:進入小程序后要去到哪個頁面
3、微信支付
大概做法:創(chuàng)建訂單,拿到訂單id再去請求接口返回微信支付所要的參數(shù)。然后再調(diào)用微信sdk支付,如下:
WeChatTool.tools.weChatPay(
appId: _payInfo.appId,
partnerId: _payInfo.partnerId,
prepayId: _payInfo.prepayId,
package: _payInfo.package,
nonceStr: _payInfo.nonceStr,
timeStamp: _payInfo.timestamp,
sign: _payInfo.sign,
);
監(jiān)聽回調(diào):
WeChatTool.tools.init().payResp().listen(void方法);
插件提供很多

image.png
IOS需要做的工作

image.png
如果剛開始沒有的,修改添加就行。
這里的buildId需要注意,要跟你的申請證書一致

image.png
然后修改這里
..registerApp(
appId:這里填上面圖片獲取到的appid,
universalLink: 鏈接
);
這個鏈接是你請求接口時的那個鏈接域名如(https://www.baidu.com/)。也是你開發(fā)者平臺ios填的那個鏈接
(注意一點一定要是https的哦)
應(yīng)該沒了。。。。
補充:可能有人做醫(yī)療用到-->醫(yī)保
插件這個方法是不行的,它可能可以打開其他一些鏈接(沒得試),但醫(yī)保鏈接是一定不行的,底層用的方法都不一樣。
插件方法:

image.png
插件底層微信實現(xiàn):

image.png
微信醫(yī)保支付文檔:

image.png
改:(我是直接改這個辦法,也可以再寫一個方法,不過得自己寫通道)

image.png
注:ios也是兩行而已,文檔看著改就行。
最后就是把插件下載下來,在pubspec.yaml本地應(yīng)用,或者下載完把插件傳到自己的giuhub,同樣在pubspec.yaml引用。