如何在APP上实现 一键关注微信公众账号

JavaScript072

如何在APP上实现 一键关注微信公众账号,第1张

微信公众平台一键关注代码 今天有朋友问了如何在网页上或是其它地方直接点击一个按钮或是链接实现直接关注服务号的功能,现在把资料分享给大家。

在微信上,通过公众平台推送给用户的文章,是在微信内部直接打开的,用的无外乎就是一个微信内置浏览器控件(IOS上,Android上也差不多)。但特殊的是,微信官方在这里面加了一个默认的Js API--WeixinJSBridge,通过它,能直接在该页面上做这些操作:

1、将文章分享到微信朋友圈

2、将文章直接发送给微信上的好友

3、将文章分享到腾讯微博

4、关注指定用户

以上这些操作,都是通过WeixinJSBridge.invoke接口来完成的。

//通过关注微信好友 下面是代码

function WeiXinAddContact(wxid, cb)

{

if (typeof WeixinJSBridge == 'undefined') return false

WeixinJSBridge.invoke('addContact', { webtype: '1', username: wxid },

function(d) {

// 返回d.err_msg取值,d还有一个属性是err_desc //add_contact:cancel 用户取消 // add_contact:fail 关注失败

// add_contact:ok 关注成功 // add_contact:added 已经关注

WeixinJSBridge.log(d.err_msg) cb &&cb(d.err_msg)})

}

//通过微信分享

function WeiXinShareBtn() { if (typeof WeixinJSBridge== "undefined")

{ alert("请先通过微信xxxx")} else { WeixinJSBridge.invoke('shareTimeline',

{ "title": "微信资讯网", "link": "微信公众平台开发", "desc": "欢迎关注微时代为您搜罗最新最尖端的微信资讯。

内容包括微信公众平台开发、微信营销方案策略、微信操作指南, 好玩有趣的微信公众账号导航、微信游戏攻略、微信最新版本,

最新功能等更多更全面的微信资讯信息。", "img_url": "微信公众平台开发" })

}

}

复制代码

使用方法:

<a data-cke-saved-href="#" href="#" onclick="WeiXinAddContact

('<span style=" background-color:#ff0000"="">

gh_5f81fbb868d8

<a data-cke-saved-href="#" href="#" onclick="WeiXinAddContact('<span style=" background-color:#ff00

微信公众平台官方宣布微信沟通接口正式上线,用户可以在移动应用中,点击跳转到微信客户端内,用户已关注公众号时会进入会话界面,未关注则进入资料页。 这是上月底微信公开语义理解接口之后微信官方公布的另外一个重量级的API。 微信沟通接口只支持微信客…

显示全部

微信公众平台官方宣布微信沟通接口正式上线,用户可以在移动应用中,点击跳转到微信客户端内,用户已关注公众号时会进入会话界面,未关注则进入资料页。

这是上月底微信公开语义理解接口之后微信官方公布的另外一个重量级的API。

微信沟通接口只支持微信客户端5.3版本及以上,如果用户使用的微信客户端版本低于5.3版本,则无法正常唤起公众号。而且开发者需要到“管理中心”创建移动应用,点击“创建移动应用”,填写相关资料,审核通过的应用才能进行开发。

具体开放规则如下:

通过微信开发者资质认证的开发者,其帐号下所有的移动应用和公众号应用自动获得微信沟通权限。 移动应用可以唤起同在一个开放平台帐号下的任意一个公众号。

接入流程:

在微信开放平台(http://open.weixin.qq.com)注册开放平台开发者账号; 登录微信开放平台,进入“帐号中心”页申请开发者资质认证; 前往“管理中心”界面提交移动应用申请,绑定公众号; 前往“资源中心”下载iOS开发工具包或者Android开发工具包,内置到移动应用中,然后查看开发文档进行开发。

整理一下通过h5做微信分享相关配置。

登录微信公众号, 获取AppID , 配置白名单 ,然后 配置JS接口安全域名 。

登录公众号后,左侧菜单栏选择:开发 =>基本配置,直接复制开发者ID(AppID)即可:

注意使用公网IP

左侧菜单栏选择:设置 =>公众号设置:

网页授权主要是获取微信openId使用,如果只是用分享操作,本步可以略过。

网页授权介绍

大致步骤是:

在配置完前面AppId、白名单及安全域名后,开始处理网页授权。

网页授权这一块儿内容主要是后端需要处理的内容较多,前端还是很简单的,仅需要跳入微信链接即可。为什么要走这一步呢因为有些操作,例如微信支付、播放微信录音、获取微信地址、微信卡券、商品、小店等等许多功能必须在微信浏览器汇总打开操作才可以,因此需要跳入微信浏览器及微信链接来处理后续操作。当配置后,链接便只有在微信浏览器中打开才会生效了,不然会提示:

链接如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appId}&redirect_uri=={$URL}&response_type=code&scope=snsapi_base#wechat_redirect

参数分解

可见,上面需要填入的变量有二,一个是前面回去的AppId,另外一个则是url,需要写的是与配置域名所对应域名下的url,并且要进行urlEncode编码处理使用。

在拿到上述完整链接后,通过 window.location.href = ${url} 进行网页授权即可。在授权成功后,页面会重定向到自己设置的url页面去,然后在该连接上会有code值,取出即可:

将拿到的code值传给后端即可,看具体需求决定是否前端使用openId,如果非必要则不在前端获取保存或者由后端加密后传给前端使用。

大致分为五个步骤:

在步骤 1.3 中已经配置。

在需要调用JS接口的页面引入如下JS文件: https://res.wx.qq.com/open/js/jweixin-1.6.0.js

备注:支持使用 AMD/CMD 标准模块加载方法加载

配置需要如下几个参数:

那这些参数从哪儿来呢?依旧不用担心,依然是交给后端处理,后端返回时间戳、随机串及签名,其他的自己配置即可。

通过后端获取需要进行一个小交互,将此时的链接地址(window.location.href)传给后端即可。

于是就有了上述的除了最后一个以外的所有参数。最后一个 jsApiList 则是写分享接口,如我们想要分享到朋友圈、QQ、腾讯微博这3个,那就写:

可以发现,我们其实多配置了一个 checkJsApi ,这个是一个判断配置,可以判断当前客户端版本是否支持指定JS接口。

签名算法

所有JS接口列表

接下来就可以写分享信息配置了。配置信息一般都是通过 wx.ready 处理的:

例如我们要分享到朋友圈,配置则如下:

注意:不要出现 诱导分享

同样,一般都是通过 wx.error 处理失败相关信息:

其实微信分享(地理位置、扫一扫、卡券等微信各类接口)都是通过上述步骤配置的,可举一反三,在面对不同需求时通过微信开发文档来进行更为复杂的操作。

微信开发交流群:148540125

欢迎留言、转发、打赏

系列文章参考地址 极速开发微信公众号

项目源码参考地址 点我点我--欢迎Start

服务号、订阅号可以通过登录 微信公众平台 查看 开发>接口权限

使用JSSDK主要包括

1、判断当前客户端版本是否支持指定JS接口、

2、分享接口(微信认证)

3、图像接口

4、音频接口

5、智能接口(识别语音并返回结果)

6、设备信息(获取网络状态)

7、地理位置

8、界面操作

9、微信扫一扫

10、微信小店(服务号必须通过微信认证)

11、微信卡券 (微信认证)

12、微信支付(服务号必须通过微信认证)

官方参考文档

步骤一:绑定域名

先登录微信公众平台进入 公众号设置 的 功能设置 里填写 JS接口安全域名 。

步骤二:引入JS文件

在需要调用JS接口的页面引入如下JS文件,(支持https): http://res.wx.qq.com/open/js/jweixin-1.0.0.js

如需使用摇一摇周边功能,请引入 http://res.wx.qq.com/open/js/jweixin-1.1.0.js

备注:支持使用 AMD/CMD 标准模块加载方法加载

步骤三:通过config接口注入权限验证配置

签名算法生成规则

请 官方参考文档

下面具体来讲讲 开源项目 weixin_guide 中的封装。

使用的时候只要在Controller方法上添加一个拦截器 JSSDKInterceptor 来实现签名验证再将 wx.config 需要的参数设置对应的属性在页面上进行获取。

拦截器实现如下:

在Controller中使用

JSP页面上面使用

测试结果

在AppConfig 中添加路由 me.add("/jssdk", JSSDKController.class,"/view")手机中访问 http://域名[/项目名称]/jssdk ,如果设置了 debug= true 成功了就会弹出

如果出现 {"errorMsg":"config:invalid url domian"} 请检查 步骤一:绑定域名 与你访问的域名是否在安全域名列表当中

步骤四:通过ready接口处理成功验证

步骤五:通过error接口处理失败验证

步骤六:接口调用

拦截器具体实现 参考地址 点这里

js 接口调用参考地址 点这里

以上就是JSSDK使用的介绍。

欢迎留言、转发、打赏项目

源码参考地址 点我点我--欢迎Start