微信小程序
wx.login(Object object)
调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。更多使用方法详见 小程序登录。
参数
Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
|---|---|---|---|---|---|
| timeout | number | 否 | 超时时间,单位ms | 1.9.90 | |
| success | function | 否 | 接口调用成功的回调函数 | ||
| fail | function | 否 | 接口调用失败的回调函数 | ||
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
| 属性 | 类型 | 说明 |
|---|---|---|
| code | string | 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 auth.code2Session,使用 code 换取 openid 和 session_key 等信息 |
示例代码
wx.login({ success (res) { if (res.code) { //发起网络请求 wx.request({ url: 'https://test.com/onLogin', data: { code: res.code } }) } else { console.log('登录失败!' + res.errMsg) } } })
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html
@GetMapping("/login")
public String login(@PathVariable String appid, String code) {
if (StringUtils.isBlank(code)) {
return "empty jscode";
}
final WxMaService wxService = WxMaConfiguration.getMaService(appid);
try {
WxMaJscode2SessionResult session = wxService.getUserService().getSessionInfo(code);
this.logger.info(session.getSessionKey());
this.logger.info(session.getOpenid());
//TODO 可以增加自己的逻辑,关联业务相关数据
return JsonUtils.toJson(session);
} catch (WxErrorException e) {
this.logger.error(e.getMessage(), e);
return e.toString();
}
}
https://github.com/binarywang/weixin-java-miniapp-demo.git
https://github.com/NervJS/taro
import java.util.Date; import lombok.Data; @Data public class MpKfMsgPO { private Integer id; /** * 业务类型 */ private Byte bizType; /** * 业务ID */ private Integer bizId; /** * 消息使用的公众号Appid */ private String appid; /** * 是否是第一欢迎语. 0:不是;1:是 */ private Boolean first; /** * 消息延迟发送的分钟数 */ private Integer delayMinute; /** * 素材类型:0=文本类型,1=图片类型,2=语音类型,3=视频类型,5=图文类型 6=模板消息类型(非微信类型,兼容定时客服消息自定义的类型) */ private String msgType; /** * 图片、语音、视频标题 */ private String title; /** * 文本类型存储文字内容 */ private String content; /** * 存储在微信上素材的mediaId */ private String mediaId; /** * 图片、语音、视频素材url */ private String url; /** * 图文消息素材返回的json */ private String newsItem; /** * 是否使用小程序0:不使用,1:使用 */ private Boolean useMiniprogram; /** * 小程序AppId */ private String miniprogramPageAppid; /** * 小程序url */ private String miniprogramPageUrl; /** * 小程序title */ private String miniprogramPageTitle; /** * 删除标记 (0删除,1正常) */ private Boolean status; }

浙公网安备 33010602011771号