未验证 提交 3d7d37b9 编写于 作者: O openharmony_ci 提交者: Gitee

!7278 断链修改,从master同步

Merge pull request !7278 from zengyawen/cherry-pick-1658980976
...@@ -1864,7 +1864,7 @@ promise.then(data => { ...@@ -1864,7 +1864,7 @@ promise.then(data => {
separateConference\(callId: number, callback: AsyncCallback<void\>\): void separateConference\(callId: number, callback: AsyncCallback<void\>\): void
断开会议电话。使用callback异步回调。 分离会议电话。使用callback异步回调。
此接口为系统接口。 此接口为系统接口。
...@@ -1890,7 +1890,7 @@ call.separateConference(1, (err, data) => { ...@@ -1890,7 +1890,7 @@ call.separateConference(1, (err, data) => {
separateConference\(callId: number\): Promise<void\> separateConference\(callId: number\): Promise<void\>
断开会议电话。使用Promise异步回调。 分离会议电话。使用Promise异步回调。
此接口为系统接口。 此接口为系统接口。
......
...@@ -276,8 +276,8 @@ Codec MIME类型枚举。 ...@@ -276,8 +276,8 @@ Codec MIME类型枚举。
| 名称 | 类型 | 可读 | 可写 | 说明 | | 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------------------- | ----------------------------------- | ---- | ---- | ------------------------------------------------------------ | | ------------------------------- | ----------------------------------- | ---- | ---- | ------------------------------------------------------------ |
| src | string | 是 | 是 | 音频媒体URI,支持当前主流的视频格式(m4a、aac、mp3、ogg、wav)。<br>**支持路径示例**<br>1. fd类型播放:fd://xx<br>![](figures/zh-cn_image_url.png)<br>2. http网络播放: http://xx<br/>3. https网络播放: https://xx<br/>4. hls网络播放路径:http://xx或者https://xx<br/>**注意事项**<br>**需要权限:** ohos.permission.READ_MEDIA;如果需要使用网络素材,还需要申请ohos.permission.INTERNET。 | | src | string | 是 | 是 | 音频媒体URI,支持当前主流的视频格式(m4a、aac、mp3、ogg、wav)。<br>**支持路径示例**<br>1. fd类型播放:fd://xx<br>![](figures/zh-cn_image_url.png)<br>2. http网络播放: http://xx<br/>3. https网络播放: https://xx<br/>4. hls网络播放路径:http://xx或者https://xx<br/>**需要权限:** ohos.permission.READ_MEDIA;如果需要使用网络素材,还需要申请ohos.permission.INTERNET。 |
| fdSrc<sup>9+</sup> | [AVFileDescriptor](#interruptmode9) | 是 | 是 | 音频媒体文件描述,使用场景:应用中的音频资源被连续存储在同一个文件中。<br/>**使用示例**<br/>假设一个连续存储的音乐文件: <br/>音乐1(地址偏移:0,字节长度:100)<br/>音乐2(地址偏移:101,字节长度:50)<br/>音乐3(地址偏移:151,字节长度:150)<br/>1. 播放音乐1:AVFileDescriptor { fd = 资源句柄; offset = 0; lengt = 100; }<br/>2. 播放音乐2:AVFileDescriptor { fd = 资源句柄; offset = 101; length = 50; }<br/>3. 播放音乐3:AVFileDescriptor { fd = 资源句柄; offset = 151; length = 150; }<br/>假设是一个独立的音乐文件: 请使用src=fd://xx <br/>**注意事项**<br/>**需要权限:** ohos.permission.READ_MEDIA | | fdSrc<sup>9+</sup> | [AVFileDescriptor](#interruptmode9) | 是 | 是 | 音频媒体文件描述,使用场景:应用中的音频资源被连续存储在同一个文件中。<br/>**使用示例**<br/>假设一个连续存储的音乐文件: <br/>音乐1(地址偏移:0,字节长度:100)<br/>音乐2(地址偏移:101,字节长度:50)<br/>音乐3(地址偏移:151,字节长度:150)<br/>1. 播放音乐1:AVFileDescriptor { fd = 资源句柄; offset = 0; lengt = 100; }<br/>2. 播放音乐2:AVFileDescriptor { fd = 资源句柄; offset = 101; length = 50; }<br/>3. 播放音乐3:AVFileDescriptor { fd = 资源句柄; offset = 151; length = 150; }<br/>假设是一个独立的音乐文件: 请使用src=fd://xx <br/>**注意事项**<br/>**需要权限:** ohos.permission.READ_MEDIA |
| loop | boolean | 是 | 是 | 音频循环播放属性,设置为'true'表示循环播放。 | | loop | boolean | 是 | 是 | 音频循环播放属性,设置为'true'表示循环播放。 |
| audioInterruptMode<sup>9+</sup> | [InterruptMode](#interruptmode9) | 是 | 是 | 音频焦点模型。 | | audioInterruptMode<sup>9+</sup> | [InterruptMode](#interruptmode9) | 是 | 是 | 音频焦点模型。 |
| currentTime | number | 是 | 否 | 音频的当前播放位置,单位为毫秒(ms)。 | | currentTime | number | 是 | 否 | 音频的当前播放位置,单位为毫秒(ms)。 |
...@@ -694,8 +694,8 @@ audioPlayer.setVolume(3); //设置volume为无效值,触发'error'事件 ...@@ -694,8 +694,8 @@ audioPlayer.setVolume(3); //设置volume为无效值,触发'error'事件
| 名称 | 类型 | 可读 | 可写 | 说明 | | 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------------ | ---------------------------------- | ---- | ---- | ------------------------------------------------------------ | | ------------------------ | ---------------------------------- | ---- | ---- | ------------------------------------------------------------ |
| url<sup>8+</sup> | string | 是 | 是 | 视频媒体URL,支持当前主流的视频格式(mp4、mpeg-ts、webm、mkv)。<br>**支持路径示例**<br>1. fd类型播放:fd://xx<br>![](figures/zh-cn_image_url.png)<br>2. http网络播放: http://xx<br/>3. https网络播放: https://xx<br/>4. hls网络播放路径:http://xx或者https://xx<br/>**注意事项**<br>**需要权限:** ohos.permission.READ_MEDIA;如果需要使用网络素材,还需要申请ohos.permission.INTERNET。 | | url<sup>8+</sup> | string | 是 | 是 | 视频媒体URL,支持当前主流的视频格式(mp4、mpeg-ts、webm、mkv)。<br>**支持路径示例**<br>1. fd类型播放:fd://xx<br>![](figures/zh-cn_image_url.png)<br>2. http网络播放: http://xx<br/>3. https网络播放: https://xx<br/>4. hls网络播放路径:http://xx或者https://xx<br/>**需要权限:** ohos.permission.READ_MEDIA;如果需要使用网络素材,还需要申请ohos.permission.INTERNET。 |
| fdSrc<sup>9+</sup> | [AVFileDescriptor](#interruptmode9) | 是 | 是 | 音频媒体文件描述,使用场景:应用中的音频资源被连续存储在同一个文件中。<br/>**使用示例**<br/>假设一个连续存储的音乐文件: <br/>音乐1(地址偏移:0,字节长度:100)<br/>音乐2(地址偏移:101,字节长度:50)<br/>音乐3(地址偏移:151,字节长度:150)<br/>1. 播放音乐1:AVFileDescriptor { fd = 资源句柄; offset = 0; lengt = 100; }<br/>2. 播放音乐2:AVFileDescriptor { fd = 资源句柄; offset = 101; length = 50; }<br/>3. 播放音乐3:AVFileDescriptor { fd = 资源句柄; offset = 151; length = 150; }<br/>假设是一个独立的音乐文件: 请使用src=fd://xx <br/>**注意事项**<br/>**需要权限:** ohos.permission.READ_MEDIA | | fdSrc<sup>9+</sup> | [AVFileDescriptor](#interruptmode9) | 是 | 是 | 音频媒体文件描述,使用场景:应用中的音频资源被连续存储在同一个文件中。<br/>**使用示例**<br/>假设一个连续存储的音乐文件: <br/>音乐1(地址偏移:0,字节长度:100)<br/>音乐2(地址偏移:101,字节长度:50)<br/>音乐3(地址偏移:151,字节长度:150)<br/>1. 播放音乐1:AVFileDescriptor { fd = 资源句柄; offset = 0; lengt = 100; }<br/>2. 播放音乐2:AVFileDescriptor { fd = 资源句柄; offset = 101; length = 50; }<br/>3. 播放音乐3:AVFileDescriptor { fd = 资源句柄; offset = 151; length = 150; }<br/>假设是一个独立的音乐文件: 请使用src=fd://xx <br/>**注意事项**<br/>**需要权限:** ohos.permission.READ_MEDIA |
| loop<sup>8+</sup> | boolean | 是 | 是 | 视频循环播放属性,设置为'true'表示循环播放。 | | loop<sup>8+</sup> | boolean | 是 | 是 | 视频循环播放属性,设置为'true'表示循环播放。 |
| videoScaleType<sup>9+</sup> | [VideoScaleType](#videoscaletype9) | 是 | 是 | 视频缩放模式。 | | videoScaleType<sup>9+</sup> | [VideoScaleType](#videoscaletype9) | 是 | 是 | 视频缩放模式。 |
| audioInterruptMode<sup>9+</sup> | [InterruptMode](#interruptmode9) | 是 | 是 | 音频焦点模型。 | | audioInterruptMode<sup>9+</sup> | [InterruptMode](#interruptmode9) | 是 | 是 | 音频焦点模型。 |
...@@ -1365,7 +1365,7 @@ videoPlayer.setSpeed(speed).then() => { ...@@ -1365,7 +1365,7 @@ videoPlayer.setSpeed(speed).then() => {
selectBitrate(bitrate:number, callback: AsyncCallback\<number>): void selectBitrate(bitrate:number, callback: AsyncCallback\<number>): void
通过回调方式设置码率,通过[availableBitratesCollect](#on('availableBitratesCollect')<sup>9+</sup>)获取当前码流支持的Bitrate。 通过回调方式设置码率,通过[availableBitratesCollect](#onavailablebitratescollect9)获取当前码流支持的Bitrate。
**系统能力:** SystemCapability.Multimedia.Media.VideoPlayer **系统能力:** SystemCapability.Multimedia.Media.VideoPlayer
...@@ -1393,7 +1393,7 @@ videoPlayer.selectBitrate(bitrate, (err, result) => { ...@@ -1393,7 +1393,7 @@ videoPlayer.selectBitrate(bitrate, (err, result) => {
selectBitrate(bitrate:number): Promise\<number> selectBitrate(bitrate:number): Promise\<number>
通过Promise方式设置码率,通过[availableBitratesCollect](#on('availableBitratesCollect')<sup>9+</sup>)获取当前码流支持的Bitrate。 通过Promise方式设置码率,通过[availableBitratesCollect](#onavailablebitratescollect9)获取当前码流支持的Bitrate。
**系统能力:** SystemCapability.Multimedia.Media.VideoPlayer **系统能力:** SystemCapability.Multimedia.Media.VideoPlayer
...@@ -2020,7 +2020,7 @@ prepare(config: VideoRecorderConfig): Promise\<void>; ...@@ -2020,7 +2020,7 @@ prepare(config: VideoRecorderConfig): Promise\<void>;
异步方式进行视频录制的参数设置。通过Promise获取返回值。 异步方式进行视频录制的参数设置。通过Promise获取返回值。
**需要权限:** ohos.permission.MICROPHONE,ohos.permission.CAMERA **需要权限:** ohos.permission.MICROPHONE
**系统能力:** SystemCapability.Multimedia.Media.VideoRecorder **系统能力:** SystemCapability.Multimedia.Media.VideoRecorder
......
...@@ -1886,7 +1886,7 @@ Nr的选择模式。 ...@@ -1886,7 +1886,7 @@ Nr的选择模式。
| 名称 | 类型 | 说明 | | 名称 | 类型 | 说明 |
| ---------------------- | ------------------------------------------------- | -------------- | | ---------------------- | ------------------------------------------------- | -------------- |
| isNetworkSearchSuccess | boolean | 网络搜索成功。 | | isNetworkSearchSuccess | boolean | 网络搜索成功。 |
| networkSearchResult | Array<[NetworkInformation](#networkInformation)\> | 网络搜索结果。 | | networkSearchResult | Array<[NetworkInformation](#networkinformation)\> | 网络搜索结果。 |
## NetworkInformation ## NetworkInformation
...@@ -1900,7 +1900,7 @@ Nr的选择模式。 ...@@ -1900,7 +1900,7 @@ Nr的选择模式。
| --------------- | ----------------------------------------- | -------------- | | --------------- | ----------------------------------------- | -------------- |
| operatorName | string | 运营商的名称。 | | operatorName | string | 运营商的名称。 |
| operatorNumeric | string | 运营商数字。 | | operatorNumeric | string | 运营商数字。 |
| state | [NetworkInformation](#networkInformation) | 网络信息状态。 | | state | [NetworkInformationState](#networkinformationstate) | 网络信息状态。 |
| radioTech | string | 无线电技术。 | | radioTech | string | 无线电技术。 |
## NetworkInformationState ## NetworkInformationState
......
...@@ -2133,7 +2133,7 @@ getOperatorConfigs(slotId: number): Promise<Array<OperatorConfig\>> ...@@ -2133,7 +2133,7 @@ getOperatorConfigs(slotId: number): Promise<Array<OperatorConfig\>>
| 类型 | 说明 | | 类型 | 说明 |
| --------------------------------------------------- | ----------------------------- | | --------------------------------------------------- | ----------------------------- |
| Promise<Array<[OperatorConfig](#OperatorConfig8)\>> | 以Promise形式返回运营商配置。 | | Promise<Array<[OperatorConfig](#operatorconfig8)\>> | 以Promise形式返回运营商配置。 |
**示例:** **示例:**
...@@ -2163,7 +2163,7 @@ queryIccDiallingNumbers(slotId: number, type: ContactType, callback: AsyncCallba ...@@ -2163,7 +2163,7 @@ queryIccDiallingNumbers(slotId: number, type: ContactType, callback: AsyncCallba
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ---------------------------------------------------------- | | -------- | ------------------------------------------------------------ | ---- | ---------------------------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| type | ContactType | 是 | 联系人类型。<br/>1 : GENERAL_CONTACT<br/>2 : FIXED_DIALING | | type | [ContactType](#contactype8) | 是 | 联系人类型。<br/>1 : GENERAL_CONTACT<br/>2 : FIXED_DIALING |
| callback | AsyncCallback<Array<[DiallingNumbersInfo](#diallingnumbersinfo8)\>> | 是 | 回调函数。 | | callback | AsyncCallback<Array<[DiallingNumbersInfo](#diallingnumbersinfo8)\>> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -2192,7 +2192,7 @@ queryIccDiallingNumbers(slotId: number, type: ContactType): Promise<Array<Dialli ...@@ -2192,7 +2192,7 @@ queryIccDiallingNumbers(slotId: number, type: ContactType): Promise<Array<Dialli
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ----------- | ---- | ---------------------------------------------------------- | | ------ | ----------- | ---- | ---------------------------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| type | ContactType | 是 | 联系人类型。<br/>1 : GENERAL_CONTACT<br/>2 : FIXED_DIALING | | type | [ContactType](#contactype8) | 是 | 联系人类型。<br/>1 : GENERAL_CONTACT<br/>2 : FIXED_DIALING |
**返回值:** **返回值:**
...@@ -2829,7 +2829,7 @@ SIM卡状态。 ...@@ -2829,7 +2829,7 @@ SIM卡状态。
| LOCK_OFF | 0 | 锁关闭状态 | | LOCK_OFF | 0 | 锁关闭状态 |
| LOCK_ON | 1 | 锁开启状态 | | LOCK_ON | 1 | 锁开启状态 |
## **PersoLockType**<sup>8+</sup> ## PersoLockType<sup>8+</sup>
定制锁类型。 定制锁类型。
...@@ -2850,7 +2850,7 @@ SIM卡状态。 ...@@ -2850,7 +2850,7 @@ SIM卡状态。
| SIM_PIN_LOCK | 8 | 定制SIM的PIN锁*(参照 3GPP TS 22.022 [33])* | | SIM_PIN_LOCK | 8 | 定制SIM的PIN锁*(参照 3GPP TS 22.022 [33])* |
| SIM_PUK_LOCK | 9 | 定制SIM的PUK锁 | | SIM_PUK_LOCK | 9 | 定制SIM的PUK锁 |
## **LockStatusResponse**<sup>7+</sup> ## LockStatusResponse<sup>7+</sup>
锁状态响应。 锁状态响应。
...@@ -2863,7 +2863,7 @@ SIM卡状态。 ...@@ -2863,7 +2863,7 @@ SIM卡状态。
| result | number | 当前操作的结果 | | result | number | 当前操作的结果 |
| remain?: number | number | 剩余次数(可以为空) | | remain?: number | number | 剩余次数(可以为空) |
## **LockInfo**<sup>8+</sup> ## LockInfo<sup>8+</sup>
锁状态响应。 锁状态响应。
...@@ -2877,7 +2877,7 @@ SIM卡状态。 ...@@ -2877,7 +2877,7 @@ SIM卡状态。
| password | string | 密码 | | password | string | 密码 |
| state | [LockState](#lockstate8) | 锁状态 | | state | [LockState](#lockstate8) | 锁状态 |
## **PersoLockInfo**<sup>8+</sup> ## PersoLockInfo<sup>8+</sup>
锁状态响应。 锁状态响应。
...@@ -2890,7 +2890,7 @@ SIM卡状态。 ...@@ -2890,7 +2890,7 @@ SIM卡状态。
| lockType | [PersoLockType](#persolocktype8) | 定制锁的类型 | | lockType | [PersoLockType](#persolocktype8) | 定制锁的类型 |
| password | string | 密码 | | password | string | 密码 |
## **IccAccountInfo**<sup>7+</sup> ## IccAccountInfo<sup>7+</sup>
Icc账户信息。 Icc账户信息。
...@@ -2908,7 +2908,7 @@ Icc账户信息。 ...@@ -2908,7 +2908,7 @@ Icc账户信息。
| showName | string | SIM卡显示名称 | | showName | string | SIM卡显示名称 |
| showNumber | string | SIM卡显示号码 | | showNumber | string | SIM卡显示号码 |
## **OperatorConfig**<sup>8+</sup> ## OperatorConfig<sup>8+</sup>
运营商配置。 运营商配置。
...@@ -2921,7 +2921,7 @@ Icc账户信息。 ...@@ -2921,7 +2921,7 @@ Icc账户信息。
| field | string | 字段 | | field | string | 字段 |
| value | string | 值 | | value | string | 值 |
## **DiallingNumbersInfo**<sup>8+</sup> ## DiallingNumbersInfo<sup>8+</sup>
拨号号码信息。 拨号号码信息。
...@@ -2936,7 +2936,7 @@ Icc账户信息。 ...@@ -2936,7 +2936,7 @@ Icc账户信息。
| recordNumber | number | 记录编号 | | recordNumber | number | 记录编号 |
| pin2 | string | pin2密码 | | pin2 | string | pin2密码 |
## **ContactType**<sup>8+</sup> ## ContactType<sup>8+</sup>
联系人类型。 联系人类型。
......
...@@ -818,7 +818,7 @@ getSmsSegmentsInfo(slotId: number, message: string, force7bit: boolean, callback ...@@ -818,7 +818,7 @@ getSmsSegmentsInfo(slotId: number, message: string, force7bit: boolean, callback
| slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | SIM卡槽ID:<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| message | string | 是 | 消息 | | message | string | 是 | 消息 |
| force7bit | boolean | 是 | 是否使用7bit编码 | | force7bit | boolean | 是 | 是否使用7bit编码 |
| callback | AsyncCallback&lt;[SmsSegmentsInfo](#&lt;smssegmentsinfo8)&gt; | 是 | 回调函数 | | callback | AsyncCallback&lt;[SmsSegmentsInfo](#smssegmentsinfo8)&gt; | 是 | 回调函数 |
**示例:** **示例:**
...@@ -852,7 +852,7 @@ getSmsSegmentsInfo(slotId: number, message: string, force7bit: boolean): Promise ...@@ -852,7 +852,7 @@ getSmsSegmentsInfo(slotId: number, message: string, force7bit: boolean): Promise
| 类型 | 说明 | | 类型 | 说明 |
| ------------------------------------------------------- | ----------------------------- | | ------------------------------------------------------- | ----------------------------- |
| Promise&lt;[SmsSegmentsInfo](#&lt;smssegmentsinfo8)&gt; | 以Promise形式返回短信段信息。 | | Promise&lt;[SmsSegmentsInfo](#smssegmentsinfo8)&gt; | 以Promise形式返回短信段信息。 |
**示例:** **示例:**
...@@ -1209,7 +1209,7 @@ promise.then(data => { ...@@ -1209,7 +1209,7 @@ promise.then(data => {
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------------------------------------------ | ---- | --------- | | ----------- | ------------------------------------------------------------ | ---- | --------- |
| messageType | [MessageType](#messagetype8) | 是 | 消息类型 | | messageType | [MessageType](#messagetype8) | 是 | 消息类型 |
| mmsType | [MmsSendReq](#mmssendreq8) \|[MmsSendConf](#mmssendconf8) \|[MmsNotificationInd](#mmsnotificationind8) \|[MmsRespInd](#mmsrespind8) \|[MmsRetrieveConf](#mmsretrieveconf8)\|[MmsAcknowledgeInd](#mmsacknowledgeind8)\|[MmsDeliveryInd](#mmsdeliveryind8)\|[MmsReadOrigInd](#mmsreadorigInd8)\|[MmsReadRecInd](#mmsreadorigind8) | 是 | pdu头类型 | | mmsType | [MmsSendReq](#mmssendreq8) \|[MmsSendConf](#mmssendconf8) \|[MmsNotificationInd](#mmsnotificationind8) \|[MmsRespInd](#mmsrespind8) \|[MmsRetrieveConf](#mmsretrieveconf8)\|[MmsAcknowledgeInd](#mmsacknowledgeind8)\|[MmsDeliveryInd](#mmsdeliveryind8)\|[MmsReadOrigInd](#mmsreadorigind8)\|[MmsReadRecInd](#mmsreadrecind8) | 是 | pdu头类型 |
| attachment | Array<[MmsAttachment](#mmsattachment8)\> | 否 | 附件 | | attachment | Array<[MmsAttachment](#mmsattachment8)\> | 否 | 附件 |
## MmsSendReq<sup>8+</sup> ## MmsSendReq<sup>8+</sup>
...@@ -1307,7 +1307,7 @@ promise.then(data => { ...@@ -1307,7 +1307,7 @@ promise.then(data => {
| from | [MmsAddress](#mmsaddress8) | 否 | 来源 | | from | [MmsAddress](#mmsaddress8) | 否 | 来源 |
| cc | Array<[MmsAddress](#mmsaddress8)\> | 否 | 抄送 | | cc | Array<[MmsAddress](#mmsaddress8)\> | 否 | 抄送 |
| subject | string | 否 | 主题 | | subject | string | 否 | 主题 |
| priority | [MmsPriorityType](#mmsPrioritytype8) | 否 | 优先级 | | priority | [MmsPriorityType](#mmsprioritytype8) | 否 | 优先级 |
| deliveryReport | number | 否 | 状态报告 | | deliveryReport | number | 否 | 状态报告 |
| readReport | number | 否 | 阅读报告 | | readReport | number | 否 | 阅读报告 |
| retrieveStatus | number | 否 | 检索状态 | | retrieveStatus | number | 否 | 检索状态 |
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册