diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 04be02dfb..7ba1b54ce 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -78,7 +78,9 @@ jobs: files: ${{ github.workspace }}/apk/*.apk env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Push Assets To "release" Branch + if: ${{ github.actor == 'gedoor' }} run: | cd $GITHUB_WORKSPACE/apk || exit 1 git init @@ -87,11 +89,12 @@ jobs: git checkout -b release git add *.apk git commit -m "${{ env.RELEASE_VERSION }}" - git remote add origin "https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}" + git remote add origin "https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.actor }}/release" git push -f -u origin release - name: Purge Jsdelivr Cache + if: ${{ github.actor == 'gedoor' }} run: | - result=$(curl -s https://purge.jsdelivr.net/gh/${{ github.repository }}@release/) + result=$(curl -s https://purge.jsdelivr.net/gh/${{ github.actor }}/release@release/) if echo $result |grep -q 'success.*true'; then echo "jsdelivr缓存更新成功" else diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3f6441b98..c7738b502 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,7 +5,7 @@ on: branches: - master workflow_dispatch: - + jobs: prepare: runs-on: ubuntu-latest @@ -15,25 +15,25 @@ jobs: lanzou: ${{ steps.check.outputs.lanzou }} telegram: ${{ steps.check.outputs.telegram }} steps: - - id: set-ver - run: | - echo "::set-output name=version::$(date -d "8 hour" -u +3.%y.%m%d%H)" - echo "::set-output name=versionL::$(date -d "8 hour" -u +3.%y.%m%d%H%M)" - - id: check - run: | - if [ ${{ secrets.LANZOU_ID }} ]; then - echo "::set-output name=lanzou::yes" - fi - if [ ${{ secrets.BOT_TOKEN }} ]; then - echo "::set-output name=telegram::yes" - fi - + - id: set-ver + run: | + echo "::set-output name=version::$(date -d "8 hour" -u +3.%y.%m%d%H)" + echo "::set-output name=versionL::$(date -d "8 hour" -u +3.%y.%m%d%H%M)" + - id: check + run: | + if [ ${{ secrets.LANZOU_ID }} ]; then + echo "::set-output name=lanzou::yes" + fi + if [ ${{ secrets.BOT_TOKEN }} ]; then + echo "::set-output name=telegram::yes" + fi + build: needs: prepare strategy: matrix: - product: [app, google] - type: [release, releaseA] + product: [ app, google ] + type: [ release, releaseA ] fail-fast: false runs-on: ubuntu-latest env: @@ -91,7 +91,7 @@ jobs: path: ${{ github.workspace }}/apk/*.apk lanzou: - needs: [prepare, build] + needs: [ prepare, build ] if: ${{ needs.prepare.outputs.lanzou }} runs-on: ubuntu-latest env: @@ -115,8 +115,9 @@ jobs: echo "[$(date -u -d '+8 hour' '+%Y.%m.%d %H:%M:%S')] 分享链接: https://kunfei.lanzoux.com/b0f810h4b" test_Branch: - needs: [prepare, build] + needs: [ prepare, build ] runs-on: ubuntu-latest + if: ${{ github.actor == 'gedoor' }} steps: - uses: actions/checkout@v2 - uses: actions/download-artifact@v2 @@ -133,11 +134,11 @@ jobs: git checkout -b test git add *.apk git commit -m "${{ needs.prepare.outputs.versionL }}" - git remote add origin "https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}" + git remote add origin "https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.actor }}/release" git push -f -u origin test telegram: - needs: [prepare, build] + needs: [ prepare, build ] if: ${{ needs.prepare.outputs.telegram }} runs-on: ubuntu-latest env: diff --git a/README.md b/README.md index 4b0e204cf..5190451ab 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ Legado is a free and open source novel reader for Android. * [Releases](https://github.com/gedoor/legado/releases/latest) * [Google play - $1.99](https://play.google.com/store/apps/details?id=io.legado.play.release) * [Coolapk](https://www.coolapk.com/apk/io.legado.app.release) -* [Jsdelivr](https://cdn.jsdelivr.net/gh/gedoor/legado@release/) +* [Jsdelivr](https://cdn.jsdelivr.net/gh/gedoor/release@release/) * [\#Beta](https://kunfei.lanzoui.com/b0f810h4b) diff --git a/app/src/main/java/io/legado/app/help/CacheManager.kt b/app/src/main/java/io/legado/app/help/CacheManager.kt index 60627ee35..3b5d89bdb 100644 --- a/app/src/main/java/io/legado/app/help/CacheManager.kt +++ b/app/src/main/java/io/legado/app/help/CacheManager.kt @@ -28,6 +28,10 @@ object CacheManager { } } + fun putString2File(key: String, value: String, saveTime: Int = 0) { + ACache.get(appCtx).put(key, value, saveTime) + } + fun get(key: String): String? { return appDb.cacheDao.get(key, System.currentTimeMillis()) } @@ -52,6 +56,10 @@ object CacheManager { return ACache.get(appCtx).getAsBinary(key) } + fun getString(key: String): String? { + return ACache.get(appCtx).getAsString(key) + } + fun getQueryTTF(key: String): QueryTTF? { val cache = queryTTFMap[key] ?: return null if (cache.first == 0L || cache.first > System.currentTimeMillis()) { diff --git a/app/src/main/java/io/legado/app/help/JsExtensions.kt b/app/src/main/java/io/legado/app/help/JsExtensions.kt index adde0e962..69a21ae79 100644 --- a/app/src/main/java/io/legado/app/help/JsExtensions.kt +++ b/app/src/main/java/io/legado/app/help/JsExtensions.kt @@ -138,15 +138,14 @@ interface JsExtensions { * @param saveTime 缓存时间,单位:秒 * @return 返回缓存后的文件内容 */ - fun cacheFile(url: String, saveTime: Int = 0): String? { - val key = md5Encode16(url) - val cache = ACache.get(appCtx).getAsString(key) + fun cacheFile(urlStr: String, saveTime: Int = 0): String? { + val key = md5Encode16(urlStr) + val cache = CacheManager.getString(key) if(cache.isNullOrBlank()) { - log("首次下载${url}...") - val value = ajax(url) ?: "" - if (saveTime == 0) { - ACache.get(appCtx).put(key, value) - } else ACache.get(appCtx).put(key, value, saveTime) + log("首次下载 ${urlStr}") + val value = ajax(urlStr) ?: return null + CacheManager.putString2File(key, value, saveTime) + return value } return cache } diff --git a/app/src/main/java/io/legado/app/utils/ACache.kt b/app/src/main/java/io/legado/app/utils/ACache.kt index 11b448aa6..b900095c3 100644 --- a/app/src/main/java/io/legado/app/utils/ACache.kt +++ b/app/src/main/java/io/legado/app/utils/ACache.kt @@ -109,7 +109,7 @@ class ACache private constructor(cacheDir: File, max_size: Long, max_count: Int) * @param saveTime 保存的时间,单位:秒 */ fun put(key: String, value: String, saveTime: Int) { - put(key, Utils.newStringWithDateInfo(saveTime, value)) + if (saveTime == 0) put(key, value) else put(key, Utils.newStringWithDateInfo(saveTime, value)) } /** @@ -245,7 +245,7 @@ class ACache private constructor(cacheDir: File, max_size: Long, max_count: Int) * @param saveTime 保存的时间,单位:秒 */ fun put(key: String, value: ByteArray, saveTime: Int) { - put(key, Utils.newByteArrayWithDateInfo(saveTime, value)) + if (saveTime == 0) put(key, value) else put(key, Utils.newByteArrayWithDateInfo(saveTime, value)) } /**