Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
99298f44
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
99298f44
编写于
6月 24, 2022
作者:
S
songruirui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改
Signed-off-by:
N
songruirui
<
songruirui1@huawei.com
>
上级
34e9eaf4
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
40 addition
and
40 deletion
+40
-40
zh-cn/application-dev/reference/apis/js-apis-application-DataShareExtensionAbility.md
...nce/apis/js-apis-application-DataShareExtensionAbility.md
+16
-16
zh-cn/application-dev/reference/apis/js-apis-data-DataSharePredicates.md
...on-dev/reference/apis/js-apis-data-DataSharePredicates.md
+1
-1
zh-cn/application-dev/reference/apis/js-apis-data-DataShareResultSet.md
...ion-dev/reference/apis/js-apis-data-DataShareResultSet.md
+4
-4
zh-cn/application-dev/reference/apis/js-apis-data-dataShare.md
.../application-dev/reference/apis/js-apis-data-dataShare.md
+19
-19
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-application-DataShareExtensionAbility.md
浏览文件 @
99298f44
...
...
@@ -42,7 +42,7 @@ let DDL_TBL_CREATE = "CREATE TABLE IF NOT EXISTS "
+
"
(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)
"
;
let
rdbStore
;
onCreate
(
want
:
Want
,
callback
:
AsyncCallback
&
lt
;
void
&
gt
;
)
{
onCreate
(
want
:
Want
,
callback
:
AsyncCallback
<
void
>
)
{
rdb
.
getRdbStore
(
this
.
context
,
{
name
:
DB_NAME
},
1
,
function
(
err
,
data
)
{
...
...
@@ -77,7 +77,7 @@ insert?(uri: string, valueBucket: ValuesBucket, callback: AsyncCallback<numbe
**示例:**
```
ts
insert
(
uri
:
string
,
valueBucket
:
ValuesBucket
,
callback
:
AsyncCallback
&
lt
;
number
&
gt
;
)
{
insert
(
uri
:
string
,
valueBucket
:
ValuesBucket
,
callback
:
AsyncCallback
<
number
>
)
{
if
(
value
==
null
)
{
console
.
info
(
'
invalid valueBuckets
'
);
return
;
...
...
@@ -104,14 +104,14 @@ update?(uri: string, predicates: dataSharePredicates.DataSharePredicates, valueB
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要更新的数据的路径。 |
| predicates |
[
dataSharePredicates.
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。 |
| valueBucket |
[
ValuesBucket
](
js-apis-data-ValuesBucket.md#valuesbucket
)
| 是 | 指示要更新的数据。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。返回更新的数据记录数。 |
**示例:**
```
ts
update
(
uri
:
string
,
predicates
:
dataSharePredicates
.
DataSharePredicates
,
valueBucket
:
ValuesBucket
,
callback
:
AsyncCallback
&
lt
;
number
&
gt
;
)
{
update
(
uri
:
string
,
predicates
:
dataSharePredicates
.
DataSharePredicates
,
valueBucket
:
ValuesBucket
,
callback
:
AsyncCallback
<
number
>
)
{
if
(
predicates
==
null
||
predicates
==
undefined
)
{
return
;
}
...
...
@@ -136,14 +136,14 @@ query?(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns
| 名称 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要查询的数据的路径。 |
| predicates |
[
dataSharePredicates.
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。 |
| columns | Array
<
string
>
| 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
| callback | AsyncCallback
<
Object
>
| 是 | 回调函数。返回查询到的结果集。 |
**示例:**
```
ts
query
(
uri
:
string
,
predicates
:
dataSharePredicates
.
DataSharePredicates
,
columns
:
Array
&
lt
;
string
&
gt
;,
callback
:
AsyncCallback
&
lt
;
Object
&
gt
;
)
{
query
(
uri
:
string
,
predicates
:
dataSharePredicates
.
DataSharePredicates
,
columns
:
Array
<
string
>
,
callback
:
AsyncCallback
<
Object
>
)
{
if
(
predicates
==
null
||
predicates
==
undefined
)
{
return
;
}
...
...
@@ -171,13 +171,13 @@ delete?(uri: string, predicates: dataSharePredicates.DataSharePredicates, callba
| 名称 | 参数类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ---------------------------------- |
| uri | string | 是 | 指示要删除的数据的路径。 |
| predicates |
[
dataSharePredicates.
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。返回已删除的数据记录数。 |
**示例:**
```
ts
delete
(
uri
:
string
,
predicates
:
dataSharePredicates
.
DataSharePredicates
,
callback
:
AsyncCallback
&
lt
;
number
&
gt
;
)
{
delete
(
uri
:
string
,
predicates
:
dataSharePredicates
.
DataSharePredicates
,
callback
:
AsyncCallback
<
number
>
)
{
if
(
predicates
==
null
||
predicates
==
undefined
)
{
return
;
}
...
...
@@ -208,7 +208,7 @@ BatchInsert?(uri: string, valueBuckets: Array<ValuesBucket>, callback: Asy
**示例:**
```
ts
batchInsert
(
uri
:
string
,
valueBuckets
:
Array
&
lt
;
ValuesBucket
&
gt
;,
callback
:
AsyncCallback
&
lt
;
number
&
gt
;
)
{
batchInsert
(
uri
:
string
,
valueBuckets
:
Array
<
ValuesBucket
>
,
callback
:
AsyncCallback
<
number
>
)
{
if
(
valueBuckets
==
null
||
valueBuckets
.
length
==
undefined
)
{
console
.
info
(
'
invalid valueBuckets
'
);
return
;
...
...
@@ -242,7 +242,7 @@ getType?(uri: string, callback: AsyncCallback<string>): void
**示例:**
```
ts
getType
(
uri
:
string
,
callback
:
AsyncCallback
&
lt
;
string
&
gt
;
)
{
getType
(
uri
:
string
,
callback
:
AsyncCallback
<
string
>
)
{
let
err
=
{
"
code
"
:
0
};
let
ret
=
"
image
"
;
callback
(
err
,
ret
);
...
...
@@ -268,7 +268,7 @@ getFileTypes?(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Ar
**示例:**
```
ts
getFileTypes
(
uri
:
string
,
mimeTypeFilter
:
string
,
callback
:
AsyncCallback
&
lt
;
Array
&
lt
;
string
&
gt
;
&
gt
;
)
{
getFileTypes
(
uri
:
string
,
mimeTypeFilter
:
string
,
callback
:
AsyncCallback
<
Array
<
string
>>
)
{
let
err
=
{
"
code
"
:
0
};
let
ret
=
new
Array
(
"
type01
"
,
"
type02
"
,
"
type03
"
);
callback
(
err
,
ret
);
...
...
@@ -287,13 +287,13 @@ normalizeUri?(uri: string, callback: AsyncCallback<string>): void
| 名称 | 类型 | 必填 | 描述 |
| -------- | --------------------- | ---- | ----------------------- |
| uri | string | 是 | 指示用户传入的
URI
。 |
| uri | string | 是 | 指示用户传入的
[
URI
](
js-apis-uri.md#uri
)
。 |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。如果支持URI规范化,则返回规范化URI,否则返回空。 |
**示例:**
```
ts
normalizeUri
(
uri
:
string
,
callback
:
AsyncCallback
&
lt
;
string
&
gt
;
)
{
normalizeUri
(
uri
:
string
,
callback
:
AsyncCallback
<
string
>
)
{
let
err
=
{
"
code
"
:
0
};
let
ret
=
"
normalize+
"
+
uri
;
callback
(
err
,
ret
);
...
...
@@ -312,13 +312,13 @@ denormalizeUri?(uri: string, callback: AsyncCallback<string>): void
| 名称 | 类型 | 必填 | 描述 |
| -------- | --------------------- | ---- | ----------------------- |
| uri | string | 是 | 指示服务端使用的
uri
。 |
| uri | string | 是 | 指示服务端使用的
[
URI
](
js-apis-uri.md#uri
)
。 |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。如果反规范化成功,则返回反规范化的URI;如果无需进行反规范化,则返回原始URI;若不支持则返回空。 |
**示例:**
```
ts
denormalizeUri
(
uri
:
string
,
callback
:
AsyncCallback
&
lt
;
string
&
gt
;
)
{
denormalizeUri
(
uri
:
string
,
callback
:
AsyncCallback
<
string
>
)
{
let
err
=
{
"
code
"
:
0
};
let
ret
=
"
denormalize+
"
+
uri
;
callback
(
err
,
ret
);
...
...
@@ -344,7 +344,7 @@ openFile?(uri: string, mode: string, callback: AsyncCallback<number>): voi
**示例:**
```
ts
openFile
(
uri
:
string
,
mode
:
string
,
callback
:
AsyncCallback
&
lt
;
number
&
gt
;
)
{
openFile
(
uri
:
string
,
mode
:
string
,
callback
:
AsyncCallback
<
number
>
)
{
let
err
=
{
"
code
"
:
0
};
let
fd
=
0
;
callback
(
err
,
fd
);
...
...
zh-cn/application-dev/reference/apis/js-apis-data-DataSharePredicates.md
浏览文件 @
99298f44
...
...
@@ -338,7 +338,7 @@ like(field: string, value: string): DataSharePredicates
| 类型 | 说明 |
| ------------------------------------------- | ------------------------------------------------------------ |
|
[
DataSharePredicates
](
#datasharepredicates
)
| xxxxxxxxxx openFile(uri: string, mode: string, callback: AsyncCallback
<
number
>
) { let err = {"code":0}; let fd = 0; callback(err,fd);}ts |
|
[
DataSharePredicates
](
#datasharepredicates
)
| xxxxxxxxxx openFile(uri: string, mode: string, callback: AsyncCallback
<number>
) { let err = {"code":0}; let fd = 0; callback(err,fd);}ts |
**示例:**
...
...
zh-cn/application-dev/reference/apis/js-apis-data-DataShareResultSet.md
浏览文件 @
99298f44
...
...
@@ -15,7 +15,7 @@ import DataShareResultSet from '@ohos.data.DataShareResultSet';
## 使用说明
需要通过
[
dataShare.query()
](
js-apis-data-dataShare.md#query
)
获取DataShareResultSet对象。
需要通过
调用
[
query
](
js-apis-data-dataShare.md#query
)
接口
获取DataShareResultSet对象。
```
ts
import
dataShare
from
'
@ohos.data.dataShare
'
;
...
...
@@ -411,13 +411,13 @@ console.info('resultSet.getDataType: ' + getDataType);
## DataType
用于表示数据类型
。
数据类型枚举
。
只
能被系统应用使
用。
只
支持系统应用,不支持三方应
用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
| 名称 |
默认
值 | 说明 |
| 名称 | 值 | 说明 |
| ----------- | ------ | -------------------- |
| TYPE_NULL | 0 | 表示值类型为空。 |
| TYPE_LONG | 1 | 表示值类型为长整数值。 |
...
...
zh-cn/application-dev/reference/apis/js-apis-data-dataShare.md
浏览文件 @
99298f44
...
...
@@ -324,11 +324,11 @@ getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Arr
**参数:**
| 名称 | 类型
| 必填 | 描述 |
| -------------- | ----------------------------------------
--------------------
| ---- | ------------------------------------------------------------ |
| uri | string
| 是 | 指示要获取的文件的路径。 |
| mimeTypeFilter | string
| 是 | 指示要筛选的MIME类型。例如:
<br
/>
“
\*
/
\*
”:获取支持的所有类型。
<br/>
“image/
\*
”:获取主类型image,子类型为任何类型的MIME。
<br
/>
”
\*
/jpg”:获取子类型为jpg,主类型为任何类型的MIME。 |
| callback |
openFile(uri: string, mode: string, callback: AsyncCallback
<
number
>
) { let err = {"code":0}; let fd = 0; callback(err,fd);}ts
| 是 | 回调函数。返回匹配的MIME类型数组。 |
| 名称 | 类型 | 必填 | 描述 |
| -------------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要获取的文件的路径。 |
| mimeTypeFilter | string | 是 | 指示要筛选的MIME类型。例如:
<br
/>
“
\*
/
\*
”:获取支持的所有类型。
<br/>
“image/
\*
”:获取主类型image,子类型为任何类型的MIME。
<br
/>
”
\*
/jpg”:获取子类型为jpg,主类型为任何类型的MIME。 |
| callback |
AsyncCallback
<
Array
<
string
>>
| 是 | 回调函数。返回匹配的MIME类型数组。 |
**示例:**
...
...
@@ -389,7 +389,7 @@ normalizeUri(uri: string, callback: AsyncCallback<string>): void
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---------------------- | ---- | -------------------------------------------------------- |
| uri | string | 是 | 指示要规范化的
URI。
|
| uri | string | 是 | 指示要规范化的
[
URI
](
js-apis-uri.md#uri
)
。
|
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。如果支持URI规范化,则返回规范化URI,否则返回空。 |
**示例:**
...
...
@@ -415,9 +415,9 @@ normalizeUri(uri: string): Promise<string>
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | ------------------- |
| uri | string | 是 | 指示要规范化的
URI
。 |
| 名称 | 类型 | 必填 | 描述
|
| ---- | ------ | ---- | -------------------
----------------------
|
| uri | string | 是 | 指示要规范化的
[
URI
](
js-apis-uri.md#uri
)
。 |
**返回值:**
...
...
@@ -448,7 +448,7 @@ denormalizeUri(uri: string, callback: AsyncCallback<string>): void
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---------------------- | ---- | --------------------------------------------------- |
| uri | string | 是 | 指示要反规范化的
URI。
|
| uri | string | 是 | 指示要反规范化的
[
URI
](
js-apis-uri.md#uri
)
。
|
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。如果反规范化成功,则返回反规范化的URI;如果无需进行反规范化,则返回原始URI;若不支持则返回空。 |
**示例:**
...
...
@@ -474,9 +474,9 @@ denormalizeUri(uri: string): Promise<string>
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | --------------------- |
| uri | string | 是 | 指示要反规范化的
URI
。 |
| 名称 | 类型 | 必填 | 描述
|
| ---- | ------ | ---- | ---------------------
----------------------
|
| uri | string | 是 | 指示要反规范化的
[
URI
](
js-apis-uri.md#uri
)
。 |
**返回值:**
...
...
@@ -646,7 +646,7 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates, callbac
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要删除的数据的路径。 |
| predicates |
[
dataSharePredicates.
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
delete接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB的删除目前仅支持inKeys谓词。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
delete接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB的删除目前仅支持inKeys谓词。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。返回已删除的数据记录数。
<br
/>
因部分数据库(如KVDB)的相应接口并不提供相应支持,故若服务端使用此数据库,则此callback也无法返回删除的数据记录数。 |
**示例:**
...
...
@@ -679,7 +679,7 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates): Promis
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要删除的数据的路径。 |
| predicates |
[
dataSharePredicates.
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
delete接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB的删除目前仅支持inKeys谓词。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
delete接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB的删除目前仅支持inKeys谓词。 |
**返回值:**
...
...
@@ -715,7 +715,7 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要更新的数据的路径。 |
| predicates |
[
dataSharePredicates.
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
update接口是否支持谓词筛选条件取决于服务端所选用的数据库,如KVDB目前并不支持谓词筛选条件,仅RDB支持。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
update接口是否支持谓词筛选条件取决于服务端所选用的数据库,如KVDB目前并不支持谓词筛选条件,仅RDB支持。 |
| value |
[
ValuesBucket
](
js-apis-data-ValuesBucket.md#valuesbucket
)
| 是 | 指示要更新的数据。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。返回更新的数据记录数。
<br
/>
因部分数据库(如KVDB)的相应接口并不提供相应支持,故若服务端使用此数据库,则此callback也无法返回更新的数据记录数。 |
...
...
@@ -755,7 +755,7 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要更新的数据的路径。 |
| predicates |
[
dataSharePredicates.
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
update接口是否支持谓词筛选条件取决于服务端所选用的数据库,如KVDB目前并不支持谓词筛选条件,仅RDB支持。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
update接口是否支持谓词筛选条件取决于服务端所选用的数据库,如KVDB目前并不支持谓词筛选条件,仅RDB支持。 |
| value |
[
ValuesBucket
](
js-apis-data-ValuesBucket.md#valuesbucket
)
| 是 | 指示要更新的数据。 |
**返回值:**
...
...
@@ -798,7 +798,7 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要查询的数据的路径。 |
| predicates |
[
dataSharePredicates.
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
query接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB目前仅支持inKeys和prefixKey。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
query接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB目前仅支持inKeys和prefixKey。 |
| columns | Array
<
string
>
| 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
| callback | AsyncCallback
<
[DataShareResultSet](js-apis-data-DataShareResultSet.md#datashareresultset)
>
| 是 | 回调函数。返回查询到的结果集。 |
...
...
@@ -833,7 +833,7 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要查询的数据的路径。 |
| predicates |
[
dataSharePredicates.
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
query接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB目前仅支持inKeys和prefixKey。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
query接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB目前仅支持inKeys和prefixKey。 |
| columns | Array
<
string
>
| 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
**返回值:**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录