微信小程序



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;

}

 

posted @ 2019-08-15 15:55  沧海一滴  阅读(917)  评论(0)    收藏  举报