教你自己搭建外卖分销小程序公众号-加入外卖分销,订外卖【美团】、【饿了么】

外卖CPS红包小程序源码分享

外卖cps带分销返利源码

饿了么红包、美团优惠券开发(外卖cps,三级裂变源码)

源代码地址

http://y.mybei.cn

搭建步骤

截图

在这里插入图片描述

步骤

package com.mtons.mblog.base.oauth;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mtons.mblog.base.oauth.utils.EnumOauthTypeBean;
import com.mtons.mblog.base.oauth.utils.OathConfig;
import com.mtons.mblog.base.oauth.utils.OpenOauthBean;
import com.mtons.mblog.base.oauth.utils.TokenUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.util.HashMap;
import java.util.Map;

public class OauthQQ extends Oauth {
private static final Logger LOGGER = LoggerFactory.getLogger(OauthQQ.class);
private static final String AUTH_URL = “https://graph.qq.com/oauth2.0/authorize”;
private static final String TOKEN_URL = “https://graph.qq.com/oauth2.0/token”;
private static final String TOKEN_INFO_URL = “https://graph.qq.com/oauth2.0/me”;
private static final String USER_INFO_URL = “https://graph.qq.com/user/get_user_info”;

public static OauthQQ me() {
    return new OauthQQ();
}

public OauthQQ() {
    setClientId(OathConfig.getValue("openid_qq"));
    setClientSecret(OathConfig.getValue("openkey_qq"));
    setRedirectUri(OathConfig.getValue("redirect_qq"));
}

public String getAuthorizeUrl(String state) throws UnsupportedEncodingException {
    Map<String, String> params = new HashMap();
    params.put("response_type", "code");
    params.put("client_id", getClientId());
    params.put("redirect_uri", getRedirectUri());
    if (StringUtils.isNotBlank(state)) {
        params.put("state", state);
    }
    return super.getAuthorizeUrl("https://graph.qq.com/oauth2.0/authorize", params);
}

public String getTokenByCode(String code) throws IOException, KeyManagementException, NoSuchAlgorithmException, NoSuchProviderException {
    Map<String, String> params = new HashMap();
    params.put("code", code);
    params.put("client_id", getClientId());
    params.put("client_secret", getClientSecret());
    params.put("grant_type", "authorization_code");
    params.put("redirect_uri", getRedirectUri());

    String token = TokenUtil.getAccessToken(super.doGet("https://graph.qq.com/oauth2.0/token", params));
    LOGGER.debug(token);
    return token;
}

public String getTokenInfo(String accessToken) throws IOException, KeyManagementException, NoSuchAlgorithmException, NoSuchProviderException {
    Map<String, String> params = new HashMap();
    params.put("access_token", accessToken);

    String openid = TokenUtil.getOpenId(super.doGet("https://graph.qq.com/oauth2.0/me", params));
    LOGGER.debug(openid);
    return openid;
}

public String getUserInfo(String accessToken, String uid) throws IOException, KeyManagementException, NoSuchAlgorithmException, NoSuchProviderException {
    Map<String, String> params = new HashMap();
    params.put("access_token", accessToken);
    params.put("oauth_consumer_key", getClientId());
    params.put("openid", uid);
    params.put("format", "json");

    String userinfo = super.doGet("https://graph.qq.com/user/get_user_info", params);
    LOGGER.debug(userinfo);
    return userinfo;
}

public JSONObject getUserInfoByCode(String code) throws IOException, KeyManagementException, NoSuchAlgorithmException, NoSuchProviderException {
    String accessToken = getTokenByCode(code);
    if (StringUtils.isBlank(accessToken)) {
        return null;
    }
    String openId = getTokenInfo(accessToken);
    if (StringUtils.isBlank(openId)) {
        return null;
    }
    JSONObject dataMap = JSON.parseObject(getUserInfo(accessToken, openId));
    dataMap.put("openid", openId);
    dataMap.put("access_token", accessToken);
    LOGGER.debug(JSON.toJSONString(dataMap));
    return dataMap;
}


public OpenOauthBean getUserBeanByCode(String code)
        throws Exception {
    OpenOauthBean openOauthBean = null;
    JSONObject userInfo = me().getUserInfoByCode(code);

    if (userInfo.getString("ret").equals("0")) {
        openOauthBean = new OpenOauthBean();
        String openid = userInfo.getString("openid");
        String accessToken = userInfo.getString("access_token");
        String nickname = userInfo.getString("nickname");
        String photoUrl = userInfo.getString("figureurl_2");

        openOauthBean.setOauthCode(code);
        openOauthBean.setAccessToken(accessToken);
        openOauthBean.setExpireIn("");
        openOauthBean.setOauthUserId(openid);
        package com.mtons.mblog.base.oauth;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mtons.mblog.base.oauth.utils.EnumOauthTypeBean;
import com.mtons.mblog.base.oauth.utils.OathConfig;
import com.mtons.mblog.base.oauth.utils.OpenOauthBean;
import com.mtons.mblog.base.oauth.utils.TokenUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class OauthSina extends Oauth {
private static final Logger LOGGER = LoggerFactory.getLogger(OauthSina.class);
private static final String AUTH_URL = “https://api.weibo.com/oauth2/authorize”;
private static final String TOKEN_URL = “https://api.weibo.com/oauth2/access_token”;
private static final String TOKEN_INFO_URL = “https://api.weibo.com/oauth2/get_token_info”;
private static final String USER_INFO_URL = “https://api.weibo.com/2/users/show.json”;

public static OauthSina me() {
    return new OauthSina();
}

public OauthSina() {
    setClientId(OathConfig.getValue("openid_sina"));
    setClientSecret(OathConfig.getValue("openkey_sina"));
    setRedirectUri(OathConfig.getValue("redirect_sina"));
}

public String getAuthorizeUrl(String state) throws UnsupportedEncodingException {
    Map<String, String> params = new HashMap<>();
    params.put("response_type", "code");
    params.put("client_id", getClientId());
    params.put("redirect_uri", getRedirectUri());
    if (StringUtils.isNotBlank(state)) {
        params.put("state", state);
    }
    return super.getAuthorizeUrl("https://api.weibo.com/oauth2/authorize", params);
}

public String getTokenByCode(String code) throws IOException, KeyManagementException, NoSuchAlgorithmException, NoSuchProviderException {
    Map<String, String> params = new HashMap<>();
    params.put("code", code);
    params.put("client_id", getClientId());
    params.put("client_secret", getClientSecret());
    params.put("grant_type", "authorization_code");
    params.put("redirect_uri", getRedirectUri());
    String token = TokenUtil.getAccessToken(super.doPost("https://api.weibo.com/oauth2/access_token", params));
    LOGGER.debug(token);
    return token;
}

public String getTokenInfo(String accessToken) throws IOException, KeyManagementException, NoSuchAlgorithmException, NoSuchProviderException {
    Map<String, String> params = new HashMap<>();
    params.put("access_token", accessToken);
    String openid = TokenUtil.getUid(super.doPost("https://api.weibo.com/oauth2/get_token_info", params));
    LOGGER.debug(openid);
    return openid;
}

public String getUserInfo(String accessToken, String uid) throws IOException, KeyManagementException, NoSuchAlgorithmException, NoSuchProviderException {
    Map<String, String> params = new HashMap<>();
    params.put("uid", uid);
    params.put("access_token", accessToken);
    String userInfo = super.doGet("https://api.weibo.com/2/users/show.json", params);
    LOGGER.debug(userInfo);
    return userInfo;
}

public JSONObject getUserInfoByCode(String code) throws IOException, KeyManagementException, NoSuchAlgorithmException, NoSuchProviderException {
    String accessToken = getTokenByCode(code);
    if (StringUtils.isBlank(accessToken)) {
        return null;
    }
    String uid = getTokenInfo(accessToken);
    if (StringUtils.isBlank(uid)) {
        return null;
    }
    JSONObject dataMap = JSON.parseObject(getUserInfo(accessToken, uid));
    dataMap.put("access_token", accessToken);
    LOGGER.debug(JSON.toJSONString(dataMap));
    return dataMap;
}


public OpenOauthBean getUserBeanByCode(String code)
        throws KeyManagementException, NoSuchAlgorithmException, NoSuchProviderException, IOException {
    OpenOauthBean openOauthBean = null;
    JSONObject userInfo = me().getUserInfoByCode(code);

    openOauthBean = new OpenOauthBean();
    String openid = userInfo.getString("id");
    String accessToken = userInfo.getString("access_token");
    String nickname = userInfo.getString("screen_name");
    String photoUrl = userInfo.getString("profile_image_url");

    openOauthBean.setOauthCode(code);
    openOauthBean.setAccessToken(accessToken);
    openOauthBean.setExpireIn("");
    openOauthBean.setOauthUserId(openid);
    openOauthBean.setOauthType(EnumOauthTypeBean.TYPE_SINA.getValue());
    openOauthBean.setUsername("SN" + Arrays.hashCode(openid.getBytes()));
    openOauthBean.setNickname(nickname);
    openOauthBean.setAvatar(photoUrl);

    return openOauthBean;
}

}openOauthBean.setOauthType(EnumOauthTypeBean.TYPE_QQ.getValue());
openOauthBean.setUsername(“QQ” + openid.getBytes().hashCode());
openOauthBean.setNickname(nickname);
openOauthBean.setAvatar(photoUrl);
} else {
throw new Exception();
}
return openOauthBean;
}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值