MinePageComponent.ets 2.77 KB
import MinePagePersonalFunctionsItem from '../../viewmodel/MinePagePersonalFunctionsItem'
import MinePageCreatorFunctionsItem from '../../viewmodel/MinePageCreatorFunctionsItem'
import MinePageMoreFunctionModel from '../../viewmodel/MinePageMoreFunctionModel'
import MinePageDatasModel from '../../model/MinePageDatasModel'
import MinePageUserSimpleInfoUI from '../mine/MinePageUserSimpleInfoUI'
import MinePagePersonFunctionUI from '../mine/MinePagePersonFunctionUI'
import MinePageCardUI from '../mine/MinePageCardUI'
import MinePageCreatorFunctionUI from '../mine/MinePageCreatorFunctionUI'
import MinePageMoreFunctionUI from '../mine/MinePageMoreFunctionUI'
import { SPHelper, StringUtils } from 'wdKit'
import { SpConstants } from 'wdConstant'

const TAG = 'MinePageComponent';

/**
 * 我的页面
 */
@Component
export struct MinePageComponent {
  //是否是创作者
  @State isCreator:boolean = false
  @State isLogin:boolean = false   //默认  false  测试放开
  @State personalData:MinePagePersonalFunctionsItem[] = []
  @State creatorData:MinePageCreatorFunctionsItem[] = []
  @State moreData:MinePageMoreFunctionModel[] = []
  scroller: Scroller = new Scroller()

  aboutToAppear(){
    this.getUserLogin()
    this.getFunctionData()
  }

  getFunctionData(){
    //个人功能数据
    this.personalData = MinePageDatasModel.getPersonalFunctionsData()
    //创作者功能数据
    this.creatorData = MinePageDatasModel.getCreatorFunctionsData()
    //更多功能数据
    this.moreData = MinePageDatasModel.getMoreFunctionsData()
  }

  build() {
    Scroll(this.scroller){
      Stack(){
        Image($r('app.media.mine_head_bg'))
          .width('100%')
          .height('657lpx')
          .objectFit(ImageFit.Auto)
        this.MinePageUI()
      }
      .alignContent(Alignment.Top)
    }
    .setFullWidthAndHeight()
    .backgroundColor($r('app.color.color_F9F9F9'))
    .scrollable(ScrollDirection.Vertical)
    .scrollBar(BarState.Off)
  }


  @Builder MinePageUI(){
    Column(){
      //头像层
      MinePageUserSimpleInfoUI({isLogin:this.isLogin})
      //Grid 区域
      MinePagePersonFunctionUI({personalData:$personalData,isLogin:this.isLogin})
      //Card
      //MinePageCardUI()
      //创作者区域

      //MinePageCreatorFunctionUI({creatorData:$creatorData})
      //更多功能
      MinePageMoreFunctionUI({moreData:$moreData})
    }.width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Start)
  }

  @Styles setFullWidthAndHeight(){
    .width('100%')
    .height('100%')
  }

 async getUserLogin() {
    // let userid = SPHelper.default.getSync(SpConstants.USER_ID,"") as string
    let userid = await SPHelper.default.get(SpConstants.USER_ID,"")
    if(StringUtils.isNotEmpty(userid)){
      this.isLogin = true
    }else{
      this.isLogin = false
    }
  }

}