Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3871dc8677 | |||
| 72dc9b238f | |||
| edf158028e | |||
| e21b59b9b1 | |||
| 4c10a53229 |
@@ -1,3 +1,5 @@
|
|||||||
|
@file:Suppress("UnstableApiUsage")
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
alias(libs.plugins.android.application)
|
alias(libs.plugins.android.application)
|
||||||
alias(libs.plugins.kotlin.android)
|
alias(libs.plugins.kotlin.android)
|
||||||
@@ -5,12 +7,13 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "com.example.fireflypsandorid"
|
namespace = "com.example.firefly_go_android"
|
||||||
compileSdk = 35
|
compileSdk = 36
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "com.example.fireflypsandorid"
|
applicationId = "com.example.firefly_go_android"
|
||||||
minSdk = 24
|
minSdk = 24
|
||||||
|
//noinspection OldTargetApi
|
||||||
targetSdk = 35
|
targetSdk = 35
|
||||||
versionCode = 1
|
versionCode = 1
|
||||||
versionName = "1.0"
|
versionName = "1.0"
|
||||||
@@ -44,42 +47,44 @@ android {
|
|||||||
composeOptions {
|
composeOptions {
|
||||||
kotlinCompilerExtensionVersion = "1.5.0"
|
kotlinCompilerExtensionVersion = "1.5.0"
|
||||||
}
|
}
|
||||||
|
buildToolsVersion = "36.0.0"
|
||||||
|
ndkVersion = "27.2.12479018"
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("androidx.core:core-ktx:1.13.0")
|
implementation(libs.androidx.core.ktx)
|
||||||
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.9.3")
|
implementation(libs.androidx.lifecycle.runtime.ktx.v293)
|
||||||
implementation("androidx.activity:activity-compose:1.10.1")
|
implementation(libs.androidx.activity.compose.v1101)
|
||||||
// Compose UI
|
// Compose UI
|
||||||
implementation("androidx.compose.ui:ui:1.9.0")
|
implementation(libs.ui)
|
||||||
implementation("androidx.compose.ui:ui-graphics:1.9.0")
|
implementation(libs.ui.graphics)
|
||||||
implementation("androidx.compose.ui:ui-tooling-preview:1.9.0")
|
implementation(libs.ui.tooling.preview)
|
||||||
|
|
||||||
// Foundation & Animation
|
// Foundation & Animation
|
||||||
implementation("androidx.compose.foundation:foundation:1.9.0")
|
implementation(libs.androidx.foundation)
|
||||||
implementation("androidx.compose.animation:animation:1.9.0")
|
implementation(libs.androidx.animation)
|
||||||
implementation("androidx.compose.animation:animation-core:1.9.0")
|
implementation(libs.androidx.animation.core)
|
||||||
|
|
||||||
// Material & Material3
|
// Material & Material3
|
||||||
implementation("androidx.compose.material:material:1.9.0")
|
implementation(libs.androidx.material)
|
||||||
implementation("androidx.compose.material:material-icons-extended:1.7.8")
|
implementation(libs.androidx.material.icons.extended)
|
||||||
implementation("androidx.compose.material3:material3:1.3.2")
|
implementation(libs.material3)
|
||||||
implementation("androidx.compose.material3:material3-window-size-class:1.3.2")
|
implementation(libs.androidx.material3.window.size.class1)
|
||||||
|
|
||||||
// Auto updater library
|
// Auto updater library
|
||||||
implementation("com.github.CSAbhiOnline:AutoUpdater:1.0.1")
|
implementation(libs.autoupdater)
|
||||||
|
|
||||||
// Unit Test
|
// Unit Test
|
||||||
testImplementation(libs.junit)
|
testImplementation(libs.junit)
|
||||||
|
|
||||||
// Android Instrumentation Test
|
// Android Instrumentation Test
|
||||||
androidTestImplementation("androidx.test.ext:junit:1.3.0")
|
androidTestImplementation(libs.androidx.junit.v130)
|
||||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.7.0")
|
androidTestImplementation(libs.androidx.espresso.core.v370)
|
||||||
androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.9.0")
|
androidTestImplementation(libs.ui.test.junit4)
|
||||||
|
|
||||||
// Debug
|
// Debug
|
||||||
debugImplementation("androidx.compose.ui:ui-tooling:1.9.0")
|
debugImplementation(libs.ui.tooling)
|
||||||
debugImplementation("androidx.compose.ui:ui-test-manifest:1.9.0")
|
debugImplementation(libs.ui.test.manifest)
|
||||||
|
|
||||||
// Local AAR library
|
// Local AAR library
|
||||||
implementation(files("../library/firefly-go.aar"))
|
implementation(files("../library/firefly-go.aar"))
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.example.fireflypsandorid
|
package com.example.firefly_go_android
|
||||||
|
|
||||||
import androidx.test.platform.app.InstrumentationRegistry
|
import androidx.test.platform.app.InstrumentationRegistry
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.example.fireflypsandorid
|
package com.example.firefly_go_android
|
||||||
|
|
||||||
import android.app.NotificationChannel
|
import android.app.NotificationChannel
|
||||||
import android.app.NotificationManager
|
import android.app.NotificationManager
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.example.fireflypsandorid
|
package com.example.firefly_go_android
|
||||||
|
|
||||||
import AutoUpdaterManager
|
import AutoUpdaterManager
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
@@ -24,7 +24,7 @@ import androidx.compose.ui.text.font.FontWeight
|
|||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import com.example.autoupdater.UpdateFeatures
|
import com.example.autoupdater.UpdateFeatures
|
||||||
import com.example.fireflypsandorid.ui.theme.FireflyPsAndoridTheme
|
import com.example.firefly_go_android.ui.theme.FireflyPsAndoridTheme
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
@@ -34,7 +34,6 @@ import androidx.compose.animation.core.*
|
|||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.items
|
|
||||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.example.fireflypsandorid.ui.theme
|
package com.example.firefly_go_android.ui.theme
|
||||||
|
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
|
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.example.fireflypsandorid.ui.theme
|
package com.example.firefly_go_android.ui.theme
|
||||||
|
|
||||||
import android.app.Activity
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import androidx.compose.foundation.isSystemInDarkTheme
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.example.fireflypsandorid.ui.theme
|
package com.example.firefly_go_android.ui.theme
|
||||||
|
|
||||||
import androidx.compose.material3.Typography
|
import androidx.compose.material3.Typography
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"latest_version": "3.5.4-01",
|
"latest_version": "3.6.2-02",
|
||||||
"changelog": "UPDATE: Update for v4",
|
"changelog": "UPDATE: Fix env",
|
||||||
"apk_url": "https://git.kain.io.vn/Firefly-Shelter/FireflyGo_Andoid/releases/download/3.5.4-01/firefly_go_android.apk"
|
"apk_url": "https://git.kain.io.vn/Firefly-Shelter/FireflyGo_Android/releases/download/3.6.2-02/firefly_go_android.apk"
|
||||||
}
|
}
|
||||||
@@ -7,16 +7,19 @@
|
|||||||
"3": 1407
|
"3": 1407
|
||||||
},
|
},
|
||||||
"position": {
|
"position": {
|
||||||
"x": -4030,
|
"x": -30,
|
||||||
"z": -13006,
|
"z": -22750,
|
||||||
"y": 0,
|
"y": -15000,
|
||||||
"rot_y": 270000
|
"rot_y": 234288
|
||||||
},
|
},
|
||||||
"scene": {
|
"scene": {
|
||||||
"plane_id": 10000,
|
"plane_id": 10000,
|
||||||
"floor_id": 10000000,
|
"floor_id": 10000003,
|
||||||
"entry_id": 100000104
|
"entry_id": 100000352
|
||||||
},
|
},
|
||||||
|
"player_outfit": [
|
||||||
|
1001
|
||||||
|
],
|
||||||
"char_path": {
|
"char_path": {
|
||||||
"main": 8008,
|
"main": 8008,
|
||||||
"march_7": 1224
|
"march_7": 1224
|
||||||
@@ -32,7 +35,7 @@
|
|||||||
"skip_half": 0,
|
"skip_half": 0,
|
||||||
"blessings": [],
|
"blessings": [],
|
||||||
"is_in_challenge": false,
|
"is_in_challenge": false,
|
||||||
"current_stage_id": 30117121,
|
"current_stage_id": 30118121,
|
||||||
"path_resonance_id": 0,
|
"path_resonance_id": 0,
|
||||||
"maze_buff": 0,
|
"maze_buff": 0,
|
||||||
"first_lineup": [],
|
"first_lineup": [],
|
||||||
@@ -40,7 +43,7 @@
|
|||||||
},
|
},
|
||||||
"challenge_peak": {
|
"challenge_peak": {
|
||||||
"current_mode": "Knight",
|
"current_mode": "Knight",
|
||||||
"group_id": 1,
|
"group_id": 2,
|
||||||
"is_in_challenge_peak": false,
|
"is_in_challenge_peak": false,
|
||||||
"challenge_peak_data": {
|
"challenge_peak_data": {
|
||||||
"1": {
|
"1": {
|
||||||
@@ -91,6 +94,52 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"checkmate_data": {
|
||||||
|
"challenge_id": 204,
|
||||||
|
"blessing": 3033021,
|
||||||
|
"lineup": [
|
||||||
|
1415,
|
||||||
|
1413,
|
||||||
|
1409,
|
||||||
|
1407
|
||||||
|
],
|
||||||
|
"stage_id": 30502022,
|
||||||
|
"is_hard_mode": true
|
||||||
|
},
|
||||||
|
"knight_data": {
|
||||||
|
"current_challenge_id": 203,
|
||||||
|
"details_data": [
|
||||||
|
{
|
||||||
|
"lineup": [
|
||||||
|
1302,
|
||||||
|
1309,
|
||||||
|
1410
|
||||||
|
],
|
||||||
|
"stage_id": 30502011,
|
||||||
|
"challenge_id": 201
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"lineup": [
|
||||||
|
1221,
|
||||||
|
1222
|
||||||
|
],
|
||||||
|
"stage_id": 30502012,
|
||||||
|
"challenge_id": 202
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"lineup": [
|
||||||
|
1415,
|
||||||
|
8001,
|
||||||
|
1414,
|
||||||
|
1313
|
||||||
|
],
|
||||||
|
"stage_id": 30502013,
|
||||||
|
"challenge_id": 203
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -338,19 +338,27 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 80,
|
"level": 80,
|
||||||
"item_id": 21050,
|
"item_id": 23052,
|
||||||
"equip_avatar": 8007,
|
"equip_avatar": 1415,
|
||||||
"rank": 5,
|
"rank": 1,
|
||||||
"promotion": 6,
|
"promotion": 6,
|
||||||
"internal_uid": 42
|
"internal_uid": 42
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 80,
|
"level": 80,
|
||||||
"item_id": 24005,
|
"item_id": 21050,
|
||||||
"equip_avatar": 8008,
|
"equip_avatar": 8007,
|
||||||
"rank": 5,
|
"rank": 5,
|
||||||
"promotion": 6,
|
"promotion": 6,
|
||||||
"internal_uid": 43
|
"internal_uid": 43
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 80,
|
||||||
|
"item_id": 22006,
|
||||||
|
"equip_avatar": 8008,
|
||||||
|
"rank": 5,
|
||||||
|
"promotion": 6,
|
||||||
|
"internal_uid": 44
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"relics": [
|
"relics": [
|
||||||
@@ -8096,8 +8104,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 15,
|
"level": 15,
|
||||||
"relic_id": 61101,
|
"relic_id": 61281,
|
||||||
"relic_set_id": 110,
|
"relic_set_id": 128,
|
||||||
"main_affix_id": 1,
|
"main_affix_id": 1,
|
||||||
"sub_affixes": [
|
"sub_affixes": [
|
||||||
{
|
{
|
||||||
@@ -8126,8 +8134,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 15,
|
"level": 15,
|
||||||
"relic_id": 61102,
|
"relic_id": 61282,
|
||||||
"relic_set_id": 110,
|
"relic_set_id": 128,
|
||||||
"main_affix_id": 1,
|
"main_affix_id": 1,
|
||||||
"sub_affixes": [
|
"sub_affixes": [
|
||||||
{
|
{
|
||||||
@@ -8156,9 +8164,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 15,
|
"level": 15,
|
||||||
"relic_id": 61103,
|
"relic_id": 61283,
|
||||||
"relic_set_id": 110,
|
"relic_set_id": 128,
|
||||||
"main_affix_id": 3,
|
"main_affix_id": 2,
|
||||||
"sub_affixes": [
|
"sub_affixes": [
|
||||||
{
|
{
|
||||||
"sub_affix_id": 2,
|
"sub_affix_id": 2,
|
||||||
@@ -8186,8 +8194,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 15,
|
"level": 15,
|
||||||
"relic_id": 61104,
|
"relic_id": 61284,
|
||||||
"relic_set_id": 110,
|
"relic_set_id": 128,
|
||||||
"main_affix_id": 4,
|
"main_affix_id": 4,
|
||||||
"sub_affixes": [
|
"sub_affixes": [
|
||||||
{
|
{
|
||||||
@@ -8216,9 +8224,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 15,
|
"level": 15,
|
||||||
"relic_id": 63085,
|
"relic_id": 63175,
|
||||||
"relic_set_id": 308,
|
"relic_set_id": 317,
|
||||||
"main_affix_id": 3,
|
"main_affix_id": 2,
|
||||||
"sub_affixes": [
|
"sub_affixes": [
|
||||||
{
|
{
|
||||||
"sub_affix_id": 3,
|
"sub_affix_id": 3,
|
||||||
@@ -8246,13 +8254,193 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 15,
|
"level": 15,
|
||||||
"relic_id": 63086,
|
"relic_id": 63176,
|
||||||
"relic_set_id": 308,
|
"relic_set_id": 317,
|
||||||
"main_affix_id": 2,
|
"main_affix_id": 2,
|
||||||
"sub_affixes": [
|
"sub_affixes": [
|
||||||
{
|
{
|
||||||
"sub_affix_id": 3,
|
"sub_affix_id": 3,
|
||||||
"count": 2,
|
"count": 2,
|
||||||
|
"step": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 7,
|
||||||
|
"count": 3,
|
||||||
|
"step": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 2,
|
||||||
|
"count": 2,
|
||||||
|
"step": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 5,
|
||||||
|
"count": 2,
|
||||||
|
"step": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internal_uid": 263,
|
||||||
|
"equip_avatar": 1414
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 15,
|
||||||
|
"relic_id": 61271,
|
||||||
|
"relic_set_id": 127,
|
||||||
|
"main_affix_id": 1,
|
||||||
|
"sub_affixes": [
|
||||||
|
{
|
||||||
|
"sub_affix_id": 7,
|
||||||
|
"count": 3,
|
||||||
|
"step": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 4,
|
||||||
|
"count": 2,
|
||||||
|
"step": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 8,
|
||||||
|
"count": 2,
|
||||||
|
"step": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 9,
|
||||||
|
"count": 2,
|
||||||
|
"step": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internal_uid": 264,
|
||||||
|
"equip_avatar": 1415
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 15,
|
||||||
|
"relic_id": 61272,
|
||||||
|
"relic_set_id": 127,
|
||||||
|
"main_affix_id": 1,
|
||||||
|
"sub_affixes": [
|
||||||
|
{
|
||||||
|
"sub_affix_id": 7,
|
||||||
|
"count": 3,
|
||||||
|
"step": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 8,
|
||||||
|
"count": 2,
|
||||||
|
"step": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 4,
|
||||||
|
"count": 3,
|
||||||
|
"step": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 9,
|
||||||
|
"count": 1,
|
||||||
|
"step": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internal_uid": 265,
|
||||||
|
"equip_avatar": 1415
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 15,
|
||||||
|
"relic_id": 61273,
|
||||||
|
"relic_set_id": 127,
|
||||||
|
"main_affix_id": 5,
|
||||||
|
"sub_affixes": [
|
||||||
|
{
|
||||||
|
"sub_affix_id": 8,
|
||||||
|
"count": 2,
|
||||||
|
"step": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 4,
|
||||||
|
"count": 3,
|
||||||
|
"step": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 1,
|
||||||
|
"count": 2,
|
||||||
|
"step": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 12,
|
||||||
|
"count": 2,
|
||||||
|
"step": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internal_uid": 266,
|
||||||
|
"equip_avatar": 1415
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 15,
|
||||||
|
"relic_id": 61274,
|
||||||
|
"relic_set_id": 127,
|
||||||
|
"main_affix_id": 4,
|
||||||
|
"sub_affixes": [
|
||||||
|
{
|
||||||
|
"sub_affix_id": 4,
|
||||||
|
"count": 3,
|
||||||
|
"step": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 8,
|
||||||
|
"count": 2,
|
||||||
|
"step": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 9,
|
||||||
|
"count": 2,
|
||||||
|
"step": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 1,
|
||||||
|
"count": 2,
|
||||||
|
"step": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internal_uid": 267,
|
||||||
|
"equip_avatar": 1415
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 15,
|
||||||
|
"relic_id": 63235,
|
||||||
|
"relic_set_id": 323,
|
||||||
|
"main_affix_id": 6,
|
||||||
|
"sub_affixes": [
|
||||||
|
{
|
||||||
|
"sub_affix_id": 9,
|
||||||
|
"count": 5,
|
||||||
|
"step": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 8,
|
||||||
|
"count": 1,
|
||||||
|
"step": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 7,
|
||||||
|
"count": 2,
|
||||||
|
"step": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 4,
|
||||||
|
"count": 1,
|
||||||
|
"step": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internal_uid": 268,
|
||||||
|
"equip_avatar": 1415
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 15,
|
||||||
|
"relic_id": 63236,
|
||||||
|
"relic_set_id": 323,
|
||||||
|
"main_affix_id": 3,
|
||||||
|
"sub_affixes": [
|
||||||
|
{
|
||||||
|
"sub_affix_id": 8,
|
||||||
|
"count": 2,
|
||||||
"step": 4
|
"step": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -8262,17 +8450,17 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sub_affix_id": 9,
|
"sub_affix_id": 9,
|
||||||
"count": 2,
|
"count": 3,
|
||||||
"step": 2
|
"step": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sub_affix_id": 10,
|
"sub_affix_id": 1,
|
||||||
"count": 2,
|
"count": 2,
|
||||||
"step": 2
|
"step": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"internal_uid": 263,
|
"internal_uid": 269,
|
||||||
"equip_avatar": 1414
|
"equip_avatar": 1415
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 15,
|
"level": 15,
|
||||||
@@ -8301,7 +8489,7 @@
|
|||||||
"step": 2
|
"step": 2
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"internal_uid": 264,
|
"internal_uid": 270,
|
||||||
"equip_avatar": 8007
|
"equip_avatar": 8007
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -8331,7 +8519,7 @@
|
|||||||
"step": 2
|
"step": 2
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"internal_uid": 265,
|
"internal_uid": 271,
|
||||||
"equip_avatar": 8007
|
"equip_avatar": 8007
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -8361,7 +8549,7 @@
|
|||||||
"step": 0
|
"step": 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"internal_uid": 266,
|
"internal_uid": 272,
|
||||||
"equip_avatar": 8007
|
"equip_avatar": 8007
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -8391,7 +8579,7 @@
|
|||||||
"step": 2
|
"step": 2
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"internal_uid": 267,
|
"internal_uid": 273,
|
||||||
"equip_avatar": 8007
|
"equip_avatar": 8007
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -8421,7 +8609,7 @@
|
|||||||
"step": 2
|
"step": 2
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"internal_uid": 268,
|
"internal_uid": 274,
|
||||||
"equip_avatar": 8007
|
"equip_avatar": 8007
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -8451,187 +8639,187 @@
|
|||||||
"step": 2
|
"step": 2
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"internal_uid": 269,
|
"internal_uid": 275,
|
||||||
"equip_avatar": 8007
|
"equip_avatar": 8007
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 15,
|
"level": 15,
|
||||||
"relic_id": 61101,
|
"relic_id": 61271,
|
||||||
"relic_set_id": 110,
|
"relic_set_id": 127,
|
||||||
"main_affix_id": 1,
|
"main_affix_id": 1,
|
||||||
"sub_affixes": [
|
"sub_affixes": [
|
||||||
{
|
{
|
||||||
"sub_affix_id": 2,
|
"sub_affix_id": 5,
|
||||||
"count": 2,
|
"count": 3,
|
||||||
"step": 3
|
"step": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sub_affix_id": 7,
|
"sub_affix_id": 7,
|
||||||
"count": 1,
|
"count": 2,
|
||||||
"step": 1
|
"step": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sub_affix_id": 11,
|
"sub_affix_id": 8,
|
||||||
"count": 2,
|
"count": 1,
|
||||||
"step": 1
|
"step": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sub_affix_id": 9,
|
"sub_affix_id": 9,
|
||||||
"count": 4,
|
"count": 3,
|
||||||
"step": 4
|
"step": 4
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"internal_uid": 270,
|
"internal_uid": 276,
|
||||||
"equip_avatar": 8008
|
"equip_avatar": 8008
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 15,
|
"level": 15,
|
||||||
"relic_id": 61102,
|
"relic_id": 61272,
|
||||||
"relic_set_id": 110,
|
"relic_set_id": 127,
|
||||||
"main_affix_id": 1,
|
"main_affix_id": 1,
|
||||||
"sub_affixes": [
|
"sub_affixes": [
|
||||||
{
|
{
|
||||||
"sub_affix_id": 6,
|
"sub_affix_id": 5,
|
||||||
"count": 2,
|
"count": 4,
|
||||||
"step": 3
|
"step": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sub_affix_id": 7,
|
"sub_affix_id": 7,
|
||||||
"count": 3,
|
"count": 2,
|
||||||
"step": 2
|
"step": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sub_affix_id": 9,
|
"sub_affix_id": 9,
|
||||||
"count": 2,
|
"count": 2,
|
||||||
"step": 2
|
"step": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sub_affix_id": 11,
|
"sub_affix_id": 8,
|
||||||
"count": 2,
|
"count": 1,
|
||||||
"step": 2
|
"step": 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"internal_uid": 271,
|
"internal_uid": 277,
|
||||||
"equip_avatar": 8008
|
"equip_avatar": 8008
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level": 15,
|
"level": 15,
|
||||||
"relic_id": 61103,
|
"relic_id": 61273,
|
||||||
"relic_set_id": 110,
|
"relic_set_id": 127,
|
||||||
"main_affix_id": 5,
|
"main_affix_id": 5,
|
||||||
"sub_affixes": [
|
"sub_affixes": [
|
||||||
{
|
{
|
||||||
"sub_affix_id": 4,
|
"sub_affix_id": 4,
|
||||||
"count": 3,
|
"count": 3,
|
||||||
|
"step": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 5,
|
||||||
|
"count": 3,
|
||||||
|
"step": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 7,
|
||||||
|
"count": 2,
|
||||||
|
"step": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 8,
|
||||||
|
"count": 1,
|
||||||
|
"step": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internal_uid": 278,
|
||||||
|
"equip_avatar": 8008
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 15,
|
||||||
|
"relic_id": 61274,
|
||||||
|
"relic_set_id": 127,
|
||||||
|
"main_affix_id": 4,
|
||||||
|
"sub_affixes": [
|
||||||
|
{
|
||||||
|
"sub_affix_id": 5,
|
||||||
|
"count": 3,
|
||||||
|
"step": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 9,
|
||||||
|
"count": 3,
|
||||||
|
"step": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 8,
|
||||||
|
"count": 2,
|
||||||
"step": 3
|
"step": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sub_affix_id": 1,
|
"sub_affix_id": 11,
|
||||||
"count": 1,
|
"count": 1,
|
||||||
"step": 1
|
"step": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internal_uid": 279,
|
||||||
|
"equip_avatar": 8008
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 15,
|
||||||
|
"relic_id": 63215,
|
||||||
|
"relic_set_id": 321,
|
||||||
|
"main_affix_id": 6,
|
||||||
|
"sub_affixes": [
|
||||||
|
{
|
||||||
|
"sub_affix_id": 5,
|
||||||
|
"count": 3,
|
||||||
|
"step": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 9,
|
||||||
|
"count": 3,
|
||||||
|
"step": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 7,
|
||||||
|
"count": 2,
|
||||||
|
"step": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sub_affix_id": 8,
|
||||||
|
"count": 1,
|
||||||
|
"step": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internal_uid": 280,
|
||||||
|
"equip_avatar": 8008
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 15,
|
||||||
|
"relic_id": 63216,
|
||||||
|
"relic_set_id": 321,
|
||||||
|
"main_affix_id": 2,
|
||||||
|
"sub_affixes": [
|
||||||
|
{
|
||||||
|
"sub_affix_id": 5,
|
||||||
|
"count": 2,
|
||||||
|
"step": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sub_affix_id": 7,
|
"sub_affix_id": 7,
|
||||||
"count": 3,
|
"count": 3,
|
||||||
"step": 4
|
"step": 4
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"sub_affix_id": 11,
|
|
||||||
"count": 2,
|
|
||||||
"step": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"internal_uid": 272,
|
|
||||||
"equip_avatar": 8008
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": 15,
|
|
||||||
"relic_id": 61104,
|
|
||||||
"relic_set_id": 110,
|
|
||||||
"main_affix_id": 4,
|
|
||||||
"sub_affixes": [
|
|
||||||
{
|
|
||||||
"sub_affix_id": 1,
|
|
||||||
"count": 2,
|
|
||||||
"step": 3
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"sub_affix_id": 9,
|
"sub_affix_id": 9,
|
||||||
"count": 3,
|
"count": 1,
|
||||||
"step": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sub_affix_id": 10,
|
|
||||||
"count": 2,
|
|
||||||
"step": 2
|
"step": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sub_affix_id": 11,
|
"sub_affix_id": 8,
|
||||||
"count": 1,
|
|
||||||
"step": 1
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"internal_uid": 273,
|
|
||||||
"equip_avatar": 8008
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": 15,
|
|
||||||
"relic_id": 63105,
|
|
||||||
"relic_set_id": 310,
|
|
||||||
"main_affix_id": 1,
|
|
||||||
"sub_affixes": [
|
|
||||||
{
|
|
||||||
"sub_affix_id": 3,
|
|
||||||
"count": 2,
|
|
||||||
"step": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sub_affix_id": 9,
|
|
||||||
"count": 1,
|
|
||||||
"step": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sub_affix_id": 7,
|
|
||||||
"count": 3,
|
|
||||||
"step": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sub_affix_id": 11,
|
|
||||||
"count": 3,
|
"count": 3,
|
||||||
"step": 3
|
"step": 3
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"internal_uid": 274,
|
"internal_uid": 281,
|
||||||
"equip_avatar": 8008
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": 15,
|
|
||||||
"relic_id": 63106,
|
|
||||||
"relic_set_id": 310,
|
|
||||||
"main_affix_id": 2,
|
|
||||||
"sub_affixes": [
|
|
||||||
{
|
|
||||||
"sub_affix_id": 5,
|
|
||||||
"count": 1,
|
|
||||||
"step": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sub_affix_id": 7,
|
|
||||||
"count": 3,
|
|
||||||
"step": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sub_affix_id": 9,
|
|
||||||
"count": 2,
|
|
||||||
"step": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sub_affix_id": 11,
|
|
||||||
"count": 2,
|
|
||||||
"step": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"internal_uid": 275,
|
|
||||||
"equip_avatar": 8008
|
"equip_avatar": 8008
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -10518,7 +10706,7 @@
|
|||||||
"owner_uid": 0,
|
"owner_uid": 0,
|
||||||
"avatar_id": 1313,
|
"avatar_id": 1313,
|
||||||
"data": {
|
"data": {
|
||||||
"rank": 0,
|
"rank": 2,
|
||||||
"skills": {
|
"skills": {
|
||||||
"1313001": 2,
|
"1313001": 2,
|
||||||
"1313002": 10,
|
"1313002": 10,
|
||||||
@@ -11045,12 +11233,12 @@
|
|||||||
"owner_uid": 0,
|
"owner_uid": 0,
|
||||||
"avatar_id": 1414,
|
"avatar_id": 1414,
|
||||||
"data": {
|
"data": {
|
||||||
"rank": 5,
|
"rank": 2,
|
||||||
"skills": {
|
"skills": {
|
||||||
"1414001": 1,
|
"1414001": 6,
|
||||||
"1414002": 1,
|
"1414002": 10,
|
||||||
"1414003": 1,
|
"1414003": 10,
|
||||||
"1414004": 1,
|
"1414004": 10,
|
||||||
"1414007": 1,
|
"1414007": 1,
|
||||||
"1414101": 1,
|
"1414101": 1,
|
||||||
"1414102": 1,
|
"1414102": 1,
|
||||||
@@ -11077,6 +11265,40 @@
|
|||||||
"sp_value": 70,
|
"sp_value": 70,
|
||||||
"sp_max": 140
|
"sp_max": 140
|
||||||
},
|
},
|
||||||
|
"1415": {
|
||||||
|
"owner_uid": 0,
|
||||||
|
"avatar_id": 1415,
|
||||||
|
"data": {
|
||||||
|
"rank": 2,
|
||||||
|
"skills": {
|
||||||
|
"1415001": 6,
|
||||||
|
"1415002": 10,
|
||||||
|
"1415003": 10,
|
||||||
|
"1415004": 10,
|
||||||
|
"1415007": 1,
|
||||||
|
"1415101": 1,
|
||||||
|
"1415102": 1,
|
||||||
|
"1415103": 1,
|
||||||
|
"1415201": 1,
|
||||||
|
"1415202": 1,
|
||||||
|
"1415203": 1,
|
||||||
|
"1415204": 1,
|
||||||
|
"1415205": 1,
|
||||||
|
"1415206": 1,
|
||||||
|
"1415207": 1,
|
||||||
|
"1415208": 1,
|
||||||
|
"1415209": 1,
|
||||||
|
"1415210": 1,
|
||||||
|
"1415301": 6,
|
||||||
|
"1415302": 6
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level": 80,
|
||||||
|
"promotion": 6,
|
||||||
|
"techniques": [],
|
||||||
|
"sp_value": 12,
|
||||||
|
"sp_max": 24
|
||||||
|
},
|
||||||
"8001": {
|
"8001": {
|
||||||
"owner_uid": 0,
|
"owner_uid": 0,
|
||||||
"avatar_id": 8001,
|
"avatar_id": 8001,
|
||||||
@@ -11294,7 +11516,8 @@
|
|||||||
"8007209": 1,
|
"8007209": 1,
|
||||||
"8007210": 1,
|
"8007210": 1,
|
||||||
"8007301": 6,
|
"8007301": 6,
|
||||||
"8007302": 6
|
"8007302": 6,
|
||||||
|
"8007501": 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"level": 80,
|
"level": 80,
|
||||||
@@ -11328,7 +11551,8 @@
|
|||||||
"8008209": 1,
|
"8008209": 1,
|
||||||
"8008210": 1,
|
"8008210": 1,
|
||||||
"8008301": 6,
|
"8008301": 6,
|
||||||
"8008302": 6
|
"8008302": 6,
|
||||||
|
"8008501": 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"level": 80,
|
"level": 80,
|
||||||
@@ -11347,13 +11571,17 @@
|
|||||||
"path_resonance_id": 0,
|
"path_resonance_id": 0,
|
||||||
"monsters": [
|
"monsters": [
|
||||||
[
|
[
|
||||||
|
{
|
||||||
|
"monster_id": 8034012,
|
||||||
|
"level": 95,
|
||||||
|
"amount": 1
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"monster_id": 8034012,
|
"monster_id": 8034012,
|
||||||
"level": 95,
|
"level": 95,
|
||||||
"amount": 1
|
"amount": 1
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
[]
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,135 +1,44 @@
|
|||||||
{
|
{
|
||||||
"CNBETAAndroid3.5.52": {
|
"CNBETAAndroid3.6.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11537608_83921e2bbfb5_f15a1cc2aaba76",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11531357_ac5c50fe7c5c_5b8f1dfdef8d06",
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11555075_e532a47d9e06_61b3c1ed162173",
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12114942_e99cbde25134_e63a6b835f17f9",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11531873_abaa8247cede_b13c1ccb975acd",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
},
|
},
|
||||||
"CNBETAAndroid3.5.53": {
|
"CNBETAWin3.6.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11652344_6dae28086399_aaf63e0fedc33b",
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12114942_e99cbde25134_e63a6b835f17f9",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11620131_ba9be3a133df_248c41962f7625",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
},
|
},
|
||||||
"CNBETAAndroid3.5.54": {
|
"CNBETAiOS3.6.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11748833_44e6507dc182_fc55ad3d7434ba",
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12114942_e99cbde25134_e63a6b835f17f9",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11715817_6b9296fec056_20fd6286275e46",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
},
|
},
|
||||||
"CNBETAWin3.5.51": {
|
"OSBETAAndroid3.6.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11497493_b4a5d8f717df_d632f2f00b0108",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11443120_75e75bb630b2_bb1653f50a24b3",
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11503893_72129078bcdf_31a0117dd0c5aa",
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12114942_e99cbde25134_e63a6b835f17f9",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11475376_d8a6597dc30c_b9f6afe07715f3",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_11454524_a18a9e47d5b8_3647b1d6ce2d9a"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
},
|
},
|
||||||
"CNBETAWin3.5.52": {
|
"OSBETAWin3.6.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11537608_83921e2bbfb5_f15a1cc2aaba76",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11531357_ac5c50fe7c5c_5b8f1dfdef8d06",
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11555075_e532a47d9e06_61b3c1ed162173",
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12114942_e99cbde25134_e63a6b835f17f9",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11531873_abaa8247cede_b13c1ccb975acd",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
},
|
},
|
||||||
"CNBETAWin3.5.53": {
|
"OSBETAiOS3.6.51": {
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11652344_6dae28086399_aaf63e0fedc33b",
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12114942_e99cbde25134_e63a6b835f17f9",
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11620131_ba9be3a133df_248c41962f7625",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
|
||||||
},
|
|
||||||
"CNBETAWin3.5.54": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11748833_44e6507dc182_fc55ad3d7434ba",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11715817_6b9296fec056_20fd6286275e46",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"CNBETAiOS3.5.52": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11537608_83921e2bbfb5_f15a1cc2aaba76",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11531357_ac5c50fe7c5c_5b8f1dfdef8d06",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11555075_e532a47d9e06_61b3c1ed162173",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11531873_abaa8247cede_b13c1ccb975acd",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"CNBETAiOS3.5.53": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11652344_6dae28086399_aaf63e0fedc33b",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11620131_ba9be3a133df_248c41962f7625",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"CNBETAiOS3.5.54": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11748833_44e6507dc182_fc55ad3d7434ba",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11715817_6b9296fec056_20fd6286275e46",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"OSBETAAndroid3.5.52": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11537608_83921e2bbfb5_f15a1cc2aaba76",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11531357_ac5c50fe7c5c_5b8f1dfdef8d06",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11555075_e532a47d9e06_61b3c1ed162173",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11531873_abaa8247cede_b13c1ccb975acd",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"OSBETAAndroid3.5.53": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11652344_6dae28086399_aaf63e0fedc33b",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11620131_ba9be3a133df_248c41962f7625",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"OSBETAAndroid3.5.54": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11748833_44e6507dc182_fc55ad3d7434ba",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11715817_6b9296fec056_20fd6286275e46",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"OSBETAWin3.5.52": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11537608_83921e2bbfb5_f15a1cc2aaba76",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11531357_ac5c50fe7c5c_5b8f1dfdef8d06",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11555075_e532a47d9e06_61b3c1ed162173",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11531873_abaa8247cede_b13c1ccb975acd",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"OSBETAWin3.5.53": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11652344_6dae28086399_aaf63e0fedc33b",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11620131_ba9be3a133df_248c41962f7625",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"OSBETAWin3.5.54": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11748833_44e6507dc182_fc55ad3d7434ba",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11715817_6b9296fec056_20fd6286275e46",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"OSBETAiOS3.5.52": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11537608_83921e2bbfb5_f15a1cc2aaba76",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11531357_ac5c50fe7c5c_5b8f1dfdef8d06",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11555075_e532a47d9e06_61b3c1ed162173",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11531873_abaa8247cede_b13c1ccb975acd",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"OSBETAiOS3.5.53": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11619846_a5b546c20acf_c6ba7f65cf9eab",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11652344_6dae28086399_aaf63e0fedc33b",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11620131_ba9be3a133df_248c41962f7625",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
},
|
|
||||||
"OSBETAiOS3.5.54": {
|
|
||||||
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
|
||||||
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11715498_4850ed5bf0fe_76bdeb19894e7e",
|
|
||||||
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11748833_44e6507dc182_fc55ad3d7434ba",
|
|
||||||
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11715817_6b9296fec056_20fd6286275e46",
|
|
||||||
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">FireflyGo-3.5.5X</string>
|
<string name="app_name">Firefly Go</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.example.fireflypsandorid
|
package com.example.firefly_go_android
|
||||||
|
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
@@ -1,29 +1,46 @@
|
|||||||
[versions]
|
[versions]
|
||||||
agp = "8.9.1"
|
activityComposeVersion = "1.10.1"
|
||||||
|
agp = "8.9.3"
|
||||||
|
androidxJunit = "1.3.0"
|
||||||
|
animationCore = "1.9.0"
|
||||||
|
autoupdater = "1.0.1"
|
||||||
|
espressoCoreVersion = "3.7.0"
|
||||||
|
foundation = "1.9.0"
|
||||||
kotlin = "2.0.21"
|
kotlin = "2.0.21"
|
||||||
coreKtx = "1.10.1"
|
coreKtx = "1.17.0"
|
||||||
junit = "4.13.2"
|
junit = "4.13.2"
|
||||||
junitVersion = "1.1.5"
|
lifecycleRuntimeKtxVersion = "2.9.3"
|
||||||
espressoCore = "3.5.1"
|
material = "1.9.0"
|
||||||
lifecycleRuntimeKtx = "2.6.1"
|
material3WindowSizeClass = "1.3.2"
|
||||||
activityCompose = "1.8.0"
|
materialIconsExtended = "1.7.8"
|
||||||
composeBom = "2024.09.00"
|
ui = "1.9.0"
|
||||||
|
uiGraphics = "1.9.0"
|
||||||
|
uiTestJunit4 = "1.9.0"
|
||||||
|
uiTestManifest = "1.9.0"
|
||||||
|
uiTooling = "1.9.0"
|
||||||
|
uiToolingPreview = "1.9.0"
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
|
androidx-activity-compose-v1101 = { module = "androidx.activity:activity-compose", version.ref = "activityComposeVersion" }
|
||||||
|
androidx-animation = { module = "androidx.compose.animation:animation", version.ref = "animationCore" }
|
||||||
|
androidx-animation-core = { module = "androidx.compose.animation:animation-core", version.ref = "animationCore" }
|
||||||
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
||||||
|
androidx-espresso-core-v370 = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCoreVersion" }
|
||||||
|
androidx-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "foundation" }
|
||||||
|
androidx-junit-v130 = { module = "androidx.test.ext:junit", version.ref = "androidxJunit" }
|
||||||
|
androidx-lifecycle-runtime-ktx-v293 = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtxVersion" }
|
||||||
|
androidx-material = { module = "androidx.compose.material:material", version.ref = "material" }
|
||||||
|
androidx-material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "materialIconsExtended" }
|
||||||
|
androidx-material3-window-size-class1 = { module = "androidx.compose.material3:material3-window-size-class", version.ref = "material3WindowSizeClass" }
|
||||||
|
autoupdater = { module = "com.github.CSAbhiOnline:AutoUpdater", version.ref = "autoupdater" }
|
||||||
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
||||||
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
|
material3 = { module = "androidx.compose.material3:material3", version.ref = "material3WindowSizeClass" }
|
||||||
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
|
ui = { module = "androidx.compose.ui:ui", version.ref = "ui" }
|
||||||
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
|
ui-graphics = { module = "androidx.compose.ui:ui-graphics", version.ref = "uiGraphics" }
|
||||||
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
|
ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "uiTestJunit4" }
|
||||||
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
|
ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "uiTestManifest" }
|
||||||
androidx-ui = { group = "androidx.compose.ui", name = "ui" }
|
ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "uiTooling" }
|
||||||
androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
|
ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "uiToolingPreview" }
|
||||||
androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
|
|
||||||
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
|
|
||||||
androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
|
|
||||||
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
|
|
||||||
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
|
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:fbc29acc100bafe70ed46d921495ce98d93735d4c62d7af2fd78bc0f4d67651b
|
oid sha256:2e71e934cd45ec0cea8c45d9ca8fb64c375f7059691dc51b9c05f3834d2ae2e9
|
||||||
size 86920442
|
size 89535013
|
||||||
|
|||||||
2
script/.gitignore
vendored
Normal file
2
script/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
.env
|
||||||
|
*.exe
|
||||||
2
script/README_Note.md
Normal file
2
script/README_Note.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Changelog
|
||||||
|
UPDATE: Fix env
|
||||||
5
script/go.mod
Normal file
5
script/go.mod
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
module release
|
||||||
|
|
||||||
|
go 1.25.0
|
||||||
|
|
||||||
|
require github.com/joho/godotenv v1.5.1
|
||||||
2
script/go.sum
Normal file
2
script/go.sum
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
|
||||||
|
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
|
||||||
154
script/main.go
Normal file
154
script/main.go
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"mime/multipart"
|
||||||
|
"net/http"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"github.com/joho/godotenv"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
repoOwner = "Firefly-Shelter"
|
||||||
|
repoName = "FireflyGo_Android"
|
||||||
|
giteaURL = "https://git.kain.io.vn"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ReleaseInput struct {
|
||||||
|
TagName string `json:"tag_name"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Body string `json:"body"`
|
||||||
|
Draft bool `json:"draft"`
|
||||||
|
Prerelease bool `json:"prerelease"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReleaseResponse struct {
|
||||||
|
ID int `json:"id"`
|
||||||
|
HTMLURL string `json:"html_url"`
|
||||||
|
URL string `json:"url"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func readFile(path string) string {
|
||||||
|
data, err := os.ReadFile(path)
|
||||||
|
if err != nil {
|
||||||
|
panic(fmt.Sprintf("Failed to read %s: %v", path, err))
|
||||||
|
}
|
||||||
|
return string(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
err := godotenv.Load("script/.env")
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Error loading .env file")
|
||||||
|
}
|
||||||
|
|
||||||
|
token := os.Getenv("TOKEN")
|
||||||
|
if token == "" {
|
||||||
|
fmt.Println("TOKEN not found in .env")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
releaseJSON := readFile("script/release.json")
|
||||||
|
var meta map[string]string
|
||||||
|
if err := json.Unmarshal([]byte(releaseJSON), &meta); err != nil {
|
||||||
|
panic("Invalid release.json")
|
||||||
|
}
|
||||||
|
tag := meta["tag"]
|
||||||
|
title := meta["title"]
|
||||||
|
body := readFile("script/README_Note.md")
|
||||||
|
|
||||||
|
// Step 1: Create release
|
||||||
|
releaseInput := ReleaseInput{
|
||||||
|
TagName: tag,
|
||||||
|
Name: title,
|
||||||
|
Body: body,
|
||||||
|
Draft: false,
|
||||||
|
Prerelease: false,
|
||||||
|
}
|
||||||
|
payload, _ := json.Marshal(releaseInput)
|
||||||
|
|
||||||
|
req, _ := http.NewRequest("POST",
|
||||||
|
fmt.Sprintf("%s/api/v1/repos/%s/%s/releases", giteaURL, repoOwner, repoName),
|
||||||
|
bytes.NewReader(payload),
|
||||||
|
)
|
||||||
|
req.Header.Set("Authorization", "token "+token)
|
||||||
|
req.Header.Set("Content-Type", "application/json")
|
||||||
|
|
||||||
|
resp, err := http.DefaultClient.Do(req)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
if resp.StatusCode != http.StatusCreated {
|
||||||
|
bodyBytes, _ := io.ReadAll(resp.Body)
|
||||||
|
panic(fmt.Sprintf("Failed to create release: %s", bodyBytes))
|
||||||
|
}
|
||||||
|
|
||||||
|
var releaseResp ReleaseResponse
|
||||||
|
if err := json.NewDecoder(resp.Body).Decode(&releaseResp); err != nil {
|
||||||
|
panic("Failed to decode release response")
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Printf("Release created:\n- ID: %d\n- HTML: %s\n", releaseResp.ID, releaseResp.HTMLURL)
|
||||||
|
|
||||||
|
uploadURL := releaseResp.URL
|
||||||
|
if uploadURL == "" {
|
||||||
|
panic("url missing in release response")
|
||||||
|
}
|
||||||
|
|
||||||
|
files, err := os.ReadDir("app/release")
|
||||||
|
if err != nil {
|
||||||
|
panic("Cannot read prebuild folder")
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, file := range files {
|
||||||
|
if filepath.Ext(file.Name()) != ".apk" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
uploadPath := filepath.Join("app/release", file.Name())
|
||||||
|
fmt.Println("Uploading:", uploadPath)
|
||||||
|
|
||||||
|
buf := new(bytes.Buffer)
|
||||||
|
writer := multipart.NewWriter(buf)
|
||||||
|
part, err := writer.CreateFormFile("attachment", filepath.Base(uploadPath))
|
||||||
|
if err != nil {
|
||||||
|
fmt.Printf("Failed to create form: %v\n", err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
src, err := os.Open(uploadPath)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Printf("Cannot open file %s: %v\n", file.Name(), err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
io.Copy(part, src)
|
||||||
|
src.Close()
|
||||||
|
writer.Close()
|
||||||
|
|
||||||
|
req, err := http.NewRequest("POST", uploadURL+"/assets", buf)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Printf("NewRequest error: %v\n", err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
req.Header.Set("Authorization", "token "+token)
|
||||||
|
req.Header.Set("Content-Type", writer.FormDataContentType())
|
||||||
|
|
||||||
|
resp, err := http.DefaultClient.Do(req)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Printf("Upload failed: %v\n", err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if resp.StatusCode != http.StatusCreated {
|
||||||
|
bodyBytes, _ := io.ReadAll(resp.Body)
|
||||||
|
fmt.Printf("Upload failed: %s\n", bodyBytes)
|
||||||
|
} else {
|
||||||
|
fmt.Println("Uploaded:", file.Name())
|
||||||
|
}
|
||||||
|
resp.Body.Close()
|
||||||
|
}
|
||||||
|
}
|
||||||
5
script/release.json
Normal file
5
script/release.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"tag": "3.6.2-02",
|
||||||
|
"title": "PreBuild Version 3.6.52 - 02"
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user