一个日牯子
Home
Tags
GitHub
Author
2019-05-13
SVG
HTML
PDF
插
件
定
义
1
创
建
一
个
F
l
u
t
t
e
r
的
插
件
移
动
端
闲
话
编
程
C
o
n
t
e
n
t
s
插
件
定
义
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
创
建
插
件
工
程
定
义
接
口
P
l
a
t
f
o
r
m
实
现
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
E
x
a
m
p
l
e
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
最
近
需
要
在
中
实
现
加
解
密
和
,
但
搜
索
了
一
下
貌
似
网
络
上
没
有
现
成
的
库
可
以
用
,
因
此
尝
试
手
写
了
一
个
的
插
件
,
实
现
两
个
功
能
:
加
解
密
(
插
件
定
义
创
建
插
件
工
程
其
实
貌
似
也
可
以
在
项
目
中
直
接
调
用
相
关
的
实
现
,
考
虑
到
把
这
一
部
分
剥
离
出
来
可
以
单
独
维
护
和
造
福
后
人
,
还
是
选
择
创
建
一
个
。
首
先
需
要
创
建
一
个
插
件
的
工
程
,
通
过
如
下
的
命
令
:
f
l
u
t
t
e
r
c
r
e
a
t
e
-
-
o
r
g
c
o
m
.
r
i
g
u
z
-
-
t
e
m
p
l
a
t
e
=
p
l
u
g
i
n
e
n
c
r
y
p
t
i
o
n
s
这
样
会
生
成
一
个
项
目
,
值
得
注
意
的
是
,
这
里
会
使
用
,
会
使
用
。
但
对
于
我
这
种
没
有
基
础
的
人
来
说
看
着
太
麻
烦
了
,
我
尝
试
了
一
些
之
后
放
弃
了
。
于
是
需
要
切
换
成
。
这
里
有
一
个
小
的
方
法
可
以
只
修
改
的
部
分
:
c
d
e
n
c
r
y
p
t
i
o
n
s
r
m
-
r
f
i
o
s
e
x
a
m
p
l
e
s
/
i
o
s
f
l
u
t
t
e
r
c
r
e
a
t
e
-
i
s
w
i
f
t
-
-
o
r
g
c
o
m
.
r
i
g
u
z
.
删
除
的
目
录
后
执
行
这
个
命
令
,
可
以
重
新
生
成
的
工
程
,
基
于
的
。
定
义
D
a
r
t
接
口
首
先
定
义
出
我
们
要
暴
露
的
接
口
。
举
个
例
子
,
对
于
加
密
的
函
数
,
我
们
可
以
这
样
写
:
c
l
a
s
s
E
n
c
r
y
p
t
i
o
n
s
{
s
t
a
t
i
c
c
o
n
s
t
M
e
t
h
o
d
C
h
a
n
n
e
l
_
c
h
a
n
n
e
l
=
c
o
n
s
t
M
e
t
h
o
d
C
h
a
n
n
e
l
(
'
e
n
c
r
y
p
t
i
o
n
s
'
)
;
s
t
a
t
i
c
F
u
t
u
r
e
<
U
i
n
t
8
L
i
s
t
>
a
e
s
E
n
c
r
y
p
t
(
U
i
n
t
8
L
i
s
t
k
e
y
,
U
i
n
t
8
L
i
s
t
i
v
,
U
i
n
t
8
L
i
s
t
v
a
l
u
e
)
a
s
y
n
c
{
r
e
t
u
r
n
a
w
a
i
t
_
c
h
a
n
n
e
l
.
i
n
v
o
k
e
M
e
t
h
o
d
(
"
a
e
s
E
n
c
r
y
p
t
"
,
{
"
k
e
y
"
:
k
e
y
,
"
i
v
"
:
i
v
,
"
v
a
l
u
e
"
:
P
l
a
t
f
o
r
m
实
现
2
v
a
l
u
e
}
)
;
}
这
里
有
几
点
值
得
注
意
的
:
是
用
来
调
用
原
生
接
口
,
后
面
各
个
平
台
会
注
册
同
名
的
。
调
用
原
生
方
法
通
过
方
法
名
参
数
调
用
,
参
数
的
对
应
列
表
参
见
官
方
文
档
。
这
里
我
们
希
望
的
是
中
的
类
型
,
所
以
用
参
数
通
过
的
传
递
到
原
生
接
口
,
原
生
代
码
通
过
参
数
名
取
得
参
数
值
P
l
a
t
f
o
r
m
实
现
i
o
s
首
先
需
要
先
一
下
c
d
e
n
c
r
y
p
t
i
o
n
s
/
e
x
a
m
p
l
e
;
f
l
u
t
t
e
r
b
u
i
l
d
i
o
s
-
-
n
o
-
c
o
d
e
s
i
g
n
在
中
打
开
项
目
,
有
一
个
的
类
,
在
这
个
里
面
实
现
即
可
:
p
u
b
l
i
c
f
u
n
c
h
a
n
d
l
e
(
_
c
a
l
l
:
F
l
u
t
t
e
r
M
e
t
h
o
d
C
a
l
l
,
r
e
s
u
l
t
:
@
e
s
c
a
p
i
n
g
F
l
u
t
t
e
r
R
e
s
u
l
t
)
{
l
e
t
a
r
g
s
=
c
a
l
l
.
a
r
g
u
m
e
n
t
s
a
s
!
[
S
t
r
i
n
g
:
A
n
y
]
;
s
w
i
t
c
h
c
a
l
l
.
m
e
t
h
o
d
{
c
a
s
e
"
a
e
s
E
n
c
r
y
p
t
"
,
"
a
e
s
D
e
c
r
y
p
t
"
:
l
e
t
k
e
y
=
a
r
g
s
[
"
k
e
y
"
]
a
s
!
F
l
u
t
t
e
r
S
t
a
n
d
a
r
d
T
y
p
e
d
D
a
t
a
;
l
e
t
i
v
=
a
r
g
s
[
"
i
v
"
]
a
s
!
F
l
u
t
t
e
r
S
t
a
n
d
a
r
d
T
y
p
e
d
D
a
t
a
;
l
e
t
v
a
l
u
e
=
a
r
g
s
[
"
v
a
l
u
e
"
]
a
s
!
F
l
u
t
t
e
r
S
t
a
n
d
a
r
d
T
y
p
e
d
D
a
t
a
;
d
o
{
l
e
t
c
i
p
h
e
r
=
t
r
y
h
a
n
d
l
e
A
e
s
(
k
e
y
:
k
e
y
.
d
a
t
a
,
i
v
:
i
v
.
d
a
t
a
,
v
a
l
u
e
:
v
a
l
u
e
.
d
a
t
a
,
m
e
t
h
o
d
:
c
a
l
l
.
m
e
t
h
o
d
)
;
r
e
s
u
l
t
(
c
i
p
h
e
r
)
;
}
c
a
t
c
h
{
r
e
s
u
l
t
(
n
i
l
)
;
}
;
/
/
.
.
.
}
}
因
为
需
要
使
用
,
需
要
在
中
调
用
原
生
代
码
,
试
了
一
些
办
法
都
不
行
,
后
来
发
现
其
实
比
较
简
单
,
直
接
在
中
有
一
个
文
件
中
加
入
引
用
,
就
可
以
直
接
调
用
了
#
i
m
p
o
r
t
"
E
n
c
r
y
p
t
i
o
n
s
P
l
u
g
i
n
.
h
"
#
i
m
p
o
r
t
"
a
r
g
o
n
2
.
h
"
f
u
n
c
a
r
g
o
n
2
i
(
p
a
s
s
w
o
r
d
:
D
a
t
a
,
s
a
l
t
:
D
a
t
a
)
-
>
D
a
t
a
{
v
a
r
o
u
t
p
u
t
B
y
t
e
s
=
[
U
I
n
t
8
]
(
r
e
p
e
a
t
i
n
g
:
0
,
c
o
u
n
t
:
h
a
s
h
L
e
n
g
t
h
)
;
p
a
s
s
w
o
r
d
.
w
i
t
h
U
n
s
a
f
e
B
y
t
e
s
{
p
a
s
s
w
o
r
d
B
y
t
e
s
i
n
s
a
l
t
.
w
i
t
h
U
n
s
a
f
e
B
y
t
e
s
{
s
a
l
t
B
y
t
e
s
i
n
a
r
g
o
n
2
i
_
h
a
s
h
_
r
a
w
(
i
t
e
r
a
t
i
o
n
s
,
m
e
m
o
r
y
,
p
a
r
a
l
l
e
l
i
s
m
,
P
l
a
t
f
o
r
m
实
现
3
p
a
s
s
w
o
r
d
B
y
t
e
s
,
p
a
s
s
w
o
r
d
.
c
o
u
n
t
,
s
a
l
t
B
y
t
e
s
,
s
a
l
t
.
c
o
u
n
t
,
&
o
u
t
p
u
t
B
y
t
e
s
,
h
a
s
h
L
e
n
g
t
h
)
;
}
}
r
e
t
u
r
n
D
a
t
a
(
b
y
t
e
s
:
U
n
s
a
f
e
P
o
i
n
t
e
r
<
U
I
n
t
8
>
(
o
u
t
p
u
t
B
y
t
e
s
)
,
c
o
u
n
t
:
h
a
s
h
L
e
n
g
t
h
)
;
}
A
n
d
r
o
i
d
在
中
打
开
工
程
(
第
一
次
打
开
是
需
要
的
,
c
d
e
n
c
r
y
p
t
i
o
n
s
/
e
x
a
m
p
l
e
;
f
l
u
t
t
e
r
b
u
i
l
d
a
p
k
,
也
类
似
)
。
中
实
现
起
来
会
简
单
一
点
,
这
里
只
说
一
下
如
何
调
用
原
生
代
码
:
首
先
在
中
加
入
额
外
的
步
骤
:
e
x
t
e
r
n
a
l
N
a
t
i
v
e
B
u
i
l
d
{
c
m
a
k
e
{
p
a
t
h
"
s
r
c
/
m
a
i
n
/
c
p
p
/
C
M
a
k
e
L
i
s
t
s
.
t
x
t
"
}
}
然
后
在
中
指
定
编
译
步
骤
,
我
这
里
需
要
编
译
一
个
的
库
,
以
及
一
个
调
用
的
库
。
a
d
d
_
l
i
b
r
a
r
y
(
a
r
g
o
n
2
S
H
A
R
E
D
a
r
g
o
n
2
/
s
r
c
/
a
r
g
o
n
2
.
c
a
r
g
o
n
2
/
s
r
c
/
c
o
r
e
.
c
a
r
g
o
n
2
/
s
r
c
/
b
l
a
k
e
2
/
b
l
a
k
e
2
b
.
c
a
r
g
o
n
2
/
s
r
c
/
e
n
c
o
d
i
n
g
.
c
a
r
g
o
n
2
/
s
r
c
/
r
e
f
.
c
a
r
g
o
n
2
/
s
r
c
/
t
h
r
e
a
d
.
c
)
a
d
d
_
l
i
b
r
a
r
y
(
a
r
g
o
n
2
-
b
i
n
d
i
n
g
S
H
A
R
E
D
a
r
g
o
n
2
_
b
i
n
d
i
n
g
.
c
p
p
)
t
a
r
g
e
t
_
i
n
c
l
u
d
e
_
d
i
r
e
c
t
o
r
i
e
s
(
a
r
g
o
n
2
P
R
I
V
A
T
E
a
r
g
o
n
2
/
i
n
c
l
u
d
e
)
t
a
r
g
e
t
_
i
n
c
l
u
d
e
_
d
i
r
e
c
t
o
r
i
e
s
(
a
r
g
o
n
2
-
b
i
n
d
i
n
g
E
x
a
m
p
l
e
4
P
R
I
V
A
T
E
a
r
g
o
n
2
/
i
n
c
l
u
d
e
)
f
i
n
d
_
l
i
b
r
a
r
y
(
l
o
g
-
l
i
b
l
o
g
)
t
a
r
g
e
t
_
l
i
n
k
_
l
i
b
r
a
r
i
e
s
(
n
a
t
i
v
e
-
l
i
b
$
{
l
o
g
-
l
i
b
}
)
t
a
r
g
e
t
_
l
i
n
k
_
l
i
b
r
a
r
i
e
s
(
a
r
g
o
n
2
-
b
i
n
d
i
n
g
a
r
g
o
n
2
$
{
l
o
g
-
l
i
b
}
)
然
后
就
通
过
调
用
到
的
方
法
:
p
u
b
l
i
c
f
i
n
a
l
c
l
a
s
s
A
r
g
o
n
2
{
s
t
a
t
i
c
{
S
y
s
t
e
m
.
l
o
a
d
L
i
b
r
a
r
y
(
"
a
r
g
o
n
2
-
b
i
n
d
i
n
g
"
)
;
}
/
/
.
.
.
p
r
i
v
a
t
e
n
a
t
i
v
e
b
y
t
e
[
]
a
r
g
o
n
2
i
I
n
t
e
r
n
a
l
(
i
n
t
i
t
e
r
a
t
i
o
n
s
,
i
n
t
m
e
m
o
r
y
,
i
n
t
p
a
r
a
l
l
e
l
i
s
m
,
f
i
n
a
l
b
y
t
e
[
]
p
a
s
s
w
o
r
d
,
f
i
n
a
l
b
y
t
e
[
]
s
a
l
t
,
i
n
t
h
a
s
h
L
e
n
g
t
h
)
;
p
r
i
v
a
t
e
n
a
t
i
v
e
b
y
t
e
[
]
a
r
g
o
n
2
d
I
n
t
e
r
n
a
l
(
i
n
t
i
t
e
r
a
t
i
o
n
s
,
i
n
t
m
e
m
o
r
y
,
i
n
t
p
a
r
a
l
l
e
l
i
s
m
,
f
i
n
a
l
b
y
t
e
[
]
p
a
s
s
w
o
r
d
,
f
i
n
a
l
b
y
t
e
[
]
s
a
l
t
,
i
n
t
h
a
s
h
L
e
n
g
t
h
)
;
}
详
细
的
代
码
不
再
累
述
。
E
x
a
m
p
l
e
在
工
程
中
,
用
调
用
一
下
这
些
接
口
,
然
后
可
以
分
别
在
和
中
运
行
起
来
,
看
一
下
不
同
平
台
是
否
都
支
持
。
不
清
楚
是
否
有
自
动
化
的
测
试
方
法
。
E
x
a
m
p
l
e
5
如
果
想
了
解
更
多
,
这
里
是
详
细
的
代
码
。
参
考
HTML view coming soon.
Download PDF
for the full formatted version.