提交 5558eb58 编写于 作者: lizhongyi_'s avatar lizhongyi_

Merge branch 'dev' of https://gitcode.net/dcloud/uni-api into dev

{ {
"name": "uni-api", "name": "uni-api",
"appid": "__UNI__ED9218B", "appid": "__UNI__8BF79AC",
"description": "uts插件示例", "description": "uts插件示例",
"versionName": "1.0.0", "versionName": "1.0.0",
"versionCode": "100", "versionCode": "100",
......
import { ExitOptions, ExitSuccess, ExitCompleteCallback, Exit } from "../interface.uts" import { ExitOptions, ExitSuccess, Exit } from "../interface.uts"
/** /**
......
import { ExitOptions, ExitFailCallback, ExitCompleteCallback, Exit} from "../interface.uts" import { ExitOptions, Exit} from "../interface.uts"
import { UniErrorSubject, UniErrors } from "../unierror.uts" import { ExitFailImpl } from "../unierror.uts"
/** /**
...@@ -7,7 +7,7 @@ import { UniErrorSubject, UniErrors } from "../unierror.uts" ...@@ -7,7 +7,7 @@ import { UniErrorSubject, UniErrors } from "../unierror.uts"
* iOS平台不支持,触发错误回调 * iOS平台不支持,触发错误回调
*/ */
export const exit : Exit = function (options: ExitOptions | null) { export const exit : Exit = function (options: ExitOptions | null) {
let err = new UniError(UniErrorSubject, 12001, UniErrors.get(12001)!); let err = new ExitFailImpl(12001);
options?.fail?.(err) options?.fail?.(err)
options?.complete?.(err) options?.complete?.(err)
} }
...@@ -5,6 +5,21 @@ export type ExitSuccess = { ...@@ -5,6 +5,21 @@ export type ExitSuccess = {
errMsg: string errMsg: string
} }
/**
* 错误码
* - 12001: 系统不支持
* - 12002: 未知错误
*/
export type ExitErrorCode = 12001 | 12002
/**
* uni.exit失败回调参数
*/
export interface IExitError extends IUniError {
errCode: ExitErrorCode
}
export type ExitFail = IExitError
/** /**
* uni.exit成功回调函数定义 * uni.exit成功回调函数定义
*/ */
...@@ -12,7 +27,7 @@ export type ExitSuccessCallback = (res: ExitSuccess) => void ...@@ -12,7 +27,7 @@ export type ExitSuccessCallback = (res: ExitSuccess) => void
/** /**
* uni.exit失败回调函数定义 * uni.exit失败回调函数定义
*/ */
export type ExitFailCallback = (res: UniError) => void export type ExitFailCallback = (res: ExitFail) => void
/** /**
* uni.exit完成回调函数定义 * uni.exit完成回调函数定义
*/ */
......
import { ExitErrorCode, IExitError } from "./interface.uts"
/** /**
* 错误主题 * 错误主题
*/ */
...@@ -18,3 +20,18 @@ export const UniErrors:Map<number, string> = new Map([ ...@@ -18,3 +20,18 @@ export const UniErrors:Map<number, string> = new Map([
*/ */
[12002, 'unknown error'] [12002, 'unknown error']
]); ]);
/**
* ExitFail的实现
*/
export class ExitFailImpl extends UniError implements IExitError {
override errCode: ExitErrorCode
constructor (
errCode: ExitErrorCode
) {
super()
this.errSubject = UniErrorSubject
this.errCode = errCode
this.errMsg = UniErrors[errCode] ?? "";
}
}
declare namespace UniNamespace {
interface InstallApkSuccess {
/**
* 安装成功消息
*/
errMsg : string
}
type InstallApkErrorCode = 1300002
interface InstallApkFail {
errCode : InstallApkErrorCode
}
type InstallApkComplete = any
type InstallApkSuccessCallback = (res : InstallApkSuccess) => void
type InstallApkFailCallback = (err : InstallApkFail) => void
type InstallApkCompleteCallback = (res : InstallApkComplete) => void
interface InstallApkOptions {
/**
* apk文件地址
*/
filePath : string,
/**
* 接口调用成功的回调函数
* @defaultValue null
*/
success ?: InstallApkSuccessCallback | null,
/**
* 接口调用失败的回调函数
* @defaultValue null
*/
fail ?: InstallApkFailCallback | null,
/**
* 接口调用结束的回调函数(调用成功、失败都会执行)
* @defaultValue null
*/
complete ?: InstallApkCompleteCallback | null
}
}
declare interface Uni {
/**
* installApk()
* @description
* 安装apk
* @param {InstallApkOptions}
* @return {void}
* @uniPlatform {
* "app": {
* "android": {
* "osVer": "4.4",
* "uniVer": "3.94+",
* "unixVer": "3.94+"
* },
* "ios": {
* "osVer": "x",
* "uniVer": "x",
* "unixVer": "x"
* }
* }
* }
* @example
```typescript
uni.installApk({
filePath: "/xx/xx/xx.apk",
complete: (res: any) => {
console.log("complete => " + JSON.stringify(res));
}
});
```
*/
installApk(options : UniNamespace.InstallApkOptions) : void
}
declare namespace UniNamespace { declare namespace UniNamespace {
type OnUserCaptureScreenCallback = (res?: { errMsg: string }) => void /**
* uni.onUserCaptureScreen/uni.offUserCaptureScreen回调参数
*/
type OnUserCaptureScreenCallbackResult = {
/**
* 截屏文件路径(仅Android返回)
*/
path ?: string
}
/**
* uni.onUserCaptureScreen/uni.offUserCaptureScreen回调函数定义
*/
type UserCaptureScreenCallback = (res : OnUserCaptureScreenCallbackResult) => void
type OnUserCaptureScreen = (callback : UserCaptureScreenCallback | null) => void
type OffUserCaptureScreen = (callback : UserCaptureScreenCallback | null) => void
/**
* uni.setUserCaptureScreen成功回调参数
*/
type SetUserCaptureScreenSuccess = {
}
/**
* uni.setUserCaptureScreen成功回调函数定义
*/
type SetUserCaptureScreenSuccessCallback = (res : SetUserCaptureScreenSuccess) => void
/**
* 错误码
* - 12001 "setUserCaptureScreen:system not support"
* - 12010 "setUserCaptureScreen:system internal error"
*/
type SetUserCaptureScreenErrorCode = 12001 | 12010;
/**
* SetUserCaptureScreen 的错误回调参数
*/
interface SetUserCaptureScreenFail {
errCode : SetUserCaptureScreenErrorCode
}
/**
* uni.setUserCaptureScreen失败回调函数定义
*/
type SetUserCaptureScreenFailCallback = (res : SetUserCaptureScreenFail) => void
/**
* uni.setUserCaptureScreen完成回调函数定义
*/
type SetUserCaptureScreenCompleteCallback = (res : any) => void
/**
* uni.setUserCaptureScreen参数
*/
type SetUserCaptureScreenOptions = {
/**
* true: 允许用户截屏 false: 不允许用户截屏,防止用户截屏到应用页面内容
*/
enable : boolean;
/**
* 接口调用成功的回调函数
*/
// success : SetUserCaptureScreenSuccessCallback | null,
success ?: SetUserCaptureScreenSuccessCallback,
/**
* 接口调用失败的回调函数
*/
// fail : SetUserCaptureScreenFailCallback | null,
fail ?: SetUserCaptureScreenFailCallback,
/**
* 接口调用结束的回调函数(调用成功、失败都会执行)
*/
// complete : SetUserCaptureScreenSuccessCallback | SetUserCaptureScreenFailCallback | null
complete ?: SetUserCaptureScreenCompleteCallback
}
type SetUserCaptureScreen = (options : SetUserCaptureScreenOptions) => void
} }
declare interface Uni { declare interface Uni {
/** /**
* 监听用户主动截屏事件,用户使用系统截屏按键截屏时触发此事件。 * 开启截屏监听
*
* @param {UserCaptureScreenCallback} callback
* @tutorial https://uniapp.dcloud.net.cn/api/system/capture-screen.html#onusercapturescreen
* @uniPlatform {
* "app": {
* "android": {
* "osVer": "4.4.4",
* "uniVer": "3.7.7",
* "unixVer": "3.9.0"
* },
* "ios": {
* "osVer": "9.0",
* "uniVer": "3.7.7",
* "unixVer": "3.9.0"
* }
* }
* }
* @uniVersion 3.7.7
* @uniVueVersion 2,3 //支持的vue版本
* @autotest { expectCallback: true }
*/
onUserCaptureScreen(callback : UniNamespace.UserCaptureScreenCallback | null) : void,
/**
* 关闭截屏监听
* *
* 文档: [https://uniapp.dcloud.net.cn/api/system/capture-screen.html#onusercapturescreen](https://uniapp.dcloud.net.cn/api/system/capture-screen.html#onusercapturescreen) * @param {UserCaptureScreenCallback} callback
* @tutorial https://uniapp.dcloud.net.cn/api/system/capture-screen.html#offusercapturescreen
* @uniPlatform {
* "app": {
* "android": {
* "osVer": "4.4.4",
* "uniVer": "3.7.7",
* "unixVer": "3.9.0"
* },
* "ios": {
* "osVer": "9.0",
* "uniVer": "3.7.7",
* "unixVer": "3.9.0"
* }
* }
* }
* @uniVersion 3.7.7
* @uniVueVersion 2,3 //支持的vue版本
* @autotest { expectCallback: true }
*/ */
onUserCaptureScreen(callback: UniNamespace.OnUserCaptureScreenCallback): void; offUserCaptureScreen(callback : UniNamespace.UserCaptureScreenCallback | null) : void,
/** /**
* 用户主动截屏事件。取消事件监听。 * 设置防截屏
* *
* 文档: [https://uniapp.dcloud.net.cn/api/system/capture-screen.html#offusercapturescreen](https://uniapp.dcloud.net.cn/api/system/capture-screen.html#offusercapturescreen) * @param {SetUserCaptureScreenOptions} options
* @tutorial https://uniapp.dcloud.net.cn/api/system/capture-screen.html#setusercapturescreen
* @uniPlatform {
* "app": {
* "android": {
* "osVer": "4.4.4",
* "uniVer": "3.7.7",
* "unixVer": "3.9.0"
* },
* "ios": {
* "osVer": "13.0",
* "uniVer": "3.7.7",
* "unixVer": "3.9.0"
* }
* }
* }
* @uniVersion 3.7.7
* @uniVueVersion 2,3 //支持的vue版本
*/ */
offUserCaptureScreen(callback: UniNamespace.OnUserCaptureScreenCallback): void; setUserCaptureScreen(options : UniNamespace.SetUserCaptureScreenOptions) : void
} }
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册