修复部分禅道上的bug
This commit is contained in:
parent
4af7f394cf
commit
40e0c9f3e1
|
|
@ -2,8 +2,8 @@
|
||||||
"app": {
|
"app": {
|
||||||
"bundleName": "com.ylqh.hm_cube",
|
"bundleName": "com.ylqh.hm_cube",
|
||||||
"vendor": "devcon",
|
"vendor": "devcon",
|
||||||
"versionCode": 210,
|
"versionCode": 240,
|
||||||
"versionName": "2.1.0",
|
"versionName": "2.4.0",
|
||||||
"icon": "$media:layer_logo",
|
"icon": "$media:layer_logo",
|
||||||
"label": "$string:app_name"
|
"label": "$string:app_name"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,13 @@ import { media } from "@kit.MediaKit";
|
||||||
import { fileIo } from "@kit.CoreFileKit";
|
import { fileIo } from "@kit.CoreFileKit";
|
||||||
import { avSessionManager } from "../manager/AVSessionManager";
|
import { avSessionManager } from "../manager/AVSessionManager";
|
||||||
import { MediaRecordEntity } from "../entity/MediaRecordEntity";
|
import { MediaRecordEntity } from "../entity/MediaRecordEntity";
|
||||||
import { MediaManager } from "../manager/MediaManager";
|
import { MediaAction, MediaManager, MediaType } from "../manager/MediaManager";
|
||||||
|
import { ShareManager } from "../manager/ShareManager";
|
||||||
|
import { TipDialog } from "./TipDialog";
|
||||||
|
import { ToastUtils } from "../utils/ToastUtils";
|
||||||
|
import { LocalMediaManager } from "../manager/LocalMediaManager";
|
||||||
|
import { AppUtil } from "@pura/harmony-utils";
|
||||||
|
import { EventConstants } from "../common/EventConstants";
|
||||||
|
|
||||||
@CustomDialog
|
@CustomDialog
|
||||||
export struct AudioPlayerDialog {
|
export struct AudioPlayerDialog {
|
||||||
|
|
@ -10,8 +16,7 @@ export struct AudioPlayerDialog {
|
||||||
|
|
||||||
@State index: number = 0
|
@State index: number = 0
|
||||||
|
|
||||||
@State uri?: string = undefined
|
@State media?: MediaRecordEntity = undefined
|
||||||
@State title?: string = undefined
|
|
||||||
@State currentTime: number = 0
|
@State currentTime: number = 0
|
||||||
@State durationTime: number = 0
|
@State durationTime: number = 0
|
||||||
@State isPlaying: boolean = false
|
@State isPlaying: boolean = false
|
||||||
|
|
@ -39,11 +44,10 @@ export struct AudioPlayerDialog {
|
||||||
async initParams() {
|
async initParams() {
|
||||||
this.mediaList = await MediaManager.getAudioList()
|
this.mediaList = await MediaManager.getAudioList()
|
||||||
if (this.mediaList.length > this.index) {
|
if (this.mediaList.length > this.index) {
|
||||||
this.uri = this.mediaList[this.index].uri
|
this.media = this.mediaList[this.index]
|
||||||
this.title = this.mediaList[this.index].name
|
if (this.media.uri) {
|
||||||
if (this.uri) {
|
|
||||||
// 打开相应的资源文件地址获取fd
|
// 打开相应的资源文件地址获取fd
|
||||||
let file = await fileIo.open(this.uri!!)
|
let file = await fileIo.open(this.media.uri)
|
||||||
this.avPlayer!!.url = 'fd://' + file.fd
|
this.avPlayer!!.url = 'fd://' + file.fd
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -143,7 +147,7 @@ export struct AudioPlayerDialog {
|
||||||
})
|
})
|
||||||
.id('iv_close')
|
.id('iv_close')
|
||||||
|
|
||||||
Text(this.title).fontColor($r('app.color.color_212226')).fontSize(16)
|
Text(this.media?.name).fontColor($r('app.color.color_212226')).fontSize(16)
|
||||||
.alignRules({
|
.alignRules({
|
||||||
top: {anchor: 'iv_close', align: VerticalAlign.Bottom}
|
top: {anchor: 'iv_close', align: VerticalAlign.Bottom}
|
||||||
})
|
})
|
||||||
|
|
@ -181,11 +185,10 @@ export struct AudioPlayerDialog {
|
||||||
await this.avPlayer!!.pause()
|
await this.avPlayer!!.pause()
|
||||||
await this.avPlayer!!.reset()
|
await this.avPlayer!!.reset()
|
||||||
this.index--
|
this.index--
|
||||||
this.uri = this.mediaList[this.index].uri
|
this.media = this.mediaList[this.index]
|
||||||
this.title = this.mediaList[this.index].name
|
if (this.media.uri) {
|
||||||
if (this.uri) {
|
|
||||||
// 打开相应的资源文件地址获取fd
|
// 打开相应的资源文件地址获取fd
|
||||||
let file = await fileIo.open(this.uri!!)
|
let file = await fileIo.open(this.media.uri)
|
||||||
this.avPlayer!!.url = 'fd://' + file.fd
|
this.avPlayer!!.url = 'fd://' + file.fd
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -209,11 +212,10 @@ export struct AudioPlayerDialog {
|
||||||
await this.avPlayer!!.pause()
|
await this.avPlayer!!.pause()
|
||||||
await this.avPlayer!!.reset()
|
await this.avPlayer!!.reset()
|
||||||
this.index++
|
this.index++
|
||||||
this.uri = this.mediaList[this.index].uri
|
this.media = this.mediaList[this.index]
|
||||||
this.title = this.mediaList[this.index].name
|
if (this.media.uri) {
|
||||||
if (this.uri) {
|
|
||||||
// 打开相应的资源文件地址获取fd
|
// 打开相应的资源文件地址获取fd
|
||||||
let file = await fileIo.open(this.uri!!)
|
let file = await fileIo.open(this.media.uri)
|
||||||
this.avPlayer!!.url = 'fd://' + file.fd
|
this.avPlayer!!.url = 'fd://' + file.fd
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -240,6 +242,10 @@ export struct AudioPlayerDialog {
|
||||||
.borderColor($r('app.color.color_466afd'))
|
.borderColor($r('app.color.color_466afd'))
|
||||||
.backgroundColor(Color.Transparent)
|
.backgroundColor(Color.Transparent)
|
||||||
.onClick(() => {
|
.onClick(() => {
|
||||||
|
if (this.media?.uri) {
|
||||||
|
this.avPlayer!!.pause()
|
||||||
|
ShareManager.shareFile(this.media.uri)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Blank().width(9)
|
Blank().width(9)
|
||||||
|
|
@ -254,7 +260,25 @@ export struct AudioPlayerDialog {
|
||||||
.layoutWeight(1)
|
.layoutWeight(1)
|
||||||
.backgroundColor($r('app.color.color_466afd'))
|
.backgroundColor($r('app.color.color_466afd'))
|
||||||
.onClick(() => {
|
.onClick(() => {
|
||||||
|
if (this.media) {
|
||||||
|
this.avPlayer!!.pause()
|
||||||
|
TipDialog.show(this.getUIContext(), {
|
||||||
|
title: '提示', content: '确定删除该音频?', callback: {
|
||||||
|
confirm: () => {
|
||||||
|
fileIo.unlink(this.media!!.uri)
|
||||||
|
.then(() => {
|
||||||
|
this.controller.close()
|
||||||
|
ToastUtils.show('删除成功')
|
||||||
|
LocalMediaManager.delete(this.media!!.name!!)
|
||||||
|
AppUtil.getContext().eventHub.emit(EventConstants.MediaActionEvent, MediaType.AUDIO, MediaAction.DELETE)
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
ToastUtils.show('删除失败, 请到文件管理中手动删除')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
.alignRules({
|
.alignRules({
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ export function mineMenuList(): ArrayList<MenuEntity> {
|
||||||
export function vipTipsList(): ArrayList<MenuEntity> {
|
export function vipTipsList(): ArrayList<MenuEntity> {
|
||||||
let list = new ArrayList<MenuEntity>()
|
let list = new ArrayList<MenuEntity>()
|
||||||
list.add(new MenuEntity($r("app.media.ic_vip_icon1"), "素材图库", ""))
|
list.add(new MenuEntity($r("app.media.ic_vip_icon1"), "素材图库", ""))
|
||||||
list.add(new MenuEntity($r("app.media.ic_vip_icon2"), "视频去水印", ""))
|
list.add(new MenuEntity($r("app.media.ic_vip_icon2"), "视频打码", ""))
|
||||||
list.add(new MenuEntity($r("app.media.ic_vip_icon3"), "高清图片", ""))
|
list.add(new MenuEntity($r("app.media.ic_vip_icon3"), "高清图片", ""))
|
||||||
list.add(new MenuEntity($r("app.media.ic_vip_icon4"), "视频加水印", ""))
|
list.add(new MenuEntity($r("app.media.ic_vip_icon4"), "视频加水印", ""))
|
||||||
list.add(new MenuEntity($r("app.media.ic_vip_icon5"), "视频提取", ""))
|
list.add(new MenuEntity($r("app.media.ic_vip_icon5"), "视频提取", ""))
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
import { MaterialInfoEntity } from "./MaterialInfoEntity"
|
|
||||||
|
|
||||||
export class WxVideoEntity {
|
|
||||||
items?: Array<MaterialInfoEntity>
|
|
||||||
playback: boolean = false
|
|
||||||
}
|
|
||||||
|
|
@ -341,12 +341,12 @@ class ApiService {
|
||||||
*/
|
*/
|
||||||
getDownloadHistoryList(page: string, startTime: string, endTime: string): Promise<HttpResult> {
|
getDownloadHistoryList(page: string, startTime: string, endTime: string): Promise<HttpResult> {
|
||||||
const params: Record<string, string> = {
|
const params: Record<string, string> = {
|
||||||
'status': '2',
|
|
||||||
'is_deleted': '0',
|
|
||||||
'page': page,
|
'page': page,
|
||||||
'size': '20',
|
'size': '20',
|
||||||
|
'status': '2',
|
||||||
'start_time': startTime,
|
'start_time': startTime,
|
||||||
'end_time': endTime
|
'end_time': endTime,
|
||||||
|
'is_delete': '0'
|
||||||
}
|
}
|
||||||
return AxiosRequest.get<HttpResult>(Api.DOWNLOAD_HISTORY_LIST, params)
|
return AxiosRequest.get<HttpResult>(Api.DOWNLOAD_HISTORY_LIST, params)
|
||||||
}
|
}
|
||||||
|
|
@ -357,12 +357,12 @@ class ApiService {
|
||||||
*/
|
*/
|
||||||
deleteDownloadHistory(startTime: string, endTime: string): Promise<HttpResult> {
|
deleteDownloadHistory(startTime: string, endTime: string): Promise<HttpResult> {
|
||||||
const params: Record<string, string> = {
|
const params: Record<string, string> = {
|
||||||
'status': '2',
|
|
||||||
'is_deleted': '0',
|
|
||||||
'page': '1',
|
'page': '1',
|
||||||
'size': '9999',
|
'size': '9999',
|
||||||
|
'status': '2',
|
||||||
'start_time': startTime,
|
'start_time': startTime,
|
||||||
'end_time': endTime
|
'end_time': endTime,
|
||||||
|
'is_delete': '0'
|
||||||
}
|
}
|
||||||
return AxiosRequest.delete<HttpResult>(Api.DOWNLOAD_HISTORY_LIST, params)
|
return AxiosRequest.delete<HttpResult>(Api.DOWNLOAD_HISTORY_LIST, params)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -164,6 +164,7 @@ struct LoginPage {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
width: '80%',
|
||||||
cornerRadius: 20,
|
cornerRadius: 20,
|
||||||
maskColor: '#CC000000',
|
maskColor: '#CC000000',
|
||||||
levelMode: LevelMode.EMBEDDED,
|
levelMode: LevelMode.EMBEDDED,
|
||||||
|
|
|
||||||
|
|
@ -444,7 +444,11 @@ struct AddWatermarkPage {
|
||||||
.backgroundColor($r('app.color.color_466afd'))
|
.backgroundColor($r('app.color.color_466afd'))
|
||||||
.onClick(() => {
|
.onClick(() => {
|
||||||
if (this.uri) {
|
if (this.uri) {
|
||||||
this.addWatermark()
|
if (this.showWatermark) {
|
||||||
|
this.addWatermark()
|
||||||
|
} else {
|
||||||
|
ToastUtils.show('请添加水印')
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ToastUtils.show('请上传视频')
|
ToastUtils.show('请上传视频')
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -203,7 +203,7 @@ struct RemoveWatermarkPage {
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
Column() {
|
Column() {
|
||||||
TitleBar({ title: '视频去水印' })
|
TitleBar({ title: '视频打码' })
|
||||||
|
|
||||||
Stack() {
|
Stack() {
|
||||||
Stack() {
|
Stack() {
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@ import { TitleBar } from '../../../../view/TitleBar';
|
||||||
import { WxVideoViewModel } from '../../../../viewModel/WxVideoViewModel';
|
import { WxVideoViewModel } from '../../../../viewModel/WxVideoViewModel';
|
||||||
import { WxVideoMaterialPage } from './material/WxVideoMaterialPage';
|
import { WxVideoMaterialPage } from './material/WxVideoMaterialPage';
|
||||||
import { CommonModifier, LevelMode, router } from '@kit.ArkUI';
|
import { CommonModifier, LevelMode, router } from '@kit.ArkUI';
|
||||||
import { WxVideoEntity } from '../../../../entity/WxVideoEntity';
|
|
||||||
import { WxImageMaterialPage } from './material/WxImageMaterialPage';
|
import { WxImageMaterialPage } from './material/WxImageMaterialPage';
|
||||||
import { OnWXResp, WXApi, WXEventHandler } from '../../../../utils/wechat/WXApiEventHandlerImpl';
|
import { OnWXResp, WXApi, WXEventHandler } from '../../../../utils/wechat/WXApiEventHandlerImpl';
|
||||||
import * as WxOpenSdk from '@tencent/wechat_open_sdk';
|
import * as WxOpenSdk from '@tencent/wechat_open_sdk';
|
||||||
|
|
@ -72,11 +71,11 @@ struct WxVideoPage {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Monitor('viewModel.wxVideo')
|
@Monitor('viewModel.wxVideoList')
|
||||||
onMaterialInfoChange(monitor: IMonitor) {
|
onMaterialInfoChange(monitor: IMonitor) {
|
||||||
const entity = monitor.value()?.now as WxVideoEntity
|
const list = monitor.value()?.now as Array<MaterialInfoEntity>
|
||||||
this.createVideoList(entity.items);
|
this.createVideoList(list);
|
||||||
this.createImageList(entity.items);
|
this.createImageList(list);
|
||||||
if (this.videoList.length > 0) {
|
if (this.videoList.length > 0) {
|
||||||
this.tabController.changeIndex(0);
|
this.tabController.changeIndex(0);
|
||||||
this.currentIndex = 0
|
this.currentIndex = 0
|
||||||
|
|
|
||||||
|
|
@ -40,9 +40,9 @@ struct DownloadHistory {
|
||||||
let nowDate = new Date(DateUtil.getNowYear(), DateUtil.getNowMonth(), 1)
|
let nowDate = new Date(DateUtil.getNowYear(), DateUtil.getNowMonth(), 1)
|
||||||
let lastDate = new Date(DateUtil.getNowYear(), DateUtil.getNowMonth() - 1, 1)
|
let lastDate = new Date(DateUtil.getNowYear(), DateUtil.getNowMonth() - 1, 1)
|
||||||
if (this.currentIndex === 0) {
|
if (this.currentIndex === 0) {
|
||||||
return Math.trunc(nowDate.getTime() / 1000)
|
return Math.trunc(nowDate.getTime() / 1000) - 1
|
||||||
} else {
|
} else {
|
||||||
return Math.trunc(lastDate.getTime() / 1000)
|
return Math.trunc(lastDate.getTime() / 1000) - 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { BaseViewModel } from './BaseViewModel';
|
||||||
export class TakeMaterialViewModel extends BaseViewModel {
|
export class TakeMaterialViewModel extends BaseViewModel {
|
||||||
@Trace materialInfo?: MaterialInfoEntity;
|
@Trace materialInfo?: MaterialInfoEntity;
|
||||||
@Trace analysisInfo?: MaterialInfoEntity;
|
@Trace analysisInfo?: MaterialInfoEntity;
|
||||||
@Trace permissionInfo?: VipAuthEntity;
|
@Trace authInfo?: VipAuthEntity;
|
||||||
@Trace errorCode: number = 0;
|
@Trace errorCode: number = 0;
|
||||||
|
|
||||||
private intervalId = 0
|
private intervalId = 0
|
||||||
|
|
@ -74,7 +74,7 @@ export class TakeMaterialViewModel extends BaseViewModel {
|
||||||
try {
|
try {
|
||||||
const result = await apiService.checkPermission('download');
|
const result = await apiService.checkPermission('download');
|
||||||
if (result.isSuccess()) {
|
if (result.isSuccess()) {
|
||||||
this.permissionInfo = plainToInstance(VipAuthEntity, result.data);
|
this.authInfo = plainToInstance(VipAuthEntity, result.data);
|
||||||
} else {
|
} else {
|
||||||
this.errorCode = result.code
|
this.errorCode = result.code
|
||||||
ToastUtils.show(result.message, true);
|
ToastUtils.show(result.message, true);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { plainToInstance } from 'class-transformer';
|
import { plainToInstance } from 'class-transformer';
|
||||||
|
import { MaterialInfoEntity } from '../entity/MaterialInfoEntity';
|
||||||
import { VipAuthEntity } from '../entity/VipAuthEntity';
|
import { VipAuthEntity } from '../entity/VipAuthEntity';
|
||||||
import { WxVideoEntity } from '../entity/WxVideoEntity';
|
|
||||||
import { WxVideoServiceEntity } from '../entity/WxVideoServiceEntity';
|
import { WxVideoServiceEntity } from '../entity/WxVideoServiceEntity';
|
||||||
import { apiService } from '../net/ApiService';
|
import { apiService } from '../net/ApiService';
|
||||||
import { ToastUtils } from '../utils/ToastUtils';
|
import { ToastUtils } from '../utils/ToastUtils';
|
||||||
|
|
@ -8,9 +8,9 @@ import { BaseViewModel } from './BaseViewModel';
|
||||||
|
|
||||||
@ObservedV2
|
@ObservedV2
|
||||||
export class WxVideoViewModel extends BaseViewModel {
|
export class WxVideoViewModel extends BaseViewModel {
|
||||||
@Trace wxVideo?: WxVideoEntity;
|
@Trace wxVideoList?: Array<MaterialInfoEntity>;
|
||||||
@Trace deleteVideo?: object;
|
@Trace deleteVideo?: object;
|
||||||
@Trace permissionInfo?: VipAuthEntity;
|
@Trace authInfo?: VipAuthEntity;
|
||||||
@Trace errorCode: number = 0;
|
@Trace errorCode: number = 0;
|
||||||
@Trace wxService?: WxVideoServiceEntity
|
@Trace wxService?: WxVideoServiceEntity
|
||||||
@Trace wxUserinfo?: object
|
@Trace wxUserinfo?: object
|
||||||
|
|
@ -20,7 +20,7 @@ export class WxVideoViewModel extends BaseViewModel {
|
||||||
try {
|
try {
|
||||||
const result = await apiService.wxVideoList()
|
const result = await apiService.wxVideoList()
|
||||||
if (result.isSuccess()) {
|
if (result.isSuccess()) {
|
||||||
this.wxVideo = plainToInstance(WxVideoEntity, result.data);
|
this.wxVideoList = plainToInstance(MaterialInfoEntity, result.data as Array<Object>);
|
||||||
} else {
|
} else {
|
||||||
this.errorCode = result.code
|
this.errorCode = result.code
|
||||||
ToastUtils.show(result.message, true)
|
ToastUtils.show(result.message, true)
|
||||||
|
|
@ -63,7 +63,7 @@ export class WxVideoViewModel extends BaseViewModel {
|
||||||
try {
|
try {
|
||||||
const result = await apiService.checkPermission('download');
|
const result = await apiService.checkPermission('download');
|
||||||
if (result.isSuccess()) {
|
if (result.isSuccess()) {
|
||||||
this.permissionInfo = plainToInstance(VipAuthEntity, result.data);
|
this.authInfo = plainToInstance(VipAuthEntity, result.data);
|
||||||
} else {
|
} else {
|
||||||
this.errorCode = result.code
|
this.errorCode = result.code
|
||||||
ToastUtils.show(result.message, true);
|
ToastUtils.show(result.message, true);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue