王士厅
... ... @@ -27,6 +27,10 @@
{
"name": "location_reason",
"value": " "
},
{
"name": "STORE_PERSISTENT_DATA",
"value": "STORE_PERSISTENT_DATASTORE_PERSISTENT_DATASTORE_PERSISTENT_DATA"
}
]
}
... ...
... ... @@ -24,8 +24,8 @@ interface dataObject {
// 9、活动投稿 视频跳转
// 10、活动投稿 动态跳转
// 11、活动投稿 图集跳转
dataSource: WDH5WebDataSource
operateType?: string
dataSource?: WDH5WebDataSource
operateType?: WDH5WebPageOperationType
webViewHeight?: string
dataJson?: string
appInnerLink?: string
... ... @@ -39,6 +39,7 @@ interface dataObject {
positionTop?: string
videoLandscape?: string
imgListData?: string
statusBarMode?: string
}
/**
... ... @@ -85,4 +86,41 @@ export enum WDH5WebDataSource {
WDH5WebDataSourcePartinActivityPublishVideo = 9,
WDH5WebDataSourcePartinActivityPublishDynamic = 10,
WDH5WebDataSourcePartinActivityPublishPicture = 11,
}
\ No newline at end of file
}
export enum WDH5WebPageOperationType {
WDH5WebPageOperationTypeClose = '1',
WDH5WebPageOperationTypeReload = '2',
WDH5WebPageOperationTypeGoBack = '3',
WDH5WebPageOperationTypePlayerVideoFor4G = '4',
WDH5WebPageOperationTypeEmailSubscribeHasClosed = '5',
WDH5WebPageOperationTypeHeightUpdate = '8',
WDH5WebPageOperationTypeVideoPlay = '9', // 让App开始播放视频
WDH5WebPageOperationTypeAudioPlayed = '10', // H5开始播放音频 (做互斥用)
WDH5WebPageOperationTypeCloseAppNavigationBar = '12',
WDH5WebPageOperationTypeOpenAppNavigationBar = '13',
WDH5WebPageOperationTypeCloseBottomBar = '14',
WDH5WebPageOperationTypeOpenBottomBar = '15',
WDH5WebPageOperationTypeShowNavigationShareButton = '16',
WDH5WebPageOperationTypeHiddenNavigationShareButton = '17',
WDH5WebPageOperationTypeSetTitle = '18',
WDH5WebPageOperationTypeSetStatusBar = '19',
WDH5WebPageOperationTypeBottomBarMaskViewShow = '20',
WDH5WebPageOperationTypeBottomBarMaskViewHidden = '21',
WDH5WebPageOperationTypeRetry = '22',
WDH5WebPageOperationTypeCreatorFollowStatusChanged = '24',
WDH5WebPageOperationTypeStartPopupAlert = '32', //(原生代码确保Webview底部到底)
WDH5WebPageOperationTypeEndPopupAlert = '33',
WDH5WebPageOperationTypeSkipHomePage = '40',
WDH5WebPageOperationTypeSkipScoreCenterSign = '41',
WDH5WebPageOperationTypeSkipFeedbackPage = '42',
WDH5WebPageOperationTypeSkipFollowListPage = '43',
WDH5WebPageOperationTypeShowLoading = '47',
WDH5WebPageOperationTypeHiddenLoading = '48',
WDH5WebPageOperationTypeVideoRectChange = '49', // 修改App视频尺寸 (暂未使用)
};
\ No newline at end of file
... ...
... ... @@ -10,8 +10,8 @@
"@tingyun/harmonyos": "file:./src/main/ets/tingyunAPM/tingyun_0.0.6.har",
"@umeng/common": "^1.0.21",
"@umeng/analytics": "^1.0.19",
"@mpaas/udid": "0.0.2",
"@mpaas/upgrade": "0.0.2",
"@mpaas/framework": "0.0.2"
// "@mpaas/udid": "0.0.3",
// "@mpaas/upgrade": "0.0.3",
// "@mpaas/framework": "0.0.3"
}
}
... ...
import { MPUpgradeService } from '@mpaas/upgrade'
import { upgradeRes } from '@mpaas/upgrade/src/main/ets/t4/a'
// import { MPUpgradeService } from '@mpaas/upgrade'
// import { upgradeRes } from '@mpaas/upgrade/src/main/ets/t4/a'
import { AppUtils } from '../utils/AppUtils'
import { SPHelper } from '../utils/SPHelper'
... ... @@ -16,7 +16,7 @@ export class MpaasUpgradeCheck {
/// 默认提示框
checkNewVersionAndShow() {
try {
MPUpgradeService.checkNewVersionAndShow()
// MPUpgradeService.checkNewVersionAndShow()
} catch (error) {
console.log("mpaas upgrade fail", JSON.stringify(error))
}
... ... @@ -25,69 +25,70 @@ export class MpaasUpgradeCheck {
checkNewVersion(): Promise<UpgradeTipContent | null> {
return new Promise((resolve, fail) => {
MPUpgradeService.checkNewVersion().then((response)=>{
let str = JSON.stringify(response)
console.log("mpaas upgrade check", str)
/*
{
"android64FileSize": 0,
"downloadURL": "https://appgallery.huawei.com/#/app",
"fileSize": 0,
"fullMd5": "no md5",
"guideMemo": "欢迎使用新版本",
"isWifi": 0,
"netType": "ALL",
"newestVersion": "1.0.1",
"resultStatus": 204,
"silentType": 0,
"upgradeVersion": "1.0.1"
}*/
let res = response as upgradeRes
// AliUpgradeNewVersion = 201, /*当前使用的已是最新版本*/
// AliUpgradeOneTime = 202, /*客户端已有新版本,单次提醒*/
// AliUpgradeForceUpdate = 203, /*客户端已有新版本,强制升级(已废弃)*/
// AliUpgradeEveryTime = 204, /*客户端已有新版本,多次提醒*/
// AliUpgradeRejectLogin = 205, /*限制登录(已废弃)*/
// AliUpgradeForceUpdateWithLogin = 206 /*客户端已有新版本,强制升级*/
const currentAppVersoin = AppUtils.getAppVersionName()
if (res.resultStatus == 201) {
resolve(null)
return
}
// 单次升级控制
if (res.resultStatus == 202) {
const oldOnceValue = SPHelper.default.getSync("upgradeOnceKey", false) as boolean
if (true == oldOnceValue) {
resolve(null)
return
}
SPHelper.default.save("upgradeOnceKey", true)
} else {
SPHelper.default.save("upgradeOnceKey", false)
}
if (res.resultStatus == 202 || res.resultStatus == 204 || res.resultStatus == 206) {
let content: UpgradeTipContent = {
content: res.guideMemo,
newVersion: res.upgradeVersion,
downloadUrl: res.downloadURL,
forceUpgrade: res.resultStatus == 206
}
resolve(content)
return
}
resolve(null)
}).catch((error: Error) => {
console.log("mpaas upgrade fail", `name: ${error.name}, message: ${error.message}, \nstack: ${error.stack}`)
fail("检测升级失败")
})
fail("a")
// MPUpgradeService.checkNewVersion().then((response)=>{
// let str = JSON.stringify(response)
// console.log("mpaas upgrade check", str)
//
// /*
// {
// "android64FileSize": 0,
// "downloadURL": "https://appgallery.huawei.com/#/app",
// "fileSize": 0,
// "fullMd5": "no md5",
// "guideMemo": "欢迎使用新版本",
// "isWifi": 0,
// "netType": "ALL",
// "newestVersion": "1.0.1",
// "resultStatus": 204,
// "silentType": 0,
// "upgradeVersion": "1.0.1"
// }*/
//
// let res = response as upgradeRes
//
// // AliUpgradeNewVersion = 201, /*当前使用的已是最新版本*/
// // AliUpgradeOneTime = 202, /*客户端已有新版本,单次提醒*/
// // AliUpgradeForceUpdate = 203, /*客户端已有新版本,强制升级(已废弃)*/
// // AliUpgradeEveryTime = 204, /*客户端已有新版本,多次提醒*/
// // AliUpgradeRejectLogin = 205, /*限制登录(已废弃)*/
// // AliUpgradeForceUpdateWithLogin = 206 /*客户端已有新版本,强制升级*/
//
// const currentAppVersoin = AppUtils.getAppVersionName()
//
// if (res.resultStatus == 201) {
// resolve(null)
// return
// }
//
// // 单次升级控制
// if (res.resultStatus == 202) {
// const oldOnceValue = SPHelper.default.getSync("upgradeOnceKey", false) as boolean
// if (true == oldOnceValue) {
// resolve(null)
// return
// }
// SPHelper.default.save("upgradeOnceKey", true)
// } else {
// SPHelper.default.save("upgradeOnceKey", false)
// }
//
// if (res.resultStatus == 202 || res.resultStatus == 204 || res.resultStatus == 206) {
// let content: UpgradeTipContent = {
// content: res.guideMemo,
// newVersion: res.upgradeVersion,
// downloadUrl: res.downloadURL,
// forceUpgrade: res.resultStatus == 206
// }
// resolve(content)
// return
// }
//
// resolve(null)
// }).catch((error: Error) => {
// console.log("mpaas upgrade fail", `name: ${error.name}, message: ${error.message}, \nstack: ${error.stack}`)
// fail("检测升级失败")
// })
})
}
}
\ No newline at end of file
... ...
import { MPFramework } from '@mpaas/framework'
// import { MPFramework } from '@mpaas/framework'
import { common } from '@kit.AbilityKit';
/*
... ... @@ -12,17 +12,18 @@ export class MpaasUtils {
// 启动时onCreate()方法调用
static initApp(context: common.UIAbilityContext) {
MPFramework.create(context);
// MPFramework.create(context);
}
// 获取mPaaS utdid
static async mpaasUtdid() {
let utdid = await MPFramework.instance.udid
// let utdid = await MPFramework.instance.udid
let utdid = "xxxxxxxxxx"
return utdid
}
// 登录和退出登录调用,用来管理白名单用
static setupUserId(userId?: string) {
MPFramework.instance.userId = userId
// MPFramework.instance.userId = userId
}
}
\ No newline at end of file
... ...
... ... @@ -5,8 +5,9 @@ import { setDefaultNativeWebSettings } from './WebComponentUtil';
import { Action } from 'wdBean';
import { performJSCallNative } from './JsBridgeBiz';
import { H5CallNativeType } from './H5CallNativeType';
import { Message,WDH5WebDataSource } from 'wdJsBridge/src/main/ets/bean/Message';
import { Message,WDH5WebDataSource,WDH5WebPageOperationType } from 'wdJsBridge/src/main/ets/bean/Message';
import { JSON } from '@kit.ArkTS';
import { WindowModel } from 'wdKit';
const TAG = 'WdWebComponent';
... ... @@ -84,7 +85,18 @@ export struct WdWebComponent {
}
}
if (data.handlerName === H5CallNativeType.jsCall_currentPageOperate) {
this.jsCall_currentPageOperate(data)
return
}
}
private jsCall_currentPageOperate(data: Message) {
if (data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeSetStatusBar) {
WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: data.data?.statusBarMode =='2'?'#ffffff':'#000000'})
}
}
onPageBegin: (url?: string) => void = () => {
Logger.debug(TAG, 'onPageBegin');
this.registerHandlers();
... ...
... ... @@ -46,6 +46,7 @@ struct ChannelSubscriptionLayout {
navItem: BottomNavDTO = {} as BottomNavDTO
// 顶部导航栏是否有临时跳转频道数据不
@Prop haveTempTabData: boolean
changeTab: (index: number) => void = () => {
}
... ... @@ -272,6 +273,25 @@ struct ChannelSubscriptionLayout {
}
}
@Builder
firstSettingItemBuilder (item:TopNavDTO, index: number){
if (this.homeChannelList.length == 1) {
Image('')
.width('100%')
.height('100%')
.backgroundColor('#ED2800')
.borderRadius(4)
}else {
Image(item.channelId === this.indexSettingChannelId ? $r('app.media.index_setting_button_active') :
$r('app.media.index_setting_button'))
.objectFit(ImageFit.Contain)
.rotate({
angle: index === 1 ? 180 : 0
})
}
}
@Builder
sheetBuilder() {
Column() {
... ... @@ -290,60 +310,64 @@ struct ChannelSubscriptionLayout {
.padding({ bottom: 10 })
List() {
ListItem() {
Row() {
Text(INDEX_SETTING_TITLE)
.fontSize(16)
.fontWeight(600)
.margin({ right: 4 })
Text(INDEX_SETTING_SUBTITLE)
.fontSize(12)
.fontWeight(400)
.fontColor('#80222222')
if (this.homeChannelList.length > 0) {
ListItem() {
Row() {
Text(INDEX_SETTING_TITLE)
.fontSize(16)
.fontWeight(600)
.margin({ right: 4 })
Text(INDEX_SETTING_SUBTITLE)
.fontSize(12)
.fontWeight(400)
.fontColor('#80222222')
}
.width('100%')
.margin({ top: 22, bottom: 16 })
}
.width('100%')
.margin({ top: 22, bottom: 16 })
}
ListItem() {
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
ForEach(this.homeChannelList, (item: TopNavDTO, index: number) => {
Stack() {
this.firstSettingItemBuilder(item,index)
// Image(item.channelId === this.indexSettingChannelId ? $r('app.media.index_setting_button_active') :
// $r('app.media.index_setting_button'))
// .objectFit(ImageFit.Contain)
// .rotate({
// angle: index === 1 ? 180 : 0
// })
Row() {
if (index === 0) {
Image(item.channelId === this.indexSettingChannelId ? $r('app.media.recommend_icon') :
$r('app.media.recommend_icon_active'))
.width(20)
}
Text(item.name)
.textAlign(TextAlign.Center)
.fontSize(16)
.fontColor(item.channelId === this.indexSettingChannelId ? '#ffffff' : '#ED2800')
ListItem() {
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
ForEach(this.homeChannelList, (item: TopNavDTO, index: number) => {
Stack() {
Image(item.channelId === this.indexSettingChannelId ? $r('app.media.index_setting_button_active') :
$r('app.media.index_setting_button'))
.objectFit(ImageFit.Auto)
.rotate({
angle: index === 1 ? 180 : 0
})
Row() {
if (index === 0) {
Image(item.channelId === this.indexSettingChannelId ? $r('app.media.recommend_icon') :
$r('app.media.recommend_icon_active'))
.width(20)
}
Text(item.name)
.textAlign(TextAlign.Center)
.fontSize(16)
.fontColor(item.channelId === this.indexSettingChannelId ? '#ffffff' : '#ED2800')
.width('100%')
.justifyContent(FlexAlign.Center)
}
.width('100%')
.justifyContent(FlexAlign.Center)
}
.alignContent(Alignment.Start)
.height(36)
.onClick(() => {
this.indexSettingChannelId = item.channelId
AppStorage.set('indexSettingChannelId', item.channelId)
.alignContent(Alignment.Start)
.height(36)
.layoutWeight(1)
.onClick(() => {
this.indexSettingChannelId = item.channelId
AppStorage.set('indexSettingChannelId', item.channelId)
})
})
})
}
.height(36)
.margin({ bottom: 36 })
}
.height(36)
.margin({ bottom: 36 })
}
ListItem() {
Row() {
Row() {
... ... @@ -366,7 +390,7 @@ struct ChannelSubscriptionLayout {
}
.width('100%')
.justifyContent(FlexAlign.SpaceBetween)
.margin({ bottom: 12 })
.margin({ top:this.homeChannelList.length > 0?0:22,bottom: 12 })
}
// 我的频道列表
... ...