Toggle navigation
Toggle navigation
This project
Loading...
Sign in
developOne
/
harmonyPool
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
陈剑华
2024-05-10 15:24:34 +0800
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
ced55522e470c05b0409b0171974355e289e97f7
ced55522
2 parents
03bfb5fe
4c35c201
Merge remote-tracking branch 'origin/main'
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
253 additions
and
85 deletions
sight_harmony/features/wdComponent/src/main/ets/components/setting/AccountAndSecurityLayout.ets
sight_harmony/features/wdComponent/src/main/ets/components/setting/ConfirmLogoutDialog.ets
sight_harmony/products/phone/src/main/ets/entryability/EntryAbility.ets
sight_harmony/products/phone/src/main/ets/pages/launchPage/LaunchPage.ets
sight_harmony/products/phone/src/main/ets/startupmanager/StartupManager.ets
sight_harmony/features/wdComponent/src/main/ets/components/setting/AccountAndSecurityLayout.ets
View file @
ced5552
...
...
@@ -49,9 +49,12 @@ export struct AccountAndSecurityLayout {
confirmDialogController: CustomDialogController = new CustomDialogController({
builder: ConfirmLogoutDialog({
cancel: () => {
},
tipShow:false,
title:"确认退出登录吗?",
leftText:"确认",
leftTextColor:$r('app.color.color_648DF2'),
rightText:"取消",
cancelIsLeft:false,
confirm: () => {
this.logout()
}
...
...
@@ -213,17 +216,6 @@ export struct AccountAndSecurityLayout {
Column() {
Button('退出登录',{ stateEffect: true ,type: ButtonType.Normal}).width('90%').height('80lpx').backgroundColor('#da3e22').fontColor('#fff').margin('20lpx').borderRadius('8lpx').onClick(()=>{
this.confirmDialogController.open()
// AlertDialog.show({
// title: '🥟id : ' + "button",
// message: '标题:' + '退出登录',
// confirm: {
// value: "OK",
// action: () => {
//
// },
// }
// })
})
}
}
...
...
sight_harmony/features/wdComponent/src/main/ets/components/setting/ConfirmLogoutDialog.ets
View file @
ced5552
...
...
@@ -2,6 +2,17 @@
@CustomDialog
export struct ConfirmLogoutDialog {
@State title: string = "标题"
@State titleShow: boolean = true
@State tipValue: string ="提示文字"
@State tipShow: boolean = true
@State cancelIsLeft :boolean = true//取消是否在左边
@State leftText: string = "取消"
@State rightText: string = "确认"
@State leftTextColor: Resource = $r('app.color.color_333333')
@State rightTextColor: Resource = $r('app.color.color_648DF2')
controller: CustomDialogController
cancel: () => void = () => {
}
...
...
@@ -10,51 +21,78 @@ export struct ConfirmLogoutDialog {
build() {
Column() {
Text("确认退出登录吗?")
.fontColor("#222222")
.fontSize(18)
Column(){
if(this.titleShow){
Text(this.title)
.fontSize("32lpx")
.fontColor($r('app.color.color_333333'))
.lineHeight('50lpx')
.fontWeight(600)
}
if(this.tipShow){
Text(this.tipValue)
.margin({ top:this.titleShow?"10lpx":"0lpx" })
.fontSize("27lpx")
.fontWeight(400)
.lineHeight('38lpx')
.fontColor($r('app.color.color_999999'))
}
}.padding({top:"48lpx",bottom:"48lpx"})
.alignItems(HorizontalAlign.Center)
Divider()
.width("100%")
.fontWeight(FontWeight.Bold)
.textAlign(TextAlign.Center)
.margin({ top: 20 })
Divider().color("#999999").width("100%").margin({ top: 20 }).height('1vp')
Row() {
Text('确认')
.fontSize(16)
.fontColor("#648DF2")
.layoutWeight(1)
.fontWeight(FontWeight.Medium)
.textAlign(TextAlign.Center)
.strokeWidth('1lpx')
.height('1lpx')
.color($r('app.color.color_EEEEEE'))
Row(){
Text(this.leftText)
.fontSize('35lpx')
.fontWeight(400)
.fontColor(this.leftTextColor)
.onClick(() => {
this.controller.close()
if (this.confirm) {
this.confirm()
if (this.controller != undefined){
if(this.cancelIsLeft){
this.controller.close()
this.cancel()
}else{
this.controller.close()
this.confirm()
}
}
})
.height('100%')
// Divider().color("#999999").height('100%').width('0.5vp')
Text('取消')
.fontSize(16)
.fontColor("#648DF2")
.layoutWeight(1)
.fontWeight(FontWeight.Medium)
}).layoutWeight(1)
.textAlign(TextAlign.Center)
.border({
width: { left: 1 },
color: "#999999",
style: { left: BorderStyle.Solid }
})
Divider()
.width("1lpx")
.strokeWidth('1lpx')
.vertical(true)
.height('92lpx')
.color($r('app.color.color_EEEEEE'))
Text(this.rightText)
.fontSize('35lpx')
.textAlign(TextAlign.Center)
.fontWeight(400)
.fontColor(this.rightTextColor)
.onClick(() => {
this.controller.close()
if (this.cancel) {
this.cancel()
if (this.controller != undefined) {
if(this.cancelIsLeft){
this.controller.close()
this.confirm()
}else{
this.controller.close()
this.cancel()
}
}
})
.height('100%')
}.layoutWeight(1).justifyContent(FlexAlign.Center)
}.height(110).backgroundColor(Color.White).borderRadius(6).width('74%')
}).layoutWeight(1)
}
.alignItems(VerticalAlign.Center)
.height('96lpx')
}.borderRadius(10)
.width("518lpx")
.backgroundColor("#FFF")
}
}
\ No newline at end of file
...
...
sight_harmony/products/phone/src/main/ets/entryability/EntryAbility.ets
View file @
ced5552
...
...
@@ -20,40 +20,15 @@ import { HostEnum, HostManager, WDHttp } from 'wdNetwork';
import { LoginModule } from 'wdLogin/src/main/ets/LoginModule';
import { ConfigurationConstant } from '@kit.AbilityKit';
import { WDPushNotificationManager } from 'wdHwAbility/Index';
import { StartupManager } from '../startupmanager/StartupManager';
export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
UmengStats.preInit(this.context)
SPHelper.init(this.context);
StartupManager.sharedInstance().appOnCreate(want, launchParam, this.context)
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
// mPaaS 初始化
MpaasUtils.initApp(this.context)
registerRouter();
LoginModule.startup()
NetworkManager.getInstance().init()
WDHttp.initHttpHeader()
const spHostUrl = SPHelper.default.getSync('hostUrl', '') as string
if (StringUtils.isNotEmpty(spHostUrl)) {
HostManager.changeHost(spHostUrl as HostEnum)
}
// 还没深色模式需求,暂直接不跟随系统。
this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT);
// 注册监听网络连接
EmitterUtils.receiveEvent(EmitterEventId.NETWORK_CONNECTED, ((str?: string) => {
let type: NetworkType | null = null
if (str) {
type = JSON.parse(str) as NetworkType
}
Logger.info('network connected: ' + type?.toString())
}))
// 注册监听网络断开
EmitterUtils.receiveEvent(EmitterEventId.NETWORK_DISCONNECTED, (() => {
Logger.info('network disconnected')
}))
WDPushNotificationManager.getInstance().onWant(want)
}
// App活着情况下,点击推送通知进入
...
...
@@ -63,7 +38,7 @@ export default class EntryAbility extends UIAbility {
onDestroy(): void {
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy');
NetworkManager.getInstance().release
()
StartupManager.sharedInstance().appOnDestory
()
}
onWindowStageCreate(windowStage: window.WindowStage): void {
...
...
sight_harmony/products/phone/src/main/ets/pages/launchPage/LaunchPage.ets
View file @
ced5552
...
...
@@ -14,6 +14,7 @@ import LaunchDataModel from '../viewModel/LaunchDataModel'
import { Logger, SPHelper, UmengStats } from 'wdKit/Index';
import { SpConstants } from 'wdConstant/Index';
import { TrackingModule } from 'wdTracking/Index'
import { StartupManager } from '../../startupmanager/StartupManager'
@Entry
@Component
...
...
@@ -45,10 +46,9 @@ struct LaunchPage {
}
onConfirm() {
UmengStats.initAfterAgreeProtocol()
TrackingModule.startup(getContext(this) as common.UIAbilityContext)
// Save privacy agreement status.
this.saveIsPrivacy();
StartupManager.sharedInstance().appAgreedProtocol()
//跳转引导页
this.jumpToGuidePage();
//同意隐私协议后请求启动页相关数据
...
...
@@ -98,8 +98,7 @@ struct LaunchPage {
// }
} else {
UmengStats.initAfterAgreeProtocol()
TrackingModule.startup(getContext(this) as common.UIAbilityContext)
StartupManager.sharedInstance().appAgreedProtocol()
//需要根据请求数据判断是否需要进入广告页,广告数据为nil则直接跳转到首页
//获取本地存储的启动页数据
...
...
sight_harmony/products/phone/src/main/ets/startupmanager/StartupManager.ets
0 → 100644
View file @
ced5552
import { AbilityConstant, common, Want } from '@kit.AbilityKit'
import { WDPushNotificationManager } from 'wdHwAbility/Index'
import { DeviceUtil,
EmitterEventId,
EmitterUtils,
Logger,
MpaasUtils, NetworkManager,
NetworkType,
SPHelper,
StringUtils,
TingyunAPM,
UmengStats } from 'wdKit/Index'
import { LoginModule } from 'wdLogin/Index'
import { HostEnum, HostManager, WDHttp } from 'wdNetwork/Index'
import { registerRouter } from 'wdRouter/Index'
import { TrackingModule } from 'wdTracking/Index'
import { JSON } from '@kit.ArkTS'
const TAG = "[StartupManager]"
/// 启动任务管理类
export class StartupManager {
private context?: common.UIAbilityContext
private static _manger?: StartupManager
static sharedInstance(): StartupManager {
if (!StartupManager._manger) {
StartupManager._manger = new StartupManager()
}
return StartupManager._manger
}
// App启动
appOnCreate(want: Want, launchParam: AbilityConstant.LaunchParam, context: common.UIAbilityContext) {
Logger.debug(TAG, "App onCreate: " + `\nwant: ${want}\nlaunchParam: ${launchParam}`)
this.context = context
// KV存储
SPHelper.init(context);
// 路由注册
registerRouter();
// 网络模块
NetworkManager.getInstance().init()
// App环境
const spHostUrl = SPHelper.default.getSync('hostUrl', '') as string
if (StringUtils.isNotEmpty(spHostUrl)) {
HostManager.changeHost(spHostUrl as HostEnum)
}
// 友盟预初始化
this.preInitUmentStat()
// 通知栏点击后启动
WDPushNotificationManager.getInstance().onWant(want)
Logger.debug(TAG, "App onCreate: finised")
}
appOnDestory() {
Logger.debug(TAG, "App onDestory")
NetworkManager.getInstance().release()
}
// 同意隐私协议之后,立即执行必要初始化
appAgreedProtocol() {
Logger.debug(TAG, "App 已同意隐私等协议,开始必要初始化")
this.initCheckDeviceId()
this.initMpaas()
this.initSensorData()
this.initTingyun()
this.initNetwork()
this.initGeTuiPush()
this.initUmengStat()
this.initLocation()
this.initAuthLogin()
Logger.debug(TAG, "App 必要初始化完成")
}
// 到达主页后,初始化非必须部分
appReachMainPage() : Promise<void> {
return new Promise((resolve) => {
Logger.debug(TAG, "App 进入首页,开始其他任务初始化")
//TODO:
resolve()
})
}
// mPaaS 初始化,检测升级用
private initMpaas() {
Logger.debug(TAG, "App mPaaS初始化")
MpaasUtils.initApp(this.context!)
}
private initTingyun() {
// Logger.debug(TAG, "App tingyunAPM 初始化")
// TingyunAPM.initApp(this.context!, DeviceUtil.clientId())
}
private initSensorData() {
Logger.debug(TAG, "App 神策埋点 初始化")
TrackingModule.startup(this.context!)
}
private preInitUmentStat() {
UmengStats.preInit(this.context!)
}
private initUmengStat() {
Logger.debug(TAG, "App 友盟统计 初始化")
UmengStats.initAfterAgreeProtocol()
}
private initGeTuiPush() {
// Logger.debug(TAG, "App 初始化")
}
private initLocation() {
// Logger.debug(TAG, "App 初始化")
}
private initNetwork() {
Logger.debug(TAG, "App 网络 初始化")
WDHttp.initHttpHeader()
// 注册监听网络连接
EmitterUtils.receiveEvent(EmitterEventId.NETWORK_CONNECTED, ((str?: string) => {
let type: NetworkType | null = null
if (str) {
type = JSON.parse(str) as NetworkType
}
Logger.info('network connected: ' + type?.toString())
}))
// 注册监听网络断开
EmitterUtils.receiveEvent(EmitterEventId.NETWORK_DISCONNECTED, (() => {
Logger.info('network disconnected')
}))
}
private initCheckDeviceId() {
DeviceUtil.clientId()
}
private initAuthLogin() {
Logger.debug(TAG, "App 登录模块 初始化")
LoginModule.startup()
}
private initThirdPlatformSDK() {
}
private initOthers() {
}
}
\ No newline at end of file
...
...
Please
register
or
login
to post a comment