From 55a5784c2d3f2f8a69c670294a64e65debaf4c53 Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Fri, 03 Jun 2022 14:38:14 +0000 Subject: [PATCH] 注册 --- app/src/main/java/com/auto/lyric/MainActivity.java | 78 ++++++++++++++++++++++++--------------- app/src/main/java/com/auto/lyric/data/ActiveResult.java | 4 +- app/src/main/java/com/auto/lyric/vm/MainViewModel.java | 5 +- app/src/main/java/com/auto/lyric/data/UserInfo.java | 16 ++++++++ app/src/main/java/com/auto/lyric/retrofit/api/CollectApiCenter.java | 10 ++-- 5 files changed, 73 insertions(+), 40 deletions(-) diff --git a/app/src/main/java/com/auto/lyric/MainActivity.java b/app/src/main/java/com/auto/lyric/MainActivity.java index fa1f3cf..2bee5ac 100644 --- a/app/src/main/java/com/auto/lyric/MainActivity.java +++ b/app/src/main/java/com/auto/lyric/MainActivity.java @@ -17,6 +17,7 @@ import com.auto.lyric.data.ActiveResult; import com.auto.lyric.data.LyricServer; import com.auto.lyric.data.TextBean; +import com.auto.lyric.data.UserInfo; import com.auto.lyric.databinding.ActivityMainBinding; import com.auto.lyric.retrofit.observable.LoadingHttpObserver; import com.auto.lyric.service.AutoInputService; @@ -39,41 +40,24 @@ public void initViews() { Intent floatService = new Intent(getApplicationContext(), FloatingWindowService.class); String key = getStringProjectPrefrence("activeKey"); - ActiveResult result = new Gson().fromJson(key,ActiveResult.class); + UserInfo result = new Gson().fromJson(key,UserInfo.class); try { - if(TextUtils.isEmpty(key) || TextUtils.isEmpty(result.validDate)|| - new Date().getTime() > dateFormat.parse(result.validDate).getTime()){ - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle("软件尚未激活或已过期"); - EditText editText = new EditText(this); - editText.setHint("请输入激活码"); - ViewGroup.MarginLayoutParams params = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); - params.setMargins(DeviceUtil.convertDpToPixel(30,this),DeviceUtil.convertDpToPixel(20,this),DeviceUtil.convertDpToPixel(30,this),0); - editText.setLayoutParams(params); - LinearLayout lin = new LinearLayout(this); - lin.addView(editText); - builder.setView(lin); - builder.setCancelable(false); - AlertDialog dialg = builder.create(); - dialg.setButton(AlertDialog.BUTTON_NEGATIVE,"激活", (dialog, which) -> { - viewModel.checkActive(editText.getText().toString().trim(),new LoadingHttpObserver<ActiveResult>(this) { + if(TextUtils.isEmpty(key) || TextUtils.isEmpty(result.keyDateValid)|| + new Date().getTime() > dateFormat.parse(result.keyDateValid).getTime()){ + activeDialog(); + }else{ - @Override - public void onError(ActiveResult error) { - super.onError(error); - dialg.show(); - } + viewModel.checkActive(result.userId,result.activeKey,new LoadingHttpObserver<ActiveResult>(this) { - @Override - public void onComplete(ActiveResult result) { + @Override + public void onError(ActiveResult error) { + super.onError(error); + } - } - }); + @Override + public void onComplete(ActiveResult result) { + } }); - dialg.setButton(AlertDialog.BUTTON_POSITIVE,"退出程序",(dialog,which) ->{ - System.exit(0); - }); - dialg.show(); } } catch (ParseException e) { e.printStackTrace(); @@ -170,4 +154,38 @@ } + private void activeDialog(){ + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle("软件尚未激活或已过期"); + EditText editText = new EditText(this); + editText.setHint("请输入激活码"); + ViewGroup.MarginLayoutParams params = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + params.setMargins(DeviceUtil.convertDpToPixel(30,this),DeviceUtil.convertDpToPixel(20,this),DeviceUtil.convertDpToPixel(30,this),0); + editText.setLayoutParams(params); + LinearLayout lin = new LinearLayout(this); + lin.addView(editText); + builder.setView(lin); + builder.setCancelable(false); + AlertDialog dialg = builder.create(); + dialg.setButton(AlertDialog.BUTTON_NEGATIVE,"激活", (dialog, which) -> { + viewModel.register(editText.getText().toString().trim(),new LoadingHttpObserver<ActiveResult>(this) { + + @Override + public void onError(ActiveResult error) { + super.onError(error); + dialg.show(); + } + + @Override + public void onComplete(ActiveResult result) { + putStringProjectPrefrence("activeKey",new Gson().toJson(result.userInfo)); + } + }); + }); + dialg.setButton(AlertDialog.BUTTON_POSITIVE,"退出程序",(dialog,which) ->{ + System.exit(0); + }); + dialg.show(); + } + } \ No newline at end of file diff --git a/app/src/main/java/com/auto/lyric/data/ActiveResult.java b/app/src/main/java/com/auto/lyric/data/ActiveResult.java index 5311e27..d2d5e87 100644 --- a/app/src/main/java/com/auto/lyric/data/ActiveResult.java +++ b/app/src/main/java/com/auto/lyric/data/ActiveResult.java @@ -1,9 +1,9 @@ package com.auto.lyric.data; /** + * 用户注册信息 * Created by Runt (qingingrunt2010@qq.com) on 2022/5/29. */ public class ActiveResult extends BaseApiResult{ - public String userID,userClassName,validDate,permission; - public int userClass; + public UserInfo userInfo; } diff --git a/app/src/main/java/com/auto/lyric/data/UserInfo.java b/app/src/main/java/com/auto/lyric/data/UserInfo.java new file mode 100644 index 0000000..adea657 --- /dev/null +++ b/app/src/main/java/com/auto/lyric/data/UserInfo.java @@ -0,0 +1,16 @@ +package com.auto.lyric.data; + +/** + * Created by Runt (qingingrunt2010@qq.com) on 2022/5/29. + */ +public class UserInfo { + + public String userId; + public String phoneID; + public String userDateAdded; + public String activeKey; + public String keyDateValid; + public String className; + public String permission; + +} diff --git a/app/src/main/java/com/auto/lyric/retrofit/api/CollectApiCenter.java b/app/src/main/java/com/auto/lyric/retrofit/api/CollectApiCenter.java index 8b5e706..0be526c 100644 --- a/app/src/main/java/com/auto/lyric/retrofit/api/CollectApiCenter.java +++ b/app/src/main/java/com/auto/lyric/retrofit/api/CollectApiCenter.java @@ -28,7 +28,7 @@ */ @FormUrlEncoded @POST("index.php?route=lrc/favorites/getLrc") - Observable<CollectListResult> getLrcDetail(@Field("lrc_id") int lrc_id); + Observable<CollectListResult> getLrcDetailFromCollect(@Field("lrc_id") int lrc_id); /** * 删除歌词 @@ -36,7 +36,7 @@ */ @FormUrlEncoded @POST("index.php?route=lrc/favorites/delLrc") - Observable<CollectListResult> removeLrc(@Field("lrc_id") int lrc_id); + Observable<CollectListResult> removeLrcFromCollect(@Field("lrc_id") int lrc_id); /** * 添加歌词歌词 @@ -44,7 +44,7 @@ */ @FormUrlEncoded @POST("index.php?route=lrc/favorites/delLrc") - Observable<CollectListResult> addLrc(@Field("lrc_title") String lrc_title,@Field("lrc_text") String lrc_text); + Observable<CollectListResult> addLrcToCollect(@Field("lrc_title") String lrc_title,@Field("lrc_text") String lrc_text); /** * 激活软件 @@ -58,8 +58,8 @@ */ @FormUrlEncoded @POST("index.php?route=lrc/login_check") - Observable<ActiveResult> loginCheck(@Field("activeKey") String activeKey, @Field("ip") String ip, @Field("random") String random, - @Field("timeStamp") long time, @Field("userId") int userId, @Field("sign") String sign); + Observable<ActiveResult> loginCheck(@Field("activeKey") String activeKey, @Field("ip") String ip,@Field("phoneID") String phoneID, @Field("random") String random, + @Field("timeStamp") long time, @Field("userID") String userId, @Field("sign") String sign); /** * 激活软件 diff --git a/app/src/main/java/com/auto/lyric/vm/MainViewModel.java b/app/src/main/java/com/auto/lyric/vm/MainViewModel.java index ad1aad3..e83144f 100644 --- a/app/src/main/java/com/auto/lyric/vm/MainViewModel.java +++ b/app/src/main/java/com/auto/lyric/vm/MainViewModel.java @@ -25,15 +25,14 @@ apiCenter = RetrofitUtils.getInstance().getRetrofit(CollectApiCenter.class); } - public void checkActive(String activeKey,LoadingHttpObserver<ActiveResult> observer){ + public void checkActive(String userId,String activeKey,LoadingHttpObserver<ActiveResult> observer){ String ip = NetWorkUtils.getNetIp(); String random = UUID.randomUUID().toString(); long time = new Date().getTime()/1000; - int userId = 0; String deviceId = DeviceIdUtils.getAndroidId(activity); String sign = String.format("%s%s%s%s%s%s",activeKey,ip,deviceId ,random,time,userId); - Observable<ActiveResult> observable = apiCenter.register(activeKey, ip,deviceId, random, time, userId, SHA1UTIL.MD5(SHA1UTIL.getSHA(sign))); + Observable<ActiveResult> observable = apiCenter.loginCheck(activeKey, ip,deviceId, random, time, userId, SHA1UTIL.MD5(SHA1UTIL.getSHA(sign))); httpObserverOn(observable,observer); } -- Gitblit v1.9.1