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
wangliang_wd
2024-07-18 17:19:07 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
34cc933433a73d811479f5787126df9eb32e8e63
34cc9334
1 parent
1c1a141a
feat:开放意见反馈图片选择
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
32 deletions
sight_harmony/features/wdComponent/src/main/ets/components/FeedBackActivity.ets
sight_harmony/features/wdComponent/src/main/ets/components/page/EditUserInfoPage.ets
sight_harmony/features/wdComponent/src/main/ets/utils/PhotoPickerUtils.ets
sight_harmony/features/wdComponent/src/main/ets/components/FeedBackActivity.ets
View file @
34cc933
...
...
@@ -13,6 +13,7 @@ import { CommonConstants } from 'wdConstant/Index';
import { ProcessUtils } from 'wdRouter/Index';
import { TrackConstants, TrackingButton, TrackingPageBrowse } from 'wdTracking/Index';
import inputMethod from '@ohos.inputMethod';
import { photoPickerUtils } from '../utils/PhotoPickerUtils';
const TAG = 'FeedBackActivity'
...
...
@@ -163,15 +164,15 @@ export struct FeedBackActivity {
GridCol({
}) {
if(1 == feedbackImageItem.itemType){
// Image($r('app.media.feekback_add'))
// .width(60)
// .height(60)
// .onClick(async (event: ClickEvent) => {
// if(await FastClickUtil.isMinDelayTime()){
// return
// }
// this.callFilePickerSelectImage();
// })
Image($r('app.media.feekback_add'))
.width(60)
.height(60)
.onClick(async (event: ClickEvent) => {
if(await FastClickUtil.isMinDelayTime()){
return
}
this.callFilePickerSelectImage();
})
}else{
Stack({alignContent: Alignment.TopEnd}) {
Image(feedbackImageItem.picPath)
...
...
@@ -347,20 +348,9 @@ export struct FeedBackActivity {
async callFilePickerSelectImage(): Promise<void> { // async 用于申明一个 function 是异步的
let array: string[];
try {
// 设置photoPicker的参数
let PhotoSelectOptions = new picker.PhotoSelectOptions();
PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE; // 过滤选择媒体文件类型
let max = 3-this.pics.length+1
PhotoSelectOptions.maxSelectNumber = max; // 选择媒体文件的最大数目
let mediaFlag = false;
let photoPicker = new picker.PhotoViewPicker(); // 使用图库选择器对象前,需要先创建PhotoViewPicker实例
photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult) => {
Logger.info(TAG, 'PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult)); // 日志中记录成功信息
if (PhotoSelectResult !== null && PhotoSelectResult !== undefined) { // 接口采用callback异步返回形式,返回PhotoSelectResult对象,故进行下一步操作前要先判断是否已经成功返回PhotoSelectResult对象了
// PhotoSelectResult为返回的结果集。
// 其中包含Array<string>类型的photoUris,为返回图库选择后的媒体文件的uri数组;还包含boolean类型的isOriginalPhoto,指示返回图库选择后的媒体文件是否为原图。
// 声明变量array,其取值为PhotoSelectResult中的数组。
photoPickerUtils.getPhotoPicker(3).then(PhotoSelectResult => {
if (PhotoSelectResult) {
array = PhotoSelectResult['photoUris'];
let beforeLen = this.pics.length + array.length;
let totalLen = this.pics.length+array.length;
...
...
@@ -396,9 +386,6 @@ export struct FeedBackActivity {
this.getFilenameByUriForMedia(array);
}
})
.catch((err: BusinessError) => {
Logger.error(TAG, 'PhotoViewPicker.select failed with err: ' + JSON.stringify(err));
});
} catch (err) {
Logger.error(TAG, 'PhotoViewPicker failed with err: ' + err);
}
...
...
sight_harmony/features/wdComponent/src/main/ets/components/page/EditUserInfoPage.ets
View file @
34cc933
...
...
@@ -98,9 +98,9 @@ struct EditUserInfoPage {
pickerSelect(index:number){
if (index === 0) {
photoPickerUtils.getPhotoPicker().then(value => {
if (value.length > 0) {
this.headerImg = value
photoPickerUtils.getPhotoPicker(1).then(value => {
if (value) {
this.headerImg = value['photoUris'][0]
}
})
}else {
...
...
sight_harmony/features/wdComponent/src/main/ets/utils/PhotoPickerUtils.ets
View file @
34cc933
...
...
@@ -11,20 +11,20 @@ const PERMISSIONS: Array<Permissions> = [
export class PhotoPickerUtils {
async getPhotoPicker(){
async getPhotoPicker(
maxSelectNumber:number
){
this.pickerPermissions()
let PhotoSelectOptions = new picker.PhotoSelectOptions();
PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE; // 过滤选择媒体文件类型
PhotoSelectOptions.maxSelectNumber =
1
; // 选择媒体文件的最大数目
PhotoSelectOptions.maxSelectNumber =
maxSelectNumber
; // 选择媒体文件的最大数目
let photoPicker = new picker.PhotoViewPicker(); // 使用图库选择器对象前,需要先创建PhotoViewPicker实例
return new Promise<
string
>((success, fail) => {
return new Promise<
picker.PhotoSelectResult
>((success, fail) => {
photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult) => {
if (PhotoSelectResult !== null && PhotoSelectResult !==
undefined) {
// 接口采用callback异步返回形式,返回PhotoSelectResult对象,故进行下一步操作前要先判断是否已经成功返回PhotoSelectResult对象了
success(PhotoSelectResult
['photoUris'][0]
)
success(PhotoSelectResult)
}
})
})
...
...
Please
register
or
login
to post a comment