Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
94e3e418
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看板
未验证
提交
94e3e418
编写于
3月 03, 2022
作者:
B
bayanxing
提交者:
Gitee
3月 03, 2022
浏览文件
操作
浏览文件
下载
差异文件
!16 add test cases
Merge pull request !16 from dirk41/xts_acts_dev
上级
4d343bf0
1b44a5b0
变更
14
展开全部
隐藏空白更改
内联
并排
Showing
14 changed file
with
3027 addition
and
124 deletion
+3027
-124
ace/ace_standard/src/main/config.json
ace/ace_standard/src/main/config.json
+2
-1
ace/ace_standard/src/main/js/default/pages/select/index.css
ace/ace_standard/src/main/js/default/pages/select/index.css
+0
-64
ace/ace_standard/src/main/js/default/pages/select/index.hml
ace/ace_standard/src/main/js/default/pages/select/index.hml
+0
-46
ace/ace_standard/src/main/js/default/pages/select/prop/index.css
..._standard/src/main/js/default/pages/select/prop/index.css
+347
-0
ace/ace_standard/src/main/js/default/pages/select/prop/index.hml
..._standard/src/main/js/default/pages/select/prop/index.hml
+165
-0
ace/ace_standard/src/main/js/default/pages/select/prop/index.js
...e_standard/src/main/js/default/pages/select/prop/index.js
+107
-0
ace/ace_standard/src/main/js/default/pages/select/router/index.css
...tandard/src/main/js/default/pages/select/router/index.css
+455
-0
ace/ace_standard/src/main/js/default/pages/select/router/index.hml
...tandard/src/main/js/default/pages/select/router/index.hml
+286
-0
ace/ace_standard/src/main/js/default/pages/select/router/index.js
...standard/src/main/js/default/pages/select/router/index.js
+453
-0
ace/ace_standard/src/main/js/default/pages/select/style/index.css
...standard/src/main/js/default/pages/select/style/index.css
+384
-0
ace/ace_standard/src/main/js/default/pages/select/style/index.hml
...standard/src/main/js/default/pages/select/style/index.hml
+138
-0
ace/ace_standard/src/main/js/default/pages/select/style/index.js
..._standard/src/main/js/default/pages/select/style/index.js
+2
-11
ace/ace_standard/src/main/js/default/test/commonComponentJsApi.test.js
...ard/src/main/js/default/test/commonComponentJsApi.test.js
+2
-2
ace/ace_standard/src/main/js/default/test/selectProps.test.js
...ace_standard/src/main/js/default/test/selectProps.test.js
+686
-0
未找到文件。
ace/ace_standard/src/main/config.json
浏览文件 @
94e3e418
...
...
@@ -85,7 +85,8 @@
"pages/progress/router/index"
,
"pages/progress/prop/index"
,
"pages/qrcode/index"
,
"pages/select/index"
,
"pages/select/prop/index"
,
"pages/select/router/index"
,
"pages/div/router/index"
,
"pages/badge/router/index"
,
"pages/badge/prop/index"
,
...
...
ace/ace_standard/src/main/js/default/pages/select/index.css
已删除
100644 → 0
浏览文件 @
4d343bf0
.container
{
flex-direction
:
column
;
align-items
:
flex-start
;
justify-content
:
center
;
}
.select1
{
color
:
red
;
font-size
:
20px
;
allow-scale
:
true
;
letter-spacing
:
5px
;
font-style
:
normal
;
font-weight
:
200
;
font-family
:
sans-serif
;
min-width
:
25px
;
min-height
:
10px
;
max-width
:
600px
;
max-height
:
150px
;
padding-left
:
10px
;
padding-top
:
20px
;
padding-right
:
15px
;
padding-bottom
:
5px
;
margin-left
:
10px
;
margin-top
:
20px
;
margin-right
:
15px
;
margin-bottom
:
5px
;
}
.select2
{
color
:
rebeccapurple
;
font-size
:
30px
;
allow-scale
:
false
;
letter-spacing
:
5px
;
font-style
:
italic
;
font-weight
:
300
;
font-family
:
sans-serif
;
margin
:
20px
;
}
.select3
{
color
:
beige
;
font-size
:
30px
;
allow-scale
:
true
;
letter-spacing
:
5px
;
font-style
:
normal
;
font-weight
:
200
;
font-family
:
sans-serif
;
margin
:
20px
;
background-color
:
black
;
padding
:
10px
;
}
.select4
{
color
:
aqua
;
font-size
:
40px
;
allow-scale
:
false
;
letter-spacing
:
5px
;
font-style
:
italic
;
font-weight
:
200
;
font-family
:
sans-serif
;
margin
:
20px
;
background-color
:
red
;
padding
:
10px
;
}
\ No newline at end of file
ace/ace_standard/src/main/js/default/pages/select/index.hml
已删除
100644 → 0
浏览文件 @
4d343bf0
<div class="container">
<select @change="changeFruit" class="select1">
<option value="bananaValue">
Banana
</option>
<option value="appleValue" selected="true">
Apple
</option>
<option value="pearValue">
Pear
</option>
</select>
<select @change="changeFruit" class="select2">
<option value="bananaValue">
Banana
</option>
<option value="appleValue" selected="true">
Apple
</option>
<option value="pearValue">
Pear
</option>
</select>
<select @change="changeFruit" class="select3">
<option value="bananaValue">
Banana
</option>
<option value="appleValue" selected="true">
Apple
</option>
<option value="pearValue">
Pear
</option>
</select>
<select @change="changeFruit" class="select4">
<option value="bananaValue">
Banana
</option>
<option value="appleValue" selected="true">
Apple
</option>
<option value="pearValue">
Pear
</option>
</select>
</div>
\ No newline at end of file
ace/ace_standard/src/main/js/default/pages/select/prop/index.css
0 → 100644
浏览文件 @
94e3e418
/**
* Copyright (c) 2022 Shenzhen kaiHong Digital Industry Development 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
:
row
;
width
:
100%
;
height
:
100%
;
}
.title
{
width
:
100%
;
font-size
:
18px
;
margin
:
2px
;
padding
:
2px
;
font-weight
:
bold
;
text-align
:
center
;
}
.sub-title
{
width
:
100%
;
font-size
:
14px
;
text-align
:
left
;
margin
:
2px
;
padding
:
2px
;
}
.prop-container
{
flex-direction
:
column
;
flex-weight
:
1
;
}
#idProp
{
flex-weight
:
1
;
background-color
:
#f00000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
.classProp
{
flex-weight
:
1
;
background-color
:
#0f0000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#classPropNone
{
flex-weight
:
1
;
background-color
:
#0000e0
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#refProp
{
flex-weight
:
1
;
background-color
:
#00f000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#refPropNone
{
flex-weight
:
1
;
background-color
:
#00000e
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#disabledPropTrue
{
flex-weight
:
1
;
background-color
:
#000f00
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#disabledPropFalse
{
flex-weight
:
1
;
background-color
:
#0000f0
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#disabledPropNone
{
flex-weight
:
1
;
background-color
:
#d00000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#focusablePropTrue
{
flex-weight
:
1
;
background-color
:
#00000f
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#focusablePropFalse
{
flex-weight
:
1
;
background-color
:
#ff0000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#focusablePropNone
{
flex-weight
:
1
;
background-color
:
#0d0000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#dataProp
{
flex-weight
:
1
;
background-color
:
#0ff000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#dataPropNone
{
flex-weight
:
1
;
background-color
:
#00d000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#clickEffectPropSmall
{
height
:
15px
;
background-color
:
#00ff00
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#clickEffectPropMedium
{
height
:
15px
;
background-color
:
#000ff0
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#clickEffectPropLarge
{
height
:
15px
;
background-color
:
#fff000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#clickEffectPropNone
{
height
:
15px
;
background-color
:
#000d00
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#dirPropRtl
{
flex-weight
:
1
;
background-color
:
#0fff00
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#dirPropAuto
{
flex-weight
:
1
;
background-color
:
#00fff0
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#dirPropLtr
{
flex-weight
:
1
;
background-color
:
#000fff
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#dirPropNone
{
flex-weight
:
1
;
background-color
:
#0000d0
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#forPropNull
{
flex-weight
:
1
;
background-color
:
#ffff00
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#forPropOne
{
flex-weight
:
1
;
background-color
:
#00e000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#forPropThree
{
flex-weight
:
1
;
background-color
:
#000e00
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#ifPropTrue
{
flex-weight
:
1
;
background-color
:
#0ffff0
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#ifPropFalse
{
flex-weight
:
1
;
background-color
:
#00ffff
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#ifPropNone
{
flex-weight
:
1
;
background-color
:
#00000d
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#showPropTrue
{
flex-weight
:
1
;
background-color
:
#e00000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#showPropFalse
{
flex-weight
:
1
;
background-color
:
#0e0000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
#showPropNone
{
flex-weight
:
1
;
background-color
:
#c00000
;
width
:
100%
;
margin-left
:
10px
;
margin-right
:
10px
;
padding-start
:
10px
;
padding-end
:
10px
;
}
.specific-container
{
flex-direction
:
column
;
flex-weight
:
1
;
}
\ No newline at end of file
ace/ace_standard/src/main/js/default/pages/select/prop/index.hml
0 → 100644
浏览文件 @
94e3e418
<!--/**
* Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development 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">
<div class="prop-container">
<text class="title">
select通用属性
</text>
<text class="sub-title">
通用属性 -- id
</text>
<select id="idProp">
</select>
<text class="sub-title">
通用属性 -- class
</text>
<select id="classProp"
class="classProp">
</select>
<select id="classPropNone"
class="">
</select>
<text class="sub-title">
通用属性 -- style
</text>
<select id="styleProp"
style="width:10%;height:20px;background-color:red">
</select>
<text class="sub-title">
通用属性 -- ref
</text>
<select id="refProp"
ref="refProp">
</select>
<select id="refPropNone"
ref="">
</select>
<text class="sub-title">
通用属性 -- disabled
</text>
<select id="disabledPropTrue"
disabled="true">
</select>
<select id="disabledPropFalse"
disabled="false">
</select>
<select id="disabledPropNone"
disabled="">
</select>
<text class="sub-title">
通用属性 -- focusable
</text>
<select id="focusablePropTrue"
focusable="true">
</select>
<select id="focusablePropFalse"
focusable="false">
</select>
<select id="focusablePropNone"
focusable="">
</select>
<text class="sub-title">
通用属性 -- data-*
</text>
<select id="dataProp"
data-select="通用属性 -- data-*">
</select>
<select id="dataPropNone"
data-select="">
</select>
<text class="sub-title">
通用属性 -- click-effect
</text>
<select id="clickEffectPropSmall"
click-effect="spring-small">
</select>
<select id="clickEffectPropMedium"
click-effect="spring-medium">
</select>
<select id="clickEffectPropLarge"
click-effect="spring-large">
</select>
<select id="clickEffectPropNone"
click-effect="">
</select>
<text class="sub-title">
通用属性 -- dir
</text>
<select id="dirPropRtl"
dir="rtl">
</select>
<select id="dirPropAuto"
dir="auto">
</select>
<select id="dirPropLtr"
dir="ltr">
</select>
<select id="dirPropNone"
dir="">
</select>
<text class="sub-title">
渲染属性 -- for
</text>
<select id="forPropNull"
for="">
</select>
<select id="forPropOne"
for="{{listOne}}">
</select>
<select id="forPropThree"
for="{{listThree}}">
</select>
<text class="sub-title">
渲染属性 -- if
</text>
<select id="ifPropTrue"
if="true">
</select>
<text class="sub-title">
渲染属性 -- show
</text>
<select id="showPropTrue"
show="true">
</select>
<select id="showPropFalse"
show="false">
</select>
<select id="showPropNone"
show="">
</select>
</div>
<div style="background-color: #000000; width: 2px; height: 100%;">
</div>
<div class="specific-container">
<text class="title">
select特有属性
</text>
</div>
</div>
ace/ace_standard/src/main/js/default/pages/select/prop/index.js
0 → 100644
浏览文件 @
94e3e418
/**
* Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development 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
prompt
from
'
@system.prompt
'
;
export
default
{
data
:{
listOne
:[{}],
listThree
:[{},{},{}],
idProp
:
null
,
classProp
:
null
,
classPropNone
:
null
,
styleProp
:
null
,
refProp
:
null
,
refPropNone
:
null
,
disabledPropTrue
:
null
,
disabledPropFalse
:
null
,
disabledPropNone
:
null
,
focusablePropTrue
:
null
,
focusablePropFalse
:
null
,
focusablePropNone
:
null
,
dataProp
:
null
,
dataPropNone
:
null
,
clickEffectPropSmall
:
null
,
clickEffectPropMedium
:
null
,
clickEffectPropLarge
:
null
,
clickEffectPropNone
:
null
,
dirPropRtl
:
null
,
dirPropAuto
:
null
,
dirPropLtr
:
null
,
dirPropNone
:
null
,
forPropNull
:
null
,
forPropOne
:
null
,
forPropThree
:
null
,
ifPropTrue
:
null
,
showPropTrue
:
null
,
showPropFalse
:
null
,
showPropNone
:
null
},
onShow
(){
this
.
getCommonPropValues
();
this
.
getSpecificPropValues
();
globalThis
.
value
=
{
idProp
:
this
.
idProp
,
classProp
:
this
.
classProp
,
classPropNone
:
this
.
classPropNone
,
styleProp
:
this
.
styleProp
,
refProp
:
this
.
refProp
,
refPropNone
:
this
.
refPropNone
,
disabledPropTrue
:
this
.
disabledPropTrue
,
disabledPropFalse
:
this
.
disabledPropFalse
,
disabledPropNone
:
this
.
disabledPropNone
,
focusablePropTrue
:
this
.
focusablePropTrue
,
focusablePropFalse
:
this
.
focusablePropFalse
,
focusablePropNone
:
this
.
focusablePropNone
,
dataProp
:
this
.
dataProp
,
dataPropNone
:
this
.
dataPropNone
,
clickEffectPropSmall
:
this
.
clickEffectPropSmall
,
clickEffectPropMedium
:
this
.
clickEffectPropMedium
,
clickEffectPropLarge
:
this
.
clickEffectPropLarge
,
clickEffectPropNone
:
this
.
clickEffectPropNone
,
dirPropRtl
:
this
.
dirPropRtl
,
dirPropAuto
:
this
.
dirPropAuto
,
dirPropLtr
:
this
.
dirPropLtr
,
dirPropNone
:
this
.
dirPropNone
,
forPropNull
:
this
.
forPropNull
,
forPropOne
:
this
.
forPropOne
,
forPropThree
:
this
.
forPropThree
,
ifPropTrue
:
this
.
ifPropTrue
,
showPropTrue
:
this
.
showPropTrue
,
showPropFalse
:
this
.
showPropFalse
,
showPropNone
:
this
.
showPropNone
,
}
},
getCommonPropValues
(){
this
.
idProp
=
this
.
$element
(
"
idProp
"
).
getInspector
()
this
.
classProp
=
this
.
$element
(
"
classProp
"
).
getInspector
()
this
.
classPropNone
=
this
.
$element
(
"
classPropNone
"
).
getInspector
()
this
.
styleProp
=
this
.
$element
(
"
styleProp
"
).
getInspector
()
this
.
refProp
=
this
.
$element
(
"
refProp
"
).
getInspector
()
this
.
refPropNone
=
this
.
$element
(
"
refPropNone
"
).
getInspector
()
this
.
disabledPropTrue
=
this
.
$element
(
"
disabledPropTrue
"
).
getInspector
()
this
.
disabledPropFalse
=
this
.
$element
(
"
disabledPropFalse
"
).
getInspector
()
this
.
disabledPropNone
=
this
.
$element
(
"
disabledPropNone
"
).
getInspector
()
this
.
focusablePropTrue
=
this
.
$element
(
"
focusablePropTrue
"
).
getInspector
()
this
.
focusablePropFalse
=
this
.
$element
(
"
focusablePropFalse
"
).
getInspector
()
this
.
focusablePropNone
=
this
.
$element
(
"
focusablePropNone
"
).
getInspector
()
this
.
dataProp
=
this
.
$element
(
"
dataProp
"
).
getInspector
()
this
.
dataPropNone
=
this
.
$element
(
"
dataPropNone
"
).
getInspector
()
this
.
clickEffectPropSmall
=
this
.
$element
(
"
clickEffectPropSmall
"
).
getInspector
()
this
.
clickEffectPropMedium
=
this
.
$element
(
"
clickEffectPropMedium
"
).
getInspector
()
this
.
clickEffectPropLarge
=
this
.
$element
(
"
clickEffectPropLarge
"
).
getInspector
()
this
.
clickEffectPropNone
=
this
.
$element
(
"
clickEffectPropNone
"
).
getInspector
()
this
.
dirPropRtl
=
this
.
$element
(
"
dirPropRtl
"
).
getInspector
()
this
.
dirPropAuto
=
this
.
$element
(
"
dirPropAuto
"
).
getInspector
()
this
.
dirPropLtr
=
this
.
$element
(
"
dirPropLtr
"
).
getInspector
()
this
.
dirPropNone
=
this
.
$element
(
"
dirPropNone
"
).
getInspector
()
this
.
forPropNull
=
this
.
$element
(
"
forPropNull
"
).
getInspector
()
this
.
forPropOne
=
this
.
$element
(
"
forPropOne
"
).
getInspector
()
this
.
forPropThree
=
this
.
$element
(
"
forPropThree
"
).
getInspector
()
this
.
ifPropTrue
=
this
.
$element
(
"
ifPropTrue
"
).
getInspector
()
this
.
showPropTrue
=
this
.
$element
(
"
showPropTrue
"
).
getInspector
()
this
.
showPropFalse
=
this
.
$element
(
"
showPropFalse
"
).
getInspector
()
this
.
showPropNone
=
this
.
$element
(
"
showPropNone
"
).
getInspector
()
},
getSpecificPropValues
(){
}
}
ace/ace_standard/src/main/js/default/pages/select/router/index.css
0 → 100644
浏览文件 @
94e3e418
/**
* Copyright (c) 2022 Shenzhen kaiHong Digital Industry Development 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
:
row
;
width
:
100%
;
height
:
100%
;
padding
:
1px
;
}
.sub-container
{
flex-direction
:
column
;
height
:
100%
;
flex-weight
:
1
;
}
.style-container
{
flex-direction
:
column
;
height
:
70%
;
}
.title
{
width
:
100%
;
font-size
:
18px
;
margin
:
2px
;
padding
:
2px
;
font-weight
:
bold
;
text-align
:
center
;
}
.sub-title
{
width
:
100%
;
font-size
:
14px
;
text-align
:
left
;
margin
:
2px
;
padding
:
2px
;
}
.style1
{
width
:
100%
;
height
:
100%
;
min-width
:
25px
;
min-height
:
10px
;
max-width
:
300px
;
max-height
:
50px
;
padding-left
:
10px
;
padding-top
:
20px
;
padding-right
:
15px
;
padding-bottom
:
5px
;
margin-left
:
10px
;
margin-top
:
20px
;
margin-right
:
15px
;
margin-bottom
:
5px
;
border-left-style
:
solid
;
border-right-style
:
dashed
;
border-top-style
:
dashed
;
border-bottom-style
:
dotted
;
border-left-width
:
1px
;
border-right-width
:
2px
;
border-top-width
:
2px
;
border-bottom-width
:
1px
;
border-left-color
:
#ff0000
;
border-right-color
:
#00ff00
;
border-top-color
:
#0000ff
;
border-bottom-color
:
#fff000
;
border-bottom-left-radius
:
10px
;
border-bottom-right-radius
:
15px
;
border-top-left-radius
:
8px
;
border-top-right-radius
:
12px
;
background
:
linear-gradient
(
pink
,
#fff000
);
box-shadow
:
2px
4px
6px
8px
#888888
;
opacity
:
0.5
;
display
:
flex
;
visibility
:
visible
;
align-self
:
center
;
image-fill
:
#000fff
;
clip-path
:
margin-box
;
}
.style2
{
width
:
50px
;
height
:
20px
;
padding-start
:
10px
;
padding-end
:
15px
;
margin-start
:
5px
;
margin-end
:
10px
;
border-style
:
dotted
;
border-width
:
2px
;
border-color
:
#000000
;
border-radius
:
5px
;
background-color
:
#ffaa00
;
mask-image
:
url('common/images/icon.png')
;
mask-size
:
cover
;
mask-position
:
center
;
}
.style3
{
width
:
100%
;
padding
:
10px
;
margin
:
5px
;
border-left
:
1px
solid
#000000
;
border-right
:
2px
dashed
#00ff00
;
border-top
:
1.5px
dotted
#0000ff
;
border-bottom
:
2.5px
dotted
#fff000
;
background-image
:
url('common/images/image.png')
;
background-size
:
cover
;
background-repeat
:
repeat-x
;
background-position
:
center
;
flex
:
1
;
flex-grow
:
2
;
flex-basis
:
10px
;
flex-shrink
:
1
;
}
.style4
{
width
:
60%
;
height
:
5%
;
padding
:
10px
;
margin
:
5px
;
border
:
2px
solid
#000000
;
}
.contain1
{
width
:
100%
;
height
:
70px
;
flex-direction
:
column
;
}
.style5
{
width
:
50%
;
height
:
30px
;
background-color
:
yellow
;
border-image-source
:
url('/common/images/image.png')
;
border-image-slice
:
1px
2px
3px
4px
;
border-image-width
:
2px
3px
4px
5px
;
border-image-outset
:
3px
4px
5px
6px
;
border-image-repeat
:
repeat
;
}
.style6
{
width
:
70px
;
height
:
30px
;
position
:
absolute
;
left
:
10px
;
top
:
35px
;
bottom
:
5px
;
right
:
10px
;
background-color
:
pink
;
border-image
:
url('common/images/icon.png')
1px
2px
3px
4px
2px
3px
4px
5px
3px
4px
5px
6px
round
;
}
.style7
{
flex-direction
:
column
;
flex-wrap
:
wrap
;
justify-content
:
flex-start
;
align-items
:
flex-end
;
align-content
:
space-around
;
display
:
flex
;
height
:
40px
;
}
.style8
{
flex-direction
:
row
;
flex-wrap
:
nowrap
;
scrollbar-color
:
yellow
;
scrollbar-width
:
10px
;
overscroll-effect
:
spring
;
height
:
20px
;
overflow
:
scroll
;
}
.flex-item
{
width
:
50%
;
height
:
20px
;
border-radius
:
16px
;
}
.style9
{
flex-direction
:
row
;
flex-wrap
:
nowrap
;
scrollbar-color
:
yellow
;
scrollbar-width
:
10px
;
overscroll-effect
:
spring
;
height
:
20px
;
overflow
:
scroll
;
}
.font-family
{
font-family
:
sans-serif
;
}
.allow-scale
{
allow-scale
:
true
}
.placeholder-color
{
placeholder-color
:
pink
}
.font-weight3
{
font-weight
:
300
}
.font-weight6
{
font-weight
:
600
}
.color-success
{
background-color
:
cornflowerblue
;
}
.grid-child
{
width
:
100%
;
border-radius
:
2px
;
}
.grid-left-top
{
width
:
20px
;
height
:
20px
;
border-radius
:
10px
;
border
:
1px
solid
plum
;
background
:
linear-gradient
(
pink
,
purple
);
box-shadow
:
0px
0px
1px
1px
pink
;
grid-row-start
:
0
;
grid-column-start
:
0
;
grid-row-end
:
0
;
grid-column-end
:
0
;
}
.grid-left-bottom
{
width
:
20px
;
height
:
20px
;
border-radius
:
5px
;
border
:
1px
solid
plum
;
background
:
linear-gradient
(
pink
,
#00aaee
);
box-shadow
:
0px
0px
1px
1px
pink
;
grid-row-start
:
1
;
grid-column-start
:
0
;
grid-row-end
:
1
;
grid-column-end
:
0
;
}
.grid-right-top
{
width
:
20px
;
height
:
20px
;
border-radius
:
3px
;
border
:
1px
dotted
plum
;
background
:
linear-gradient
(
mediumpurple
,
#00aaee
);
box-shadow
:
0px
0px
1px
1px
pink
;
grid-row-start
:
0
;
grid-column-start
:
1
;
grid-row-end
:
0
;
grid-column-end
:
1
;
}
.grid-right-bottom
{
width
:
20px
;
height
:
20px
;
border-radius
:
5px
;
border
:
1px
dotted
plum
;
background
:
linear-gradient
(
pink
,
mediumpurple
);
box-shadow
:
0px
0px
2px
2px
pink
;
grid-row-start
:
1
;
grid-column-start
:
1
;
grid-row-end
:
1
;
grid-column-end
:
1
;
}
.event-container
{
flex-direction
:
column
;
flex-weight
:
1
;
}
.event1
{
width
:
60%
;
flex-weight
:
1
;
background-color
:
yellow
;
}
.event2
{
width
:
70%
;
flex-weight
:
1
;
background-color
:
red
;
}
.event3
{
width
:
80%
;
flex-weight
:
1
;
background-color
:
#ad4e2a
;
}
.event4
{
flex-direction
:
row
;
width
:
90%
;
flex-weight
:
1
;
overflow
:
scroll
;
}
.prop-container
{
flex-direction
:
column
;
}
#prop1
{
height
:
15px
;
background-color
:
mediumslateblue
;
width
:
100%
;
}
.prop2
{
height
:
15px
;
background-color
:
pink
;
width
:
100%
;
}
.prop3
{
height
:
15px
;
background-color
:
darkseagreen
;
width
:
100%
;
}
.ani-container
{
flex-direction
:
column
;
height
:
100%
;
flex-weight
:
1
;
}
.ani1
{
background-color
:
#72ac33
;
width
:
55px
;
height
:
55px
;
margin
:
5px
;
transform-origin
:
0%
0%
;
animation
:
ani1Go
3s
infinite
;
}
@keyframes
ani1Go
{
from
{
background-color
:
#f76160
;
opacity
:
0.3
;
width
:
50px
;
height
:
50px
;
transform
:
translate
(
20px
)
rotate
(
10deg
)
scale
(
0.2
);
background-position
:
10%
10%
}
30
%
{
background-color
:
#60f761
;
opacity
:
0.5
;
width
:
70px
;
height
:
70px
;
background-position
:
12%
12%
;
transform
:
translateX
(
10px
)
translateY
(
5px
)
rotateX
(
20deg
)
rotateY
(
25deg
)
scaleX
(
0.6
)
scaleY
(
0.5
)
}
to
{
background-color
:
#6160f7
;
opacity
:
1
;
width
:
90px
;
height
:
90px
;
background-position
:
22%
22%
;
transform
:
rotate
(
180deg
)
scale
(
2
)
}
}
.ani2
{
background-color
:
#ad4e2a
;
width
:
55px
;
height
:
55px
;
margin
:
5px
;
}
.gradient-container
{
flex-direction
:
column
;
}
.gradient1
{
width
:
100%
;
height
:
20px
;
margin
:
5px
;
background
:
linear-gradient
(
red
,
#00ff00
);
}
.gradient2
{
width
:
100%
;
height
:
20px
;
margin
:
5px
;
background
:
linear-gradient
(
45deg
,
rgb
(
255
,
0
,
0
),
rgb
(
0
,
255
,
0
));
}
.gradient3
{
width
:
100%
;
height
:
20px
;
margin
:
5px
;
background
:
linear-gradient
(
to
right
,
rgb
(
255
,
0
,
0
)
90px
,
rgb
(
0
,
255
,
0
)
60%
);
}
.gradient4
{
width
:
100%
;
height
:
20px
;
margin
:
5px
;
background
:
repeating-linear-gradient
(
to
right
,
rgba
(
255
,
255
,
0
,
1
)
30px
,
rgba
(
0
,
0
,
255
,
.5
)
60px
);
}
.access-container
{
flex-direction
:
column
;
}
.access1
{
background-color
:
#321124
;
margin
:
5px
;
width
:
90%
;
height
:
30px
;
}
.atom-container
{
flex-direction
:
column
;
}
.multiMode-container
{
flex-direction
:
column
;
}
.multiMode1
{
background-color
:
#978666
;
width
:
100%
;
height
:
30px
;
margin
:
5px
;
}
.function-container
{
flex-direction
:
column
;
}
.function1
{
background-color
:
#ff0000
;
width
:
60%
;
height
:
20px
;
}
.function2
{
background-color
:
#00ff00
;
width
:
60%
;
height
:
20px
;
}
.function3
{
background-color
:
#0000ff
;
width
:
100%
;
height
:
20px
;
}
\ No newline at end of file
ace/ace_standard/src/main/js/default/pages/select/router/index.hml
0 → 100644
浏览文件 @
94e3e418
<!--/**
* Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development 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">
<div class="sub-container">
<div class="style-container">
<text class="title">
通用样式
</text>
<text class="sub-title">
select通用样式1
</text>
<select class="style1" id="style1">
</select>
<text class="sub-title">
select通用样式2
</text>
<select class="style2" id="style2">
</select>
<text class="sub-title">
select通用样式3
</text>
<select class="style3" id="style3">
</select>
<text class="sub-title">
select通用样式4
</text>
<select class="style4" id="style4">
</select>
<text class="sub-title">
select通用样式5
</text>
<div class="contain1">
<select class="style5" id="style5">
</select>
<select class="style6" id="style6">
</select>
</div>
<text class="sub-title">
select特有样式1
</text>
<div class="style7" id="style7">
<select class="flex-item font-family">
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
</div>
<divider style="color: #000000; stroke-width: 2px;" vertical="false">
</divider>
<div class="ani-container">
<text class="title">
动画样式
</text>
<text class="sub-title">
select动画样式1
</text>
<select class="ani1" >
</select>
<text class="sub-title">
select动画样式2
</text>
<select class="ani2" >
</select>
</div>
</div>
<div style="background-color: #000000; width: 2px; height: 100%;">
</div>
<div class="sub-container">
<div class="prop-container">
<text class="title">
通用属性
</text>
<text class="sub-title">
select通用属性1
</text>
<select id="prop1" class="prop1"
disabled = "true" focusable ="true"
data-name ="prop1" click-effect="spring-medium"
dir ="rtl">
</select>
<text class="sub-title">
select通用属性2
</text>
<select class="prop2" ref ="prop2" id="prop2"
disabled = "false" focusable ="false"
data-name ="prop2" click-effect="spring-large"
dir ="ltr">
</select>
<text class="sub-title">
select通用属性3
</text>
<select style="color: #679855; margin: 5px;" class="prop3" id="prop3">
</select>
</div>
<div style="background-color: #000000; width: 100%; height: 2px;">
</div>
<div class="event-container" >
<text class="title">
通用事件
</text>
<text class="sub-title">
select通用事件1
</text>
<select class ="event1" ontouchstart="touchStart" ontouchmove="touchMove"
ontouchend="touchEnd" ontouchcancel="touchCancel">
</select>
<text class="sub-title">
select通用事件2
</text>
<select class ="event2" onclick="click" ondoubleclick="doubleClick"
onlongpress="longPress" onfocus="focus" onblur="blur" onkey="key"
onswipe="swipe" onattached="attached" ondetached="detached">
</select>
<text class="sub-title">
select通用事件3
</text>
<select class ="event3" onpinchstart="pinchStart" onpinchupdate="pinchUpdate"
onpinchend="pinchEnd" onpinchcancel="pinchCancel"
ondragstart="dragStart" ondrag="drag"
ondragend="dragEnd" ondragenter="dragEnter"
ondragover="dragOver" ondragleave="dragLeave"
ondrop="drop">
</select>
<text class="sub-title">
select特有事件1
</text>
<select class ="event4"
onchange="change">
</select>
</div>
<div style="background-color: #000000; width: 100%; height: 2px;">
</div>
<div class="function-container">
<text class="title">
通用方法
</text>
<text class="sub-title">
select通用方法1
</text>
<select id="function1" class="function1" ontouchstart="functionTest1">
</select>
<text class="sub-title">
select通用方法2
</text>
<select id="function2" class="function2" ontouchstart="functionTest2">
</select>
<text class="sub-title">
select通用方法3
</text>
<select id="function3" class="function3" ontouchstart="functionTest3">
</select>
</div>
</div>
<div style="background-color: #000000; width: 2px; height: 100%;">
</div>
<div class="sub-container">
<div class="gradient-container">
<text class="title">
渐变样式
</text>
<text class="sub-title">
select渐变样式1
</text>
<select class="gradient1">
</select>
<text class="sub-title">
select渐变样式2
</text>
<select class="gradient2">
</select>
<text class="sub-title">
select渐变样式3
</text>
<select class="gradient3">
</select>
<text class="sub-title">
select渐变样式4
</text>
<select class="gradient4">
</select>
</div>
<div style="background-color: #000000; width: 100%; height: 2px;">
</div>
<div class="access-container">
<text class="title">
无障碍
</text>
<text class="sub-title">
select无障碍1
</text>
<select class="access1" accessibilitygroup ="true"
accessibilitytext="这是select"
accessibilitydescription="点击此按键会弹出一个对话框"
accessibilityimportance="no-hide-descendants">
</select>
</div>
<div style="background-color: #000000; width: 100%; height: 2px;">
</div>
<div class="atom-container">
<text class="title">
原子布局
</text>
<text class="sub-title">
select原子布局1
</text>
<div style="flex-direction: row;height: 30px;width: 100%;">
<select style="width:20px;height:20px;background-color: blue;display-index: 1;">
</select>
<select style="width:30px; height:20px;background-color: black;display-index: 5;">
</select>
<select style="width:40px; height:20px;background-color: yellow;display-index: 4;">
</select>
<select style="width:10px; height:20px;background-color: red;display-index: 3;">
</select>
<select style="width:25px; height:20px;background-color:pink;display-index: 7;">
</select>
<select style="width:15px; height:20px;background-color: palegoldenrod;display-index: 2;">
</select>
</div>
<text class="sub-title">
select原子布局2
</text>
<div style="flex-direction: row;height: 30px;width: 100%;">
<select style="height:20px;background-color: blue;flex-weight: 1;">
</select>
<select style="height:20px;background-color: black;flex-weight: 5;">
</select>
<select style="height:20px;background-color: yellow;flex-weight: 4;">
</select>
<select style="height:20px;background-color: red;flex-weight: 3;">
</select>
<select style="height:20px;background-color:pink;flex-weight: 7;">
</select>
<select style="height:20px;background-color: palegoldenrod;flex-weight: 2;">
</select>
</div>
<text class="sub-title">
select原子布局3
</text>
<div style="flex-direction: row;height:60px;width: 100%;">
<select style="width:30px;background-color: blue;aspect-ratio: 0.6;">
</select>
<select style="width:30px;background-color: black;aspect-ratio:0.5;">
</select>
<select style="width:30px;background-color: yellow;aspect-ratio: 1.5;">
</select>
<select style="width:30px;background-color: red;aspect-ratio: 1.3;">
</select>
<select style="width:30px;background-color:pink;aspect-ratio: 1;">
</select>
<select style="width:30px;background-color: palegoldenrod;aspect-ratio:2;">
</select>
</div>
<div style="background-color: #000000; width: 100%; height: 2px;">
</div>
<div class="multiMode-container">
<text class="title">
多模输入
</text>
<text class="sub-title">
select多模输入1
</text>
<select class="multiMode1" voicelabel = "voice"
subscriptflag="on" subscriptlabel="select" scenelabel="common">
</select>
</div>
</div>
</div>
</div>
ace/ace_standard/src/main/js/default/pages/select/router/index.js
0 → 100644
浏览文件 @
94e3e418
/**
* Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development 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
prompt
from
'
@system.prompt
'
;
var
options
=
{
duration
:
1500
,
easing
:
'
friction
'
,
delay
:
100
,
fill
:
'
forwards
'
,
iterations
:
2
,
direction
:
'
normal
'
,
};
var
frames
=
[
{
transform
:
{
translate
:
'
-120px
'
,
rotate
:
'
10deg
'
,
scale
:
0.2
,
skew
:
'
40deg
'
},
opacity
:
0.1
,
offset
:
0.0
,
width
:
'
40%
'
,
height
:
'
20px
'
,
backgroundColor
:
'
#ff0000
'
,
backgroundPosition
:
'
10px 20px
'
,
transformOrigin
:
'
left top
'
},
{
transform
:
{
translateX
:
'
0px
'
,
translateY
:
'
5px
'
,
rotateX
:
'
10deg
'
,
rotateY
:
'
10deg
'
,
scaleX
:
0.5
,
scaleY
:
0.7
,
skewX
:
'
22deg
'
,
skewY
:
'
30deg
'
},
opacity
:
0.6
,
offset
:
2.0
,
width
:
'
60%
'
,
height
:
'
30px
'
,
backgroundColor
:
'
#ff00ff
'
,
backgroundPosition
:
'
15px 25px
'
,
transformOrigin
:
'
center top
'
},
{
transform
:
{
translateX
:
'
100px
'
,
translateY
:
'
0px
'
,
translateZ
:
'
20px
'
,
rotateX
:
'
0deg
'
,
rotateY
:
'
0deg
'
,
rotateZ
:
'
30deg
'
,
scaleX
:
1
,
scaleY
:
1
,
scaleZ
:
2
,
skewX
:
'
0
'
,
skewY
:
'
0
'
,
skewZ
:
'
30deg
'
},
opacity
:
1
,
offset
:
0.0
,
width
:
'
100%
'
,
height
:
'
30px
'
,
backgroundColor
:
'
#ffff00
'
,
backgroundPosition
:
'
0px
'
,
transformOrigin
:
'
center center
'
},
];
export
default
{
onShow
(){
// 通用属性
var
prop1
=
this
.
$element
(
'
prop1
'
);
var
name1
=
prop1
.
dataSet
.
name
var
prop2
=
this
.
$refs
.
prop2
;
var
name2
=
prop2
.
dataSet
.
name
prompt
.
showToast
({
message
:
'
prop1--
'
+
name1
+
'
\n
prop2--
'
+
name2
});
},
touchStart
(
event
){
var
globalX
=
event
.
touches
[
0
].
globalX
var
globalY
=
event
.
touches
[
0
].
globalY
var
localX
=
event
.
touches
[
0
].
localX
var
localY
=
event
.
touches
[
0
].
localY
var
size
=
event
.
touches
[
0
].
size
var
force
=
event
.
touches
[
0
].
force
var
changeGlobalX
=
event
.
changedTouches
[
0
].
globalX
var
changeGlobalY
=
event
.
changedTouches
[
0
].
globalY
var
changeLocalX
=
event
.
changedTouches
[
0
].
localX
var
changeLocalY
=
event
.
changedTouches
[
0
].
localY
var
changeSize
=
event
.
changedTouches
[
0
].
size
var
changeForce
=
event
.
changedTouches
[
0
].
force
var
message
=
'
globalX--
'
+
globalX
+
'
,globalY--
'
+
globalY
+
'
,localX--
'
+
localX
+
'
,localY--
'
+
localY
+
'
,size--
'
+
size
+
'
,force--
'
+
force
+
'
,changeGlobalX--
'
+
changeGlobalX
+
'
,changeGlobalY--
'
+
changeGlobalY
+
'
,changeLocalX--
'
+
changeLocalX
+
'
,changeLocalY--
'
+
changeLocalY
+
'
,changeSize--
'
+
changeSize
+
'
,changeForce--
'
+
changeForce
;
prompt
.
showToast
({
message
:
'
touchstart:
\n
'
+
message
});
},
touchMove
(
event
){
var
globalX
=
event
.
touches
[
0
].
globalX
var
globalY
=
event
.
touches
[
0
].
globalY
var
localX
=
event
.
touches
[
0
].
localX
var
localY
=
event
.
touches
[
0
].
localY
var
size
=
event
.
touches
[
0
].
size
var
force
=
event
.
touches
[
0
].
force
var
changeGlobalX
=
event
.
changedTouches
[
0
].
globalX
var
changeGlobalY
=
event
.
changedTouches
[
0
].
globalY
var
changeLocalX
=
event
.
changedTouches
[
0
].
localX
var
changeLocalY
=
event
.
changedTouches
[
0
].
localY
var
changeSize
=
event
.
changedTouches
[
0
].
size
var
changeForce
=
event
.
changedTouches
[
0
].
force
var
message
=
'
globalX--
'
+
globalX
+
'
,globalY--
'
+
globalY
+
'
,localX--
'
+
localX
+
'
,localY--
'
+
localY
+
'
,size--
'
+
size
+
'
,force--
'
+
force
+
'
,changeGlobalX--
'
+
changeGlobalX
+
'
,changeGlobalY--
'
+
changeGlobalY
+
'
,changeLocalX--
'
+
changeLocalX
+
'
,changeLocalY--
'
+
changeLocalY
+
'
,changeSize--
'
+
changeSize
+
'
,changeForce--
'
+
changeForce
;
prompt
.
showToast
({
message
:
'
touchMove:
\n
'
+
message
});
},
touchEnd
(
event
){
var
globalX
=
event
.
touches
[
0
].
globalX
var
globalY
=
event
.
touches
[
0
].
globalY
var
localX
=
event
.
touches
[
0
].
localX
var
localY
=
event
.
touches
[
0
].
localY
var
size
=
event
.
touches
[
0
].
size
var
force
=
event
.
touches
[
0
].
force
var
changeGlobalX
=
event
.
changedTouches
[
0
].
globalX
var
changeGlobalY
=
event
.
changedTouches
[
0
].
globalY
var
changeLocalX
=
event
.
changedTouches
[
0
].
localX
var
changeLocalY
=
event
.
changedTouches
[
0
].
localY
var
changeSize
=
event
.
changedTouches
[
0
].
size
var
changeForce
=
event
.
changedTouches
[
0
].
force
var
message
=
'
globalX--
'
+
globalX
+
'
,globalY--
'
+
globalY
+
'
,localX--
'
+
localX
+
'
,localY--
'
+
localY
+
'
,size--
'
+
size
+
'
,force--
'
+
force
+
'
,changeGlobalX--
'
+
changeGlobalX
+
'
,changeGlobalY--
'
+
changeGlobalY
+
'
,changeLocalX--
'
+
changeLocalX
+
'
,changeLocalY--
'
+
changeLocalY
+
'
,changeSize--
'
+
changeSize
+
'
,changeForce--
'
+
changeForce
;
prompt
.
showToast
({
message
:
'
touchEnd:
\n
'
+
message
});
},
touchCancel
(
event
){
var
globalX
=
event
.
touches
[
0
].
globalX
var
globalY
=
event
.
touches
[
0
].
globalY
var
localX
=
event
.
touches
[
0
].
localX
var
localY
=
event
.
touches
[
0
].
localY
var
size
=
event
.
touches
[
0
].
size
var
force
=
event
.
touches
[
0
].
force
var
changeGlobalX
=
event
.
changedTouches
[
0
].
globalX
var
changeGlobalY
=
event
.
changedTouches
[
0
].
globalY
var
changeLocalX
=
event
.
changedTouches
[
0
].
localX
var
changeLocalY
=
event
.
changedTouches
[
0
].
localY
var
changeSize
=
event
.
changedTouches
[
0
].
size
var
changeForce
=
event
.
changedTouches
[
0
].
force
var
message
=
'
globalX--
'
+
globalX
+
'
,globalY--
'
+
globalY
+
'
,localX--
'
+
localX
+
'
,localY--
'
+
localY
+
'
,size--
'
+
size
+
'
,force--
'
+
force
+
'
,changeGlobalX--
'
+
changeGlobalX
+
'
,changeGlobalY--
'
+
changeGlobalY
+
'
,changeLocalX--
'
+
changeLocalX
+
'
,changeLocalY--
'
+
changeLocalY
+
'
,changeSize--
'
+
changeSize
+
'
,changeForce--
'
+
changeForce
;
prompt
.
showToast
({
message
:
'
touchCancel:
\n
'
+
message
});
},
click
(){
prompt
.
showToast
({
message
:
'
click
'
});
},
doubleClick
(){
prompt
.
showToast
({
message
:
'
doubleClick
'
});
},
longPress
(){
prompt
.
showToast
({
message
:
'
longPress
'
});
},
focus
(){
prompt
.
showToast
({
message
:
'
focus
'
});
},
blur
(){
prompt
.
showToast
({
message
:
'
blur
'
});
},
key
(
event
){
var
code
=
event
.
code
;
var
action
=
event
.
action
;
var
repeatCount
=
event
.
repeatCount
;
var
timestampStart
=
event
.
timestampStart
;
var
message
=
'
code--
'
+
code
+
'
,action--
'
+
action
+
'
,repeatCount--
'
+
repeatCount
+
'
,timestampStart--
'
+
timestampStart
;
prompt
.
showToast
({
message
:
'
key:
\n
'
+
message
});
},
swipe
(
event
){
var
direction
=
event
.
direction
;
var
distance
=
event
.
distance
;
var
message
=
'
direction--
'
+
direction
+
'
,distance--
'
+
distance
;
prompt
.
showToast
({
message
:
'
swipe:
\n
'
+
message
});
},
attached
(){
prompt
.
showToast
({
message
:
'
attached
'
});
},
detached
(){
prompt
.
showToast
({
message
:
'
detached
'
});
},
pinchStart
(
event
){
var
scale
=
event
.
scale
var
pinchCenterX
=
event
.
pinchCenterX
var
pinchCenterY
=
event
.
pinchCenterY
var
message
=
'
scale--
'
+
scale
+
'
,pinchCenterX--
'
+
pinchCenterX
+
'
,pinchCenterY--
'
+
pinchCenterY
;
prompt
.
showToast
({
message
:
'
pinchStart:
\n
'
+
message
});
},
pinchUpdate
(
event
){
var
scale
=
event
.
scale
var
pinchCenterX
=
event
.
pinchCenterX
var
pinchCenterY
=
event
.
pinchCenterY
var
message
=
'
scale--
'
+
scale
+
'
,pinchCenterX--
'
+
pinchCenterX
+
'
,pinchCenterY--
'
+
pinchCenterY
;
prompt
.
showToast
({
message
:
'
pinchUpdate:
\n
'
+
message
});
},
pinchEnd
(
event
){
var
scale
=
event
.
scale
var
pinchCenterX
=
event
.
pinchCenterX
var
pinchCenterY
=
event
.
pinchCenterY
var
message
=
'
scale--
'
+
scale
+
'
,pinchCenterX--
'
+
pinchCenterX
+
'
,pinchCenterY--
'
+
pinchCenterY
;
prompt
.
showToast
({
message
:
'
pinchUpdate:
\n
'
+
message
});
},
pinchCancel
(
event
){
var
scale
=
event
.
scale
var
pinchCenterX
=
event
.
pinchCenterX
var
pinchCenterY
=
event
.
pinchCenterY
var
message
=
'
scale--
'
+
scale
+
'
,pinchCenterX--
'
+
pinchCenterX
+
'
,pinchCenterY--
'
+
pinchCenterY
;
prompt
.
showToast
({
message
:
'
pinchCancel:
\n
'
+
message
});
},
dragStart
(
event
){
var
type
=
event
.
type
var
globalX
=
event
.
globalX
var
globalY
=
event
.
globalY
var
timestamp
=
event
.
timestamp
var
message
=
'
type--
'
+
type
+
'
,globalX--
'
+
globalX
+
'
,globalY--
'
+
globalY
+
'
,timestamp--
'
+
timestamp
;
prompt
.
showToast
({
message
:
'
dragStart:
\n
'
+
message
});
},
drag
(
event
){
var
type
=
event
.
type
var
globalX
=
event
.
globalX
var
globalY
=
event
.
globalY
var
timestamp
=
event
.
timestamp
var
message
=
'
type--
'
+
type
+
'
,globalX--
'
+
globalX
+
'
,globalY--
'
+
globalY
+
'
,timestamp--
'
+
timestamp
;
prompt
.
showToast
({
message
:
'
drag:
\n
'
+
message
});
},
dragEnd
(
event
){
var
type
=
event
.
type
var
globalX
=
event
.
globalX
var
globalY
=
event
.
globalY
var
timestamp
=
event
.
timestamp
var
message
=
'
type--
'
+
type
+
'
,globalX--
'
+
globalX
+
'
,globalY--
'
+
globalY
+
'
,timestamp--
'
+
timestamp
;
prompt
.
showToast
({
message
:
'
dragEnd:
\n
'
+
message
});
},
dragEnter
(
event
){
var
type
=
event
.
type
var
globalX
=
event
.
globalX
var
globalY
=
event
.
globalY
var
timestamp
=
event
.
timestamp
var
message
=
'
type--
'
+
type
+
'
,globalX--
'
+
globalX
+
'
,globalY--
'
+
globalY
+
'
,timestamp--
'
+
timestamp
;
prompt
.
showToast
({
message
:
'
dragEnter:
\n
'
+
message
});
},
dragOver
(
event
){
var
type
=
event
.
type
var
globalX
=
event
.
globalX
var
globalY
=
event
.
globalY
var
timestamp
=
event
.
timestamp
var
message
=
'
type--
'
+
type
+
'
,globalX--
'
+
globalX
+
'
,globalY--
'
+
globalY
+
'
,timestamp--
'
+
timestamp
;
prompt
.
showToast
({
message
:
'
dragOver:
\n
'
+
message
});
},
dragLeave
(
event
){
var
type
=
event
.
type
var
globalX
=
event
.
globalX
var
globalY
=
event
.
globalY
var
timestamp
=
event
.
timestamp
var
message
=
'
type--
'
+
type
+
'
,globalX--
'
+
globalX
+
'
,globalY--
'
+
globalY
+
'
,timestamp--
'
+
timestamp
;
prompt
.
showToast
({
message
:
'
dragLeave:
\n
'
+
message
});
},
drop
(
event
){
var
type
=
event
.
type
var
globalX
=
event
.
globalX
var
globalY
=
event
.
globalY
var
timestamp
=
event
.
timestamp
var
message
=
'
type--
'
+
type
+
'
,globalX--
'
+
globalX
+
'
,globalY--
'
+
globalY
+
'
,timestamp--
'
+
timestamp
;
prompt
.
showToast
({
message
:
'
drop:
\n
'
+
message
});
},
functionTest1
(
event
){
var
function1
=
this
.
$element
(
'
function1
'
);
function1
.
focus
(
true
)
var
rect
=
function1
.
getBoundingClientRect
();
var
width
=
rect
.
width
;
var
height
=
rect
.
height
;
var
left
=
rect
.
left
;
var
top
=
rect
.
top
;
var
message
=
'
width--
'
+
width
+
'
,height--
'
+
height
+
'
,left--
'
+
left
+
'
,top--
'
+
top
;
prompt
.
showToast
({
message
:
'
function1 rect:
\n
'
+
message
});
},
functionTest2
(
event
){
var
function2
=
this
.
$element
(
'
function2
'
);
let
observer
=
function2
.
createIntersectionObserver
({
ratios
:
[
0.2
,
0
],
// number
});
observer
.
observe
((
isVisible
,
ratio
)
=>
{
console
.
info
(
'
this element is
'
+
isVisible
+
'
ratio is
'
+
ratio
)
prompt
.
showToast
({
message
:
'
function2 observer:
\n
'
+
'
isVisible--
'
+
isVisible
+
'
,ratio--
'
+
ratio
});
})
observer
.
unobserve
()
},
functionTest3
(
event
){
var
function3
=
this
.
$element
(
'
function3
'
);
var
animation
=
function3
.
animate
(
frames
,
options
);
animation
.
play
()
animation
.
onfinish
=
function
(){
prompt
.
showToast
({
message
:
'
The animation is finished.
'
});
};
animation
.
oncancel
=
function
(){
prompt
.
showToast
({
message
:
'
The animation is canceled.
'
});
};
animation
.
onrepeat
=
function
(){
prompt
.
showToast
({
message
:
'
The animation is repeated.
'
});
};
setTimeout
(()
=>
{
animation
.
reverse
()
},
500
)
setTimeout
(()
=>
{
animation
.
pause
()
},
1000
)
setTimeout
(()
=>
{
animation
.
cancel
()
},
1500
)
},
change
(
event
){
prompt
.
showToast
({
message
:
JSON
.
stringify
(
event
)
});
}
}
ace/ace_standard/src/main/js/default/pages/select/style/index.css
0 → 100644
浏览文件 @
94e3e418
/**
* Copyright (c) 2022 Shenzhen kaiHong Digital Industry Development 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
:
row
;
width
:
100%
;
height
:
100%
;
padding
:
1px
;
}
.title
{
width
:
100%
;
font-size
:
18px
;
margin
:
2px
;
padding
:
2px
;
font-weight
:
bold
;
text-align
:
center
;
}
.sub-title
{
width
:
100%
;
font-size
:
14px
;
text-align
:
left
;
margin
:
2px
;
padding
:
2px
;
}
.style-container
{
flex-direction
:
column
;
width
:
50%
;
}
#styleOne
{
width
:
150px
;
height
:
20px
;
padding-top
:
1px
;
padding-left
:
2px
;
padding-right
:
3px
;
padding-bottom
:
0.5px
;
margin-left
:
1px
;
margin-top
:
2px
;
margin-right
:
1.5px
;
margin-bottom
:
0.5px
;
border-left-style
:
solid
;
border-right-style
:
dashed
;
border-top-style
:
dotted
;
border-bottom-style
:
solid
;
border-left-width
:
1px
;
border-right-width
:
1.5px
;
border-top-width
:
2px
;
border-bottom-width
:
0.5px
;
border-left-color
:
#ff0000
;
border-right-color
:
#00ff00
;
border-top-color
:
#0000ff
;
border-bottom-color
:
#fff000
;
border-bottom-left-radius
:
5px
;
border-bottom-right-radius
:
15px
;
border-top-left-radius
:
10px
;
border-top-right-radius
:
0px
;
opacity
:
0.5
;
align-self
:
flex-end
;
}
#styleTwo
{
width
:
150px
;
height
:
20px
;
padding-start
:
1px
;
padding-end
:
2px
;
margin-start
:
1px
;
margin-end
:
2px
;
border-style
:
dotted
;
border-width
:
2px
;
border-color
:
#0f00f0
;
border-radius
:
5px
;
opacity
:
1.5
;
align-self
:
flex-start
;
}
#styleThree
{
width
:
50px
;
height
:
20px
;
padding
:
2px
;
margin
:
1px
;
border-left
:
1px
solid
#ff0000
;
border-right
:
2px
dashed
#00ff00
;
border-top
:
1.5px
dotted
#0000ff
;
border-bottom
:
2.5px
dotted
#fff000
;
opacity
:
1
;
align-self
:
baseline
;
}
#styleFour
{
width
:
50px
;
height
:
20px
;
align-self
:
center
;
border
:
2px
solid
#00ff00
;
}
#styleFive
{
width
:
150px
;
height
:
40px
;
border
:
5px
;
border-image-source
:
url('/common/images/image.png')
;
border-image-slice
:
5px
10px
10px
5px
;
border-image-width
:
10px
5px
5px
10px
;
border-image-outset
:
10px
5px
10px
5px
;
border-image-repeat
:
repeat
;
}
#styleSix
{
width
:
100%
;
height
:
2%
;
background-color
:
#ff0000
;
padding-top
:
1%
;
padding-left
:
2%
;
padding-right
:
3%
;
padding-bottom
:
0.5%
;
margin-left
:
1%
;
margin-top
:
2%
;
margin-right
:
1.5%
;
margin-bottom
:
0.5%
;
}
#styleSeven
{
width
:
70%
;
height
:
1%
;
padding-start
:
1%
;
padding-end
:
2%
;
margin-start
:
1%
;
margin-end
:
2%
;
background-color
:
#00ff00
;
}
#styleEight
{
width
:
60%
;
height
:
1%
;
margin
:
1%
;
padding
:
2%
;
background-color
:
#0000ff
;
}
#styleNine
{
width
:
100%
;
height
:
40px
;
display
:
flex
;
}
#styleFive
{
width
:
100%
;
height
:
40px
;
border
:
5px
;
border-image-source
:
url('/common/images/image.png')
;
border-image-slice
:
5px
10px
10px
5px
;
border-image-width
:
10px
5px
5px
10px
;
border-image-outset
:
10px
5px
10px
5px
;
border-image-repeat
:
repeat
;
}
#styleTen
{
width
:
100%
;
height
:
400%
;
display
:
none
;
background-color
:
#ff0000
;
}
#styleEleven
{
height
:
40%
;
background-color
:
#00ff00
;
flex
:
1
1
20px
;
z-index
:
10
;
}
#styleTwelve
{
height
:
50%
;
background-color
:
#ff00ff
;
flex-grow
:
2
;
flex-shrink
:
3
;
flex-basis
:
30px
;
z-index
:
13
;
}
#styleThirteen
{
position
:
absolute
;
left
:
10px
;
top
:
20px
;
width
:
10px
;
height
:
10px
;
background-color
:
#00ff00
;
z-index
:
12
;
}
#styleFourteen
{
position
:
absolute
;
right
:
10px
;
bottom
:
20px
;
width
:
10px
;
height
:
10px
;
background-color
:
#0000ff
;
z-index
:
3
;
}
#styleFifteen
{
position
:
absolute
;
left
:
10%
;
top
:
20%
;
width
:
10px
;
height
:
10px
;
background-color
:
#fff000
;
z-index
:
5
;
}
#styleSixteen
{
position
:
absolute
;
right
:
10%
;
bottom
:
20%
;
width
:
10px
;
height
:
10px
;
background-color
:
#00ffff
;
z-index
:
15
;
}
#styleSeventeen
{
position
:
absolute
;
start
:
50px
;
width
:
10px
;
height
:
10px
;
background-color
:
#ffff00
;
z-index
:
7
;
}
#styleEighteen
{
position
:
absolute
;
end
:
20px
;
width
:
10px
;
height
:
10px
;
background-color
:
#00ffff
;
z-index
:
4
;
}
#styleNineteen
{
position
:
absolute
;
start
:
20%
;
width
:
10px
;
height
:
10px
;
background-color
:
#ffff00
;
z-index
:
1
;
}
#styleTwenty
{
position
:
absolute
;
end
:
20%
;
width
:
10px
;
height
:
10px
;
background-color
:
#00ffff
;
z-index
:
17
;
}
#styleTwentyOne
{
height
:
20px
;
box-shadow
:
2px
4px
;
flex-weight
:
1
;
margin
:
5px
;
}
#styleTwentyTwo
{
flex-weight
:
1
;
height
:
20px
;
box-shadow
:
2px
4px
6px
8px
;
margin
:
5px
;
}
#styleTwentyThree
{
flex-weight
:
1
;
height
:
20px
;
box-shadow
:
1px
2px
3px
4px
#ff0000
;
margin
:
5px
;
}
#styleTwentyFour
{
width
:
150px
;
height
:
20px
;
background-color
:
#00ffff
;
clip-path
:
inset
(
2
23
);
visibility
:
visible
;
}
#styleTwentyFive
{
width
:
150px
;
height
:
20px
;
background-color
:
#00ffff
;
visibility
:
hidden
;
}
#styleTwentySix
{
width
:
150px
;
height
:
20px
;
background-color
:
#999999
;
}
#styleTwentySeven
{
width
:
150px
;
height
:
20px
;
background
:
linear-gradient
(
pink
,
#fff000
);
}
#styleTwentyNine
{
width
:
150px
;
height
:
20px
;
background-image
:
url('common/images/image.png')
;
background-size
:
contain
;
background-repeat
:
repeat-x
;
background-position
:
center
;
}
#styleThirty
{
width
:
150px
;
height
:
20px
;
background-image
:
url('common/images/image.png')
;
background-size
:
50px
10px
;
background-repeat
:
no-repeat
;
background-position
:
10px
10px
;
}
#styleThirtyOne
{
width
:
150px
;
height
:
20px
;
background-image
:
url('common/images/image.png')
;
background-size
:
10%
20%
;
background-repeat
:
repeat
;
background-position
:
30%
40%
;
}
#styleThirtyTwo
{
width
:
150px
;
height
:
20px
;
background
:
linear-gradient
(
pink
,
#fff000
);
clip-path
:
margin-box
;
image-fill
:
#000fff
;
mask-image
:
url('common/images/icon.png')
;
mask-size
:
cover
;
mask-position
:
center
;
}
.specific-container
{
flex-direction
:
column
;
flex-weight
:
1
;
}
#specificFontFamily1
{
background-color
:
yellowgreen
;
width
:
100%
;
height
:
50px
;
}
.font-family1
{
font-family
:
sans-serif
}
#specificColor1
{
background-color
:
yellow
;
width
:
100%
;
height
:
50px
;
}
.color1
{
color
:
red
;
}
#specificColor2
{
background-color
:
red
;
width
:
100%
;
height
:
50px
;
}
.color2
{
color
:
black
}
ace/ace_standard/src/main/js/default/pages/select/style/index.hml
0 → 100644
浏览文件 @
94e3e418
<!--/**
* Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development 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">
<div class="style-container">
<text class="title">
select通用样式
</text>
<text class="sub-title">
通用样式 1-8 \n width height padding margin border opacity align-self
</text>
<select id="styleOne">
</select>
<select id="styleTwo">
</select>
<select id="styleThree">
</select>
<select id="styleFour">
</select>
<select id="styleFive">
</select>
<select id="styleSix">
</select>
<select id="styleSeven">
</select>
<select id="styleEight">
</select>
<text class="sub-title">
通用样式9-20 \n display flex z-index position
</text>
<div id="styleNine">
<select id="styleTen">
</select>
<select id="styleEleven">
</select>
<select id="styleTwelve">
</select>
<select id="styleThirteen">
</select>
<select id="styleFourteen">
</select>
<select id="styleFifteen">
</select>
<select id="styleSixteen">
</select>
<select id="styleSeventeen">
</select>
<select id="styleEighteen">
</select>
<select id="styleNineteen">
</select>
<select id="styleTwenty">
</select>
</div>
<text class="sub-title">
通用样式21-23 box-shadow
</text>
<div style="width: 100%;flex-direction: row;">
<select id="styleTwentyOne">
</select>
<select id="styleTwentyTwo">
</select>
<select id="styleTwentyThree">
</select>
</div>
<text class="sub-title">
通用样式23-25 visibility clip-path
</text>
<select id="styleTwentyFour">
</select>
<select id="styleTwentyFive">
</select>
<text class="sub-title">
通用样式26-31 background
</text>
<select id="styleTwentySix">
</select>
<select id="styleTwentySeven">
</select>
<select id="styleTwentyNine">
</select>
<select id="styleThirty">
</select>
<select id="styleThirtyOne">
</select>
<text class="sub-title">
通用样式32 clip-path image-fill mask-image
</text>
<select id="styleThirtyTwo">
</select>
</div>
<div style="background-color: #000000; width: 2px; height: 100%;">
</div>
<div class="specific-container">
<text class="title">
select特有样式
</text>
<text class="sub-title">
特有样式 font-family
</text>
<select id="specificFontFamily1" class="font-family1">
<option value="1">1</option>
<option value="2">2</option>
</select>
<text class="sub-title">
特有样式 color
</text>
<select id="specificColor1" class="color1">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select id="specificColor2" class="color2">
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
</div>
ace/ace_standard/src/main/js/default/pages/select/index.js
→
ace/ace_standard/src/main/js/default/pages/select/
style/
index.js
浏览文件 @
94e3e418
...
...
@@ -13,16 +13,7 @@
* limitations under the License.
*/
import
prompt
from
'
@system.prompt
'
;
export
default
{
data
:
{
title
:
'
World
'
},
changeFruit
(
e
){
console
.
log
(
JSON
.
stringify
(
e
))
prompt
.
showToast
({
message
:
e
.
newValue
});
}
}
\ No newline at end of file
}
ace/ace_standard/src/main/js/default/test/commonComponentJsApi.test.js
浏览文件 @
94e3e418
...
...
@@ -584,7 +584,7 @@ describe('aceJsTest', function () {
it
(
'
testSelectComponent
'
,
0
,
async
function
(
done
)
{
let
result
;
let
options
=
{
uri
:
'
pages/select/index
'
uri
:
'
pages/select/
router/
index
'
}
try
{
result
=
router
.
push
(
options
)
...
...
@@ -593,7 +593,7 @@ describe('aceJsTest', function () {
}
await
sleep
(
1000
)
let
pages
=
router
.
getState
();
expect
(
"
pages/select/
"
).
assertEqual
(
pages
.
path
);
expect
(
"
pages/select/
router/
"
).
assertEqual
(
pages
.
path
);
done
();
});
...
...
ace/ace_standard/src/main/js/default/test/selectProps.test.js
0 → 100644
浏览文件 @
94e3e418
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录