持续优化代码
This commit is contained in:
parent
8a30e4c72e
commit
402d87c978
@ -9,6 +9,7 @@ import com.foxinmy.weixin4j.http.weixin.WeixinResponse;
|
|||||||
import com.foxinmy.weixin4j.model.Consts;
|
import com.foxinmy.weixin4j.model.Consts;
|
||||||
import com.foxinmy.weixin4j.mp.model.OauthToken;
|
import com.foxinmy.weixin4j.mp.model.OauthToken;
|
||||||
import com.foxinmy.weixin4j.mp.model.User;
|
import com.foxinmy.weixin4j.mp.model.User;
|
||||||
|
import com.foxinmy.weixin4j.mp.type.Lang;
|
||||||
import com.foxinmy.weixin4j.util.ConfigUtil;
|
import com.foxinmy.weixin4j.util.ConfigUtil;
|
||||||
import com.foxinmy.weixin4j.util.StringUtil;
|
import com.foxinmy.weixin4j.util.StringUtil;
|
||||||
|
|
||||||
@ -146,19 +147,40 @@ public class OauthApi extends MpApi {
|
|||||||
* oauth获取用户信息(需scope为 snsapi_userinfo)
|
* oauth获取用户信息(需scope为 snsapi_userinfo)
|
||||||
*
|
*
|
||||||
* @param token
|
* @param token
|
||||||
* 授权票据
|
* 授权信息(token&openid)
|
||||||
* @return 用户对象
|
* @return 用户对象
|
||||||
* @throws WeixinException
|
* @throws WeixinException
|
||||||
* @see <a
|
* @see <a
|
||||||
* href="http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html">拉取用户信息</a>
|
* href="http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html">授权获取用户信息</a>
|
||||||
* @see com.foxinmy.weixin4j.mp.model.User
|
* @see com.foxinmy.weixin4j.mp.model.User
|
||||||
* @see com.foxinmy.weixin4j.mp.model.OauthToken
|
* @see com.foxinmy.weixin4j.mp.model.OauthToken
|
||||||
* @see {@link com.foxinmy.weixin4j.mp.api.UserApi#getOauthToken(String)}
|
* @see {@link com.foxinmy.weixin4j.mp.api.OauthApi#getOauthToken(String)}
|
||||||
|
* @see {@link com.foxinmy.weixin4j.mp.api.OauthApi#getUser(String,Sring,Lang)}
|
||||||
*/
|
*/
|
||||||
public User getUser(OauthToken token) throws WeixinException {
|
public User getUser(OauthToken token) throws WeixinException {
|
||||||
|
return getUser(token.getAccessToken(), token.getOpenid(), Lang.zh_CN);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* oauth获取用户信息(需scope为 snsapi_userinfo)
|
||||||
|
*
|
||||||
|
* @param oauthToken
|
||||||
|
* 授权票据
|
||||||
|
* @param openid
|
||||||
|
* 用户openid
|
||||||
|
* @param lang
|
||||||
|
* 使用语言
|
||||||
|
* @return 用户对象
|
||||||
|
* @throws WeixinException
|
||||||
|
* @see <a
|
||||||
|
* href="http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html">授权获取用户信息</a>
|
||||||
|
* @see com.foxinmy.weixin4j.mp.model.User
|
||||||
|
*/
|
||||||
|
public User getUser(String oauthToken, String openid, Lang lang)
|
||||||
|
throws WeixinException {
|
||||||
String user_info_uri = getRequestUri("sns_user_info_uri");
|
String user_info_uri = getRequestUri("sns_user_info_uri");
|
||||||
WeixinResponse response = weixinClient.get(String.format(user_info_uri,
|
WeixinResponse response = weixinClient.get(String.format(user_info_uri,
|
||||||
token.getAccessToken(), token.getOpenid()));
|
oauthToken, openid, lang.name()));
|
||||||
|
|
||||||
return response.getAsObject(new TypeReference<User>() {
|
return response.getAsObject(new TypeReference<User>() {
|
||||||
});
|
});
|
||||||
|
|||||||
@ -20,7 +20,7 @@ sns_user_auth_uri=https://open.weixin.qq.com/connect/qrconnect?appid=%s&redirect
|
|||||||
sns_user_token_uri=https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code
|
sns_user_token_uri=https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code
|
||||||
sns_token_refresh_uri=https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=%s&grant_type=refresh_token&refresh_token=%s
|
sns_token_refresh_uri=https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=%s&grant_type=refresh_token&refresh_token=%s
|
||||||
sns_auth_token_uri=https://api.weixin.qq.com/sns/auth?access_token=%s&openid=%s
|
sns_auth_token_uri=https://api.weixin.qq.com/sns/auth?access_token=%s&openid=%s
|
||||||
sns_user_info_uri=https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN
|
sns_user_info_uri=https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=%s
|
||||||
|
|
||||||
# \u76f4\u63a5\u83b7\u53d6\u7528\u6237\u4fe1\u606f
|
# \u76f4\u63a5\u83b7\u53d6\u7528\u6237\u4fe1\u606f
|
||||||
api_user_info_uri={api_cgi_url}/user/info?access_token=%s&openid=%s&lang=%s
|
api_user_info_uri={api_cgi_url}/user/info?access_token=%s&openid=%s&lang=%s
|
||||||
|
|||||||
@ -311,7 +311,7 @@ public class WeixinProxy {
|
|||||||
* 查询部门列表(以部门的order字段从小到大排列)
|
* 查询部门列表(以部门的order字段从小到大排列)
|
||||||
*
|
*
|
||||||
* @param partyId
|
* @param partyId
|
||||||
* 部门ID。获取指定部门ID下的子部门
|
* 部门ID。获取指定部门ID下的子部门 传入0表示获取全部子部门
|
||||||
* @see com.foxinmy.weixin4j.qy.model.Party
|
* @see com.foxinmy.weixin4j.qy.model.Party
|
||||||
* @see <a
|
* @see <a
|
||||||
* href="http://qydev.weixin.qq.com/wiki/index.php?title=%E7%AE%A1%E7%90%86%E9%83%A8%E9%97%A8#.E8.8E.B7.E5.8F.96.E9.83.A8.E9.97.A8.E5.88.97.E8.A1.A8">获取部门列表</a>
|
* href="http://qydev.weixin.qq.com/wiki/index.php?title=%E7%AE%A1%E7%90%86%E9%83%A8%E9%97%A8#.E8.8E.B7.E5.8F.96.E9.83.A8.E9.97.A8.E5.88.97.E8.A1.A8">获取部门列表</a>
|
||||||
|
|||||||
@ -87,7 +87,7 @@ public class PartyApi extends QyApi {
|
|||||||
* 查询部门列表(以部门的order字段从小到大排列)
|
* 查询部门列表(以部门的order字段从小到大排列)
|
||||||
*
|
*
|
||||||
* @param partId
|
* @param partId
|
||||||
* 部门ID。获取指定部门ID下的子部门
|
* 部门ID。获取指定部门ID下的子部门 传入0表示获取全部子部门
|
||||||
* @see com.foxinmy.weixin4j.qy.model.Party
|
* @see com.foxinmy.weixin4j.qy.model.Party
|
||||||
* @see <a
|
* @see <a
|
||||||
* href="http://qydev.weixin.qq.com/wiki/index.php?title=%E7%AE%A1%E7%90%86%E9%83%A8%E9%97%A8#.E8.8E.B7.E5.8F.96.E9.83.A8.E9.97.A8.E5.88.97.E8.A1.A8">获取部门列表</a>
|
* href="http://qydev.weixin.qq.com/wiki/index.php?title=%E7%AE%A1%E7%90%86%E9%83%A8%E9%97%A8#.E8.8E.B7.E5.8F.96.E9.83.A8.E9.97.A8.E5.88.97.E8.A1.A8">获取部门列表</a>
|
||||||
@ -96,6 +96,9 @@ public class PartyApi extends QyApi {
|
|||||||
*/
|
*/
|
||||||
public List<Party> listParty(int partId) throws WeixinException {
|
public List<Party> listParty(int partId) throws WeixinException {
|
||||||
String department_list_uri = getRequestUri("department_list_uri");
|
String department_list_uri = getRequestUri("department_list_uri");
|
||||||
|
if (partId > 0) {
|
||||||
|
department_list_uri += String.format("&id=%d", partId);
|
||||||
|
}
|
||||||
Token token = tokenHolder.getToken();
|
Token token = tokenHolder.getToken();
|
||||||
WeixinResponse response = weixinClient.post(String.format(
|
WeixinResponse response = weixinClient.post(String.format(
|
||||||
department_list_uri, token.getAccessToken()));
|
department_list_uri, token.getAccessToken()));
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package com.foxinmy.weixin4j.qy.api;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.alibaba.fastjson.TypeReference;
|
|
||||||
import com.foxinmy.weixin4j.exception.WeixinException;
|
import com.foxinmy.weixin4j.exception.WeixinException;
|
||||||
import com.foxinmy.weixin4j.http.weixin.JsonResult;
|
import com.foxinmy.weixin4j.http.weixin.JsonResult;
|
||||||
import com.foxinmy.weixin4j.http.weixin.WeixinResponse;
|
import com.foxinmy.weixin4j.http.weixin.WeixinResponse;
|
||||||
@ -198,8 +197,10 @@ public class SuiteApi extends QyApi {
|
|||||||
WeixinResponse response = weixinClient.post(
|
WeixinResponse response = weixinClient.post(
|
||||||
String.format(suite_get_authinfo_uri,
|
String.format(suite_get_authinfo_uri,
|
||||||
suiteTokenHolder.getAccessToken()), obj.toJSONString());
|
suiteTokenHolder.getAccessToken()), obj.toJSONString());
|
||||||
return response.getAsObject(new TypeReference<OUserInfo>() {
|
obj = response.getAsJson();
|
||||||
});
|
obj.put("corp_info", obj.remove("auth_corp_info"));
|
||||||
|
obj.put("user_info", obj.remove("auth_user_info"));
|
||||||
|
return JSON.toJavaObject(obj, OUserInfo.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -44,7 +44,7 @@ public class PartyTest extends TokenTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void list() throws WeixinException {
|
public void list() throws WeixinException {
|
||||||
List<Party> list = partyApi.listParty(1);
|
List<Party> list = partyApi.listParty(0);
|
||||||
Assert.assertFalse(list.isEmpty());
|
Assert.assertFalse(list.isEmpty());
|
||||||
System.out.println(list);
|
System.out.println(list);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user