feat: refactor midjourney image creating page
@ -80,6 +80,7 @@ func (h *MidJourneyHandler) Image(c *gin.Context) {
|
|||||||
var data struct {
|
var data struct {
|
||||||
SessionId string `json:"session_id"`
|
SessionId string `json:"session_id"`
|
||||||
Prompt string `json:"prompt"`
|
Prompt string `json:"prompt"`
|
||||||
|
NegPrompt string `json:"neg_prompt"`
|
||||||
Rate string `json:"rate"`
|
Rate string `json:"rate"`
|
||||||
Model string `json:"model"`
|
Model string `json:"model"`
|
||||||
Chaos int `json:"chaos"`
|
Chaos int `json:"chaos"`
|
||||||
@ -87,6 +88,8 @@ func (h *MidJourneyHandler) Image(c *gin.Context) {
|
|||||||
Seed int64 `json:"seed"`
|
Seed int64 `json:"seed"`
|
||||||
Stylize int `json:"stylize"`
|
Stylize int `json:"stylize"`
|
||||||
Img string `json:"img"`
|
Img string `json:"img"`
|
||||||
|
Tile bool `json:"tile"`
|
||||||
|
Quality float32 `json:"quality"`
|
||||||
Weight float32 `json:"weight"`
|
Weight float32 `json:"weight"`
|
||||||
}
|
}
|
||||||
if err := c.ShouldBindJSON(&data); err != nil {
|
if err := c.ShouldBindJSON(&data); err != nil {
|
||||||
@ -119,6 +122,15 @@ func (h *MidJourneyHandler) Image(c *gin.Context) {
|
|||||||
if data.Raw {
|
if data.Raw {
|
||||||
prompt += " --style raw"
|
prompt += " --style raw"
|
||||||
}
|
}
|
||||||
|
if data.Quality > 0 {
|
||||||
|
prompt += fmt.Sprintf(" --q %.2f", data.Quality)
|
||||||
|
}
|
||||||
|
if data.NegPrompt != "" {
|
||||||
|
prompt += fmt.Sprintf(" --no %s", data.NegPrompt)
|
||||||
|
}
|
||||||
|
if data.Tile {
|
||||||
|
prompt += " --tile "
|
||||||
|
}
|
||||||
if data.Model != "" && !strings.Contains(prompt, "--v") && !strings.Contains(prompt, "--niji") {
|
if data.Model != "" && !strings.Contains(prompt, "--v") && !strings.Contains(prompt, "--niji") {
|
||||||
prompt += fmt.Sprintf(" %s", data.Model)
|
prompt += fmt.Sprintf(" %s", data.Model)
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 476 KiB After Width: | Height: | Size: 476 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 526 KiB After Width: | Height: | Size: 526 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
@ -35,7 +35,6 @@
|
|||||||
}
|
}
|
||||||
.page-mj .inner .mj-box .mj-params .param-line .el-icon {
|
.page-mj .inner .mj-box .mj-params .param-line .el-icon {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 3px;
|
|
||||||
}
|
}
|
||||||
.page-mj .inner .mj-box .mj-params .param-line .grid-content {
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content {
|
||||||
background-color: #383838;
|
background-color: #383838;
|
||||||
@ -43,26 +42,62 @@
|
|||||||
padding: 8px 14px;
|
padding: 8px 14px;
|
||||||
display: flex;
|
display: flex;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
.page-mj .inner .mj-box .mj-params .param-line .grid-content:hover {
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content:hover {
|
||||||
background-color: #585858;
|
background-color: #585858;
|
||||||
}
|
}
|
||||||
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content .icon {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape {
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
margin-right: 5px;
|
margin-bottom: 5px;
|
||||||
border: 1px solid #c4c4c4;
|
border: 1px solid #c4c4c4;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape.vertical {
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape.size9-16 {
|
||||||
width: 12px;
|
width: 9px;
|
||||||
height: 20px;
|
height: 16px;
|
||||||
}
|
}
|
||||||
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape.horizontal {
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape.size16-9 {
|
||||||
height: 12px;
|
height: 9px;
|
||||||
width: 20px;
|
width: 16px;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 3px;
|
margin: 4px 0 7px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape.size3-4 {
|
||||||
|
width: 12px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape.size4-3 {
|
||||||
|
height: 12px;
|
||||||
|
width: 16px;
|
||||||
|
position: relative;
|
||||||
|
margin: 4px 0 4px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape.size2-3 {
|
||||||
|
width: 11px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape.size3-2 {
|
||||||
|
height: 11px;
|
||||||
|
width: 16px;
|
||||||
|
position: relative;
|
||||||
|
margin: 4px 0 5px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape.size1-2 {
|
||||||
|
width: 8px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content .shape.size2-1 {
|
||||||
|
height: 8px;
|
||||||
|
width: 16px;
|
||||||
|
position: relative;
|
||||||
|
margin: 4px 0 8px;
|
||||||
}
|
}
|
||||||
.page-mj .inner .mj-box .mj-params .param-line .grid-content.active {
|
.page-mj .inner .mj-box .mj-params .param-line .grid-content.active {
|
||||||
color: #47fff1;
|
color: #47fff1;
|
||||||
@ -76,6 +111,7 @@
|
|||||||
border: 1px solid #454545;
|
border: 1px solid #454545;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: column;
|
flex-flow: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -98,10 +134,20 @@
|
|||||||
}
|
}
|
||||||
.page-mj .inner .mj-box .mj-params .param-line .form-item-inner {
|
.page-mj .inner .mj-box .mj-params .param-line .form-item-inner {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.page-mj .inner .mj-box .mj-params .param-line .form-item-inner .el-select {
|
||||||
|
--el-select-input-focus-border-color: #47fff1;
|
||||||
|
--el-input-focus-border-color: #47fff1;
|
||||||
|
}
|
||||||
|
.page-mj .inner .mj-box .mj-params .param-line .form-item-inner .el-input__wrapper {
|
||||||
|
background: #383838;
|
||||||
|
}
|
||||||
|
.page-mj .inner .mj-box .mj-params .param-line .form-item-inner .el-input__inner {
|
||||||
|
color: #fff;
|
||||||
}
|
}
|
||||||
.page-mj .inner .mj-box .mj-params .param-line .form-item-inner .el-icon {
|
.page-mj .inner .mj-box .mj-params .param-line .form-item-inner .el-icon {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
margin-top: 2px;
|
|
||||||
}
|
}
|
||||||
.page-mj .inner .mj-box .mj-params .param-line .img-uploader .el-upload {
|
.page-mj .inner .mj-box .mj-params .param-line .img-uploader .el-upload {
|
||||||
border: 1px dashed var(--el-border-color);
|
border: 1px dashed var(--el-border-color);
|
||||||
@ -123,19 +169,11 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
.page-mj .inner .mj-box .mj-params .param-line.pt {
|
.page-mj .inner .mj-box .mj-params .param-line.pt {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
padding-bottom: 5px;
|
padding-bottom: 5px;
|
||||||
}
|
}
|
||||||
.page-mj .inner .mj-box .submit-btn {
|
|
||||||
padding: 10px 15px 0 15px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.page-mj .inner .mj-box .submit-btn .el-button {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.page-mj .inner .mj-box .submit-btn .el-button span {
|
|
||||||
color: #2d3a4b;
|
|
||||||
}
|
|
||||||
.page-mj .inner .el-form .el-form-item__label {
|
.page-mj .inner .el-form .el-form-item__label {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
@ -149,6 +187,86 @@
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .el-tabs {
|
||||||
|
--el-tabs-header-height: 55px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .el-tabs__item {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .title-tabs .el-tabs__item.is-active {
|
||||||
|
color: #47fff1;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .title-tabs .el-tabs__active-bar {
|
||||||
|
background-color: #47fff1;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .title-tabs .el-tabs__content {
|
||||||
|
padding: 10px 0;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .el-textarea {
|
||||||
|
--el-input-focus-border-color: #47fff1;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .el-textarea__inner {
|
||||||
|
background: transparent;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .el-input__wrapper {
|
||||||
|
background: transparent;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .text {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
color: #6b778c;
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .param-line.pt {
|
||||||
|
padding-top: 5px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .form-item-inner {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .form-item-inner .el-icon {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .el-form-item__label {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .img-uploader .el-upload {
|
||||||
|
border: 1px dashed var(--el-border-color);
|
||||||
|
border-radius: 6px;
|
||||||
|
cursor: pointer;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 300px;
|
||||||
|
transition: var(--el-transition-duration-fast);
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .img-uploader .el-upload:hover {
|
||||||
|
border-color: var(--el-color-primary);
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .img-uploader .el-upload .el-icon.uploader-icon {
|
||||||
|
font-size: 28px;
|
||||||
|
color: #8c939d;
|
||||||
|
width: 100%;
|
||||||
|
height: 120px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .submit-btn {
|
||||||
|
display: flex;
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .submit-btn .el-button {
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
.page-mj .inner .task-list-box .task-list-inner .submit-btn .text-info {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: right;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
.page-mj .inner .task-list-box .running-job-list .job-item {
|
.page-mj .inner .task-list-box .running-job-list .job-item {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
@ -253,5 +371,4 @@
|
|||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 2px;
|
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
background-color #585858
|
background-color #585858
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon{
|
.icon {
|
||||||
width 20px
|
width 20px
|
||||||
height 20px
|
height 20px
|
||||||
margin-bottom 5px
|
margin-bottom 5px
|
||||||
@ -162,17 +162,20 @@
|
|||||||
.form-item-inner {
|
.form-item-inner {
|
||||||
display flex
|
display flex
|
||||||
align-items: center
|
align-items: center
|
||||||
|
|
||||||
.el-select {
|
.el-select {
|
||||||
--el-select-input-focus-border-color: #47FFF1;
|
--el-select-input-focus-border-color: #47FFF1;
|
||||||
--el-input-focus-border-color: #47FFF1;
|
--el-input-focus-border-color: #47FFF1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-input__wrapper {
|
.el-input__wrapper {
|
||||||
background: #383838;
|
background: #383838;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-input__inner {
|
.el-input__inner {
|
||||||
color: #fff
|
color: #fff
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-icon {
|
.el-icon {
|
||||||
margin-left 10px
|
margin-left 10px
|
||||||
}
|
}
|
||||||
@ -211,19 +214,6 @@
|
|||||||
padding-bottom 5px
|
padding-bottom 5px
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.submit-btn {
|
|
||||||
padding 10px 15px 0 15px
|
|
||||||
text-align center
|
|
||||||
|
|
||||||
.el-button {
|
|
||||||
width 100%
|
|
||||||
|
|
||||||
span {
|
|
||||||
color #2D3A4B
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form {
|
.el-form {
|
||||||
|
@ -72,6 +72,86 @@
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .el-tabs {
|
||||||
|
--el-tabs-header-height: 55px;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .el-tabs__item {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .title-tabs .el-tabs__item.is-active {
|
||||||
|
color: #47fff1;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .title-tabs .el-tabs__active-bar {
|
||||||
|
background-color: #47fff1;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .title-tabs .el-tabs__content {
|
||||||
|
padding: 10px 0;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .el-textarea {
|
||||||
|
--el-input-focus-border-color: #47fff1;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .el-textarea__inner {
|
||||||
|
background: transparent;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .el-input__wrapper {
|
||||||
|
background: transparent;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .text {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
color: #6b778c;
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .param-line.pt {
|
||||||
|
padding-top: 5px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .form-item-inner {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .form-item-inner .el-icon {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .el-form-item__label {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .img-uploader .el-upload {
|
||||||
|
border: 1px dashed var(--el-border-color);
|
||||||
|
border-radius: 6px;
|
||||||
|
cursor: pointer;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 300px;
|
||||||
|
transition: var(--el-transition-duration-fast);
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .img-uploader .el-upload:hover {
|
||||||
|
border-color: var(--el-color-primary);
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .img-uploader .el-upload .el-icon.uploader-icon {
|
||||||
|
font-size: 28px;
|
||||||
|
color: #8c939d;
|
||||||
|
width: 100%;
|
||||||
|
height: 120px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .submit-btn {
|
||||||
|
display: flex;
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .submit-btn .el-button {
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
.page-sd .inner .task-list-box .task-list-inner .submit-btn .text-info {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: right;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
.page-sd .inner .task-list-box .running-job-list .job-item {
|
.page-sd .inner .task-list-box .running-job-list .job-item {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
|
@ -8,24 +8,29 @@
|
|||||||
.el-tabs {
|
.el-tabs {
|
||||||
--el-tabs-header-height: 55px;
|
--el-tabs-header-height: 55px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tabs__item {
|
.el-tabs__item {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-tabs .el-tabs__item.is-active {
|
.title-tabs .el-tabs__item.is-active {
|
||||||
color: #47FFF1;
|
color: #47FFF1;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-tabs .el-tabs__active-bar {
|
.title-tabs .el-tabs__active-bar {
|
||||||
background-color: #47FFF1;
|
background-color: #47FFF1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-tabs .el-tabs__content {
|
.title-tabs .el-tabs__content {
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-textarea {
|
.el-textarea {
|
||||||
--el-input-focus-border-color: #47FFF1;
|
--el-input-focus-border-color: #47FFF1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-textarea__inner {
|
.el-textarea__inner {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
@ -36,8 +41,8 @@
|
|||||||
padding 5px
|
padding 5px
|
||||||
}
|
}
|
||||||
|
|
||||||
.text{
|
.text {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
color: #6b778c;
|
color: #6b778c;
|
||||||
font-size: 15px
|
font-size: 15px
|
||||||
}
|
}
|
||||||
@ -85,16 +90,20 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.submit-btn{
|
.submit-btn {
|
||||||
margin: 20px 0
|
display flex
|
||||||
|
margin: 20px 0
|
||||||
|
|
||||||
.el-icon.submit-icon {
|
.el-button {
|
||||||
font-size: 28px
|
width 200px
|
||||||
width 100%
|
}
|
||||||
height: 100px
|
|
||||||
text-align: center
|
.text-info {
|
||||||
margin-right: 10px
|
width 100%
|
||||||
}
|
display flex
|
||||||
|
justify-content right
|
||||||
|
align-items center
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,58 +1,59 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="home">
|
<div class="home">
|
||||||
<div class="navigator">
|
<div class="navigator">
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<el-link href="/">
|
<el-link href="/">
|
||||||
<el-image :src="logo" />
|
<el-image :src="logo"/>
|
||||||
</el-link>
|
</el-link>
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
</div>
|
</div>
|
||||||
<ul class="nav-items">
|
<ul class="nav-items">
|
||||||
<li v-for="item in navs" :key="item.path">
|
<li v-for="item in navs" :key="item.path">
|
||||||
<el-tooltip effect="light" :content="item.title" placement="right">
|
<!-- <el-tooltip effect="light" :content="item.title" placement="right">-->
|
||||||
<a @click="changeNav(item)" :class="item.path === curPath ? 'active' : ''">
|
<!-- -->
|
||||||
<el-image :src="item.icon_path" :width="20" v-if="item.icon_path" />
|
<!-- </el-tooltip>-->
|
||||||
<i :class="'iconfont icon-' + item.icon" v-else></i>
|
<a @click="changeNav(item)" :class="item.path === curPath ? 'active' : ''">
|
||||||
</a>
|
<el-image :src="item.icon_path" :width="20" v-if="item.icon_path"/>
|
||||||
</el-tooltip>
|
<i :class="'iconfont icon-' + item.icon" v-else></i>
|
||||||
<div :class="item.path === curPath ? 'title active' : 'title'">{{ item.title }}</div>
|
</a>
|
||||||
</li>
|
<div :class="item.path === curPath ? 'title active' : 'title'">{{ item.title }}</div>
|
||||||
</ul>
|
</li>
|
||||||
</div>
|
</ul>
|
||||||
<div class="content">
|
</div>
|
||||||
<router-view v-slot="{ Component }">
|
<div class="content">
|
||||||
<transition name="move" mode="out-in">
|
<router-view v-slot="{ Component }">
|
||||||
<component :is="Component"></component>
|
<transition name="move" mode="out-in">
|
||||||
</transition>
|
<component :is="Component"></component>
|
||||||
</router-view>
|
</transition>
|
||||||
</div>
|
</router-view>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
|
||||||
import { useRouter } from "vue-router";
|
import {useRouter} from "vue-router";
|
||||||
import { checkSession } from "@/action/session";
|
import {checkSession} from "@/action/session";
|
||||||
import { isMobile } from "@/utils/libs";
|
import {isMobile} from "@/utils/libs";
|
||||||
import { ref } from "vue";
|
import {ref} from "vue";
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const logo = '/images/icon-logo.png';
|
const logo = '/images/logo.png';
|
||||||
const navs = ref([
|
const navs = ref([
|
||||||
{path: "/chat", icon_path: "/images/chat.png", title: "对话聊天"},
|
{path: "/chat", icon_path: "/images/chat.png", title: "对话聊天"},
|
||||||
{path: "/mj", icon_path: "/images/mj.png", title: "MJ 绘画"},
|
{path: "/mj", icon_path: "/images/mj.png", title: "MJ 绘画"},
|
||||||
{path: "/sd", icon_path: "/images/sd.png", title: "SD 绘画"},
|
{path: "/sd", icon_path: "/images/sd.png", title: "SD 绘画"},
|
||||||
{path: "/apps", icon: "menu", title: "应用中心"},
|
{path: "/apps", icon: "menu", title: "应用中心"},
|
||||||
{path: "/images-wall", icon: "image-list", title: "作品展示"},
|
{path: "/images-wall", icon: "image-list", title: "作品展示"},
|
||||||
{path: "/knowledge", icon: "book", title: "我的知识库"},
|
{path: "/knowledge", icon: "book", title: "知识库"},
|
||||||
{path: "/member", icon: "vip-user", title: "会员计划"},
|
{path: "/member", icon: "vip-user", title: "会员计划"},
|
||||||
{path: "/invite", icon: "share", title: "推广计划"},
|
{path: "/invite", icon: "share", title: "推广计划"},
|
||||||
])
|
])
|
||||||
const curPath = ref(router.currentRoute.value.path)
|
const curPath = ref(router.currentRoute.value.path)
|
||||||
|
|
||||||
const changeNav = (item) => {
|
const changeNav = (item) => {
|
||||||
curPath.value = item.path
|
curPath.value = item.path
|
||||||
router.push(item.path)
|
router.push(item.path)
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -85,9 +86,9 @@ const changeNav = (item) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.nav-items {
|
.nav-items {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
|
|
||||||
li {
|
li {
|
||||||
margin-bottom 15px
|
margin-bottom 15px
|
||||||
@ -116,13 +117,14 @@ const changeNav = (item) => {
|
|||||||
color #47fff1
|
color #47fff1
|
||||||
}
|
}
|
||||||
|
|
||||||
.title{
|
.title {
|
||||||
font-size: 12px
|
font-size: 12px
|
||||||
padding-top: 5px
|
padding-top: 5px
|
||||||
color: #e5e7eb;
|
color: #e5e7eb;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
.active {
|
|
||||||
|
.active {
|
||||||
color #47fff1
|
color #47fff1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,10 @@
|
|||||||
<el-form :model="item" label-width="120px" ref="formRef" :rules="rules">
|
<el-form :model="item" label-width="120px" ref="formRef" :rules="rules">
|
||||||
<el-form-item label="所属平台:" prop="platform">
|
<el-form-item label="所属平台:" prop="platform">
|
||||||
<el-select v-model="item.platform" placeholder="请选择平台">
|
<el-select v-model="item.platform" placeholder="请选择平台">
|
||||||
<el-option v-for="item in platforms" :value="item.value" :key="item.value">{{ item.name }}</el-option>
|
<el-option v-for="item in platforms" :value="item.value" :label="item.name" :key="item.value">{{
|
||||||
|
item.name
|
||||||
|
}}
|
||||||
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
@ -66,7 +69,10 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="用途:" prop="type">
|
<el-form-item label="用途:" prop="type">
|
||||||
<el-select v-model="item.type" placeholder="请选择用途">
|
<el-select v-model="item.type" placeholder="请选择用途">
|
||||||
<el-option v-for="item in types" :value="item.value" :key="item.value">{{ item.name }}</el-option>
|
<el-option v-for="item in types" :value="item.value" :label="item.name" :key="item.value">{{
|
||||||
|
item.name
|
||||||
|
}}
|
||||||
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
@ -53,7 +53,10 @@
|
|||||||
<el-form :model="item" label-width="120px" ref="formRef" :rules="rules">
|
<el-form :model="item" label-width="120px" ref="formRef" :rules="rules">
|
||||||
<el-form-item label="所属平台:" prop="platform">
|
<el-form-item label="所属平台:" prop="platform">
|
||||||
<el-select v-model="item.platform" placeholder="请选择平台">
|
<el-select v-model="item.platform" placeholder="请选择平台">
|
||||||
<el-option v-for="item in platforms" :value="item.value" :key="item.value">{{ item.name }}</el-option>
|
<el-option v-for="item in platforms" :value="item.value" :label="item.name" :key="item.value">{{
|
||||||
|
item.name
|
||||||
|
}}
|
||||||
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|