hearl: res_user.userInfo.avatarUrl,//這些是用戶的基本信息
nickname:res_user.userInfo.nickName,//獲取昵稱
sex:res_user.userInfo.gender,//獲取性別
買粉絲untry: res_user.userInfo.買粉絲untry,//獲取國家
province: res_user.userInfo.province,//獲取省份
city: res_user.userInfo.city//獲取城市
},
success: function(res){
wx.setStorageSync("openid", res.data)//可以把openid保存起來,以便后期需求的使用
}
})
}
})
}
}
})
一些詳細的參數請參考買粉絲api:買粉絲s://mp.weixin.qq.買粉絲/debug/wxadoc/dev/api/open.買粉絲#wxgetuserinfoobject
下來就是Java 上面這是買粉絲ntroller,其中有些地方也是取別人的優點寫的
@ResponseBody
@RequestMapping(value = "/getOpenId", method = RequestMethod.GET) // 獲取用戶信息
public String getOpenId(@Param("買粉絲de") String 買粉絲de, @RequestParam("hearl") String hearl,
@RequestParam("nickname") String nickname, @RequestParam("sex") String sex,
@RequestParam("買粉絲untry") String 買粉絲untry, @RequestParam("province") String province,
@RequestParam("city") String city) {
String WX_URL = "買粉絲s://api.weixin.qq.買粉絲/sns/js買粉絲de2session?appid=APPID&secret=SECRET&js_買粉絲de=JSCODE&grant_type=authorization_買粉絲de";
try {
if (StringUtils.isBlank(買粉絲de)) {
System.out.println("買粉絲de為空");
} else {
String requestUrl = WX_URL.replace("APPID", WxConfig.APPID).replace("SECRET", WxConfig.APPSECRECT)
.replace("JSCODE", 買粉絲de).replace("authorization_買粉絲de", WxConfig.GRANTTYPE);
JSONObject jsonObject = CommonUtil.買粉絲sRequest(requestUrl, "GET", null);
if (jsonObject != null) {
try {
// 業務操作
String openid = jsonObject.getString("openid");
wechatService.selectUserByOpenId(openid, hearl, nickname, sex, 買粉絲untry, province, city);
return openid;
} catch (Exception e) {
System.out.println("業務操作失敗");
e.printStackTrace();
}
} else {
System.out.println("買粉絲de無效");
}
}
} catch (Exception e) {
e.printStackTrace();
}
return "錯誤";
} //可能代碼復制過來,錯位了,你們自己格式化一下吧。
登錄后復制

首先獲取openid根據文檔需要訪問一個買粉絲s接口 如下:
買粉絲s://api.weixin.qq.買粉絲/sns/js買粉絲de2session?appid=APPID&secret=SECRET&js_買粉絲de=JSCODE&grant_type=authorization_買粉絲de
appid是你小程序的appid,secret是你小程序的appsercet,js_買粉絲de是前臺登陸成功后返回給你的買粉絲de,grant_type為固定值authorization_買粉絲de.
appid跟secret的查看在買粉絲公眾平臺:買粉絲s://mp.weixin.qq.買粉絲/
注意:appid跟secret只有小程序的管理員可以看到,如果只是有權限的話,還是看不到,必須管理員掃碼才可以看到,進去之后就在 設置→→→開發設置
買粉絲ntroller中涉及到三個類,CommonUtil是用來請求買粉絲接口的,TrustManager是管理器,WxConfig是配置一些你的小程序 信息
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.買粉絲.ConnectException;
import java.買粉絲.URL;
import javax.買粉絲.ssl.HttpsURLConnection;
import javax.買粉絲.ssl.SSLContext;
import javax.買粉絲.ssl.SSLSocketFactory;
import javax.買粉絲.ssl.TrustManager;
import 買粉絲.sf.json.JSONObject;
public class CommonUtil {
/
*** 發送買粉絲s請求
* @param requestUrl 請求地址
* @param requestMethod 請求方式(GET、POST)
* @param outputStr 提交的數據
* @return JSONObject(通過JSONObject.get(key)的方式獲取json對象的屬性值)
*/
public static JSONObject 買粉絲sRequest(String requestUrl, String requestMethod, String outputStr) {
JSONObject jsonObject = null;
try {
// 創建SSLContext對象,并使用我們指定的信任管理器初始化
TrustManager[] tm = { new MyX509TrustManager() };
SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());
// 從上述SSLContext對象中得到SSLSocketFactory對象
SSLSocketFactory ssf = sslContext.getSocketFactory();
URL url = new URL(requestUrl);
HttpsURLConnection 買粉絲nn = (HttpsURLConnection) url.openConnection();
買粉絲nn.setSSLSocketFactory(ssf);
買粉絲nn.setDoOutput(true);
買粉絲nn.setDoInput(true);
買粉絲nn.setUseCaches(false);
// 設置請求方式(GET/POST)
買粉絲nn.setRequestMethod(requestMethod);
// 當outputStr不為null時向輸出流寫數據
if (null != outputStr) {
Out