XUYangWei 2 meses atrás
pai
commit
75fc8ccd8c
63 arquivos alterados com 563 adições e 166 exclusões
  1. 1 0
      commons/basic/Index.ets
  2. 1 1
      commons/basic/src/main/ets/components/generalComp/AgreePrivacy.ets
  3. 1 1
      commons/basic/src/main/ets/components/generalComp/YTHeader.ets
  4. 9 0
      commons/basic/src/main/ets/constants/index.ets
  5. 3 0
      commons/basic/src/main/ets/utils/YTRouter.ets
  6. BIN
      commons/basic/src/main/resources/base/media/banner.png
  7. BIN
      commons/basic/src/main/resources/base/media/big.png
  8. BIN
      commons/basic/src/main/resources/base/media/caikuang.png
  9. BIN
      commons/basic/src/main/resources/base/media/coin.png
  10. BIN
      commons/basic/src/main/resources/base/media/coinback.png
  11. BIN
      commons/basic/src/main/resources/base/media/coinbefore.png
  12. BIN
      commons/basic/src/main/resources/base/media/dice.png
  13. BIN
      commons/basic/src/main/resources/base/media/eat.png
  14. BIN
      commons/basic/src/main/resources/base/media/eatwhatGai.png
  15. BIN
      commons/basic/src/main/resources/base/media/number.png
  16. BIN
      commons/basic/src/main/resources/base/media/qiehuan.png
  17. BIN
      commons/basic/src/main/resources/base/media/rannum.png
  18. BIN
      commons/basic/src/main/resources/base/media/repeat.png
  19. BIN
      commons/basic/src/main/resources/base/media/shai_1.png
  20. BIN
      commons/basic/src/main/resources/base/media/shai_2.png
  21. BIN
      commons/basic/src/main/resources/base/media/shai_3.png
  22. BIN
      commons/basic/src/main/resources/base/media/shai_4.png
  23. BIN
      commons/basic/src/main/resources/base/media/shai_5.png
  24. BIN
      commons/basic/src/main/resources/base/media/shai_6.png
  25. BIN
      commons/basic/src/main/resources/base/media/xuanzhuankuang.png
  26. BIN
      commons/basic/src/main/resources/base/media/xuanzhuantime.png
  27. BIN
      commons/basic/src/main/resources/base/media/zhizheng.png
  28. 30 0
      features/feature/src/main/ets/component/TextInputCom.ets
  29. 9 0
      features/feature/src/main/ets/models/index.ets
  30. 58 14
      features/feature/src/main/ets/view/FishSettingView.ets
  31. 88 0
      features/feature/src/main/ets/view/FragranceSettingView.ets
  32. 157 22
      features/feature/src/main/ets/view/FragranceView.ets
  33. 193 116
      features/feature/src/main/ets/view/MainView.ets
  34. BIN
      features/feature/src/main/resources/base/media/fragrance1.png
  35. BIN
      features/feature/src/main/resources/base/media/fragrance10.png
  36. BIN
      features/feature/src/main/resources/base/media/fragrance11.png
  37. BIN
      features/feature/src/main/resources/base/media/fragrance12.png
  38. BIN
      features/feature/src/main/resources/base/media/fragrance13.png
  39. BIN
      features/feature/src/main/resources/base/media/fragrance14.png
  40. BIN
      features/feature/src/main/resources/base/media/fragrance15.png
  41. BIN
      features/feature/src/main/resources/base/media/fragrance16.png
  42. BIN
      features/feature/src/main/resources/base/media/fragrance17.png
  43. BIN
      features/feature/src/main/resources/base/media/fragrance18.png
  44. BIN
      features/feature/src/main/resources/base/media/fragrance19.png
  45. BIN
      features/feature/src/main/resources/base/media/fragrance2.png
  46. BIN
      features/feature/src/main/resources/base/media/fragrance20.png
  47. BIN
      features/feature/src/main/resources/base/media/fragrance21.png
  48. BIN
      features/feature/src/main/resources/base/media/fragrance22.png
  49. BIN
      features/feature/src/main/resources/base/media/fragrance23.png
  50. BIN
      features/feature/src/main/resources/base/media/fragrance24.png
  51. BIN
      features/feature/src/main/resources/base/media/fragrance25.png
  52. BIN
      features/feature/src/main/resources/base/media/fragrance3.png
  53. BIN
      features/feature/src/main/resources/base/media/fragrance4.png
  54. BIN
      features/feature/src/main/resources/base/media/fragrance5.png
  55. BIN
      features/feature/src/main/resources/base/media/fragrance6.png
  56. BIN
      features/feature/src/main/resources/base/media/fragrance7.png
  57. BIN
      features/feature/src/main/resources/base/media/fragrance8.png
  58. BIN
      features/feature/src/main/resources/base/media/fragrance9.png
  59. 5 0
      features/feature/src/main/resources/base/profile/router_map.json
  60. 1 1
      features/user/src/main/ets/components/Terms.ets
  61. 2 2
      features/user/src/main/ets/pages/LoginPage.ets
  62. 1 1
      features/user/src/main/ets/views/Mine.ets
  63. 4 8
      products/entry/src/main/ets/entryability/EntryAbility.ets

