日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Harmony SDK API

構造初始化配置對象

構造SDK初始化入參(初始化配置對象)。示例代碼如下

import {InitConfig} from '@aliyun/feedback';
 //初始化參數
const feedback_config  = new InitConfig({
    appkey:'appKey參數',
    appSecret: 'appSecret參數',
    backIconResource: $r('app.media.app_logo'),
    loadProgressColor: '#0dd0ff',
    isOpenLog: true,
    rightButtonFontSize: 16
  })

參數

說明

appKey

用于指定App的AppKey

【數據類型】string

【是否必選】是

【是否可為空】否

【默認值】無

appSecret

用于指定App的AppSecret

【數據類型】string

【是否必選】是

【是否可為空】否

【默認值】無

loadProgressColor

用于設置webview加載進度條的顏色

【數據類型】string

【是否必選】否

【默認值】無

rightButtonFontSize

用于設置右側按鈕字體的大小,單位fp

【數據類型】number

【是否必選】否

【默認值】16

isOpenLog

是否開啟log

【數據類型】boolean

【是否必選】否

【默認值】false

backIconResource

用于設置返回圖標的資源

【數據類型】Resourse

【是否必選】否

【默認值】$r('app.media.ali_feedback_icon_back_white')

SDK 初始化

SDK初始化接口并非強制要求在應用啟動時進行,可在實際使用前調用。

init(context: Context, config: InitConfig)

用法:

FeedbackAPI.init(getContext(), config)

打開用戶反饋頁面

在確認參數配置無誤后,可打開用戶反饋頁面接口,以訪問用戶反饋頁面。

openFeedback(success?: () => void, fail?: (info: string, code?: number) => void)

用法:

1.打開反饋頁面:

FeedbackAPI.openFeedback()

2.打開反饋頁面,并提供結果回調:

FeedbackAPI.openFeedback(() => {
  //打開成功
}, (info, code) => {
  //打開失敗
  promptAction.showToast({ message: `code:${code},info:${info}` })
})

獲取反饋未讀消息數

獲取反饋未讀消息數接口。

getFeedbackUnreadCount(success: (count: number) => void, fail: () => void)

用法:

FeedbackAPI.getFeedbackUnreadCount((count : number) => {
     promptAction.showToast({ message: "未讀消息數為:" + count })
}, () => {
     promptAction.showToast({ message: "獲取未讀消息數失敗" })
})

設置用戶默認聯系方式

設置用戶默認聯系方式的接口,允許將用戶的聯系方式傳遞至反饋頁面,同時用戶也可以手動修改該聯系方式。

setDefaultUserContactInfo(contractInfo: string)

用法:

FeedbackAPI.setDefaultUserContactInfo(“1300000XXXX”);

設置用戶昵稱

設置用戶昵稱的接口,使用戶在反饋信息時能夠攜帶該昵稱,最終可在控制臺的反饋會話中查看。

setUserNick(nickName: string)

用法:

FeedbackAPI.setUserNick("xxx");

設置反饋消息擴展參數

設置反饋消息擴展參數接口,開發者可添加自定義擴展信息。

setAppExtInfo(extInfo: string)

用法:

let ext = `{"key":"value"}`
FeedbackAPI.setAppExtInfo(ext)
重要

擴展參數需要是滿足json格式的字符串

權限

用戶首次執行授權操作時,SDK會申請系統權限。

開發者可以在此注冊回調監聽,在SDK申請權限之前,提前說明權限用途。

setPermissionInterrupt(action: string, interrupt: IPermissionRequestInterrupt)

用法:

let albumCallback: IPermissionRequestInterrupt = {
      interrupt: (context: Context, action: string, permissions: Permissions[],
        callback: InterruptCallback): void => {
          showDialog("即將進行敏感權限授權","相冊", "選擇問題照片進行反饋", callback)
      }
    }
FeedbackAPI.setPermissionInterrupt(FeedbackAPI.ACTION_ALBUM, albumCallback)
let cameraCallback: IPermissionRequestInterrupt = {
      interrupt: (context: Context, action: string, permissions: Permissions[],
        callback: InterruptCallback): void => {
           showDialog("即將進行敏感權限授權","相機", "拍照問題進行反饋", callback)
        }
    }
FeedbackAPI.setPermissionInterrupt(FeedbackAPI.ACTION_CAMERA, cameraCallback)
let microPhoneCallback: IPermissionRequestInterrupt = {
      interrupt: (context: Context, action: string, permissions: Permissions[],
        callback: InterruptCallback): void => {
           showDialog("即將進行敏感權限授權","錄音", "錄制語音描述進行反饋", callback)
       }
    }
FeedbackAPI.setPermissionInterrupt(FeedbackAPI.ACTION_MICROPHONE, microPhoneCallback)

// 這里是示意代碼,具體請替換為應用統一的權限說明樣式
private showDialog(title: string, permission: string, message: string, callback: InterruptCallback) {
    AlertDialog.show({
      title: title,
      message: `${permission}: ${message}`,
      autoCancel: true,
      alignment: DialogAlignment.Center,
      gridCount: 4,
      primaryButton: {
        value: '取消',
        action: () => {
          callback.stopRequest()
        }
      },
      secondaryButton: {
        enabled: true,
        defaultFocus: true,
        style: DialogButtonStyle.HIGHLIGHT,
        value: '確定',
        action: () => {
          callback.goOnRequest()
        }
      },
      cancel: () => {
        callback.stopRequest()
      }
    }
    )
  }

用戶首次拒絕權限后,如果再次申請權限,開發者可在此注冊回調,以提供文本提示或跳轉至系統設置的功能。

setPermissionRationale(permissionRationale: IPermissionRationale)

用法:

let rationaleCallback: IPermissionRationale = {
      onPermissionDenied: (permissions: Permissions[]): Promise<void> => {
        //跳轉到設置頁面 
        return new Promise<void>((resolve, reject) => {
          let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
          let context: Context = getContext() as common.UIAbilityContext;
          atManager.requestPermissionOnSetting(context, permissions).then((result) => {
            resolve()
          }).catch((error: BusinessError) => {
            reject(error)
          })
        })
      }
    }
FeedbackAPI.setPermissionRationale(rationaleCallback)