| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- import { EmitterKeyCollection, UserInfo, userInfo, yTRouter } from "basic"
- import { emitter } from "@kit.BasicServicesKit"
- import { AppStorageV2 } from "@kit.ArkUI"
- @ComponentV2
- export struct ytBuildComp {
- // 主体内容
- @BuilderParam main: () => void
- // 是否登录
- @Local isLogin: boolean = false
- // 用户信息
- @Local userInfo: UserInfo = AppStorageV2.connect<UserInfo>(UserInfo, 'UserInfo', () => userInfo)!
- // 是否校验登录
- @Local checkLogin: boolean = false
- toLogin = () => {
- yTRouter.router2LoginPage(false)
- }
- LoginStatusChange(){
- this.isLogin = this.userInfo.checkLogin()
- this.userInfo.setUserInfoAndLogin(userInfo, false)
- }
- aboutToAppear(): void {
- emitter.on(EmitterKeyCollection.LOGIN, () => {
- this.LoginStatusChange()
- })
- emitter.on(EmitterKeyCollection.LOGOUT, () => {
- this.LoginStatusChange()
- })
- this.LoginStatusChange()
- }
- build() {
- RelativeContainer(){
- Column(){
- this.main()
- }
- .width("100%")
- .height("100%")
- .alignRules({
- top: { anchor: "__container__", align: VerticalAlign.Top},
- left: { anchor: "__container__", align: HorizontalAlign.Start},
- })
- if(!this.isLogin && this.checkLogin){
- Row() {
- Text("登录使用更多功能")
- .fontSize(20)
- .fontWeight(400)
- .fontColor(Color.White)
- Text("马上登录")
- .fontSize(14)
- .fontWeight(500)
- .borderRadius(20)
- .padding({ top: 5, bottom: 5, left: 10, right: 10 })
- .linearGradient({
- colors: [['#30E3CE', 0.5], ['#91F1FF', 1]]
- })
- .onClick(this.toLogin)
- }
- .width("100%")
- .alignItems(VerticalAlign.Center)
- .justifyContent(FlexAlign.SpaceBetween)
- .padding({ left: 20, right: 20, top: 18, bottom: 18 })
- .backgroundColor('rgba(0, 0, 0, 0.5)')
- .alignRules({
- bottom: { anchor: "__container__", align: VerticalAlign.Bottom},
- left: { anchor: "__container__", align: HorizontalAlign.Start},
- })
- }
- }
- .width("100%")
- .height("100%")
- }
- }
|