微信小程序



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;

}
原文地址:https://www.cnblogs.com/softidea/p/11358482.html