|
@@ -41,7 +41,7 @@ import com.zskk.util.ErrorConstant;
|
|
|
*/
|
|
|
public class WxaUserApiController extends WxaController {
|
|
|
/**
|
|
|
- * 登陆接口
|
|
|
+ * 使用小程序端获取的code登陆接口
|
|
|
*/
|
|
|
public void login() {
|
|
|
String jsCode = getPara("code");
|
|
@@ -105,6 +105,9 @@ public class WxaUserApiController extends WxaController {
|
|
|
renderJson(new ResultBean(loginBean));
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 使用登陆成功后返回的session字段登陆获取用户信息
|
|
|
+ */
|
|
|
public void loginBySession() {
|
|
|
IAccessTokenCache accessTokenCache = ApiConfigKit.getAccessTokenCache();
|
|
|
// String sessionId = getHeader("wxa-sessionid");
|
|
@@ -217,7 +220,7 @@ public class WxaUserApiController extends WxaController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 服务端解密用户信息接口 获取unionId
|
|
|
+ * 通过小程序返回的加密信息获得手机号后进行登陆
|
|
|
*/
|
|
|
public void phoneLogin() {
|
|
|
|
|
@@ -356,5 +359,39 @@ public class WxaUserApiController extends WxaController {
|
|
|
renderJson(ErrorConstant.ERROR_DOCTOR_NOT_FIND);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解除绑定接口
|
|
|
+ */
|
|
|
+ public void unbind() {
|
|
|
+ IAccessTokenCache accessTokenCache = ApiConfigKit.getAccessTokenCache();
|
|
|
+// String sessionId = getHeader("wxa-sessionid");
|
|
|
+ String sessionId = getPara("wxa-sessionid");
|
|
|
+ if (StrKit.isBlank(sessionId)) {
|
|
|
+ Kv data = Kv.by("errcode", 500).set("errmsg", "wxa_session Header is blank");
|
|
|
+ renderJson(ErrorConstant.ERROR_WXA_SESSION_BLANK);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String sessionJson = accessTokenCache.get("wxa:session:" + sessionId);
|
|
|
+ if (StrKit.isBlank(sessionJson)) {
|
|
|
+ Kv data = Kv.by("errcode", 500).set("errmsg", "wxa_session sessionJson is blank");
|
|
|
+ renderJson(ErrorConstant.ERROR_WXA_SESSION_BLANK);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ ApiResult sessionResult = ApiResult.create(sessionJson);
|
|
|
+ // 获取sessionKey
|
|
|
+ String sessionKey = sessionResult.get("session_key");
|
|
|
+ if (StrKit.isBlank(sessionKey)) {
|
|
|
+ Kv data = Kv.by("errcode", 500).set("errmsg", "sessionKey is blank");
|
|
|
+ renderJson(ErrorConstant.ERROR_WXA_SESSION_BLANK);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ DoctorsWechat doctorsWechat = DoctorsWechat.dao.findFirst("select * from doctors_wechat where wxa_openid=?", sessionResult.get("openid"));
|
|
|
+ doctorsWechat.setDoctorId("");
|
|
|
+ doctorsWechat.setCreateAt(new Date());
|
|
|
+ doctorsWechat.update();
|
|
|
+ accessTokenCache.remove("wxa:session:" + sessionId);
|
|
|
+ renderJson(new ResultBean("Unbind Account Succeed"));
|
|
|
+ }
|
|
|
|
|
|
}
|