Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
a387f71f
X
Xts Acts
项目概览
OpenHarmony
/
Xts Acts
1 年多 前同步成功
通知
9
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
Xts Acts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
a387f71f
编写于
8月 22, 2022
作者:
O
openharmony_ci
提交者:
Gitee
8月 22, 2022
浏览文件
操作
浏览文件
下载
差异文件
!5075 【XTS】【事件通知子系统】slot 相关整改
Merge pull request !5075 from zhijianwen/master
上级
7f323935
f86ebddc
变更
23
展开全部
隐藏空白更改
内联
并排
Showing
23 changed file
with
1873 addition
and
1 deletion
+1873
-1
notification/BUILD.gn
notification/BUILD.gn
+1
-1
notification/ans_standard/BUILD.gn
notification/ans_standard/BUILD.gn
+1
-0
notification/ans_standard/actsNotificationSlotTest/BUILD.gn
notification/ans_standard/actsNotificationSlotTest/BUILD.gn
+34
-0
notification/ans_standard/actsNotificationSlotTest/Test.json
notification/ans_standard/actsNotificationSlotTest/Test.json
+19
-0
notification/ans_standard/actsNotificationSlotTest/signature/openharmony_sx.p7b
...ard/actsNotificationSlotTest/signature/openharmony_sx.p7b
+0
-0
notification/ans_standard/actsNotificationSlotTest/src/main/config.json
...ns_standard/actsNotificationSlotTest/src/main/config.json
+116
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/app.js
...d/actsNotificationSlotTest/src/main/js/MainAbility/app.js
+22
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/i18n/en-US.json
...ificationSlotTest/src/main/js/MainAbility/i18n/en-US.json
+6
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/i18n/zh-CN.json
...ificationSlotTest/src/main/js/MainAbility/i18n/zh-CN.json
+6
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/pages/index/index.css
...ionSlotTest/src/main/js/MainAbility/pages/index/index.css
+24
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/pages/index/index.hml
...ionSlotTest/src/main/js/MainAbility/pages/index/index.hml
+21
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/pages/index/index.js
...tionSlotTest/src/main/js/MainAbility/pages/index/index.js
+33
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/app.js
...d/actsNotificationSlotTest/src/main/js/TestAbility/app.js
+31
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/i18n/en-US.json
...ificationSlotTest/src/main/js/TestAbility/i18n/en-US.json
+8
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/i18n/zh-CN.json
...ificationSlotTest/src/main/js/TestAbility/i18n/zh-CN.json
+8
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/pages/index/index.css
...ionSlotTest/src/main/js/TestAbility/pages/index/index.css
+30
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/pages/index/index.hml
...ionSlotTest/src/main/js/TestAbility/pages/index/index.hml
+5
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/pages/index/index.js
...tionSlotTest/src/main/js/TestAbility/pages/index/index.js
+26
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestRunner/OpenHarmonyTestRunner.js
...nSlotTest/src/main/js/TestRunner/OpenHarmonyTestRunner.js
+59
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/test/ActsNotificationSlotTest.js
...tionSlotTest/src/main/js/test/ActsNotificationSlotTest.js
+1377
-0
notification/ans_standard/actsNotificationSlotTest/src/main/js/test/List.test.js
...rd/actsNotificationSlotTest/src/main/js/test/List.test.js
+18
-0
notification/ans_standard/actsNotificationSlotTest/src/main/resources/base/element/string.json
...ationSlotTest/src/main/resources/base/element/string.json
+28
-0
notification/ans_standard/actsNotificationSlotTest/src/main/resources/base/media/icon.png
...tificationSlotTest/src/main/resources/base/media/icon.png
+0
-0
未找到文件。
notification/BUILD.gn
浏览文件 @
a387f71f
...
...
@@ -9,7 +9,7 @@
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
import("//build/ohos_var.gni")
...
...
notification/ans_standard/BUILD.gn
浏览文件 @
a387f71f
...
...
@@ -18,6 +18,7 @@ group("ans_standard") {
deps = [
#"actsansnotificationcancel:ActsAnsNotificationCancelTest",
#"actsansnotificationremove:ActsAnsNotificationRemoveTest",
"actsNotificationSlotTest:ActsNotificationSlotTest",
"actsansslottest:ActsAnsSlotTest",
"actsnotificationshow:ActsNotificationShowTest",
"publish_test:publish_test",
...
...
notification/ans_standard/actsNotificationSlotTest/BUILD.gn
0 → 100644
浏览文件 @
a387f71f
# Copyright (c) 2021 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("ActsNotificationSlotTest") {
hap_profile = "./src/main/config.json"
deps = [
":hjs_demo_js_assets",
":hjs_demo_resources",
]
certificate_profile = "./signature/openharmony_sx.p7b"
hap_name = "ActsNotificationSlotTest"
subsystem_name = "notification"
part_name = "distributed_notification_service"
}
ohos_js_assets("hjs_demo_js_assets") {
js2abc = true
hap_profile = "./src/main/config.json"
source_dir = "./src/main/js"
}
ohos_resources("hjs_demo_resources") {
sources = [ "./src/main/resources" ]
hap_profile = "./src/main/config.json"
}
notification/ans_standard/actsNotificationSlotTest/Test.json
0 → 100644
浏览文件 @
a387f71f
{
"description"
:
"Configuration for hjunit demo Tests"
,
"driver"
:
{
"type"
:
"OHJSUnitTest"
,
"test-timeout"
:
"180000"
,
"shell-timeout"
:
"180000"
,
"bundle-name"
:
"com.example.actsnotificationslot"
,
"package-name"
:
"com.example.actsnotificationslot"
},
"kits"
:
[
{
"test-file-name"
:
[
"ActsNotificationSlotTest.hap"
],
"type"
:
"AppInstallKit"
,
"cleanup-apps"
:
true
}
]
}
\ No newline at end of file
notification/ans_standard/actsNotificationSlotTest/signature/openharmony_sx.p7b
0 → 100644
浏览文件 @
a387f71f
文件已添加
notification/ans_standard/actsNotificationSlotTest/src/main/config.json
0 → 100644
浏览文件 @
a387f71f
{
"app"
:
{
"bundleName"
:
"com.example.actsnotificationslot"
,
"vendor"
:
"example"
,
"version"
:
{
"code"
:
1
,
"name"
:
"1.0"
},
"apiVersion"
:
{
"compatible"
:
5
,
"target"
:
5
,
"releaseType"
:
"Beta1"
}
},
"deviceConfig"
:
{},
"module"
:
{
"package"
:
"com.example.actsnotificationslot"
,
"name"
:
".entry"
,
"deviceType"
:
[
"phone"
],
"distro"
:
{
"deliveryWithInstall"
:
true
,
"moduleName"
:
"entry"
,
"moduleType"
:
"entry"
},
"reqPermissions"
:
[
{
"name"
:
"publish_event0800_permission"
,
"reason"
:
"ceshi"
},
{
"name"
:
"publish_event0900_subscriberPermissions"
,
"reason"
:
"ceshi"
},
{
"name"
:
"publish_event0900_publisherPermission"
,
"reason"
:
"ceshi"
},
{
"name"
:
"publish_event1000_permission"
,
"reason"
:
"ceshi"
},
{
"name"
:
"permission.COMMONEVENT_STICKY"
,
"reason"
:
"ceshi"
}
],
"abilities"
:
[
{
"skills"
:
[
{
"entities"
:
[
"entity.system.home"
],
"actions"
:
[
"action.system.home"
]
}
],
"orientation"
:
"unspecified"
,
"formsEnabled"
:
false
,
"name"
:
".MainAbility"
,
"srcLanguage"
:
"js"
,
"srcPath"
:
"MainAbility"
,
"icon"
:
"$media:icon"
,
"description"
:
"$string:MainAbility_desc"
,
"label"
:
"$string:MainAbility_label"
,
"type"
:
"page"
,
"visible"
:
true
,
"launchType"
:
"standard"
},
{
"orientation"
:
"unspecified"
,
"formsEnabled"
:
false
,
"name"
:
".TestAbility"
,
"srcLanguage"
:
"js"
,
"srcPath"
:
"TestAbility"
,
"icon"
:
"$media:icon"
,
"description"
:
"$string:TestAbility_desc"
,
"label"
:
"$string:TestAbility_label"
,
"type"
:
"page"
,
"visible"
:
true
,
"launchType"
:
"standard"
}
],
"js"
:
[
{
"pages"
:
[
"pages/index/index"
],
"name"
:
"default"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
false
}
},
{
"pages"
:
[
"pages/index/index"
],
"name"
:
".TestAbility"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
false
}
}
],
"testRunner"
:
{
"name"
:
"OpenHarmonyTestRunner"
,
"srcPath"
:
"TestRunner"
},
"mainAbility"
:
".MainAbility"
,
"srcPath"
:
""
}
}
\ No newline at end of file
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/app.js
0 → 100644
浏览文件 @
a387f71f
/*
* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export
default
{
onCreate
()
{
console
.
info
(
"
============== AceApplication onCreate ==============
"
);
},
onDestroy
()
{
console
.
info
(
'
=============AceApplication onDestroy=============
'
);
}
};
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/i18n/en-US.json
0 → 100644
浏览文件 @
a387f71f
{
"strings"
:
{
"hello"
:
"Hello"
,
"world"
:
"World"
}
}
\ No newline at end of file
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/i18n/zh-CN.json
0 → 100644
浏览文件 @
a387f71f
{
"strings"
:
{
"hello"
:
"您好"
,
"world"
:
"世界"
}
}
\ No newline at end of file
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/pages/index/index.css
0 → 100644
浏览文件 @
a387f71f
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.container
{
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
}
.title
{
font-size
:
100px
;
}
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/pages/index/index.hml
0 → 100644
浏览文件 @
a387f71f
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
<div class="container">
<text class="title">
Hello, World!
{{ $t('strings.hello') }} {{ title }}
</text>
</div>
notification/ans_standard/actsNotificationSlotTest/src/main/js/MainAbility/pages/index/index.js
0 → 100644
浏览文件 @
a387f71f
/*
* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
file
from
'
@system.file
'
const
injectRef
=
Object
.
getPrototypeOf
(
global
)
||
global
injectRef
.
regeneratorRuntime
=
require
(
'
@babel/runtime/regenerator
'
)
export
default
{
data
:
{
title
:
""
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
},
onShow
()
{
console
.
info
(
'
onShow finish
'
)
},
onReady
()
{
},
}
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/app.js
0 → 100644
浏览文件 @
a387f71f
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
AbilityDelegatorRegistry
from
'
@ohos.application.abilityDelegatorRegistry
'
import
{
Hypium
}
from
'
@ohos/hypium
'
import
testsuite
from
'
../test/List.test
'
export
default
{
onCreate
()
{
console
.
info
(
'
TestApplication onCreate
'
)
var
abilityDelegator
=
AbilityDelegatorRegistry
.
getAbilityDelegator
()
var
abilityDelegatorArguments
=
AbilityDelegatorRegistry
.
getArguments
()
console
.
info
(
'
start run testcase!!!
'
)
Hypium
.
hypiumTest
(
abilityDelegator
,
abilityDelegatorArguments
,
testsuite
)
},
onDestroy
()
{
console
.
info
(
"
TestApplication onDestroy
"
);
}
};
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/i18n/en-US.json
0 → 100644
浏览文件 @
a387f71f
{
"strings"
:
{
"hello"
:
"Hello"
,
"world"
:
"World"
},
"Files"
:
{
}
}
\ No newline at end of file
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/i18n/zh-CN.json
0 → 100644
浏览文件 @
a387f71f
{
"strings"
:
{
"hello"
:
"您好"
,
"world"
:
"世界"
},
"Files"
:
{
}
}
\ No newline at end of file
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/pages/index/index.css
0 → 100644
浏览文件 @
a387f71f
.container
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
left
:
0px
;
top
:
0px
;
width
:
100%
;
height
:
100%
;
}
.title
{
font-size
:
60px
;
text-align
:
center
;
width
:
100%
;
height
:
40%
;
margin
:
10px
;
}
@media
screen
and
(
device-type
:
phone
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
60px
;
}
}
@media
screen
and
(
device-type
:
tablet
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
100px
;
}
}
\ No newline at end of file
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/pages/index/index.hml
0 → 100644
浏览文件 @
a387f71f
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
</div>
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestAbility/pages/index/index.js
0 → 100644
浏览文件 @
a387f71f
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export
default
{
data
:
{
title
:
""
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
}
}
notification/ans_standard/actsNotificationSlotTest/src/main/js/TestRunner/OpenHarmonyTestRunner.js
0 → 100644
浏览文件 @
a387f71f
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
AbilityDelegatorRegistry
from
'
@ohos.application.abilityDelegatorRegistry
'
function
translateParamsToString
(
parameters
)
{
const
keySet
=
new
Set
([
'
-s class
'
,
'
-s notClass
'
,
'
-s suite
'
,
'
-s itName
'
,
'
-s level
'
,
'
-s testType
'
,
'
-s size
'
,
'
-s timeout
'
,
'
-s package
'
,
'
-s dryRun
'
])
let
targetParams
=
''
;
for
(
const
key
in
parameters
)
{
if
(
keySet
.
has
(
key
))
{
targetParams
+=
'
'
+
key
+
'
'
+
parameters
[
key
]
}
}
return
targetParams
.
trim
()
}
export
default
{
onPrepare
()
{
console
.
info
(
'
OpenHarmonyTestRunner OnPrepare
'
)
},
onRun
()
{
console
.
log
(
'
OpenHarmonyTestRunner onRun run
'
)
var
abilityDelegatorArguments
=
AbilityDelegatorRegistry
.
getArguments
()
var
abilityDelegator
=
AbilityDelegatorRegistry
.
getAbilityDelegator
()
var
testAbilityName
=
abilityDelegatorArguments
.
parameters
[
'
-p
'
]
+
'
.TestAbility
'
var
cmd
=
'
aa start -d 0 -a
'
+
testAbilityName
+
'
-b
'
+
abilityDelegatorArguments
.
bundleName
cmd
+=
'
'
+
translateParamsToString
(
abilityDelegatorArguments
.
parameters
)
var
debug
=
abilityDelegatorArguments
.
parameters
[
"
-D
"
]
console
.
info
(
'
debug value :
'
+
debug
)
if
(
debug
==
'
true
'
)
{
cmd
+=
'
-D
'
}
console
.
info
(
'
cmd :
'
+
cmd
)
abilityDelegator
.
executeShellCommand
(
cmd
,
(
err
,
data
)
=>
{
console
.
info
(
'
executeShellCommand : err :
'
+
JSON
.
stringify
(
err
));
console
.
info
(
'
executeShellCommand : data :
'
+
data
.
stdResult
);
console
.
info
(
'
executeShellCommand : data :
'
+
data
.
exitCode
);
})
}
};
notification/ans_standard/actsNotificationSlotTest/src/main/js/test/ActsNotificationSlotTest.js
0 → 100644
浏览文件 @
a387f71f
此差异已折叠。
点击以展开。
notification/ans_standard/actsNotificationSlotTest/src/main/js/test/List.test.js
0 → 100644
浏览文件 @
a387f71f
/*
* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
ActsNotificationSlotTest
from
'
./ActsNotificationSlotTest.js
'
export
default
function
testsuite
()
{
ActsNotificationSlotTest
()
}
notification/ans_standard/actsNotificationSlotTest/src/main/resources/base/element/string.json
0 → 100644
浏览文件 @
a387f71f
{
"string"
:
[
{
"name"
:
"app_name"
,
"value"
:
"JsHelloWorld"
},
{
"name"
:
"mainability_description"
,
"value"
:
"hap sample empty page"
},
{
"name"
:
"MainAbility_desc"
,
"value"
:
"description"
},
{
"name"
:
"MainAbility_label"
,
"value"
:
"label"
},
{
"name"
:
"TestAbility_desc"
,
"value"
:
"description"
},
{
"name"
:
"TestAbility_label"
,
"value"
:
"label"
}
]
}
\ No newline at end of file
notification/ans_standard/actsNotificationSlotTest/src/main/resources/base/media/icon.png
0 → 100644
浏览文件 @
a387f71f
6.6 KB
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录