+ 1 - 0
commons/basic/Index.ets

@@ -54,6 +54,7 @@ export { BasicType } from './src/main/ets/models/index'
 
 export * from '@mumu/crop'
 export {avPlayerManager} from './src/main/ets/utils/AVPlayerManager'
+export {AppStorageKeyFishCollect} from './src/main/ets/constants/index'
 
 export * from './src/main/ets/models'
 export{Vibration} from './src/main/ets/utils/VibrationUtils'

+ 1 - 1
commons/basic/src/main/ets/components/generalComp/AgreePrivacy.ets

@@ -25,7 +25,7 @@ export function agreePrivacy(item: BasicType<undefined>) {
       //   })
       //
       // Span('以及')
-      Span('《樱桃小决定用户协议》')
+      Span('《静心木鱼用户协议》')
         .spanEx(() => {
           yTRouter.router2userAgreement()
 

+ 1 - 1
commons/basic/src/main/ets/components/generalComp/YTHeader.ets

@@ -43,7 +43,7 @@ export struct YTHeader {
           Text(this.title)
             .fontSize(18)
             .fontWeight(700)
-            .fontColor(Color.Black)
+            .fontColor(Color.White)
         }
       }
       .width('100%')

+ 9 - 0
commons/basic/src/main/ets/constants/index.ets

@@ -38,4 +38,13 @@ export enum AppStorageKeyCollect {
    * @description 验证码登录手机号与验证码
    */
   CAPTCHA_LOGIN = 'captchaLogin'
+}
+export enum AppStorageKeyFishCollect {
+
+  //功能点击文字
+  FISHTEXT= 'fishText',
+  //烧香页面旋转文字
+  TEXTARR='textArr'
+
+
 }

+ 3 - 0
commons/basic/src/main/ets/utils/YTRouter.ets

@@ -17,6 +17,9 @@ export class YTRouter extends NavPathStack {
   router2FishSettingPage() {
     yTRouter.pushPathByName('FishSettingView', '')
   }
+  router2FragranceSettingPage() {
+    yTRouter.pushPathByName('FragranceSettingView', '')
+  }
 
   router2SettingPage() {
     yTRouter.pushPathByName('SettingPage', '')

BIN
commons/basic/src/main/resources/base/media/banner.png


BIN
commons/basic/src/main/resources/base/media/big.png


BIN
commons/basic/src/main/resources/base/media/caikuang.png


BIN
commons/basic/src/main/resources/base/media/coin.png


BIN
commons/basic/src/main/resources/base/media/coinback.png


BIN
commons/basic/src/main/resources/base/media/coinbefore.png


BIN
commons/basic/src/main/resources/base/media/dice.png


BIN
commons/basic/src/main/resources/base/media/eat.png


BIN
commons/basic/src/main/resources/base/media/eatwhatGai.png


BIN
commons/basic/src/main/resources/base/media/number.png


BIN
commons/basic/src/main/resources/base/media/qiehuan.png


BIN
commons/basic/src/main/resources/base/media/rannum.png


BIN
commons/basic/src/main/resources/base/media/repeat.png


BIN
commons/basic/src/main/resources/base/media/shai_1.png


BIN
commons/basic/src/main/resources/base/media/shai_2.png


BIN
commons/basic/src/main/resources/base/media/shai_3.png


BIN
commons/basic/src/main/resources/base/media/shai_4.png


BIN
commons/basic/src/main/resources/base/media/shai_5.png


BIN
commons/basic/src/main/resources/base/media/shai_6.png


BIN
commons/basic/src/main/resources/base/media/xuanzhuankuang.png


BIN
commons/basic/src/main/resources/base/media/xuanzhuantime.png


BIN
commons/basic/src/main/resources/base/media/zhizheng.png


+ 30 - 0
features/feature/src/main/ets/component/TextInputCom.ets

@@ -0,0 +1,30 @@
+import { IBestToast } from "basic"
+
+@Component
+export struct TextInputCom{
+  @Prop text:string=""
+  changeText=(text:string)=>{
+
+  }
+  build() {
+    Stack({alignContent:Alignment.End}){
+      TextInput({text:this.text})
+        .fontColor($r('[basic].color.login_main_yellow'))
+        .borderRadius(15).width('100%')
+        .backgroundColor('#787878')
+        .onChange((value)=>{
+          if(value.length>7){
+            IBestToast.show({
+              message:'最多7个字'
+            })
+            this.text=value.slice(0,7)
+            return
+          }
+          this.text=value
+          this.changeText(this.text)
+
+        })
+      Image($r('app.media.muyu')).width(24).margin({right:10}).onClick(()=>{this.text=""})
+    }
+  }
+}

+ 9 - 0
features/feature/src/main/ets/models/index.ets

@@ -0,0 +1,9 @@
+// 观察者模式装饰器
+@ObservedV2
+export class Cell {
+  value: string = '功德+1'; // 默认显示的文字
+  @Trace // 跟踪属性变化
+  opacity: number = 0; // 文字透明度
+  @Trace // 跟踪属性变化
+  y: number = 0; // 文字的垂直偏移量
+}

+ 58 - 14
features/feature/src/main/ets/view/FishSettingView.ets

@@ -1,5 +1,5 @@
 import { webview } from '@kit.ArkWeb'
-import { YTHeader } from 'basic'
+import { AppStorageKeyFishCollect, avPlayerManager, IBestToast, YTHeader } from 'basic'
 
 @Builder
 function FishSettingViewBuilder() {
@@ -11,38 +11,82 @@ function FishSettingViewBuilder() {
 
 @Component
 struct FishSettingView {
+  @State selectMusic:number=1
+  @StorageLink(AppStorageKeyFishCollect.FISHTEXT)
+  textValue:string=""
 
   build() {
     Column() {
       YTHeader({title:'设置'})
 
-      Column(){
-        Text('悬浮文字')
-        TextInput().width('80%').backgroundColor('#787878')
+      Column({space:20}){
+        Row() {
+          Text('悬浮文字').fontColor(Color.White)
+        }.width('100%')
+        .justifyContent(FlexAlign.Start)
+        Stack({alignContent:Alignment.End}){
+          TextInput({text:$$this.textValue})
+            .fontColor($r('[basic].color.login_main_yellow'))
+            .borderRadius(15).width('100%')
+            .backgroundColor('#787878')
+            .onChange((value)=>{
+              if(value.length>7){
+                IBestToast.show({
+                  message:'最多7个字'
+                })
+                this.textValue=this.textValue.slice(0,7)
+                return
+              }
+
+            })
+          Image($r('app.media.muyu')).width(24).margin({right:10}).onClick(()=>{this.textValue=""})
+        }
+
       }.width('100%')
-      .height(200)
+      .backgroundColor('#3f3f3f')
+      .padding({left:10,right:10,top:20,bottom:20})
+      .borderRadius(15)
+      .height(150)
+      .margin({bottom:20})
 
-      Column(){
-        Text('木鱼音色')
+      Column({space:20}){
         Row() {
+          Text('木鱼音色').fontColor(Color.White)
+        }.width('100%')
+        .justifyContent(FlexAlign.Start)
+        Row({space:30}) {
           ForEach([1, 2, 3], (item: number) => {
-            Column() {
+            Column({space:5}) {
+              Text(item.toString()).fontColor($r('[basic].color.login_main_yellow'))
 
-            }.width(50)
-            .height(50)
-            .backgroundColor(Color.Pink)
+              Image($r('app.media.muyu')).width(30)
+
+
+            }.width(60)
+            .height(60)
+            .justifyContent(FlexAlign.Center)
+            .borderRadius(15)
+            .backgroundColor(this.selectMusic==item?'#3dbbd1':'#000000')
+            .onClick(()=>{
+              this.selectMusic=item
+              avPlayerManager.playByRawSrc(`music${item}.mp3`)
+            })
           })
-        }
+        }.width('100%').justifyContent(FlexAlign.Start)
 
 
 
       }.width('100%')
-      .height(200)
+      .backgroundColor('#3f3f3f')
+      .padding({left:10,right:10,top:20,bottom:20})
+      .borderRadius(15)
+      .height(150)
 
 
 
     }.width('100%')
     .height('100%')
-    .padding(20)
+    .backgroundColor(Color.Black)
+    .padding({left:20,right:20})
   }
 }

+ 88 - 0
features/feature/src/main/ets/view/FragranceSettingView.ets

@@ -0,0 +1,88 @@
+import { webview } from '@kit.ArkWeb'
+import { AppStorageKeyFishCollect, avPlayerManager, IBestToast, YTHeader } from 'basic'
+import { TextInputCom } from '../component/TextInputCom'
+
+@Builder
+function FragranceSettingBuilder() {
+  NavDestination() {
+    FragranceSettingView()
+  }.title("设置")
+  .hideTitleBar(true)
+}
+
+@Component
+struct FragranceSettingView {
+  @StorageLink(AppStorageKeyFishCollect.TEXTARR)
+  textArr:string[]=[]
+  build() {
+    Column() {
+      YTHeader({title:'设置'})
+
+      //悬浮文字
+      Column({space:20}){
+
+        Row() {
+          Text('悬浮文字').fontColor(Color.White)
+        }.width('100%')
+        .justifyContent(FlexAlign.Start)
+
+        ForEach(this.textArr,(item:string,index:number)=>{
+          TextInputCom({
+            text:item,
+            changeText:(value:string)=>{
+              this.textArr[index]=value
+            }
+          })
+        })
+
+        //取消
+        Column(){
+
+          Image($r('app.media.muyu')).width(20)
+        }.width(50)
+        .height(50)
+        .justifyContent(FlexAlign.Center)
+        .backgroundColor('#646561')
+        .onClick(()=>{
+          if(this.textArr.length>7){
+            IBestToast.show({
+              message:'最多支持六行文本'
+            })
+            return
+          }
+          this.textArr.push('')
+        })
+
+
+
+      }.width('100%')
+      .backgroundColor('#3f3f3f')
+      .padding({left:10,right:10,top:20,bottom:20})
+      .borderRadius(15)
+      .margin({bottom:20})
+
+      //上香数量
+      Column({space:20}){
+
+      }.width('100%')
+      .backgroundColor('#3f3f3f')
+      .padding({left:10,right:10,top:20,bottom:20})
+      .borderRadius(15)
+      .height(150)
+      //燃尽时间
+      Column({space:20}){
+
+      }.width('100%')
+      .backgroundColor('#3f3f3f')
+      .padding({left:10,right:10,top:20,bottom:20})
+      .borderRadius(15)
+      .height(150)
+
+
+
+    }.width('100%')
+    .height('100%')
+    .backgroundColor(Color.Black)
+    .padding({left:20,right:20})
+  }
+}

+ 157 - 22
features/feature/src/main/ets/view/FragranceView.ets

@@ -1,40 +1,175 @@
-import { YTHeader } from 'basic';
+import { AppStorageKeyFishCollect, YTHeader, yTRouter } from 'basic';
 
 @Component
 export struct FragranceView{
+  // @StorageProp(AppStorageKeyFishCollect.TEXTARR)
+  // @State
+  // textArr:string[]=['xxxx','xxxx','xxxx','xxx','xxxx','xxxx']
+  private averageAngle: number = 0
+  private radius1: number = 50
+  private radius2: number =1
+  private img: number = 80
+  private isRotate:boolean = true;//按下暂停转动
+  @State widAr:Array<number> = [this.radius1,this.radius1,this.radius1,this.radius1,this.radius1]
+  @State heiAr:Array<number> = [this.radius2,this.radius2,this.radius2,this.radius2,this.radius2]
+  @State rotateAngle: number = 0
+
+  private intervalID = setInterval(()=> {//每0.1秒执行5°的转动,动画更平滑
+
+    for (let index = 0; index < 6; index++) {
+      let doubleAngle = (this.averageAngle -60 * index + 0) * Math.PI / 180
+      let sin = Math.sin(doubleAngle);
+      let cos = Math.cos(doubleAngle);
+      this.widAr[index] =this.radius1+this.radius1*cos
+      this.heiAr[index] =this.radius2+this.radius2*sin * Math.cos(Math.PI * 5 / 18)
+    }
+
+    if (this.isRotate) {
+      if (this.averageAngle<360) {//0~360°循环
+        this.averageAngle+=1
+      }else {
+        this.averageAngle = 0;
+      }
+      this.rotateAngle = 360
+    }
+
+
+  }, 100)
+
+  FragranceImages: ImageFrameInfo[] =Array.from<string>({length:23}).map<ImageFrameInfo>((v:string,index:number)=>{
+    return {
+      src: $r(`app.media.fragrance${index}`),
+    }
+  })
+  //烟
+  @State FragranceState:AnimationStatus = AnimationStatus.Initial
+  //香
+  @State FraState:AnimationStatus = AnimationStatus.Initial
+
+  // aboutToAppear(): void {
+  //
+  //   if(this.textArr.length==0){
+  //     this.textArr.push('诸事顺遂')
+  //   }
+  //
+  //   this.widAr=[]
+  //   this.heiAr=[]
+  //   this.textArr.forEach((item)=>{
+  //     this.widAr.push(this.radius1)
+  //     this.heiAr.push(this.radius2)
+  //   })
+  // }
+
+  aboutToDisappear() {
+    clearInterval(this.intervalID);
+  }
+
+
+
   build() {
     Column(){
-      Column(){
-        Row(){
-          Text('xxxxx')
 
-        }.width('100%').justifyContent(FlexAlign.Center)
-        Row(){
-          Text('xxxxx')
-          Text('xxxxx')
-        }.width('100%').justifyContent(FlexAlign.SpaceBetween)
+        Stack() {
+          Column() {
+            RelativeContainer() {
+              // ForEach(this.textArr,(item:string,index:number)=>{
+              //   Column() {
+              //     Text(item)
+              //       .width(this.img)
+              //       .height(this.img)
+              //       .fontColor(Color.White)
+              //   }.position({ x: this.widAr[index], y: this.heiAr[index] })
+              // })
 
+              Column() {
+                Text('天天向上')
+                  .width(this.img)
+                  .height(this.img)
+                  .fontColor(Color.White)
 
-        Row(){
-          Text('xxxxx')
-          Text('xxxxx')
+              }.position({ x: this.widAr[1], y: this.heiAr[1] })
+
+              Column() {
+                Text('清纯男大')
+                  .width(this.img)
+                  .height(this.img)
+                  .fontColor(Color.White)
+
+              }.position({ x: this.widAr[2], y: this.heiAr[2] })
+
+              Column() {
+                Text('官人梧州')
+                  .width(this.img)
+                  .height(this.img)
+                  .fontColor(Color.White)
+
+              }.position({ x: this.widAr[3], y: this.heiAr[3] })
+
+              Column() {
+                Text('年年岁岁')
+                  .width(this.img)
+                  .height(this.img)
+                  .fontColor(Color.White)
+
+              }.position({ x: this.widAr[4], y: this.heiAr[4] })
+            }.width(250).height(200)
+            .onAreaChange((oldValue: Area, newValue: Area) => {
+              this.radius1 = new Number(newValue.width).valueOf() / 3
+              this.radius2 = new Number(newValue.height).valueOf() / 4
+            })
+          }.width('100%')
+          .height('100%')
+          .alignItems(HorizontalAlign.Center)
+
+        }.width('100%')
+        .height(200)
+
+
+          // Column() {
+          //
+          // }.width(5)
+          // .height(300)
+          // .backgroundColor(Color.Pink)
+
+          Row() {
+            ImageAnimator()
+              .width(100)
+              .height(300)
+              .images(this.FragranceImages)// 动画数组
+              .duration(this.FragranceImages.length * 150)// 持续
+              .state(this.FragranceState)// 动画状态
+              .backgroundColor(Color.Black)
+              .iterations(-1) // 播放次数
+
+
+
+            // ImageAnimator()
+            //   .width(100)
+            //   .height(300)
+            //   .images(this.FragranceImages)// 动画数组
+            //   .duration(this.FragranceImages.length * 100)// 持续
+            //   .state(this.FragranceState)// 动画状态
+            //   .iterations(-1) // 播放次数
+
+
+          }
 
-        }.width('100%').justifyContent(FlexAlign.SpaceEvenly)
-      }
-      .width('100%')
-      .padding({left:12,right:12})
-      .rotate({
-        x:0,
-        z:1,
-        y:0,
-        angle:50
-      })
 
 
+        Button('xxx').onClick(() => {
+          this.FragranceState = AnimationStatus.Running
+        })
+        Button('xxx').onClick(() => {
+          this.FragranceState = AnimationStatus.Stopped
+        })
 
+        Button('xxxxx').onClick(()=>{
+          yTRouter.router2FragranceSettingPage()
+        })
 
     }.width('100%')
     .height('100%')
+    .backgroundColor(Color.Black)
 
 
   }

+ 193 - 116
features/feature/src/main/ets/view/MainView.ets

@@ -1,30 +1,34 @@
-import { avPlayerManager, Vibration, YTAvoid, YTHeader, yTRouter } from 'basic';
+import { AppStorageKeyFishCollect, avPlayerManager, Vibration, YTAvoid, YTHeader, yTRouter } from 'basic';
 import { faceDetector } from '@kit.CoreVisionKit';
 import { trustedAppService } from '@kit.DeviceSecurityKit';
+import { promptAction } from '@kit.ArkUI';
+import { Cell } from '../models';
+
 
-// 观察者模式装饰器
-@ObservedV2
-class Cell {
-  value: string = '功德+1'; // 默认显示的文字
-  @Trace // 跟踪属性变化
-  opacity: number = 0; // 文字透明度
-  @Trace // 跟踪属性变化
-  y: number = 0; // 文字的垂直偏移量
-}
 @Component
 export struct MainView{
-  @State currentIndex: number = 0
+  @Watch('changeText')
+  @StorageProp(AppStorageKeyFishCollect.FISHTEXT)
+  text:string=""
+  @State private  currentIndex: number = 0
   tabsController: TabsController = new TabsController()
   @StorageProp(YTAvoid.SAFE_TOP_KEY) top: number = 0
   @State list: Cell[] = []; // 存储所有 Cell 对象的数组
   private indexCount: number = 0; // 记录当前滚动的索引
   private count: number = 10; // 列表中 Cell 对象的数量
   private image: ResourceStr=$r('app.media.muyu')
+  changeText(){
+    if(this.text!="") {
+      this.list.forEach(item => item.value = this.text)
+    }
+  }
 
   //是否是手动
-  @State isHand:boolean=false
+  @State isAuto:boolean=false
   //是否展示侧边工具栏
   @State isShowSilder:boolean=true
+  //是否展示信息展示
+  @State isShowMessage:boolean=true
   //是否开启声音
   @State isOpenMusic:boolean=true
   //是否开启震动
@@ -279,91 +283,198 @@ export struct MainView{
   build() {
     Column() {
 
-      Row(){
-        Column(){
-          //积功德+清零
-          Row({space:50}){
-            Text(){
-              Span('积功德: ').fontColor(Color.White)
-              Span(`${this.currentMerit}`).fontColor($r('[basic].color.login_main_yellow'))
-            }
+
+      Stack({alignContent:Alignment.Bottom}) {
+        Column() {
+          if (this.isShowMessage) {
 
             Row() {
-              Text('清零')
-                .borderRadius(6)
-                .padding({
-                  left: 6,
-                  right: 6,
-                  top: 4,
-                  bottom: 4
-                })
-                .backgroundColor($r('[basic].color.login_main_yellow'))
-                .fontColor(Color.Black)
-                .onClick(() => {
-                  this.currentMerit = 0
-                })
+              Column({ space: 20 }) {
+                //积功德+清零
+                Row() {
+                  Text() {
+                    Span('积功德: ').fontColor(Color.White).fontSize(18)
+                    Span(`${this.currentMerit}`).fontSize(18).fontColor($r('[basic].color.login_main_yellow'))
+                  }.margin({ left: 50 })
+
+                  Row() {
+                    Text('清零')
+                      .borderRadius(20)
+                      .padding({
+                        left: 6,
+                        right: 6,
+                        top: 4,
+                        bottom: 4
+                      })
+                      .backgroundColor($r('[basic].color.login_main_yellow'))
+                      .fontColor(Color.Black)
+                      .onClick(() => {
+                        this.currentMerit = 0
+                      })
 
 
-            }
+                  }
 
-          }.width('100%').margin({left:80})
+                }.width('100%').justifyContent(FlexAlign.SpaceAround)
 
-          //进度条
-          Column(){
-            Progress({ value: this.currentMerit, total: this.totalMerit, type: ProgressType.Ring })
-              .width(80).color(Color.Blue)
-              .style({ strokeWidth: 5, shadow: true })
-              .backgroundColor(Color.White)
+                //进度条
+                Column() {
+                  Stack({ alignContent: Alignment.Center }) {
+                    Progress({ value: this.currentMerit, total: this.totalMerit, type: ProgressType.Ring })
+                      .width(80).color('#3dbbd1')
+                      .style({ strokeWidth: 6, shadow: true })
+                      .backgroundColor(Color.White)
+                    Text('集福').fontSize(20).fontColor(Color.White)
+                  }.margin({ left: 10 })
 
-            Text(`${this.currentMerit}/${this.totalMerit}`).fontColor(Color.White).margin({left:10})
+                  Text() {
+                    Span(`${this.currentMerit}`).fontColor($r('[basic].color.login_main_yellow'))
+                    Span(`/${this.totalMerit}`)
+                  }.fontColor(Color.White).margin({ left: 10 }).width(80).textAlign(TextAlign.Center)
 
-          }.width('100%').justifyContent(FlexAlign.Start).alignItems(HorizontalAlign.Start)
-        }.width('70%')
-        //右边的按钮
+                }.width('100%').justifyContent(FlexAlign.Start).alignItems(HorizontalAlign.Start)
+              }.layoutWeight(1)
 
-        Column({space:30}){
-          Image($r('app.media.muyu')).width(30).onClick(() => {
-            this.isShowSilder=!this.isShowSilder
+              //右边的按钮
 
-          })
-          if(this.isShowSilder) {
-            //是否开启声音
-            Image($r('app.media.muyu')).width(30).onClick(()=>{
-              this.isOpenMusic=!this.isOpenMusic
-            })
-            //是否开启震动
-            Image($r('app.media.muyu')).width(30).onClick(()=>{
-              this.isOpenVibration=this.isOpenVibration
-            })
+              Column({ space: 20 }) {
+                Image($r('app.media.muyu')).width(30).onClick(() => {
+                  this.isShowSilder = !this.isShowSilder
+                })
+                if (this.isShowSilder) {
+                  //是否开启声音
+                  Image($r('app.media.muyu')).width(30).onClick(() => {
+                    this.isOpenMusic = !this.isOpenMusic
+                  })
+                  //是否开启震动
+                  Image($r('app.media.muyu')).width(30).onClick(() => {
+                    this.isOpenVibration = !this.isOpenVibration
+                  })
+
+                  Column() {
+                    Column() {
+                      Text(this.isAuto ? '自动' : '手动')
+                        .padding({
+                          left: 3,
+                          right: 3,
+                          top: 10,
+                          bottom: 10
+                        })
+                        .margin({ bottom: 10 })
+                        .backgroundColor('#252111')
+                        .fontColor(Color.White)
+                        .onClick(() => {
+                          this.isAuto = !this.isAuto
+                          //如果是本来自动,再点击就是手动,不需要设置任何东西
+                          // if (!this.isHand) {
+                          //   this.isHand = true
+                          // } else {
+                          //   //如果本来是手动,再点击就是自动,就需要设置东西
+                          //   this.isHand = false
+                          // }
+                        })
+                      if (this.isAuto) {
+                        Column({ space: 10 }) {
+                          Text('结束')
+                            .padding({
+                              left: 3,
+                              right: 3,
+                              top: 10,
+                              bottom: 10
+                            })
+                            .fontColor(Color.White)
+                            .backgroundColor('#252111')
+                            .onClick(() => {
+                              this.isAuto = !this.isAuto
+                            })
+                          Text('设置')
+                            .padding({
+                              left: 3,
+                              right: 3,
+                              top: 10,
+                              bottom: 10
+                            })
+                            .fontColor(Color.White)
+                            .backgroundColor('#252111')
+                            .bindSheet($$this.isShowTimeManger, this.timeMangerBuilder(), {
+                              width: '100%',
+                              height: 400,
+                              showClose: false,
+                            })
+                            .onClick(() => {
+                              this.isShowTimeManger = true
+                            })
+                          Text('设置2')
+                            .padding({
+                              left: 3,
+                              right: 3,
+                              top: 10,
+                              bottom: 10
+                            })
+                            .fontColor(Color.White)
+                            .backgroundColor('#252111')
+                            .onClick(() => {
+                              //去往设置页面
+                              yTRouter.router2FishSettingPage()
+                            })
+                        }
+                      }
+                    }
+                  }
+                }
 
-            Column() {
-              Text(this.isHand ? '手动' : '自动').fontColor(Color.White).onClick(() => {
-                this.isHand = !this.isHand
-              })
-              Text('设置').fontColor(Color.White).bindSheet($$this.isShowTimeManger, this.timeMangerBuilder(), {
-                width: '100%',
-                height: 400,
-                showClose: false,
-              }).onClick(() => {
-                this.isShowTimeManger = true
-              })
-              Text('设置2').fontColor(Color.White).onClick(()=>{
-                //去往设置页面
-                yTRouter.router2FishSettingPage()
-              })
-            }
-          }
+              }.width(50)
+              .justifyContent(FlexAlign.Center)
+              .alignItems(HorizontalAlign.End)
+
+            }.width('100%')
+            .height(300)
 
-        }.layoutWeight(1)
-        .justifyContent(FlexAlign.Center)
-        .alignItems(HorizontalAlign.End)
+            .alignItems(VerticalAlign.Top)
+          }
+        }
+        .height('100%')
+        .margin({ top: 20 })
+
+        Column() {
+          Stack() { // 创建一个堆栈布局容器
+            ForEach(this.list, (item: Cell, _index: number) => { // 遍历 list 中的每一个 Cell
+              Text(item.value)// 显示 Cell 中的文字
+                .fontColor(Color.White)// 设置文字颜色为白色
+                .fontSize('50lpx')// 设置文字大小
+                .translate({ x: 0, y: `${item.y}lpx` })// 设置文字的垂直偏移量
+                .opacity(item.opacity) // 设置文字的透明度
+            })
+          }
+          .width(200) //
+          .height(100)
+          .align(Alignment.BottomEnd)
+          Image(this.image)
+            .width(200)
+            .height(200)
+            .objectFit(ImageFit.Contain)
+            .clickEffect({
+              // 点击效果配置
+              scale: 0.5, // 缩放比例
+              level: ClickEffectLevel.LIGHT // 效果级别
+            })
+            .onClick(() => { // 点击图片时触发的回调
+              this.onclikMerit()
+            })
 
+          Row(){
 
+            Image($r('app.media.muyu')).width(30).onClick(()=>{
+              this.isShowMessage=!this.isShowMessage
+            })
+          }.width('100%')
+          .margin({top:50})
+          .justifyContent(FlexAlign.End)
+        }
+        .width('100%')
+        .margin({bottom:20})
 
-      }.width('100%')
-      .height(230)
-      .margin({top:20})
-      .alignItems(VerticalAlign.Top)
+      }.height('100%')
 
       // Row(){
       //   Button('改变文字').onClick(()=>{
@@ -433,41 +544,7 @@ export struct MainView{
 
 
 
-      Column() { // 创建一个垂直布局容器
-        Stack() { // 创建一个堆栈布局容器
-          ForEach(this.list, (item: Cell, _index: number) => { // 遍历 list 中的每一个 Cell
-            Text(item.value)// 显示 Cell 中的文字
-              .fontColor(Color.White)// 设置文字颜色为白色
-              .fontSize('50lpx')// 设置文字大小
-              .translate({ x: 0, y: `${item.y}lpx` })// 设置文字的垂直偏移量
-              .opacity(item.opacity) // 设置文字的透明度
-          })
-        }
-        .width(200) // 设置堆栈布局容器的宽度
-        .height(200) // 设置堆栈布局容器的高度
-        .align(Alignment.BottomEnd) // 设置对齐方式为底部右端
-
-        Image(this.image)// 显示图片
-          .width(200)// 设置图片宽度
-          .height(200)// 设置图片高度
-          .objectFit(ImageFit.Contain)// 图片适应容器
-          .clickEffect({
-            // 点击效果配置
-            scale: 0.5, // 缩放比例
-            level: ClickEffectLevel.LIGHT // 效果级别
-          })
-          .onClick(() => { // 点击图片时触发的回调
-            this.onclikMerit()
-          })
-
-        Row(){
 
-          Image($r('app.media.muyu')).width(30)
-        }.width('100%')
-        .justifyContent(FlexAlign.End)
-      }
-      .width('100%')
-      .backgroundColor(Color.Black) // 设置背景颜色为黑色
 
     }.width('100%')
     .height('100%')

BIN
features/feature/src/main/resources/base/media/fragrance1.png


BIN
features/feature/src/main/resources/base/media/fragrance10.png


BIN
features/feature/src/main/resources/base/media/fragrance11.png


BIN
features/feature/src/main/resources/base/media/fragrance12.png


BIN
features/feature/src/main/resources/base/media/fragrance13.png


BIN
features/feature/src/main/resources/base/media/fragrance14.png


BIN
features/feature/src/main/resources/base/media/fragrance15.png


BIN
features/feature/src/main/resources/base/media/fragrance16.png


BIN
features/feature/src/main/resources/base/media/fragrance17.png


BIN
features/feature/src/main/resources/base/media/fragrance18.png


BIN
features/feature/src/main/resources/base/media/fragrance19.png


BIN
features/feature/src/main/resources/base/media/fragrance2.png


BIN
features/feature/src/main/resources/base/media/fragrance20.png


BIN
features/feature/src/main/resources/base/media/fragrance21.png


BIN
features/feature/src/main/resources/base/media/fragrance22.png


BIN
features/feature/src/main/resources/base/media/fragrance23.png


BIN
features/feature/src/main/resources/base/media/fragrance24.png


BIN
features/feature/src/main/resources/base/media/fragrance25.png


BIN
features/feature/src/main/resources/base/media/fragrance3.png


BIN
features/feature/src/main/resources/base/media/fragrance4.png


BIN
features/feature/src/main/resources/base/media/fragrance5.png


BIN
features/feature/src/main/resources/base/media/fragrance6.png


BIN
features/feature/src/main/resources/base/media/fragrance7.png


BIN
features/feature/src/main/resources/base/media/fragrance8.png


BIN
features/feature/src/main/resources/base/media/fragrance9.png


+ 5 - 0
features/feature/src/main/resources/base/profile/router_map.json

@@ -5,6 +5,11 @@
       "name": "FishSettingView",
       "pageSourceFile": "src/main/ets/view/FishSettingView.ets",
       "buildFunction": "FishSettingViewBuilder"
+    },
+    {
+      "name": "FragranceSettingView",
+      "pageSourceFile": "src/main/ets/view/FragranceSettingView.ets",
+      "buildFunction": "FragranceSettingBuilder"
     }
 
   ]

+ 1 - 1
features/user/src/main/ets/components/Terms.ets

@@ -33,7 +33,7 @@ export struct Terms {
           //   })
           //
           // Span('以及')
-          Span('《樱桃小决定用户协议》')
+          Span('《静心木鱼用户协议》')
             .spanEx(() => {
               yTRouter.router2userAgreement()
 

+ 2 - 2
features/user/src/main/ets/pages/LoginPage.ets

@@ -140,8 +140,8 @@ struct LoginPage {
 
       bottom: this.safeBottom
     })
-    .backgroundImage(this.tabBarIndex==1?$r('app.media.login'):$r('app.media.register'))
-    .backgroundImageSize({width:'100%',height:'100%'})
+    // .backgroundImage(this.tabBarIndex==1?$r('app.media.login'):$r('app.media.register'))
+    // .backgroundImageSize({width:'100%',height:'100%'})
     .height('100%')
   }
 }

+ 1 - 1
features/user/src/main/ets/views/Mine.ets

@@ -91,7 +91,7 @@ export struct Mine {
       const data = new systemShare.SharedData({
         // utd: uniformTypeDescriptor.UniformDataType.HYPERLINK,
         utd:uniformTypeDescriptor.UniformDataType.TEXT,
-        title: '樱桃小决定',
+        title: '静心木鱼',
         content:'http://appgallery.huawei.com/app/detail?id=6917580107917312127',
         description:"http://appgallery.huawei.com/app/detail?id=6917580107917312127"
         // content: 'store://appgallery.huawei.com/app/detail?id=6917580107917312127',

+ 4 - 8
products/entry/src/main/ets/entryability/EntryAbility.ets

@@ -3,6 +3,7 @@ import { hilog } from '@kit.PerformanceAnalysisKit';
 import { window } from '@kit.ArkUI';
 import {
   AppStorageKeyCollect,
+  AppStorageKeyFishCollect,
   jHStartAd,
   permissionController,
   YTAvoid,
@@ -43,15 +44,10 @@ export default class EntryAbility extends UIAbility {
       })
 
       PersistentStorage.persistProp<string>(AppStorageKeyCollect.TOKEN, '')
-      //大转盘以及选中的和没选中的
-
-
-
-
-
-      //记录抛硬币数据
-
 
+      //敲木鱼的文字动画
+      PersistentStorage.persistProp<string>(AppStorageKeyFishCollect.FISHTEXT, '')
+      PersistentStorage.persistProp<string[]>(AppStorageKeyFishCollect.TEXTARR, [])
 
 
       if (AppStorage.get<string>(AppStorageKeyCollect.TOKEN)) {