WeiXinApi组件,仅适用于Web版本。
属性 |
属性说明 |
---|---|
AppID |
公众号APPID。 |
方法 |
方法说明 |
---|---|
config |
注入权限验证配置。 |
checkJsApi |
是否支持指定JS接口。 |
shareToSession |
分享给好友。注:需要config验证之后才能调用,微信小程序不支持此功能 |
shareToTimeline |
分享给朋友圈。注:需要config验证之后才能调用,微信小程序不支持此功能 |
getLocation |
获取地理位置。注:需要config验证之后才能调用 |
scanQRCode |
微信扫一扫。注:需要config验证之后才能调用 |
login |
微信登录。 |
pay |
支付。注:需要config验证之后才能调用 |
事件 |
事件说明 |
---|---|
Afterlogin |
登陆后发生 |
C#: //timestamp 生成签名的时间戳 //nonceStr 生成签名的随机串 //signature 签名 //handler 结果回调 //debug 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 this.weiXinApi1.config(timestamp, nonceStr, signature, (obj, argss) => { Toast("isError:" + argss.isError + "ERROR:" + argss.error + " ARGS:" + argss.args); },debug);
C#: //handler 结果回调 this.weiXinApi1.checkJsApi((obj, args) => { ShowMessage("ERROR:" + args.error + " shareToSession:" + ((WeXinApiCheckJsApiResponseEntity)args.args).shareToSession + " shareToTimeline:" + ((WeXinApiCheckJsApiResponseEntity)args.args).shareToTimeline + " getLocation:" + ((WeXinApiCheckJsApiResponseEntity)args.args).getLocation + " scanQRCode:" + ((WeXinApiCheckJsApiResponseEntity)args.args).scanQRCode + " pay:" + ((WeXinApiCheckJsApiResponseEntity)args.args).pay); });
C#: //entity 分享实体 //handler 结果回调 this.weiXinApi1.shareToSession(entity, HandleWeiXinRPCResult);
C#: //entity 分享实体 //handler 结果回调 this.weiXinApi1.shareToTimeline(entity, HandleWeiXinRPCResult);
C#: this.weiXinApi1.getLocation((obj, args) => { ShowMessage("ERROR:" + args.error + " latitude:" + ((WeXinApiGetLocationResponseEntity)args.args).latitude + " longitude:" + ((WeXinApiGetLocationResponseEntity)args.args).longitude); });
C#: //重载方法1 this.weiXinApi1.scanQRCode((obj, args) => { ShowMessage("ERROR:" + args.error + " ARGS:" + args.args); }); //重载方法2 WeixinDecode:由微信处理后返回 NoDocode:直接返回扫描结果 this.weiXinApi1.scanQRCode(WeiXinApiScanResultType.NoDocode, (obj, args) => { ShowMessage("ERROR:" + args.error + " ARGS:" + args.args); }); //重载方法3 WeiXinApiScanCodeType 设置扫描条码类型,ios中有效 this.weiXinApi1.scanQRCode(WeiXinApiScanResultType.NoDocode, WeiXinApiScanCodeType.All, (obj, args) => { ShowMessage("ERROR:" + args.error + " ARGS:" + args.args); });
C#: //scope 应用授权作用域 可参考微信文档自行网页授权 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html (小程序中需要配合Smobiler提供的小程序模板使用) this.weiXinApi1.login();
C#: //第一个参数为页数,若大于现有页面数,则返回到首页, 默认:1 weiXinApi1.NavigateBackWithWeixin(1, (obj, args) => { if(args.isError == false) Toast("sucess"); });
C#: //第一个参数为路由类型,有RedirectTo,NavigateTo,SwitchTab,ReLaunch四种 weiXinApi1.RouteWithWeixin(RouteWithWeixinType.RedirectTo, "../login/login", (obj, args) => { if(args.isError == false) Toast("sucess"); });
1. 微信登录、自定义分享、定位、扫一扫、微信支付等功能,需要开通微信公众号调用。调用功能需要获取公众号AppID和AppSecret。
2. 进入微信公众平台,以公众号形式登录。(备注:如果没有公众号,需要与微信小程序主体信息相同形式注册公众号,具体可参考公众号创建教程,微信登录、支付功能需要开通服务号,订阅号不支持微信登录、支付)
3. 登录成功后,选择左侧 开发->基本配置,可以查看AppID和AppSecret,AppSecret需要申请开通,并自行保存,可根据微信公众号提示手动开通。 开通AppSecret后,会提示设置IP白名单,需要把放置Smobiler服务端的ip地址填写在白名单中,ip地址可以百度搜索ip,即可获得。
4. 此时,AppID和AppSecret已获取成功,可以根据参数注册权限调用微信自定义分享,定位,扫一扫,微信支付(需服务号)功能。
5. 登录和支付功能需要进行域名授权,请在设置与开发->功能设置 中把域名地址配置在JS接口安全域名和网页授权域名中。