Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-api
提交
6a60bffc
U
uni-api
项目概览
DCloud
/
uni-api
通知
669
Star
23
Fork
12
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
3
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-api
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
3
Issue
3
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
6a60bffc
编写于
10月 14, 2024
作者:
D
DCloud_LXH
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'alpha'
上级
4a751afb
4af9b015
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
401 addition
and
286 deletion
+401
-286
uni_modules/uni-getbatteryinfo/utssdk/app-harmony/index.uts
uni_modules/uni-getbatteryinfo/utssdk/app-harmony/index.uts
+27
-0
uni_modules/uni-getbatteryinfo/utssdk/interface.uts
uni_modules/uni-getbatteryinfo/utssdk/interface.uts
+102
-102
uni_modules/uni-getbatteryinfo/utssdk/unierror.uts
uni_modules/uni-getbatteryinfo/utssdk/unierror.uts
+35
-34
uni_modules/uni-usercapturescreen/utssdk/app-harmony/index.uts
...odules/uni-usercapturescreen/utssdk/app-harmony/index.uts
+87
-0
uni_modules/uni-usercapturescreen/utssdk/interface.uts
uni_modules/uni-usercapturescreen/utssdk/interface.uts
+150
-150
未找到文件。
uni_modules/uni-getbatteryinfo/utssdk/app-harmony/index.uts
0 → 100644
浏览文件 @
6a60bffc
import batteryInfo from '@ohos.batteryInfo';
import { GetBatteryInfo, GetBatteryInfoOptions, GetBatteryInfoSuccess, GetBatteryInfoResult, GetBatteryInfoSync } from '../interface.uts';
export const getBatteryInfoSync : GetBatteryInfoSync = function () : GetBatteryInfoResult {
return {
level: batteryInfo.batterySOC,
isCharging: batteryInfo.chargingStatus === batteryInfo.BatteryChargeState.ENABLE || batteryInfo.chargingStatus === batteryInfo.BatteryChargeState.FULL,
};
}
export const getBatteryInfo : GetBatteryInfo = function (options : GetBatteryInfoOptions) {
const batteryInfoResult : GetBatteryInfoSuccess = {
errMsg: "getBatteryInfo:ok",
level: batteryInfo.batterySOC,
isCharging: batteryInfo.chargingStatus === batteryInfo.BatteryChargeState.ENABLE || batteryInfo.chargingStatus === batteryInfo.BatteryChargeState.FULL,
}
try {
options.success && options.success(batteryInfoResult)
} catch (e) {
console.error(e)
}
try {
options.complete && options.complete(batteryInfoResult)
} catch (e) {
console.error(e)
}
}
\ No newline at end of file
uni_modules/uni-getbatteryinfo/utssdk/interface.uts
浏览文件 @
6a60bffc
export type GetBatteryInfoSuccess = {
export type GetBatteryInfoSuccess = {
errMsg
: string,
errMsg
: string,
/**
/**
* 设备电量,范围1 - 100
* 设备电量,范围1 - 100
*/
*/
level
: number,
level
: number,
/**
/**
* 是否正在充电中
* 是否正在充电中
*/
*/
isCharging
: boolean
isCharging
: boolean
}
}
export type GetBatteryInfoOptions = {
export type GetBatteryInfoOptions = {
/**
/**
* 接口调用结束的回调函数(调用成功、失败都会执行)
* 接口调用结束的回调函数(调用成功、失败都会执行)
*/
*/
success ?: (res
: GetBatteryInfoSuccess) => void
success?: (res
: GetBatteryInfoSuccess) => void
/**
/**
* 接口调用失败的回调函数
* 接口调用失败的回调函数
*/
*/
fail ?: (res
: UniError) => void
fail?: (res
: UniError) => void
/**
/**
* 接口调用成功的回调
* 接口调用成功的回调
*/
*/
complete ?: (res
: any) => void
complete?: (res
: any) => void
}
}
export type GetBatteryInfoResult = {
export type GetBatteryInfoResult = {
/**
/**
* 设备电量,范围1 - 100
* 设备电量,范围1 - 100
*/
*/
level
: number,
level
: number,
/**
/**
* 是否正在充电中
* 是否正在充电中
*/
*/
isCharging
: boolean
isCharging
: boolean
}
}
/**
/**
* 错误码
* 错误码
* - 1001 getAppContext is null
* - 1001 getAppContext is null
*/
*/
export type GetBatteryInfoErrorCode = 1001 ;
export type GetBatteryInfoErrorCode = 1001
| 1002
;
/**
/**
* GetBatteryInfo 的错误回调参数
* GetBatteryInfo 的错误回调参数
*/
*/
export interface GetBatteryInfoFail extends IUniError {
export interface GetBatteryInfoFail extends IUniError {
errCode
: GetBatteryInfoErrorCode
errCode: GetBatteryInfoErrorCode
};
};
/**
/**
...
@@ -60,88 +60,88 @@ export interface GetBatteryInfoFail extends IUniError {
...
@@ -60,88 +60,88 @@ export interface GetBatteryInfoFail extends IUniError {
* @assert () => success({errCode: 0, errSubject: "uni-getBatteryInfo", errMsg: "getBatteryInfo:ok", level: 60, isCharging: false })
* @assert () => success({errCode: 0, errSubject: "uni-getBatteryInfo", errMsg: "getBatteryInfo:ok", level: 60, isCharging: false })
* @assert () => fail({errCode: 1001, errSubject: "uni-getBatteryInfo", errMsg: "getBatteryInfo:fail getAppContext is null" })
* @assert () => fail({errCode: 1001, errSubject: "uni-getBatteryInfo", errMsg: "getBatteryInfo:fail getAppContext is null" })
*/
*/
export type GetBatteryInfo = (options
: GetBatteryInfoOptions) => void
export type GetBatteryInfo = (options: GetBatteryInfoOptions) => void
export type GetBatteryInfoSync = () => GetBatteryInfoResult
export type GetBatteryInfoSync = () => GetBatteryInfoResult
interface Uni {
interface Uni {
/**
/**
* 获取电池电量信息
* 获取电池电量信息
*
*
* @example
* @example
* ```typescript
* ```typescript
* uni.getBatteryInfo({
* uni.getBatteryInfo({
* success(res) {
* success(res) {
* console.log(res);
* console.log(res);
* }
* }
* })
* })
* ```
* ```
* @remark
* @remark
* - 该接口需要同步调用
* - 该接口需要同步调用
* @uniPlatform {
* @uniPlatform {
* "app": {
* "app": {
* "android": {
* "android": {
* "osVer": "4.4.4",
* "osVer": "4.4.4",
* "uniVer": "3.6.11",
* "uniVer": "3.6.11",
* "unixVer": "3.9.0"
* "unixVer": "3.9.0"
* },
* },
* "ios": {
* "ios": {
* "osVer": "12.0",
* "osVer": "12.0",
* "uniVer": "3.6.11",
* "uniVer": "3.6.11",
* "unixVer": "4.11"
* "unixVer": "4.11"
* },
* },
* "harmony": {
* "harmony": {
* "osVer": "
x
",
* "osVer": "
3.0
",
* "uniVer": "
x
",
* "uniVer": "
4.23
",
* "unixVer": "x"
* "unixVer": "x"
* }
* }
* },
* },
* "web": {
* "web": {
* "uniVer": "3.6.11",
* "uniVer": "3.6.11",
* "unixVer": "4.0"
* "unixVer": "4.0"
* }
* }
* }
* }
* @uniVueVersion 2,3 //支持的vue版本
* @uniVueVersion 2,3 //支持的vue版本
*
*
*/
*/
getBatteryInfo (options : GetBatteryInfoOptions)
: void,
getBatteryInfo(options: GetBatteryInfoOptions)
: void,
/**
/**
* 同步获取电池电量信息
* 同步获取电池电量信息
*
*
* @example
* @example
* ```typescript
* ```typescript
* uni.getBatteryInfo()
* uni.getBatteryInfo()
* ```
* ```
* @remark
* @remark
* - 该接口需要同步调用
* - 该接口需要同步调用
* @uniPlatform {
* @uniPlatform {
* "app": {
* "app": {
* "android": {
* "android": {
* "osVer": "4.4.4",
* "osVer": "4.4.4",
* "uniVer": "3.6.11",
* "uniVer": "3.6.11",
* "unixVer": "3.9.0"
* "unixVer": "3.9.0"
* },
* },
* "ios": {
* "ios": {
* "osVer": "12.0",
* "osVer": "12.0",
* "uniVer": "3.6.11",
* "uniVer": "3.6.11",
* "unixVer": "4.11"
* "unixVer": "4.11"
* },
* },
* "harmony": {
* "harmony": {
* "osVer": "
x
",
* "osVer": "
3.0
",
* "uniVer": "
x
",
* "uniVer": "
4.23
",
* "unixVer": "x"
* "unixVer": "x"
* }
* }
* },
* },
* "web": {
* "web": {
* "uniVer": "3.6.11",
* "uniVer": "3.6.11",
* "unixVer": "4.0"
* "unixVer": "4.0"
* }
* }
* }
* }
* @uniVueVersion 2,3 //支持的vue版本
* @uniVueVersion 2,3 //支持的vue版本
*
*
*/
*/
getBatteryInfoSync():
GetBatteryInfoResult
getBatteryInfoSync():
GetBatteryInfoResult
}
}
uni_modules/uni-getbatteryinfo/utssdk/unierror.uts
浏览文件 @
6a60bffc
import { GetBatteryInfoErrorCode, GetBatteryInfoFail } from "./interface.uts"
import { GetBatteryInfoErrorCode, GetBatteryInfoFail } from "./interface.uts"
/**
/**
* 错误主题
* 错误主题
*/
*/
export const UniErrorSubject = 'uni-getBatteryInfo';
export const UniErrorSubject = 'uni-getBatteryInfo';
/**
/**
* 错误信息
* 错误信息
* @UniError
* @UniError
*/
*/
export const UniErrors : Map<GetBatteryInfoErrorCode, string> = new Map([
export const UniErrors : Map<GetBatteryInfoErrorCode, string> = new Map([
/**
/**
* 错误码及对应的错误信息
* 错误码及对应的错误信息
*/
*/
[1001, 'getBatteryInfo:fail getAppContext is null'],
[1001, 'getBatteryInfo:fail getAppContext is null'],
]);
[1002, 'getBatteryInfo:fail not support'],
]);
/**
* 错误对象实现
/**
*/
* 错误对象实现
export class GetBatteryInfoFailImpl extends UniError implements GetBatteryInfoFail {
*/
export class GetBatteryInfoFailImpl extends UniError implements GetBatteryInfoFail {
/**
override errCode : GetBatteryInfoErrorCode;
* 错误对象构造函数
/**
*/
* 错误对象构造函数
constructor(errCode : GetBatteryInfoErrorCode) {
*/
super();
constructor(errCode : GetBatteryInfoErrorCode) {
this.errSubject = UniErrorSubject;
super();
this.errCode = errCode;
this.errSubject = UniErrorSubject;
this.errMsg = UniErrors[errCode] ?? "";
this.errCode = errCode;
}
this.errMsg = UniErrors[errCode] ?? "";
}
}
\ No newline at end of file
}
uni_modules/uni-usercapturescreen/utssdk/app-harmony/index.uts
0 → 100644
浏览文件 @
6a60bffc
import { display } from '@kit.ArkUI';
import { window } from '@kit.ArkUI';
import { Callback, BusinessError } from '@kit.BasicServicesKit';
import { getAbilityContext, UTSHarmony } from '@dcloudio/uni-runtime';
import {
OnUserCaptureScreen, UserCaptureScreenCallback,
OffUserCaptureScreen,
SetUserCaptureScreen, SetUserCaptureScreenOptions, SetUserCaptureScreenSuccess
} from '../interface.uts';
const onUserCaptureScreenCallbacks: Function[] = []
const harmonyCaptureStatusChange: Callback<boolean> = (captureStatus: boolean) => {
if (captureStatus) {
onUserCaptureScreenCallbacks.forEach(cb => {
typeof cb === 'function' && cb()
})
}
}
display.on('captureStatusChange', harmonyCaptureStatusChange)
export const onUserCaptureScreen: OnUserCaptureScreen = function (callback: UserCaptureScreenCallback | null) {
if (callback) {
onUserCaptureScreenCallbacks.push(callback)
}
}
export const offUserCaptureScreen: OffUserCaptureScreen = function (callback: UserCaptureScreenCallback | null) {
if (callback) {
const index = onUserCaptureScreenCallbacks.indexOf(callback)
if (index > -1) {
onUserCaptureScreenCallbacks.splice(index, 1)
}
}
}
export const setUserCaptureScreen: SetUserCaptureScreen = function (options: SetUserCaptureScreenOptions) {
const errSubject = 'uni-usercapturescreen'
const setUserCaptureScreenSuccess: SetUserCaptureScreenSuccess = {}
window.getLastWindow(getAbilityContext()!, (err, window) => {
const errCode: number = err.code;
if (errCode) {
options.fail?.({
errCode: (err as BusinessError).code,
errSubject,
errMsg: `setUserCaptureScreen:fail ${(err as BusinessError).message}`
} as IUniError)
options.complete?.(setUserCaptureScreenSuccess);
return;
} else {
try {
UTSHarmony.requestSystemPermission(['ohos.permission.PRIVACY_WINDOW'], (allRight: boolean) => {
if (allRight) {
window.setWindowPrivacyMode(!options.enable, (err: BusinessError) => {
const errCode: number = err.code;
if (errCode) {
options.fail?.({
errCode: err.code,
errSubject,
errMsg: `setUserCaptureScreen:fail ${err.message}`
} as IUniError)
options.complete?.(setUserCaptureScreenSuccess);
return;
}
options.success?.(setUserCaptureScreenSuccess);
options.complete?.(setUserCaptureScreenSuccess);
});
} else {
throw new Error('permission denied')
}
}, () => {
throw new Error('permission denied')
})
} catch (err) {
options.fail?.({
errCode: (err as BusinessError).code,
errSubject,
errMsg: `setUserCaptureScreen:fail ${(err as BusinessError).message}`
} as IUniError)
options.complete?.(setUserCaptureScreenSuccess);
}
}
})
}
uni_modules/uni-usercapturescreen/utssdk/interface.uts
浏览文件 @
6a60bffc
/**
/**
* uni.onUserCaptureScreen/uni.offUserCaptureScreen回调参数
* uni.onUserCaptureScreen/uni.offUserCaptureScreen回调参数
*/
*/
export type OnUserCaptureScreenCallbackResult = {
export type OnUserCaptureScreenCallbackResult = {
/**
* 截屏文件路径(仅Android返回)
*/
path ?: string
}
/**
/**
*
截屏文件路径(仅Android返回)
*
uni.onUserCaptureScreen/uni.offUserCaptureScreen回调函数定义
*/
*/
path ?: string
export type UserCaptureScreenCallback = (res : OnUserCaptureScreenCallbackResult) => void
}
/**
* uni.onUserCaptureScreen/uni.offUserCaptureScreen回调函数定义
*/
export type UserCaptureScreenCallback = (res : OnUserCaptureScreenCallbackResult) => void
export type OnUserCaptureScreen = (callback : UserCaptureScreenCallback | null) => void
export type Off
UserCaptureScreen = (callback : UserCaptureScreenCallback | null) => void
export type On
UserCaptureScreen = (callback : UserCaptureScreenCallback | null) => void
/**
export type OffUserCaptureScreen = (callback : UserCaptureScreenCallback | null) => void
* uni.setUserCaptureScreen成功回调参数
*/
export type SetUserCaptureScreenSuccess = {
}
/**
* uni.setUserCaptureScreen成功回调函数定义
*/
export type SetUserCaptureScreenSuccessCallback = (res : SetUserCaptureScreenSuccess) => void
/**
/**
* uni.setUserCaptureScreen失败回调函数定义
* uni.setUserCaptureScreen成功回调参数
*/
*/
export type SetUserCaptureScreenFailCallback = (res : UniError) => void
export type SetUserCaptureScreenSuccess = {
}
/**
* uni.setUserCaptureScreen完成回调函数定义
*/
export type SetUserCaptureScreenCompleteCallback = (res : any) => void
/**
* uni.setUserCaptureScreen参数
*/
export type SetUserCaptureScreenOptions = {
/**
* true: 允许用户截屏 false: 不允许用户截屏,防止用户截屏到应用页面内容
*/
enable : boolean;
/**
/**
* 接口调用成功的回调函数
* uni.setUserCaptureScreen成功回调函数定义
*/
*/
// success : SetUserCaptureScreenSuccessCallback | null,
export type SetUserCaptureScreenSuccessCallback = (res : SetUserCaptureScreenSuccess) => void
success ?: SetUserCaptureScreenSuccessCallback,
/**
/**
* 接口调用失败的回调函数
* uni.setUserCaptureScreen失败回调函数定义
*/
*/
// fail : SetUserCaptureScreenFailCallback | null,
export type SetUserCaptureScreenFailCallback = (res : IUniError) => void
fail ?: SetUserCaptureScreenFailCallback,
/**
/**
* 接口调用结束的回调函数(调用成功、失败都会执行)
* uni.setUserCaptureScreen完成回调函数定义
*/
*/
// complete : SetUserCaptureScreenSuccessCallback | SetUserCaptureScreenFailCallback | null
export type SetUserCaptureScreenCompleteCallback = (res : any) => void
complete ?: SetUserCaptureScreenCompleteCallback
}
/**
/**
* 错误码
* uni.setUserCaptureScreen参数
* - 12001 "setUserCaptureScreen:system not support"
*/
* - 12010 "setUserCaptureScreen:system internal error"
*/
export type SetUserCaptureScreenErrorCode = 12001 | 12010;
/**
* SetUserCaptureScreen 的错误回调参数
*/
export interface SetUserCaptureScreenFail extends IUniError {
errCode : SetUserCaptureScreenErrorCode
};
export type SetUserCaptureScreen = (options : SetUserCaptureScreenOptions) => void
export type SetUserCaptureScreenOptions = {
/**
* true: 允许用户截屏 false: 不允许用户截屏,防止用户截屏到应用页面内容
*/
enable : boolean;
/**
* 接口调用成功的回调函数
*/
// success : SetUserCaptureScreenSuccessCallback | null,
success ?: SetUserCaptureScreenSuccessCallback,
/**
* 接口调用失败的回调函数
*/
// fail : SetUserCaptureScreenFailCallback | null,
fail ?: SetUserCaptureScreenFailCallback,
/**
* 接口调用结束的回调函数(调用成功、失败都会执行)
*/
// complete : SetUserCaptureScreenSuccessCallback | SetUserCaptureScreenFailCallback | null
complete ?: SetUserCaptureScreenCompleteCallback
}
export 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": "12.0",
* "uniVer": "3.7.7",
* "unixVer": "4.11"
* },
* "harmony": {
* "osVer": "x",
* "uniVer": "x",
* "unixVer": "x"
* }
* }
* }
* @uniVersion 3.7.7
* @uniVueVersion 2,3 //支持的vue版本
* @autotest { expectCallback: true }
*/
onUserCaptureScreen(callback : UserCaptureScreenCallback | null) : void,
/**
/**
* 关闭截屏监听
* 错误码
*
* - 12001 "setUserCaptureScreen:system not support"
* @param {UserCaptureScreenCallback} callback
* - 12010 "setUserCaptureScreen:system internal error"
* @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": "12.0",
* "uniVer": "3.7.7",
* "unixVer": "4.11"
* },
* "harmony": {
* "osVer": "x",
* "uniVer": "x",
* "unixVer": "x"
* }
* }
* }
* @uniVersion 3.7.7
* @uniVueVersion 2,3 //支持的vue版本
* @autotest { expectCallback: true }
*/
*/
offUserCaptureScreen(callback : UserCaptureScreenCallback | null) : void,
export type SetUserCaptureScreenErrorCode = 12001 | 12010;
/**
/**
* 设置防截屏
* SetUserCaptureScreen 的错误回调参数
*
* @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": "4.11"
* },
* "harmony": {
* "osVer": "x",
* "uniVer": "x",
* "unixVer": "x"
* }
* }
* }
* @uniVersion 3.7.7
* @uniVueVersion 2,3 //支持的vue版本
*/
*/
setUserCaptureScreen(options : SetUserCaptureScreenOptions) : void
export interface SetUserCaptureScreenFail extends IUniError {
}
errCode : SetUserCaptureScreenErrorCode
};
export type SetUserCaptureScreen = (options : SetUserCaptureScreenOptions) => void
export 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": "12.0",
* "uniVer": "3.7.7",
* "unixVer": "4.11"
* },
* "harmony": {
* "osVer": "3.0",
* "uniVer": "4.25",
* "unixVer": "x"
* }
* }
* }
* @uniVersion 3.7.7
* @uniVueVersion 2,3 //支持的vue版本
* @autotest { expectCallback: true }
*/
onUserCaptureScreen(callback : UserCaptureScreenCallback | null) : void,
/**
* 关闭截屏监听
*
* @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": "12.0",
* "uniVer": "3.7.7",
* "unixVer": "4.11"
* },
* "harmony": {
* "osVer": "3.0",
* "uniVer": "4.25",,
* "unixVer": "x"
* }
* }
* }
* @uniVersion 3.7.7
* @uniVueVersion 2,3 //支持的vue版本
* @autotest { expectCallback: true }
*/
offUserCaptureScreen(callback : UserCaptureScreenCallback | null) : void,
/**
* 设置防截屏
*
* @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": "4.11"
* },
* "harmony": {
* "osVer": "3.0",
* "uniVer": "4.25",
* "unixVer": "x"
* }
* }
* }
* @uniVersion 3.7.7
* @uniVueVersion 2,3 //支持的vue版本
*/
setUserCaptureScreen(options : SetUserCaptureScreenOptions) : void
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录