Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
A
appzxhy
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
appzxhy
Commits
d8fce1b1
Commit
d8fce1b1
authored
Jun 27, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[广告常见]添加电池功能诱导
parent
afd9af3f
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
220 additions
and
6 deletions
+220
-6
BaseActivity.kt
app/src/main/java/com/dumpster/cleaner/base/BaseActivity.kt
+2
-0
FeatureBean.kt
app/src/main/java/com/dumpster/cleaner/bean/FeatureBean.kt
+39
-4
BatteryUseDialog.kt
...n/java/com/dumpster/cleaner/ui/dialog/BatteryUseDialog.kt
+46
-0
RateDialog.kt
...rc/main/java/com/dumpster/cleaner/ui/dialog/RateDialog.kt
+1
-1
MainActivity.kt
...rc/main/java/com/dumpster/cleaner/ui/main/MainActivity.kt
+15
-0
MainViewModel.kt
...c/main/java/com/dumpster/cleaner/ui/main/MainViewModel.kt
+9
-1
guan4.png
app/src/main/res/drawable-xxhdpi/guan4.png
+0
-0
dialog_battery_use.xml
app/src/main/res/layout/dialog_battery_use.xml
+107
-0
dialogbtn3.json
app/src/main/res/raw/dialogbtn3.json
+1
-0
No files found.
app/src/main/java/com/dumpster/cleaner/base/BaseActivity.kt
View file @
d8fce1b1
...
@@ -43,6 +43,7 @@ import com.dumpster.cleaner.bean.FeatureBean.Companion.RECOVERY_PHOTOS
...
@@ -43,6 +43,7 @@ import com.dumpster.cleaner.bean.FeatureBean.Companion.RECOVERY_PHOTOS
import
com.dumpster.cleaner.bean.FeatureBean.Companion.RECOVERY_VIDEOS
import
com.dumpster.cleaner.bean.FeatureBean.Companion.RECOVERY_VIDEOS
import
com.dumpster.cleaner.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import
com.dumpster.cleaner.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import
com.dumpster.cleaner.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import
com.dumpster.cleaner.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import
com.dumpster.cleaner.bean.FeatureBean.Companion.setFunctionTodayUsed
import
com.dumpster.cleaner.bean.FileBean
import
com.dumpster.cleaner.bean.FileBean
import
com.dumpster.cleaner.bean.config.AdConfigBean
import
com.dumpster.cleaner.bean.config.AdConfigBean
import
com.dumpster.cleaner.business.ads.AdsMgr
import
com.dumpster.cleaner.business.ads.AdsMgr
...
@@ -436,6 +437,7 @@ fun Activity.jumpAction(key: String) {
...
@@ -436,6 +437,7 @@ fun Activity.jumpAction(key: String) {
if
(
this
!
is
BaseActivity
<*>)
{
if
(
this
!
is
BaseActivity
<*>)
{
throw
Exception
(
""
)
throw
Exception
(
""
)
}
}
setFunctionTodayUsed
(
key
)
when
(
key
)
{
when
(
key
)
{
BATTERY_INFO
->
{
BATTERY_INFO
->
{
goToAc
(
BatteryInfoActivity
::
class
.
java
)
goToAc
(
BatteryInfoActivity
::
class
.
java
)
...
...
app/src/main/java/com/dumpster/cleaner/bean/FeatureBean.kt
View file @
d8fce1b1
package
com.dumpster.cleaner.bean
package
com.dumpster.cleaner.bean
import
com.dumpster.cleaner.utils.AppPreferences
import
com.dumpster.cleaner.utils.KotlinExt.toFormatTime4
class
FeatureBean
(
class
FeatureBean
(
val
key
:
String
=
""
,
val
key
:
String
=
""
,
val
titleRes
:
Int
=
0
,
val
titleRes
:
Int
=
0
,
...
@@ -16,9 +19,41 @@ class FeatureBean(
...
@@ -16,9 +19,41 @@ class FeatureBean(
const
val
PHOTO_COMPRESSION
=
"photo_compression"
const
val
PHOTO_COMPRESSION
=
"photo_compression"
const
val
SIMILAR_PHOTOS
=
"similar_photos"
const
val
SIMILAR_PHOTOS
=
"similar_photos"
const
val
RECOVERY_PHOTOS
=
"recovery_photos"
const
val
RECOVERY_PHOTOS
=
"recovery_photos"
const
val
RECOVERY_VIDEOS
=
"recovery_videos"
const
val
RECOVERY_VIDEOS
=
"recovery_videos"
const
val
RECOVERY_AUDIOS
=
"recovery_audios"
const
val
RECOVERY_AUDIOS
=
"recovery_audios"
const
val
RECOVERY_DOCUMENTS
=
"recovery_documents"
const
val
RECOVERY_DOCUMENTS
=
"recovery_documents"
fun
isTodayUsedFunction
():
Boolean
{
return
listOf
(
JUNK_CLEAN
,
BATTERY_INFO
,
SCREENSHOT_CLEAN
,
LARGE_FILE_CLEAN
,
PHOTO_COMPRESSION
,
SIMILAR_PHOTOS
,
RECOVERY_PHOTOS
,
RECOVERY_VIDEOS
,
RECOVERY_AUDIOS
,
RECOVERY_DOCUMENTS
).
any
{
getFunctionTodayUsed
(
it
)
}
}
/**
* 今天功能使用过否
*/
fun
getFunctionTodayUsed
(
key
:
String
):
Boolean
{
return
AppPreferences
.
getInstance
().
getBoolean
(
"${key}_${System.currentTimeMillis().toFormatTime4()}"
,
false
)
}
/**
* 设置今天功能使用过
*/
fun
setFunctionTodayUsed
(
key
:
String
,
used
:
Boolean
=
true
)
{
return
AppPreferences
.
getInstance
().
put
(
"${key}_${System.currentTimeMillis().toFormatTime4()}"
,
used
)
}
}
}
}
}
\ No newline at end of file
app/src/main/java/com/dumpster/cleaner/ui/dialog/BatteryUseDialog.kt
0 → 100644
View file @
d8fce1b1
package
com.dumpster.cleaner.ui.dialog
import
android.app.Activity
import
android.view.LayoutInflater
import
androidx.appcompat.app.AlertDialog
import
com.dumpster.cleaner.databinding.DialogBatteryUseBinding
class
BatteryUseDialog
(
activity
:
Activity
)
{
val
dialog
=
AlertDialog
.
Builder
(
activity
).
create
()
val
binding
=
DialogBatteryUseBinding
.
inflate
(
LayoutInflater
.
from
(
activity
))
var
action
:
(()
->
Unit
)?
=
null
fun
showDialog
(
dl
:
Int
=
0
,
)
{
dialog
.
setView
(
binding
.
root
)
dialog
.
setCanceledOnTouchOutside
(
true
)
val
params
=
dialog
.
window
?.
attributes
// params?.width = activity.resources.getDimensionPixelSize(R.dimen.dp_300)
// params?.width = FrameLayout.LayoutParams.WRAP_CONTENT
// params?.height = FrameLayout.LayoutParams.WRAP_CONTENT
// params?.gravity = Gravity.CENTER
dialog
.
window
?.
attributes
=
params
dialog
.
window
?.
setBackgroundDrawableResource
(
android
.
R
.
color
.
transparent
)
dialog
.
show
()
binding
.
idLottie
.
setAnimation
(
"scan/battery_info.json"
)
binding
.
idLottie
.
playAnimation
()
binding
.
idTv01
.
text
=
"${dl}%"
binding
.
idImgClose
.
setOnClickListener
{
dialog
.
dismiss
()
}
binding
.
idTvScan
.
setOnClickListener
{
dialog
.
dismiss
()
action
?.
invoke
()
}
}
}
app/src/main/java/com/dumpster/cleaner/ui/dialog/RateDialog.kt
View file @
d8fce1b1
...
@@ -21,7 +21,7 @@ class RateDialog(
...
@@ -21,7 +21,7 @@ class RateDialog(
fun
showDialog
(
isMust
:
Boolean
)
{
fun
showDialog
(
isMust
:
Boolean
)
{
if
(!
isMust
)
{
if
(!
isMust
)
{
if
(
isScoreRated
&&
scoreRate
==
5
)
if
(
isScoreRated
)
return
return
}
}
dialog
.
setView
(
binding
.
root
)
dialog
.
setView
(
binding
.
root
)
...
...
app/src/main/java/com/dumpster/cleaner/ui/main/MainActivity.kt
View file @
d8fce1b1
...
@@ -14,13 +14,17 @@ import androidx.viewpager2.widget.ViewPager2
...
@@ -14,13 +14,17 @@ import androidx.viewpager2.widget.ViewPager2
import
com.dumpster.cleaner.R
import
com.dumpster.cleaner.R
import
com.dumpster.cleaner.SpConstObject.mainPageCount
import
com.dumpster.cleaner.SpConstObject.mainPageCount
import
com.dumpster.cleaner.base.BaseActivity
import
com.dumpster.cleaner.base.BaseActivity
import
com.dumpster.cleaner.base.jumpAction
import
com.dumpster.cleaner.bean.FeatureBean.Companion.BATTERY_INFO
import
com.dumpster.cleaner.bean.FeatureBean.Companion.JUNK_CLEAN
import
com.dumpster.cleaner.bean.FeatureBean.Companion.JUNK_CLEAN
import
com.dumpster.cleaner.bean.HomeTabUIBean
import
com.dumpster.cleaner.bean.HomeTabUIBean
import
com.dumpster.cleaner.bean.config.AdConfigBean
import
com.dumpster.cleaner.bean.config.AdConfigBean
import
com.dumpster.cleaner.business.ads.AdsMgr
import
com.dumpster.cleaner.business.ads.AdsMgr
import
com.dumpster.cleaner.databinding.ActivityMainBinding
import
com.dumpster.cleaner.databinding.ActivityMainBinding
import
com.dumpster.cleaner.databinding.ItemHomeTabBinding
import
com.dumpster.cleaner.databinding.ItemHomeTabBinding
import
com.dumpster.cleaner.ui.batteryinfo.BatteryReceiver
import
com.dumpster.cleaner.ui.dialog.AppExitDialog
import
com.dumpster.cleaner.ui.dialog.AppExitDialog
import
com.dumpster.cleaner.ui.dialog.BatteryUseDialog
import
com.dumpster.cleaner.ui.dialog.NotificationTurnOnDialog
import
com.dumpster.cleaner.ui.dialog.NotificationTurnOnDialog
import
com.dumpster.cleaner.ui.dialog.RateDialog
import
com.dumpster.cleaner.ui.dialog.RateDialog
import
com.dumpster.cleaner.ui.dialog.StoragePermissionDialog
import
com.dumpster.cleaner.ui.dialog.StoragePermissionDialog
...
@@ -93,6 +97,17 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
...
@@ -93,6 +97,17 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
dialog
.
showDialog
()
dialog
.
showDialog
()
}
}
"BatteryDialog"
->
{
val
percent
=
BatteryReceiver
.
level
/
BatteryReceiver
.
scale
.
toFloat
()
val
dl
=
(
percent
*
100
).
toInt
()
val
dialog
=
BatteryUseDialog
(
this
@MainActivity
)
dialog
.
action
=
{
jumpAction
(
BATTERY_INFO
)
}
dialog
.
showDialog
(
dl
)
}
"RateDialog"
->
{
"RateDialog"
->
{
val
dialog
=
RateDialog
(
this
@MainActivity
)
val
dialog
=
RateDialog
(
this
@MainActivity
)
dialog
.
showDialog
(
false
)
dialog
.
showDialog
(
false
)
...
...
app/src/main/java/com/dumpster/cleaner/ui/main/MainViewModel.kt
View file @
d8fce1b1
...
@@ -4,6 +4,9 @@ import android.content.Context
...
@@ -4,6 +4,9 @@ import android.content.Context
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.viewModelScope
import
androidx.lifecycle.viewModelScope
import
com.dumpster.cleaner.SpConstObject.isScoreRated
import
com.dumpster.cleaner.SpConstObject.isScoreRated
import
com.dumpster.cleaner.SpConstObject.mainPageCount
import
com.dumpster.cleaner.bean.FeatureBean.Companion.getFunctionTodayUsed
import
com.dumpster.cleaner.bean.FeatureBean.Companion.isTodayUsedFunction
import
com.dumpster.cleaner.ui.recyclebin.RecycleBinUtils.getRecycleBinData
import
com.dumpster.cleaner.ui.recyclebin.RecycleBinUtils.getRecycleBinData
import
com.dumpster.cleaner.utils.PermissionUtils.areNotificationsEnabled
import
com.dumpster.cleaner.utils.PermissionUtils.areNotificationsEnabled
import
com.dumpster.cleaner.utils.PermissionUtils.checkNotificationPermission
import
com.dumpster.cleaner.utils.PermissionUtils.checkNotificationPermission
...
@@ -39,7 +42,12 @@ class MainViewModel : ViewModel() {
...
@@ -39,7 +42,12 @@ class MainViewModel : ViewModel() {
return
return
}
}
if
(!
isScoreRated
)
{
if
(!
isTodayUsedFunction
())
{
dialogFlow
.
update
{
"BatteryDialog"
}
return
}
if
(!
isScoreRated
&&
mainPageCount
>
0
&&
mainPageCount
%
4
==
0L
)
{
dialogFlow
.
update
{
"RateDialog"
}
dialogFlow
.
update
{
"RateDialog"
}
return
return
}
}
...
...
app/src/main/res/drawable-xxhdpi/guan4.png
0 → 100644
View file @
d8fce1b1
6.18 KB
app/src/main/res/layout/dialog_battery_use.xml
0 → 100644
View file @
d8fce1b1
<?xml version="1.0" encoding="utf-8"?>
<com.noober.background.view.BLLinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<com.noober.background.view.BLLinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"24dp"
android:gravity=
"center_horizontal"
android:orientation=
"vertical"
app:bl_corners_radius=
"20dp"
app:bl_gradient_endColor=
"#79DFFF"
app:bl_gradient_startColor=
"#37B6FF"
>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"280dp"
android:paddingTop=
"60dp"
>
<com.airbnb.lottie.LottieAnimationView
android:id=
"@+id/id_lottie"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_gravity=
"center"
android:scaleX=
"1.8"
android:scaleY=
"1.8"
app:layout_constraintBottom_toBottomOf=
"parent"
app:lottie_autoPlay=
"true"
app:lottie_loop=
"true"
/>
</FrameLayout>
<TextView
android:id=
"@+id/id_tv_01"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:includeFontPadding=
"false"
android:textColor=
"@color/white"
android:textSize=
"31sp"
android:textStyle=
"bold"
tools:text=
"75%"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"40dp"
android:layout_marginTop=
"12dp"
android:layout_marginBottom=
"6dp"
android:gravity=
"center"
android:includeFontPadding=
"false"
android:text=
"Phone battery has reached"
android:textColor=
"@color/white"
android:textSize=
"19sp"
android:textStyle=
"bold"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:includeFontPadding=
"false"
android:text=
"Check battery status and details"
android:textColor=
"@color/white"
android:textSize=
"13sp"
android:textStyle=
"bold"
/>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"45dp"
android:layout_marginTop=
"12dp"
android:layout_marginBottom=
"26dp"
>
<com.noober.background.view.BLTextView
android:id=
"@+id/id_tv_scan"
android:layout_width=
"match_parent"
android:layout_height=
"46dp"
android:layout_gravity=
"center"
android:gravity=
"center"
android:text=
"SCAN"
android:textColor=
"#6DD8FF"
android:textSize=
"23sp"
android:textStyle=
"bold"
app:bl_corners_radius=
"50dp"
app:bl_solid_color=
"@color/white"
/>
<com.airbnb.lottie.LottieAnimationView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
app:lottie_autoPlay=
"true"
app:lottie_loop=
"true"
app:lottie_rawRes=
"@raw/dialogbtn3"
/>
</FrameLayout>
</com.noober.background.view.BLLinearLayout>
<androidx.appcompat.widget.AppCompatImageView
android:id=
"@+id/id_img_close"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"12dp"
android:src=
"@drawable/guan4"
/>
</com.noober.background.view.BLLinearLayout>
\ No newline at end of file
app/src/main/res/raw/dialogbtn3.json
0 → 100644
View file @
d8fce1b1
{
"nm"
:
"Main Scene"
,
"h"
:
46
,
"w"
:
270
,
"meta"
:{
"g"
:
"@lottiefiles/creator 1.42.2"
},
"layers"
:[{
"ty"
:
4
,
"nm"
:
"Rectangle 187"
,
"sr"
:
1
,
"st"
:
10
,
"op"
:
160
,
"ip"
:
10
,
"hasMask"
:
false
,
"ao"
:
0
,
"ks"
:{
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
,
0
]},
"s"
:{
"a"
:
0
,
"k"
:[
78.13
,
12.78
]},
"sk"
:{
"a"
:
0
,
"k"
:
0
},
"p"
:{
"a"
:
1
,
"k"
:[{
"o"
:{
"x"
:
0.42
,
"y"
:
0
},
"i"
:{
"x"
:
0.58
,
"y"
:
1
},
"s"
:[
-215.3
,
48.56
],
"t"
:
10
},{
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"s"
:[
157.92
,
26.18
],
"t"
:
22
},{
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"s"
:[
162.28
,
25.91
],
"t"
:
23
},{
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"s"
:[
198.74
,
23.73
],
"t"
:
26
},{
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"s"
:[
210.9
,
23
],
"t"
:
27
},{
"s"
:[
479.22
,
48.56
],
"t"
:
40
}]},
"r"
:{
"a"
:
0
,
"k"
:
0
},
"sa"
:{
"a"
:
0
,
"k"
:
0
},
"o"
:{
"a"
:
1
,
"k"
:[{
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"s"
:[
0
],
"t"
:
17
},{
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"s"
:[
50
],
"t"
:
25
},{
"s"
:[
0
],
"t"
:
33
}]}},
"ef"
:[{
"ty"
:
29
,
"nm"
:
"高斯模糊"
,
"en"
:
1
,
"ef"
:[{
"ty"
:
0
,
"nm"
:
"模糊度"
,
"v"
:{
"a"
:
0
,
"k"
:
32
}},{
"ty"
:
7
,
"nm"
:
"模糊方向"
,
"v"
:{
"a"
:
0
,
"k"
:
1
}},{
"ty"
:
7
,
"nm"
:
"重复边缘像素"
,
"v"
:{
"a"
:
0
,
"k"
:
0
}}]}],
"shapes"
:[{
"ty"
:
"gr"
,
"nm"
:
"Rectangle 185"
,
"it"
:[{
"ty"
:
"sh"
,
"nm"
:
"路径 1"
,
"d"
:
1
,
"ks"
:{
"a"
:
0
,
"k"
:{
"c"
:
true
,
"i"
:[[
0
,
0
],[
0
,
0
],[
0
,
0
],[
0
,
0
]],
"o"
:[[
0
,
0
],[
0
,
0
],[
0
,
0
],[
0
,
0
]],
"v"
:[[
51.5
,
-180
],[
8.5
,
-180
],[
-51.5
,
180
],[
-8.5
,
180
]]}}},{
"ty"
:
"fl"
,
"nm"
:
"填充 1"
,
"c"
:{
"a"
:
0
,
"k"
:[
0.851
,
0.91
,
1
]},
"r"
:
1
,
"o"
:{
"a"
:
0
,
"k"
:
100
}},{
"ty"
:
"tr"
,
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0.022
]},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
]},
"sk"
:{
"a"
:
0
,
"k"
:
0
},
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0.022
]},
"r"
:{
"a"
:
0
,
"k"
:
0
},
"sa"
:{
"a"
:
0
,
"k"
:
0
},
"o"
:{
"a"
:
0
,
"k"
:
100
}}]}],
"ind"
:
1
},{
"ty"
:
4
,
"nm"
:
"Rectangle 186"
,
"sr"
:
1
,
"st"
:
0
,
"op"
:
150
,
"ip"
:
0
,
"hasMask"
:
false
,
"ao"
:
0
,
"ks"
:{
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
,
0
]},
"s"
:{
"a"
:
0
,
"k"
:[
78.13
,
12.78
]},
"sk"
:{
"a"
:
0
,
"k"
:
0
},
"p"
:{
"a"
:
1
,
"k"
:[{
"o"
:{
"x"
:
0.42
,
"y"
:
0
},
"i"
:{
"x"
:
0.58
,
"y"
:
1
},
"s"
:[
-215.3
,
48.56
],
"t"
:
0
},{
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"s"
:[
109.81
,
25.56
],
"t"
:
13
},{
"s"
:[
479.22
,
48.56
],
"t"
:
27
}]},
"r"
:{
"a"
:
0
,
"k"
:
0
},
"sa"
:{
"a"
:
0
,
"k"
:
0
},
"o"
:{
"a"
:
1
,
"k"
:[{
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"s"
:[
0
],
"t"
:
6
},{
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"s"
:[
50
],
"t"
:
13.5
},{
"s"
:[
0
],
"t"
:
20.7
}]}},
"ef"
:[{
"ty"
:
29
,
"nm"
:
"高斯模糊"
,
"en"
:
1
,
"ef"
:[{
"ty"
:
0
,
"nm"
:
"模糊度"
,
"v"
:{
"a"
:
0
,
"k"
:
32
}},{
"ty"
:
7
,
"nm"
:
"模糊方向"
,
"v"
:{
"a"
:
0
,
"k"
:
1
}},{
"ty"
:
7
,
"nm"
:
"重复边缘像素"
,
"v"
:{
"a"
:
0
,
"k"
:
0
}}]}],
"shapes"
:[{
"ty"
:
"gr"
,
"nm"
:
"Rectangle 185"
,
"it"
:[{
"ty"
:
"sh"
,
"nm"
:
"路径 1"
,
"d"
:
1
,
"ks"
:{
"a"
:
0
,
"k"
:{
"c"
:
true
,
"i"
:[[
0
,
0
],[
0
,
0
],[
0
,
0
],[
0
,
0
]],
"o"
:[[
0
,
0
],[
0
,
0
],[
0
,
0
],[
0
,
0
]],
"v"
:[[
51.5
,
-180
],[
8.5
,
-180
],[
-51.5
,
180
],[
-8.5
,
180
]]}}},{
"ty"
:
"fl"
,
"nm"
:
"填充 1"
,
"c"
:{
"a"
:
0
,
"k"
:[
0.851
,
0.91
,
1
]},
"r"
:
1
,
"o"
:{
"a"
:
0
,
"k"
:
100
}},{
"ty"
:
"tr"
,
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
]},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
]},
"sk"
:{
"a"
:
0
,
"k"
:
0
},
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
]},
"r"
:{
"a"
:
0
,
"k"
:
0
},
"sa"
:{
"a"
:
0
,
"k"
:
0
},
"o"
:{
"a"
:
0
,
"k"
:
100
}}]}],
"ind"
:
2
}],
"v"
:
"5.7.0"
,
"fr"
:
26
,
"op"
:
50
,
"ip"
:
0
,
"assets"
:[]}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment