mirror of
https://gitee.com/willfree/min-vpn-client_v2.git
synced 2026-06-03 15:36:14 +08:00
增加登录成功之后自动从VMS同步VPN服务器信息的操作
This commit is contained in:
@@ -20,6 +20,7 @@ import com.pkusz.min_vpn_client.activity.main.MainActivity;
|
||||
import com.pkusz.min_vpn_client.activity.register.RegisterActivity;
|
||||
import com.pkusz.min_vpn_client.activity.setting.SettingActivity;
|
||||
import com.pkusz.min_vpn_client.model.MINVpnSettingAPI;
|
||||
import com.pkusz.min_vpn_client.model.OriginalRequest.OriginalGetVpnInfoRequest;
|
||||
import com.pkusz.min_vpn_client.model.OriginalRequest.OriginalLoginRequest;
|
||||
import com.pkusz.min_vpn_client.utils.AccountValidatorRegexUtil;
|
||||
import com.pkusz.min_vpn_client.utils.Base64Util;
|
||||
@@ -229,6 +230,11 @@ public class LoginActivity extends MINVpnBaseActivity<LoginActivityPresenter>
|
||||
btnLogin.revertAnimation();
|
||||
System.out.println("正在跳转到Main");
|
||||
ContextExtensionKt.jumpTo(this, MainActivity.class);
|
||||
// 尝试与VMS同步VPN信息
|
||||
OriginalGetVpnInfoRequest originalGetVpnInfoRequest=
|
||||
new OriginalGetVpnInfoRequest(rawUsername);
|
||||
mPresenter.syncVpnServersInfo(originalGetVpnInfoRequest);
|
||||
// 关闭activity
|
||||
finish();
|
||||
}
|
||||
|
||||
@@ -237,4 +243,14 @@ public class LoginActivity extends MINVpnBaseActivity<LoginActivityPresenter>
|
||||
showWarning("登录失败: "+errMsg);
|
||||
btnLogin.revertAnimation();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void syncVpnInfoSuccess() {
|
||||
showSuccess("从VMS同步VPN服务器信息成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void syncVpnInfoFailed() {
|
||||
showWarning("从VMS同步VPN服务器信息失败");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ package com.pkusz.min_vpn_client.activity.login;
|
||||
import android.content.Context;
|
||||
|
||||
import com.pkusz.min_vpn_client.activity.base.MINVpnBaseView;
|
||||
import com.pkusz.min_vpn_client.model.OriginalRequest.OriginalGetVpnInfoRequest;
|
||||
import com.pkusz.min_vpn_client.model.OriginalRequest.OriginalLoginRequest;
|
||||
|
||||
import cn.qjm253.quick_android_mvp.base.mvp.BaseModel;
|
||||
@@ -20,21 +21,27 @@ public interface LoginActivityContract {
|
||||
void loginSuccess();
|
||||
void loginSuccess(String successMsg);
|
||||
void loginFailed(String errMsg);
|
||||
void syncVpnInfoSuccess();
|
||||
void syncVpnInfoFailed();
|
||||
}
|
||||
|
||||
interface Model extends BaseModel {
|
||||
void login(OriginalLoginRequest loginRequest);
|
||||
void loginWithSafetyInfo(OriginalLoginRequest loginRequest, Context context);
|
||||
void downloadRegisterFacePicture(String username, OriginalLoginRequest loginRequest, Context context);
|
||||
void syncVpnServersInfo(OriginalGetVpnInfoRequest serverRequest);
|
||||
}
|
||||
|
||||
abstract class Presenter extends BasePresenter<LoginActivityContract.View, LoginActivityContract.Model> {
|
||||
void loginSuccess(){}
|
||||
void loginSuccess(String successMsg){}
|
||||
void loginFailed(String errMsg){}
|
||||
void syncVpnInfoSuccess(){}
|
||||
void syncVpnInfoFailed(){}
|
||||
|
||||
void login(OriginalLoginRequest loginRequest){}
|
||||
void loginWithSafetyInfo(OriginalLoginRequest loginRequest, Context context){}
|
||||
void downloadRegisterFacePicture(String username, OriginalLoginRequest loginRequest, Context context){}
|
||||
void syncVpnServersInfo(OriginalGetVpnInfoRequest serverRequest){}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,9 @@ package com.pkusz.min_vpn_client.activity.login;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.pkusz.min_vpn_client.model.OriginalRequest.OriginalGetVpnInfoRequest;
|
||||
import com.pkusz.min_vpn_client.model.OriginalRequest.OriginalLoginRequest;
|
||||
import com.pkusz.min_vpn_client.model.Response.VpnServerInfoList;
|
||||
import com.pkusz.min_vpn_client.model.VMSRequestAPI;
|
||||
|
||||
import common.LoggerHelper;
|
||||
@@ -23,7 +25,7 @@ public class LoginActivityModel implements LoginActivityContract.Model{
|
||||
|
||||
@Override
|
||||
public void login(OriginalLoginRequest loginRequest) {
|
||||
Integer resCode= VMSRequestAPI.INSTANCE.login(loginRequest);
|
||||
Integer resCode = VMSRequestAPI.INSTANCE.login(loginRequest);
|
||||
if(resCode==null) {
|
||||
mPresenter.loginFailed("登录失败,未成功收到VMS的合法应答");
|
||||
}else if(resCode==200) {
|
||||
@@ -44,4 +46,21 @@ public class LoginActivityModel implements LoginActivityContract.Model{
|
||||
// 废弃接口
|
||||
LoggerHelper.warning("model.downloadRegisterFacePicture: 暂停人脸识别登录功能");
|
||||
}
|
||||
|
||||
/**
|
||||
* 从VMS中获取VPNServer的最新信息。同步到客户端
|
||||
* @param serverRequest
|
||||
*/
|
||||
@Override
|
||||
public void syncVpnServersInfo(OriginalGetVpnInfoRequest serverRequest) {
|
||||
VpnServerInfoList infoList = VMSRequestAPI.INSTANCE.getVPNServerInfoList(serverRequest);
|
||||
if(infoList==null){
|
||||
mPresenter.syncVpnInfoFailed();
|
||||
}else{
|
||||
// todo: 将信息同步到MINVpnSettingAPI
|
||||
|
||||
// 通知界面
|
||||
mPresenter.syncVpnInfoSuccess();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ package com.pkusz.min_vpn_client.activity.login;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.pkusz.min_vpn_client.model.OriginalRequest.OriginalGetVpnInfoRequest;
|
||||
import com.pkusz.min_vpn_client.model.OriginalRequest.OriginalLoginRequest;
|
||||
|
||||
public class LoginActivityPresenter extends LoginActivityContract.Presenter{
|
||||
@@ -32,6 +33,16 @@ public class LoginActivityPresenter extends LoginActivityContract.Presenter{
|
||||
mView.loginFailed(errMsg);
|
||||
}
|
||||
|
||||
@Override
|
||||
void syncVpnInfoSuccess() {
|
||||
mView.syncVpnInfoSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
void syncVpnInfoFailed() {
|
||||
mView.syncVpnInfoFailed();
|
||||
}
|
||||
|
||||
@Override
|
||||
void login(OriginalLoginRequest loginRequest) {
|
||||
mModel.login(loginRequest);
|
||||
@@ -46,4 +57,9 @@ public class LoginActivityPresenter extends LoginActivityContract.Presenter{
|
||||
void downloadRegisterFacePicture(String username, OriginalLoginRequest loginRequest, Context context) {
|
||||
mModel.downloadRegisterFacePicture(username, loginRequest, context);
|
||||
}
|
||||
|
||||
@Override
|
||||
void syncVpnServersInfo(OriginalGetVpnInfoRequest serverRequest) {
|
||||
mModel.syncVpnServersInfo(serverRequest);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user