微信公众号,小程序相关知识文档
在项目中我们经常和公众号,小程序,开放平台等打交道。对于他们之间的关系,开发人员需要非常熟悉。但是,实际情况是很多小伙伴可能不是很熟悉,这里简单整理了一些微信生态里的相关知识,供各位小伙伴参考。
一、微信生态常用名词
1.openId
openid就是用户在微信公众号,小程序的唯一标识。
在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。
2.unionId(打通不同公众号,小程序的神器)
如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求。
因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。
3.AppID,AppSecret
AppID:开发者ID,有些叫AppKey AppSecret:开发者密码 二者配合使用,可调用公众号的接口能力;这是官方的说法,那我再说的直白点,就是当你的开发过程中有使用人家微信相关功能时候,必须有在人家官方认证过的账号密码。
4.微信开发平台
平台定位:主要面对移动应用/网站应用开发者,为其提供微信登录、分享、支付等相关权限和服务。
二、微信公众号
公众号跳转h5
微信公众号可以跳转h5非常的简单,直接在公众号里面配置链接即可。当然,我们经常会需要拿到一些用户信息,例如openID,头像昵称等,还有跳转的h5需要做分享,下面详细讲一下
1.直接从微信公众号进入h5链接
这种情况,用户已关注公众号,我们可以拿到用户的头像,昵称,地址,openid,unionID等用户信息,没有任何的限制。
2.授权登录(无需关注)
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑
1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;
2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com无法进行OAuth2.0鉴权
3、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可
1.静默授权 用户无感知,可以拿到用户的openid,自动跳转到回调页面
scope为snsapi_base
2.非静默授权 有弹窗,需要用户确认,可以获取到用户的基础信息(昵称,头像,openId,unionId等)
scope为snsapi_userinfo
微信公众号分享
1.先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
2.在需要分享的页面中引入JS文件
http(s)://res.wx.qq.com/open/js/jweixin-1.4.0.js
支持使用 AMD/CMD 标准模块加载方法加载
3.通过config接口注入权限验证配置,然后调用分享接口设置设置分享的标题,链接,图片等
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [] // 必填,需要使用的JS接口列表
});
wx.ready(function () { //需在用户可能点击分享按钮前就先调用
wx.updateAppMessageShareData({//自定义“分享给朋友”及“分享到QQ”按钮的分享内容
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
}
}),
wx.updateTimelineShareData({ //自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容
title: '', // 分享标题
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
}
})
});
微信公众号跳转小程序
公众号可关联同主体的10个小程序及不同主体的3个小程序。同一个小程序可关联最多50个公众号。 1、登录公众号-小程序-管理小程序-添加
2、管理员扫码确认
3、输入需要绑定的小程序appID,查找小程序并发送绑定邀请
4、小程序管理员接收邀请
5、绑定完成 关联小程序后系统将自动向公众号粉丝推送关联成功消息,点击消息即可跳转至小程序。
微信小程序
小程序跳转h5
web-view组件可以支持在小程序内打开小程序,会自动铺满整个小程序页面,个人类型的小程序暂不支持使用。
webview 指向网页的链接。可打开关联的公众号的文章,其它网页需登录小程序管理后台配置业务域名
小程序跳转小程序
每个小程序可跳转的其他小程序数量限制为不超过 10 个
跳转其他小程序功能,则需要在代码配置中声明将要跳转的小程序名单(在app.json里面配置),限定不超过 10 个
wx.navigateToMiniProgram(Object object)//打开另一个小程序
wx.navigateBackMiniProgram(Object object)// 返回到上一个小程序。只有在当前小程序是被其他小程序打开时可以调用成功
小程序内关注公众号
official-account://关注公众号组件
使用组件前,需前往小程序后台,在“设置”->“关注公众号”中设置要展示的公众号。注:设置的公众号需与小程序主体一致。