# “人民网+”账号体系
# 1.用户登录,获取用户OpenID
# 1.1 wx.login(Object object)
功能描述
调用接口获取登录凭证(code),通过凭证进而换取用户登录态信息,包括用户在当前小程序在“人民网+”客户端的唯一标识(openid)、“人民网+”客户端开发平台帐号下的唯一标识(unionid)等, 入驻“人民网+”客户端平台的小程序,发出的请求User-Agent会携带特殊的标识(MiniProgram),小程序服务端可以凭此判断,请求是来自“人民网+”客户端平台还是微信平台。
平台 | User-Agent |
---|---|
安卓 | PeoplePlus_Android/2.2.0-Beta (MiniProgram; FinApplet/2.39.5) |
ios | MiniProgram; FinApplet/2.39.5 |
返回参数
属性 | 类型 | 说明 | 参数举例 |
---|---|---|---|
code | string | 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 code2Session,使用 code 换取 openid、unionid 等信息 |
{
"code": "OeKTafTrjm2IpHwT62ZH3KG1PvT0C0Gg65hSv8j-JVYGfyz6ybz9UCSCg_J_JtXmS2bV88y_Lvp121d5VmyPO8ocRVBMx7EmzHXCYnnm8wQ5m6AgGaStRAcgpMZA2pJA",
"source": "peoplePlus",
"errMsg": "login:ok"
}
# 1.2 小程序登录
# 接口说明
接口英文名
code2Session
功能描述
登录凭证校验。通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程。更多使用方法详见小程序登录。
# 调用方式
HTTPS 调用
GET /sns/jscode2session
请求参数
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
appid | string 是 | 小程序 appId | |
secret | string 是 | 小程序 appSecret | |
js_code | string 是 | 登录时获取的 code,可通过wx.login获取 | |
grant_type | string | 是 授权类型,此处固定值 authorization_code |
返回参数
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
openid | string | openid |
unionid | string | unionid |
# 调用示例
示例说明: HTTPS请求
请求数据示例
GET /jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
返回数据示例
{
"openid": "xxxxxx",
"session_key": "",
"unionid": "xxxxx",
"errcode": 0,
"errmsg": "xxxxx"
}
# 2.获取用户手机号
# 2.1 获取接口调用凭据
介绍
为外部服务(h5、小程序)提供的调用人民网服务能力,在调用“人民网+”客户端提供的能力接口前,需要首先获取access_token,该token是调用“人民网+”客户端能力的一切前提。
获取access_token流程
1.联系人民网移动产品部申请一套appid与secret。
2.使用步骤1申请下来的appid与secret调用获取token接口。
获取access_token接口地址
[GET]https://uc-app.people.cn/cgi-bin/token?appid={appid}&secret={secret}&grant_type=authorization_code
接口返回内容
{
"errcode": 0,
"errmsg": "success",
"access_token": "31316ae0-532a-4ad1-9815-8255696edfee",
"expires_in": 7200
}
返回参数说明
errcode: 返回状态码,0为正确返回,其余为异常状态码
errmsg: 返回的状态码对应的信息
access_token: 状态码为0时,access_token会返回token,异常状态码此属性为空
expires_in: 有效时长(秒)
token补充说明
- token有效期为7200s
- token接口每天调用次数为2000,建议各方做缓存,防止调用次数超出上限
# 2.2 获取手机号_客户端
获取手机号
button 组件的点击来触发,不再需要提前调用wx.login进行登录。
接口应在服务器端调用,详细说明参见获取手机号_后端
使用方法
需要将 button 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到动态令牌code,然后把code传到开发者后台,并在开发者后台调用微信后台提供的获取手机号_后端,消费code来换取用户手机号。每个code有效期为5分钟,且只能消费一次。
注:getPhoneNumber 返回的 code 与 wx.login 返回的 code 作用是不一样的,不能混用。
入驻“人民网+”客户端平台的小程序,发出的请求User-Agent会携带特殊的标识(MiniProgram),小程序服务端可以凭此判断,请求是来自“人民网+”客户端平台还是微信平台。
平台 | User-Agent |
---|---|
安卓 | PeoplePlus_Android/2.2.0-Beta (MiniProgram; FinApplet/2.39.5) |
ios | MiniProgram; FinApplet/2.39.5 |
# 代码示例
返回参数说明
属性 | 类型 | 说明 | 参数举例 |
---|---|---|---|
code | string | 动态令牌。可通过动态令牌换取用户手机号。使用方法详情获取手机号_后端 |
# 2.3 获取手机号_后端
# 接口说明
接口英文名
getPhoneNumber
功能描述
该接口用于将 code 换取用户手机号。 说明,每个 code 只能使用一次,code的有效期为5min。
# 调用方式
HTTPS 调用
GET /wxa/business/getuserphonenumber?access_token={access_token}&code={code}
请求参数
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
access_token | string 是 | 小程序后端调用“人民网+”客户端后端获得的access_token | |
code | string 是 | 登录时获取的 code,可通过getPhoneNumber按钮获取 |
返回参数
属性 | 类型 | 说明 |
---|---|---|
errcode | int | 错误码 |
errmsg | string | 错误信息 |
phone_info.phone | string | 手机号码 |
# 调用示例
示例说明: HTTPS请求
请求数据示例
/wxa/business/getuserphonenumber?access_token=5a141935-83ed-46de-a8a2-3f0d72b11449&code=kfFMUdeRY-MhOzkrgGcM1x4R6MinSpZg8Rybu4MBt4vwDo1DZXCUYqiBxo_Ad7naZ5jL4Mnfczd7WgBo_ZW0u8DsUvLTFJdKXGq3soV_Vx7W_rX_NYAYQ1-J86uYUXMj
返回数据示例
{
"errcode":0,
"errmsg":"ok",
"phone_info": {
"phone":"156",
}
}