From 26196bbc6620ded259fec181e792af4daf2e434d Mon Sep 17 00:00:00 2001 From: fengyuecanzhu <1021300691@qq.com> Date: Sat, 11 Dec 2021 22:18:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E6=94=BE=E7=99=BB=E5=BD=95/=E6=B3=A8?= =?UTF-8?q?=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/release.md | 6 ++-- app/src/main/assets/updatelog.fy | 7 +++++ .../xyz/fycz/myreader/common/URLCONST.java | 15 ++++++---- .../fycz/myreader/model/user/UserService2.kt | 15 +++++----- .../myreader/ui/activity/AuthEmailActivity.kt | 4 --- .../fycz/myreader/util/utils/FileUtils.java | 29 ++++++++++--------- app/version_code.properties | 2 +- 7 files changed, 42 insertions(+), 36 deletions(-) diff --git a/app/release.md b/app/release.md index 8695bb8..e0f4764 100644 --- a/app/release.md +++ b/app/release.md @@ -1,3 +1,3 @@ -* 1、优化搜索键盘自动弹出体验 -* 2、新增书籍内容搜索结果自动保存 -* 3、新增书籍内容搜索结果备份与恢复 \ No newline at end of file +* 1、开放用户登录\注册入口及同步书架(在v1.9.3版本关闭),感谢[@黑白人生]提供的服务器 +* 2、新增邮箱验证(用于找回密码),之前注册的帐号登录时需要绑定邮箱 +* 3、webdav同步书架改为从webdav恢复 \ No newline at end of file diff --git a/app/src/main/assets/updatelog.fy b/app/src/main/assets/updatelog.fy index 601cae6..2689644 100644 --- a/app/src/main/assets/updatelog.fy +++ b/app/src/main/assets/updatelog.fy @@ -1,3 +1,10 @@ +2021.12.11 +风月读书v2.2.8 +更新内容: +1、开放用户登录\注册入口及同步书架(在v1.9.3版本关闭),感谢[@黑白人生]提供的服务器 +2、新增邮箱验证(用于找回密码),之前注册的帐号登录时需要绑定邮箱 +3、webdav同步书架改为从webdav恢复 + 2021.12.07 风月读书v2.2.6 更新内容: diff --git a/app/src/main/java/xyz/fycz/myreader/common/URLCONST.java b/app/src/main/java/xyz/fycz/myreader/common/URLCONST.java index d473fb4..f244c8b 100644 --- a/app/src/main/java/xyz/fycz/myreader/common/URLCONST.java +++ b/app/src/main/java/xyz/fycz/myreader/common/URLCONST.java @@ -4,16 +4,16 @@ import xyz.fycz.myreader.util.SharedPreUtils; public class URLCONST { - public static final String OFFICIAL_WEB = "https://reader.fycz.tk/"; + public static final String OFFICIAL_WEB = "https://reader." + getDefaultDomain() + "/"; public static String APP_DIR_UR = "https://www.lanzous.com/b00ngso7e"; public static String LAN_ZOUS_URL = "https://fycz.lanzoui.com"; //字体下载 - public static final String FONT_DOWNLOAD_URL = "https://novel.fycz.xyz/app/fonts/"; + public static final String FONT_DOWNLOAD_URL = "https://novel." + getDefaultDomain() + "/app/fonts/"; - public static final String APP_WEB_URL = "https://fyreader.fycz.xyz/"; + public static final String APP_WEB_URL = "https://fyreader." + getDefaultDomain() + "/"; public static final String BAI_DU_SEARCH = "https://m.baidu.com/s?word={key}"; @@ -21,10 +21,8 @@ public class URLCONST { public static final String YOU_DAO_SEARCH = "http://m.youdao.com/dict?le=eng&q={key}"; - public static final String DEFAULT_DOMAIN = - SharedPreUtils.getInstance().getString("domain", "fycz.tk"); - public static final String FY_READER_URL = "https://fyreader." + DEFAULT_DOMAIN; + public static final String FY_READER_URL = "https://fyreader." + getDefaultDomain(); public static final String AD_URL = FY_READER_URL + "/ad"; public static final String LOG_UPLOAD_URL = FY_READER_URL + "/logUpload"; @@ -38,5 +36,10 @@ public class URLCONST { public static final String QQ_SKM = DONATE + "/qq_skm.png"; public static final String QUOTATION = "https://v1.hitokoto.cn/?encode=json&charset=utf-8"; + + public static String getDefaultDomain() { + return SharedPreUtils.getInstance().getString("domain", "fycz.tk"); + } + } diff --git a/app/src/main/java/xyz/fycz/myreader/model/user/UserService2.kt b/app/src/main/java/xyz/fycz/myreader/model/user/UserService2.kt index 5e853e5..df37615 100644 --- a/app/src/main/java/xyz/fycz/myreader/model/user/UserService2.kt +++ b/app/src/main/java/xyz/fycz/myreader/model/user/UserService2.kt @@ -1,18 +1,15 @@ package xyz.fycz.myreader.model.user -import io.reactivex.ObservableSource import io.reactivex.Single import io.reactivex.SingleOnSubscribe import io.reactivex.SingleSource import io.reactivex.functions.Function import net.lingala.zip4j.ZipFile -import net.lingala.zip4j.model.UnzipParameters import okhttp3.MediaType import okhttp3.RequestBody import xyz.fycz.myreader.application.App import xyz.fycz.myreader.common.APPCONST import xyz.fycz.myreader.common.URLCONST -import xyz.fycz.myreader.entity.StrResponse import xyz.fycz.myreader.model.storage.Backup import xyz.fycz.myreader.model.storage.Restore import xyz.fycz.myreader.model.storage.Restore.restore @@ -25,13 +22,14 @@ import java.io.File import net.lingala.zip4j.model.enums.EncryptionMethod import net.lingala.zip4j.model.ZipParameters - +import xyz.fycz.myreader.base.observer.MySingleObserver /** * @author fengyue * @date 2021/12/9 10:17 */ object UserService2 { + fun login(user: User): Single { return Single.create(SingleOnSubscribe { val mediaType = MediaType.parse("application/x-www-form-urlencoded") @@ -112,12 +110,13 @@ object UserService2 { isEncryptFiles = true encryptionMethod = EncryptionMethod.AES } + var zipFile = File(APPCONST.FILE_DIR + "webBackup.zip") + if (zipFile.exists()) zipFile.delete() ZipFile( APPCONST.FILE_DIR + "webBackup.zip", CyptoUtils.decode(APPCONST.KEY, user.password).toCharArray() - ) - .addFolder(inputFile, zipParameters) - val zipFile = FileUtils.getFile(APPCONST.FILE_DIR + "webBackup.zip") + ).addFolder(inputFile, zipParameters) + zipFile = FileUtils.getFile(APPCONST.FILE_DIR + "webBackup.zip") FileUtils.deleteFile(inputFile.absolutePath) val ret = OkHttpUtils.upload( URLCONST.USER_URL + "/do/bak?" + @@ -126,7 +125,7 @@ object UserService2 { zipFile.absolutePath, zipFile.name ) - zipFile.delete() + if (!App.isDebug()) zipFile.delete() it.onSuccess(GSON.fromJson(ret, Result::class.java)) } }).compose { RxUtils.toSimpleSingle(it) } diff --git a/app/src/main/java/xyz/fycz/myreader/ui/activity/AuthEmailActivity.kt b/app/src/main/java/xyz/fycz/myreader/ui/activity/AuthEmailActivity.kt index 014ce1c..e410e68 100644 --- a/app/src/main/java/xyz/fycz/myreader/ui/activity/AuthEmailActivity.kt +++ b/app/src/main/java/xyz/fycz/myreader/ui/activity/AuthEmailActivity.kt @@ -1,7 +1,6 @@ package xyz.fycz.myreader.ui.activity import android.app.Activity -import android.content.Intent import android.os.Bundle import android.text.Editable import android.view.View @@ -18,12 +17,9 @@ import xyz.fycz.myreader.common.APPCONST import xyz.fycz.myreader.databinding.ActivityAuthEmailBinding import xyz.fycz.myreader.model.user.Result import xyz.fycz.myreader.model.user.User -import xyz.fycz.myreader.model.user.UserService2 import xyz.fycz.myreader.model.user.UserService2.bindEmail -import xyz.fycz.myreader.model.user.UserService2.register import xyz.fycz.myreader.model.user.UserService2.resetPwd import xyz.fycz.myreader.model.user.UserService2.sendEmail -import xyz.fycz.myreader.model.user.UserService2.writeUsername import xyz.fycz.myreader.ui.dialog.DialogCreator import xyz.fycz.myreader.ui.dialog.LoadingDialog import xyz.fycz.myreader.util.CyptoUtils diff --git a/app/src/main/java/xyz/fycz/myreader/util/utils/FileUtils.java b/app/src/main/java/xyz/fycz/myreader/util/utils/FileUtils.java index 9097de5..be9255e 100644 --- a/app/src/main/java/xyz/fycz/myreader/util/utils/FileUtils.java +++ b/app/src/main/java/xyz/fycz/myreader/util/utils/FileUtils.java @@ -209,19 +209,16 @@ public class FileUtils { //获取文件夹 File[] dirs = file.listFiles( - new FileFilter() { - @Override - public boolean accept(File pathname) { - if (pathname.isDirectory() && !pathname.getName().startsWith(".")) { - return true; - } - //获取txt文件 - else if (pathname.getName().endsWith(".txt")) { - txtFiles.add(pathname); - return false; - } else { - return false; - } + pathname -> { + if (pathname.isDirectory() && !pathname.getName().startsWith(".")) { + return true; + } + //获取txt文件 + else if (pathname.getName().endsWith(".txt")) { + txtFiles.add(pathname); + return false; + } else { + return false; } } ); @@ -316,10 +313,14 @@ public class FileUtils { public static void write(Context context, String fileName, String content) { if (content == null) content = ""; + write(context, fileName, content.getBytes()); + } + + public static void write(Context context, String fileName, byte[] content) { try { FileOutputStream fos = context.openFileOutput(fileName, Context.MODE_PRIVATE); - fos.write(content.getBytes()); + fos.write(content); fos.close(); } catch (Exception e) { e.printStackTrace(); diff --git a/app/version_code.properties b/app/version_code.properties index 4a42426..e960128 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,3 +1,3 @@ #Fri Jun 18 21:45:31 CST 2021 -VERSION_CODE=227 +VERSION_CODE=228 NEED_CREATE_RELEASE=false