欢迎您光临深圳塔灯网络科技有限公司!
电话图标 余先生:13699882642

网站百科

为您解码网站建设的点点滴滴

微信端开发--登录小程序

发表日期:2019-08 文章编辑:小灯 浏览次数:892

这个小程序的主要目的是为了用户用微信的用户信息登录后将用户信息授权存入自己的数据库中,这样以后每次微信登录得到的code 所得到的 openid 可以在项目的数据库中查到该用户的相关信息。

在测试的过程中,需要用户登录得到的code,所以会用到微信开发小工具~!
这里写图片描述

该工具的使用必须被项目授权

这里写图片描述

所生成的code是有时间限制的

微信登录端口的api如下

接口地址:

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

请求参数:
参数必填说明
appid 是 小程序唯一标识
secret是 小程序的 app secret
js_code 是 登录时获取的 code
grant_type是 填写为 authorization_code

返回参数:
参数说明
openid用户唯一标识
session_key 会话密钥
expires_in会话有效期, 以秒为单位, 例如2592000代表会话有效期为30天

返回说明:

//正常返回的JSON数据包{"openid": "OPENID","session_key": "SESSIONKEY""expires_in": 2592000}//错误时返回JSON数据包(示例为Code无效){"errcode": 40029,"errmsg": "invalid code"}

所以我们可以将代码写成如下

公司将发送的报文格式自己都写好了的,我只需要写出请求路径和请求参数就ok

//@Param code 用户登录微信生成的code//@ReturnOAuthResult返回包含openid和session_key和expires_in的类public OAuthResult getOAuthResultByCode(String code) {String path = "/sns/jscode2session";Map<String, Object> parameters = new HashMap<>();parameters.put("appid", WechatConstant.WECHAT_APP_ID);parameters.put("secret", WechatConstant.WECHAT_APP_SECRET);parameters.put("js_code", code);parameters.put("grant_type", "authorization_code");OAuthResult oAuthResult = messageSender.getMessageForObject(path, parameters, OAuthResult.class, false);if (oAuthResult.getOpenid() == null){throw new BusinessException(BusinessException.Code.OAUTH_PROCESS_ERROR, "OAuth异常,原因:" + oAuthResult.getErrmsg());}return oAuthResult;}

本页内容由塔灯网络科技有限公司通过网络收集编辑所得,所有资料仅供用户学习参考,本站不拥有所有权,如您认为本网页中由涉嫌抄袭的内容,请及时与我们联系,并提供相关证据,工作人员会在5工作日内联系您,一经查实,本站立刻删除侵权内容。本文链接:http://dengtar.com/20816.html
相关小程序
 八年  行业经验

多一份参考,总有益处

联系深圳网站公司塔灯网络,免费获得网站建设方案及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:余经理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.