Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Mirai
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Mirai
Commits
0643e9ea
Commit
0643e9ea
authored
Feb 19, 2020
by
Him188
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
0ce0b336
ef679aba
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
81 additions
and
72 deletions
+81
-72
README.md
README.md
+2
-2
mirai-api-http/README_CH.md
mirai-api-http/README_CH.md
+2
-2
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/MiraiGraphical.kt
...otlin/net/mamoe/mirai/console/graphical/MiraiGraphical.kt
+7
-1
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/model/BotModel.kt
...otlin/net/mamoe/mirai/console/graphical/model/BotModel.kt
+6
-0
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/Decorator.kt
...otlin/net/mamoe/mirai/console/graphical/view/Decorator.kt
+9
-0
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/LoginFragment.kt
...n/net/mamoe/mirai/console/graphical/view/LoginFragment.kt
+23
-15
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/PrimaryView.kt
...lin/net/mamoe/mirai/console/graphical/view/PrimaryView.kt
+32
-52
mirai-console-graphical/src/main/resources/logo.png
mirai-console-graphical/src/main/resources/logo.png
+0
-0
No files found.
README.md
View file @
0643e9ea
...
@@ -126,7 +126,7 @@ JVM 上启动需 80M 内存, 每多一个机器人实例需要 30M 内存.
...
@@ -126,7 +126,7 @@ JVM 上启动需 80M 内存, 每多一个机器人实例需要 30M 内存.
您的 star 是对我们最大的鼓励(点击项目右上角)
您的 star 是对我们最大的鼓励(点击项目右上角)
## Wiki
## Wiki
在
[
Wiki
](
https://github.com/mamoe/mirai/wiki/Home
)
中查看各类帮助,
**如 API 示例**
(可能过时,待 QQ Android 协议完成后会重写)
。
在
[
Wiki
](
https://github.com/mamoe/mirai/wiki/Home
)
中查看各类帮助,
**如 API 示例**
。
## Try
## Try
...
@@ -187,4 +187,4 @@ bot.subscribeAlways<MemberPermissionChangedEvent> {
...
@@ -187,4 +187,4 @@ bot.subscribeAlways<MemberPermissionChangedEvent> {
## Acknowledgement
## Acknowledgement
特别感谢
[
JetBrains
](
https://www.jetbrains.com/?from=mirai
)
为开源项目提供免费的
[
IntelliJ IDEA
](
https://www.jetbrains.com/idea/?from=mirai
)
等 IDE 的授权
特别感谢
[
JetBrains
](
https://www.jetbrains.com/?from=mirai
)
为开源项目提供免费的
[
IntelliJ IDEA
](
https://www.jetbrains.com/idea/?from=mirai
)
等 IDE 的授权
[
<img src=".github/jetbrains-variant-3.png" width="200"/>
](
https://www.jetbrains.com/?from=mirai
)
[
<img src=".github/jetbrains-variant-3.png" width="200"/>
](
https://www.jetbrains.com/?from=mirai
)
\ No newline at end of file
mirai-api-http/README_CH.md
View file @
0643e9ea
...
@@ -12,7 +12,7 @@ fun main() {
...
@@ -12,7 +12,7 @@ fun main() {
MiraiHttpAPIServer
.
start
()
MiraiHttpAPIServer
.
start
()
bot
.
network
.
awaitDisconnectio
n
()
bot
.
joi
n
()
}
}
```
```
...
@@ -463,7 +463,7 @@ Content-Type:multipart/form-data
...
@@ -463,7 +463,7 @@ Content-Type:multipart/form-data
{
{
"type": "Image",
"type": "Image",
"imageId": "{01E9451B-70ED-EAE3-B37C-101F1EEBF5B5}.png" //群图片格式
"imageId": "{01E9451B-70ED-EAE3-B37C-101F1EEBF5B5}.png" //群图片格式
"imageId": "/f8f1ab55-bf8e-4236-b55e-955848d7069f" //好友图片格式
//
"imageId": "/f8f1ab55-bf8e-4236-b55e-955848d7069f" //好友图片格式
}
}
```
```
...
...
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/MiraiGraphical.kt
View file @
0643e9ea
package
net.mamoe.mirai.console.graphical
package
net.mamoe.mirai.console.graphical
import
com.jfoenix.controls.JFXDecorator
import
javafx.scene.control.Button
import
javafx.stage.Stage
import
net.mamoe.mirai.console.MiraiConsole
import
net.mamoe.mirai.console.MiraiConsole
import
net.mamoe.mirai.console.graphical.controller.MiraiGraphicalUIController
import
net.mamoe.mirai.console.graphical.controller.MiraiGraphicalUIController
import
net.mamoe.mirai.console.graphical.view.Decorator
import
net.mamoe.mirai.console.graphical.view.PrimaryView
import
net.mamoe.mirai.console.graphical.view.PrimaryView
import
tornadofx.App
import
tornadofx.App
import
tornadofx.FX.Companion.primaryStage
import
tornadofx.UIComponent
import
tornadofx.find
import
tornadofx.find
import
tornadofx.launch
import
tornadofx.launch
...
@@ -11,7 +17,7 @@ fun main(args: Array<String>) {
...
@@ -11,7 +17,7 @@ fun main(args: Array<String>) {
launch
<
MiraiGraphicalUI
>(
args
)
launch
<
MiraiGraphicalUI
>(
args
)
}
}
class
MiraiGraphicalUI
:
App
(
PrimaryView
::
class
)
{
class
MiraiGraphicalUI
:
App
(
Decorator
::
class
)
{
override
fun
init
()
{
override
fun
init
()
{
super
.
init
()
super
.
init
()
...
...
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/model/BotModel.kt
View file @
0643e9ea
...
@@ -11,3 +11,9 @@ class BotModel(val uin: Long) {
...
@@ -11,3 +11,9 @@ class BotModel(val uin: Long) {
val
logHistory
=
observableListOf
<
String
>()
val
logHistory
=
observableListOf
<
String
>()
val
admins
=
observableListOf
<
Long
>()
val
admins
=
observableListOf
<
Long
>()
}
}
class
BotViewModel
(
botModel
:
BotModel
?
=
null
)
:
ItemViewModel
<
BotModel
>(
botModel
)
{
val
bot
=
bind
(
BotModel
::
botProperty
)
val
logHistory
=
bind
(
BotModel
::
logHistory
)
val
admins
=
bind
(
BotModel
::
admins
)
}
\ No newline at end of file
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/Decorator.kt
0 → 100644
View file @
0643e9ea
package
net.mamoe.mirai.console.graphical.view
import
com.jfoenix.controls.JFXDecorator
import
tornadofx.View
class
Decorator
:
View
()
{
override
val
root
=
JFXDecorator
(
primaryStage
,
find
<
PrimaryView
>().
root
)
}
\ No newline at end of file
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/LoginFragment.kt
View file @
0643e9ea
package
net.mamoe.mirai.console.graphical.view
package
net.mamoe.mirai.console.graphical.view
import
com.jfoenix.controls.JFXAlert
import
com.jfoenix.controls.JFXPopup
import
javafx.beans.property.SimpleStringProperty
import
javafx.beans.property.SimpleStringProperty
import
javafx.scene.control.Label
import
kotlinx.coroutines.runBlocking
import
kotlinx.coroutines.runBlocking
import
net.mamoe.mirai.console.graphical.controller.MiraiGraphicalUIController
import
net.mamoe.mirai.console.graphical.controller.MiraiGraphicalUIController
import
net.mamoe.mirai.console.graphical.util.jfxButton
import
net.mamoe.mirai.console.graphical.util.jfxButton
...
@@ -8,26 +11,31 @@ import net.mamoe.mirai.console.graphical.util.jfxPasswordfield
...
@@ -8,26 +11,31 @@ import net.mamoe.mirai.console.graphical.util.jfxPasswordfield
import
net.mamoe.mirai.console.graphical.util.jfxTextfield
import
net.mamoe.mirai.console.graphical.util.jfxTextfield
import
tornadofx.*
import
tornadofx.*
class
Login
Fragment
:
Fragment
()
{
class
Login
View
:
View
()
{
private
val
controller
=
find
<
MiraiGraphicalUIController
>(
FX
.
defaultScope
)
private
val
controller
=
find
<
MiraiGraphicalUIController
>()
private
val
qq
=
SimpleStringProperty
(
"
0
"
)
private
val
qq
=
SimpleStringProperty
(
""
)
private
val
psd
=
SimpleStringProperty
(
""
)
private
val
psd
=
SimpleStringProperty
(
""
)
override
val
root
=
form
{
override
val
root
=
pane
{
fieldset
(
"登录"
)
{
form
{
field
(
"QQ"
)
{
fieldset
(
"登录"
)
{
jfxTextfield
(
qq
)
field
(
"QQ"
)
{
jfxTextfield
(
qq
)
}
field
(
"密码"
)
{
jfxPasswordfield
(
psd
)
}
}
}
field
(
"密码"
)
{
jfxButton
(
"登录"
).
action
{
jfxPasswordfield
(
psd
)
runAsync
{
runBlocking
{
controller
.
login
(
qq
.
value
,
psd
.
value
)
}
}.
ui
{
// show dialog
}
}
}
}
}
jfxButton
(
"登录"
).
action
{
runBlocking
{
controller
.
login
(
qq
.
value
,
psd
.
value
)
}
close
()
}
}
}
}
}
\ No newline at end of file
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/PrimaryView.kt
View file @
0643e9ea
package
net.mamoe.mirai.console.graphical.view
package
net.mamoe.mirai.console.graphical.view
import
com.jfoenix.controls.JFXListCell
import
com.jfoenix.controls.*
import
javafx.geometry.Insets
import
javafx.collections.ObservableList
import
javafx.geometry.Pos
import
javafx.scene.control.Tab
import
javafx.scene.control.Tab
import
javafx.scene.control.TabPane
import
javafx.scene.control.TabPane
import
javafx.scene.image.Image
import
javafx.scene.image.Image
import
javafx.scene.paint.Color
import
javafx.scene.text.FontWeight
import
net.mamoe.mirai.console.graphical.controller.MiraiGraphicalUIController
import
net.mamoe.mirai.console.graphical.controller.MiraiGraphicalUIController
import
net.mamoe.mirai.console.graphical.model.BotModel
import
net.mamoe.mirai.console.graphical.model.BotModel
import
net.mamoe.mirai.console.graphical.util.jfxButton
import
net.mamoe.mirai.console.graphical.util.jfxListView
import
net.mamoe.mirai.console.graphical.util.jfxListView
import
net.mamoe.mirai.console.graphical.util.jfxTabPane
import
net.mamoe.mirai.console.graphical.util.jfxTabPane
import
tornadofx.*
import
tornadofx.*
import
java.io.FileInputStream
class
PrimaryView
:
View
()
{
class
PrimaryView
:
View
()
{
...
@@ -35,20 +30,12 @@ class PrimaryView : View() {
...
@@ -35,20 +30,12 @@ class PrimaryView : View() {
setCellFactory
{
setCellFactory
{
object
:
JFXListCell
<
BotModel
>()
{
object
:
JFXListCell
<
BotModel
>()
{
var
tab
:
Tab
?
=
null
init
{
init
{
onDoubleClick
{
onDoubleClick
{
if
(
tab
==
null
)
{
(
center
as
TabPane
).
logTab
(
(
center
as
TabPane
).
tab
(
item
.
uin
.
toString
())
{
text
=
item
.
uin
.
toString
(),
listview
(
item
.
logHistory
)
logs
=
item
.
logHistory
onDoubleClick
{
close
()
}
).
select
()
tab
=
this
}
}
else
{
(
center
as
TabPane
).
tabs
.
add
(
tab
)
}
tab
?.
select
()
}
}
}
}
...
@@ -65,44 +52,37 @@ class PrimaryView : View() {
...
@@ -65,44 +52,37 @@ class PrimaryView : View() {
}
}
}
}
}
}
}
hbox
{
center
=
jfxTabPane
{
padding
=
Insets
(
10.0
)
spacing
=
10.0
alignment
=
Pos
.
CENTER
jfxButton
(
"L"
).
action
{
tab
(
"Login"
)
{
find
<
LoginFragment
>().
openModal
()
this
+=
find
<
LoginView
>().
root
}
jfxButton
(
"P"
)
jfxButton
(
"S"
)
style
{
backgroundColor
+=
c
(
"00BCD4"
)
}
children
.
style
(
true
)
{
backgroundColor
+=
c
(
"00BCD4"
)
fontSize
=
15
.
px
fontWeight
=
FontWeight
.
BOLD
textFill
=
Color
.
WHITE
borderRadius
+=
box
(
25
.
px
)
backgroundRadius
+=
box
(
25
.
px
)
}
}
}
tab
(
"Plugin"
)
tab
(
"Settings"
)
logTab
(
"Main"
,
controller
.
mainLog
)
}
}
}
}
center
=
jfxTabPane
{
private
fun
TabPane
.
logTab
(
tab
(
"Main"
)
{
text
:
String
?
=
null
,
listview
(
controller
.
mainLog
)
{
logs
:
ObservableList
<
String
>,
op
:
Tab
.()
->
Unit
=
{}
fitToParentSize
()
)=
tab
(
text
)
{
cellFormat
{
listview
(
logs
)
{
graphic
=
label
(
it
)
{
maxWidthProperty
().
bind
(
this
@
listview
.
widthProperty
()
)
fitToParentSize
(
)
isWrapText
=
true
cellFormat
{
}
graphic
=
label
(
it
)
{
}
maxWidthProperty
().
bind
(
this
@
listview
.
widthProperty
())
}
isWrapText
=
true
}
}
}
}
}
}
}
also
(
op
)
}
\ No newline at end of file
mirai-console-graphical/src/main/resources/logo.png
View replaced file @
0ce0b336
View file @
0643e9ea
3.88 KB
|
W:
|
H:
4.64 KB
|
W:
|
H:
2-up
Swipe
Onion skin
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment