mirror of
https://github.com/yangjian102621/geekai.git
synced 2025-09-17 16:56:38 +08:00
fine-tune the new UI theme, merge the code and fixed conflicts
This commit is contained in:
commit
e857f98e5c
@ -107,7 +107,10 @@ func (t PowerType) String() string {
|
||||
return "退款"
|
||||
case PowerRedeem:
|
||||
return "兑换"
|
||||
|
||||
case PowerGift:
|
||||
return "赠送"
|
||||
case PowerInvite:
|
||||
return "邀请"
|
||||
}
|
||||
return "其他"
|
||||
}
|
||||
|
@ -184,7 +184,7 @@ func (h *UserHandler) Register(c *gin.Context) {
|
||||
if h.App.SysConfig.InvitePower > 0 {
|
||||
err := h.userService.IncreasePower(int(inviteCode.UserId), h.App.SysConfig.InvitePower, model.PowerLog{
|
||||
Type: types.PowerInvite,
|
||||
Model: "",
|
||||
Model: "Invite",
|
||||
Remark: fmt.Sprintf("邀请用户注册奖励,金额:%d,邀请码:%s,新用户:%s", h.App.SysConfig.InvitePower, inviteCode.Code, user.Username),
|
||||
})
|
||||
if err != nil {
|
||||
|
@ -113,9 +113,9 @@
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
word-break: break-all;
|
||||
height 34px
|
||||
height 50px
|
||||
font-size: .875rem;
|
||||
color var(--el-text-color-primary)
|
||||
color var(--text-fb)
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -131,7 +131,7 @@
|
||||
min-width: 0;
|
||||
flex: 1;
|
||||
background-color: var(--el-bg-color)
|
||||
color var(--el-text-color-primary)
|
||||
color var(--text-fb)
|
||||
|
||||
.chat-config {
|
||||
height 50px
|
||||
|
@ -27,9 +27,10 @@
|
||||
--a-link-color: #6e8eff
|
||||
--shadow-color:rgba(223,71,255,0.6)
|
||||
--sm-btn-bg:#6052ed;
|
||||
--theme-text-tertiary: #595959;
|
||||
--theme-btn-fill-tertiary: #f0ebff;
|
||||
--theme-text-btn-tertiary: #6841ea;
|
||||
--theme-text-tertiary: #595959;
|
||||
--theme-btn-fill-tertiary: #f0ebff;
|
||||
--theme-text-btn-tertiary: #6841ea;
|
||||
|
||||
|
||||
|
||||
// #e7e7e8
|
||||
@ -136,8 +137,16 @@
|
||||
background-color: var(--theme-btn-fill-tertiary) !important;
|
||||
color: var(--theme-text-btn-tertiary) !important;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
.el-tag, .el-tag.el-tag--primary{
|
||||
.el-tag, .el-tag.el-tag--primary{
|
||||
--el-tag-bg-color:#f0ebff
|
||||
}
|
||||
}
|
||||
.box-card{
|
||||
padding: 20px;
|
||||
background-color: var(--chat-bg);
|
||||
border-radius: 8px;
|
||||
}
|
||||
.el-table th.el-table__cell {
|
||||
background-color: var(--chat-bg)
|
||||
}
|
@ -25,8 +25,8 @@
|
||||
color:var(--text-theme-color)
|
||||
}
|
||||
img{
|
||||
width 30px
|
||||
height: 30px
|
||||
width 40px
|
||||
height: 40px
|
||||
object-fit: cover
|
||||
border-radius: 50%
|
||||
padding: 4px
|
||||
@ -44,6 +44,10 @@
|
||||
align-items center
|
||||
flex-direction column
|
||||
|
||||
.iconfont {
|
||||
font-size 22px
|
||||
}
|
||||
|
||||
.icon-expand {
|
||||
font-size 24px
|
||||
margin-bottom 10px
|
||||
@ -57,6 +61,7 @@
|
||||
cursor pointer
|
||||
color var(--text-color)
|
||||
}
|
||||
|
||||
}
|
||||
.menu-list-collapse{
|
||||
.flex-center-col{
|
||||
@ -67,6 +72,10 @@
|
||||
height: 38px;
|
||||
line-height: 38px;
|
||||
|
||||
.iconfont {
|
||||
font-size 16px
|
||||
}
|
||||
|
||||
}
|
||||
.menu-list-item:hover,
|
||||
.active{
|
||||
|
@ -3,9 +3,9 @@
|
||||
overflow hidden
|
||||
color var(--text-color)
|
||||
display flex
|
||||
justify-content center
|
||||
align-items baseline
|
||||
align-items center
|
||||
background: var(--theme-bg) !important
|
||||
flex-flow column
|
||||
height: 100vh
|
||||
|
||||
|
||||
@ -33,22 +33,25 @@
|
||||
}
|
||||
|
||||
.menu-box {
|
||||
position absolute
|
||||
top 0
|
||||
width 100%
|
||||
display flex
|
||||
height 80px
|
||||
align-items center
|
||||
|
||||
.el-menu {
|
||||
padding 0 30px
|
||||
width 100%
|
||||
display flex
|
||||
justify-content space-between
|
||||
align-items center
|
||||
background none
|
||||
border none
|
||||
|
||||
.menu-item {
|
||||
display flex
|
||||
padding 20px 0
|
||||
// padding 20px 0
|
||||
height 40px
|
||||
align-items center
|
||||
|
||||
color var(--text-color);
|
||||
.iconfont{
|
||||
|
@ -224,7 +224,7 @@
|
||||
text-overflow ellipsis
|
||||
}
|
||||
.prompt {
|
||||
color var( --el-text-color-primary)
|
||||
color var( --text-fb)
|
||||
cursor: text
|
||||
}
|
||||
.failed {
|
||||
|
@ -130,10 +130,13 @@
|
||||
position: absolute
|
||||
bottom: 10px
|
||||
right: 20px
|
||||
display: flex;
|
||||
|
||||
.mm-toolbar {
|
||||
line-height: 36px;
|
||||
display flex
|
||||
flex-flow row
|
||||
margin-left: 10px;
|
||||
|
||||
.mm-toolbar-brand {
|
||||
display none
|
||||
@ -141,7 +144,7 @@
|
||||
|
||||
.mm-toolbar-item {
|
||||
cursor pointer
|
||||
color var( --el-text-color-primary)
|
||||
color var( --text-fb)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -136,10 +136,11 @@
|
||||
|
||||
.el-button {
|
||||
margin 10px 5px 0 5px
|
||||
padding 0
|
||||
height 32px
|
||||
filter: none;
|
||||
|
||||
.icon-alipay,.icon-wechat-pay {
|
||||
color var(--text-theme-color)
|
||||
color #ffffff
|
||||
}
|
||||
.icon-qq {
|
||||
color #15A6E8
|
||||
|
@ -65,7 +65,7 @@
|
||||
label {
|
||||
display flex
|
||||
width 100px
|
||||
color :var(--el-text-color-primary)
|
||||
color :var(--text-fb)
|
||||
}
|
||||
|
||||
.item-value {
|
||||
|
@ -20,6 +20,7 @@
|
||||
display flex
|
||||
flex-flow row
|
||||
justify-content: space-between;
|
||||
align-items center
|
||||
|
||||
.upload-music {
|
||||
.iconfont {
|
||||
@ -293,7 +294,7 @@
|
||||
|
||||
.tags {
|
||||
font-size 14px
|
||||
color var(--el-text-color-primary)
|
||||
color var(--text-fb)
|
||||
padding 3px 0
|
||||
}
|
||||
}
|
||||
|
@ -20,9 +20,9 @@
|
||||
}
|
||||
--btnColor: linear-gradient(88deg, #af61f0 1.44%, #5b62ce);
|
||||
--border-active:rgba(255, 255, 255, 0.1);
|
||||
// --card-bg: rgba(17, 28, 68, 1);
|
||||
// --card-bg: #1f243f;
|
||||
--card-bg:#252d58;
|
||||
--chat-bg:#1f243f
|
||||
--chat-wel-bg:#2d2f388a;
|
||||
--card-bg-table: rgba(17, 28, 68, 1);
|
||||
--theme-bg:rgb(13, 20, 53);
|
||||
--theme-bg-color: rgb(13, 20, 53);
|
||||
@ -30,22 +30,21 @@
|
||||
--sign-bg: rgba(27, 37, 75, 1);
|
||||
--text-theme-color: #fff;
|
||||
--text-color-primary: #d1c7ff;
|
||||
--el-text-color-regular: rgba(163, 174, 208, 1)
|
||||
--el-border-color:rgb(79, 80, 85)
|
||||
--el-text-color-primary: #fff;//黑白切换
|
||||
--el-bg-color-overlay: rgba(17, 28, 68, 1);
|
||||
--el-border-color-light: rgba(255, 255, 255, 0.2);
|
||||
--theme-text-color-secondary: #a3aed0;
|
||||
--theme-text-color-primary: #fff;
|
||||
--theme-text-primary: #f3f3f3;
|
||||
--line-box:rgba(255, 255, 255, 0.1);
|
||||
// --chat-bg:#141a36;
|
||||
--chat-bg:#1f243f
|
||||
--el-bg-color:#141a36;
|
||||
--el-fill-color-blank: rgba(17, 28, 68, 1);
|
||||
--el-fill-color-light: rgba(86, 86, 95, .2);
|
||||
--el-color-primary-light-9:rgba(86, 86, 95, .2);
|
||||
--chat-wel-bg:#2d2f388a;
|
||||
--theme-text-color-secondary: #a3aed0;
|
||||
// --el-pagination-button-bg-color: rgba(86,86,95,0.2);
|
||||
|
||||
--el-text-color-regular: rgba(163, 174, 208, 1)
|
||||
--el-border-color:rgb(79, 80, 85);//黑白切换
|
||||
--el-bg-color-overlay: rgba(17, 28, 68, 1);
|
||||
--el-border-color-light: rgba(255, 255, 255, 0.2);
|
||||
--chat-content-bg:rgba(86, 86, 95, .2);
|
||||
--chat-content-bg-list:rgba(86, 86, 95, .2);
|
||||
--hover-deep-color:#30323c;
|
||||
//layout
|
||||
.more-menus li.moreTitle,
|
||||
.twoTittle .title,
|
||||
@ -62,13 +61,6 @@
|
||||
background: #0080006e;
|
||||
}
|
||||
|
||||
--theme-text-color-primary: #fff;
|
||||
--theme-text-primary: #f3f3f3;
|
||||
--chat-content-bg:rgba(86, 86, 95, .2);
|
||||
--chat-content-bg-list:rgba(86, 86, 95, .2);
|
||||
--hover-deep-color:#30323c;
|
||||
// --theme-text-tertiary: #e1e1e1;
|
||||
|
||||
// 操作按钮
|
||||
--btn-bg: rgba(86, 86, 95, .5);
|
||||
|
||||
|
@ -3,29 +3,23 @@
|
||||
@import 'font.styl'
|
||||
:root[data-theme="light"] {
|
||||
--text-fb:#000;
|
||||
// rgba(43, 54, 116, 1)
|
||||
--text-color: #5b62ce; // 主要的文本颜色
|
||||
--normal-color: rgba(43, 54, 116, 1); // 普通颜色
|
||||
p, h1, h2, h3, h4, h5, h6, article {
|
||||
// color: var(--text-color) !important;
|
||||
font-family: $font-regular;
|
||||
}
|
||||
html,
|
||||
body,
|
||||
#app,
|
||||
.wrapper {
|
||||
// background: var(--theme-bg)
|
||||
// background-color: var(--theme-bg)
|
||||
|
||||
// background: linear-gradient(88deg, #fff3f3 1.44%, #e7e8ff);
|
||||
|
||||
font-family: $font-regular;
|
||||
}//#6b61f6
|
||||
}
|
||||
|
||||
--btnColor: linear-gradient(88deg, #af61f0 1.44%, #5b62ce);
|
||||
--border-active:rgba(134, 140, 255, 1);
|
||||
--code-btnColor: linear-gradient(88deg, #af61f0 1.44%, #5b62ce);
|
||||
--card-bg:#fff;
|
||||
--chat-bg:#fff;
|
||||
--theme-bg:linear-gradient(88deg, #fff3f3 1.44%, #e7e8ff);
|
||||
--theme-bg-all:#f5f7fd;
|
||||
--theme-bg-color: #f5f7fd;
|
||||
@ -33,21 +27,18 @@
|
||||
--text-theme-color: rgba(43, 54, 116, 1)
|
||||
--text-color-primary: rgba(67, 24, 255, 1);
|
||||
--line-box:rgba(79, 89, 102, 0.122);
|
||||
--el-bg-color-overlay: #fff;
|
||||
--el-bg-color:#fff;
|
||||
--el-fill-color-blank: #fff;
|
||||
|
||||
--theme-text-color-primary: #000;
|
||||
--theme-text-primary: #000;
|
||||
--theme-text-color-secondary: #666;
|
||||
--chat-bg: #fff;
|
||||
|
||||
--chat-content-bg:#f5f7fc;
|
||||
--chat-list-bg: #0302020a;
|
||||
--chat-content-bg-list: #fff;
|
||||
--chat-wel-bg: rgba(247, 247, 248, 1);
|
||||
--el-pagination-button-bg-color: rgba(86, 86, 95, 0.2);
|
||||
--hover-deep-color: #fff;
|
||||
--chat-content-bg-list:#fff;
|
||||
--chat-wel-bg:rgba(247, 247, 248, 1);
|
||||
--hover-deep-color:#fff;
|
||||
--el-bg-color-overlay: #fff;
|
||||
--el-bg-color:#fff;
|
||||
--el-fill-color-blank: #fff;
|
||||
--el-pagination-button-bg-color: rgba(86,86,95,0.2);
|
||||
|
||||
// 操作按钮
|
||||
--btn-bg: rgba(100, 100, 100, .1);
|
||||
|
@ -19,7 +19,7 @@
|
||||
<el-input v-model="form.code" maxlength="6"/>
|
||||
</el-col>
|
||||
<el-col :span="8" style="padding-left: 10px">
|
||||
<send-msg :receiver="form.mobile" type="mobile"/>
|
||||
<send-msg :receiver="form.mobile" size="default" type="mobile"/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
|
@ -257,7 +257,8 @@ const reGenerate = (prompt) => {
|
||||
code {
|
||||
// color:var(--theme-text-color-primary);
|
||||
color:#fff
|
||||
background-color var(--el-color-primary-light-3)
|
||||
// background-color var(--el-color-primary-light-3)
|
||||
background-color: var(--el-color-primary);
|
||||
padding 3px 5px;
|
||||
border-radius 5px;
|
||||
}
|
||||
@ -349,7 +350,6 @@ const reGenerate = (prompt) => {
|
||||
padding 10px 10px 10px 0;
|
||||
|
||||
.bar-item {
|
||||
background-color var( --little-btn-bg);
|
||||
padding 3px 5px;
|
||||
margin-right 10px;
|
||||
border-radius 5px;
|
||||
|
@ -6,13 +6,6 @@
|
||||
:row-key="(row) => row.id"
|
||||
table-layout="auto"
|
||||
border
|
||||
style="
|
||||
--el-table-border-color: #373c47;
|
||||
--el-table-tr-bg-color: #2d323b;
|
||||
--el-table-row-hover-bg-color: #373c47;
|
||||
--el-table-header-bg-color: #474e5c;
|
||||
--el-table-text-color: #d1d1d1;
|
||||
"
|
||||
>
|
||||
<el-table-column prop="username" label="用户" />
|
||||
<el-table-column prop="invite_code" label="邀请码" />
|
||||
|
@ -8,7 +8,7 @@
|
||||
>
|
||||
<div class="form" id="bind-mobile-form">
|
||||
<el-form :model="form">
|
||||
<el-form-item label="兑换码">
|
||||
<el-form-item>
|
||||
<el-input v-model="form.code"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
@ -1,12 +1,10 @@
|
||||
<template>
|
||||
<el-container class="send-verify-code">
|
||||
<el-button
|
||||
type="primary"
|
||||
class="btn-normal"
|
||||
type="success"
|
||||
:size="props.size"
|
||||
:disabled="!canSend"
|
||||
@click="sendMsg"
|
||||
plain
|
||||
>
|
||||
{{ btnText }}
|
||||
</el-button>
|
||||
@ -17,12 +15,12 @@
|
||||
|
||||
<script setup>
|
||||
// 发送短信验证码组件
|
||||
import { ref } from "vue";
|
||||
import { validateEmail, validateMobile } from "@/utils/validate";
|
||||
import { httpPost } from "@/utils/http";
|
||||
import { showMessageError, showMessageOK } from "@/utils/dialog";
|
||||
import {ref} from "vue";
|
||||
import {validateEmail, validateMobile} from "@/utils/validate";
|
||||
import {httpPost} from "@/utils/http";
|
||||
import {showMessageError, showMessageOK} from "@/utils/dialog";
|
||||
import Captcha from "@/components/Captcha.vue";
|
||||
import { getSystemInfo } from "@/store/cache";
|
||||
import {getSystemInfo} from "@/store/cache";
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
const props = defineProps({
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div :class="'sidebar '+theme">
|
||||
<a class="logo" href="/" target="_blank">
|
||||
<a class="logo w-full" href="/" target="_blank">
|
||||
<el-image :src="logo"/>
|
||||
<span class="text" v-show="!sidebar.collapse">{{ title }}</span>
|
||||
</a>
|
||||
@ -212,7 +212,6 @@ setMenuItems(items)
|
||||
|
||||
.logo {
|
||||
display flex
|
||||
width 219px
|
||||
background-color #324157
|
||||
padding 6px 15px;
|
||||
cursor pointer
|
||||
|
@ -19,7 +19,7 @@
|
||||
</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<el-scrollbar :height="{ height: +'px' }">
|
||||
<el-scrollbar :height="chatBoxHeight">
|
||||
<div class="content">
|
||||
<el-row v-for="chat in chatList" :key="chat.chat_id">
|
||||
<div :class="chat.chat_id === chatId ? 'chat-list-item active' : 'chat-list-item'" @click="loadChat(chat)">
|
||||
@ -262,24 +262,24 @@
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { nextTick, onMounted, onUnmounted, ref, watch } from "vue";
|
||||
import {nextTick, onMounted, onUnmounted, ref, watch} from "vue";
|
||||
import ChatPrompt from "@/components/ChatPrompt.vue";
|
||||
import ChatReply from "@/components/ChatReply.vue";
|
||||
import { Delete, Edit, InfoFilled, More, Plus, Promotion, Search, Share, VideoPause } from "@element-plus/icons-vue";
|
||||
import {Delete, Edit, InfoFilled, More, Plus, Promotion, Search, Share, VideoPause} from "@element-plus/icons-vue";
|
||||
import "highlight.js/styles/a11y-dark.css";
|
||||
import { isMobile, randString, removeArrayItem, UUID } from "@/utils/libs";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { httpGet, httpPost } from "@/utils/http";
|
||||
import { useRouter } from "vue-router";
|
||||
import {isMobile, randString, removeArrayItem, UUID} from "@/utils/libs";
|
||||
import {ElMessage, ElMessageBox} from "element-plus";
|
||||
import {httpGet, httpPost} from "@/utils/http";
|
||||
import {useRouter} from "vue-router";
|
||||
import Clipboard from "clipboard";
|
||||
import { checkSession, getClientId, getSystemInfo } from "@/store/cache";
|
||||
import {checkSession, getClientId, getSystemInfo} from "@/store/cache";
|
||||
import Welcome from "@/components/Welcome.vue";
|
||||
import { useSharedStore } from "@/store/sharedata";
|
||||
import {useSharedStore} from "@/store/sharedata";
|
||||
import FileSelect from "@/components/FileSelect.vue";
|
||||
import FileList from "@/components/FileList.vue";
|
||||
import ChatSetting from "@/components/ChatSetting.vue";
|
||||
import BackTop from "@/components/BackTop.vue";
|
||||
import { closeLoading, showLoading, showMessageError } from "@/utils/dialog";
|
||||
import {closeLoading, showLoading, showMessageError} from "@/utils/dialog";
|
||||
|
||||
const title = ref("GeekAI-智能助手");
|
||||
const models = ref([]);
|
||||
|
@ -38,15 +38,6 @@
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- <li
|
||||
class="menu-list-item flex-center-col"
|
||||
v-for="item in 5"
|
||||
:key="item"
|
||||
>
|
||||
<el-icon><Location /></el-icon>
|
||||
<div>首页</div>
|
||||
</li> -->
|
||||
|
||||
<!-- 更多 -->
|
||||
<div class="bot" :style="{ width: isCollapse ? '65px' : '170px' }">
|
||||
<div class="bot-line"></div>
|
||||
@ -116,13 +107,11 @@
|
||||
</a>
|
||||
|
||||
<ThemeChange />
|
||||
<!-- <div v-if="!isCollapse">会员</div> -->
|
||||
</li>
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- :style="{ 'padding-left': isCollapse ? '65px' : '170px' }" -->
|
||||
<el-scrollbar class="right-main">
|
||||
<div
|
||||
v-if="loginUser.id === undefined || !loginUser.id"
|
||||
@ -133,7 +122,6 @@
|
||||
<div class="topheader" v-if="loginUser.id === undefined || !loginUser.id">
|
||||
<el-button @click="router.push('/login')" class="btn-go animate__animated animate__pulse animate__infinite" round>登录</el-button>
|
||||
</div>
|
||||
<!-- <div class="content custom-scroll"> -->
|
||||
<div class="content custom-scroll">
|
||||
<router-view :key="routerViewKey" v-slot="{ Component }">
|
||||
<transition name="move" mode="out-in">
|
||||
@ -155,25 +143,24 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { CirclePlus, Setting, UserFilled } from "@element-plus/icons-vue";
|
||||
import {CirclePlus, Setting, UserFilled} from "@element-plus/icons-vue";
|
||||
import ThemeChange from "@/components/ThemeChange.vue";
|
||||
import avatarImg from "@/assets/img/avatar.jpg";
|
||||
import { useRouter } from "vue-router";
|
||||
import { onMounted, ref, watch } from "vue";
|
||||
import { httpGet } from "@/utils/http";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { checkSession, getLicenseInfo, getSystemInfo } from "@/store/cache";
|
||||
import { removeUserToken } from "@/store/session";
|
||||
import { useSharedStore } from "@/store/sharedata";
|
||||
import {useRouter} from "vue-router";
|
||||
import {onMounted, ref, watch} from "vue";
|
||||
import {httpGet} from "@/utils/http";
|
||||
import {ElMessage} from "element-plus";
|
||||
import {checkSession, getLicenseInfo, getSystemInfo} from "@/store/cache";
|
||||
import {removeUserToken} from "@/store/session";
|
||||
import {useSharedStore} from "@/store/sharedata";
|
||||
import ConfigDialog from "@/components/UserInfoDialog.vue";
|
||||
import { showMessageError } from "@/utils/dialog";
|
||||
import {showMessageError} from "@/utils/dialog";
|
||||
|
||||
const isCollapse = ref(true);
|
||||
const router = useRouter();
|
||||
const logo = ref("");
|
||||
const mainNavs = ref([]);
|
||||
const moreNavs = ref([]);
|
||||
// const curPath = ref(router.currentRoute.value.path);
|
||||
const curPath = ref();
|
||||
|
||||
const title = ref("");
|
||||
|
@ -82,7 +82,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<div class="box-card">
|
||||
<h2>您推荐的用户</h2>
|
||||
|
||||
<div class="invite-logs">
|
||||
@ -91,6 +91,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
@ -87,7 +87,18 @@
|
||||
</div>
|
||||
|
||||
<div class="chat-box">
|
||||
<div class="top-bar">
|
||||
<!-- <div class="top-bar">
|
||||
<el-button @click="downloadImage" type="primary">
|
||||
<el-icon>
|
||||
<Download />
|
||||
</el-icon>
|
||||
<span>下载图片-</span>
|
||||
</el-button>
|
||||
</div> -->
|
||||
|
||||
<div class="body" id="markmap">
|
||||
<svg ref="svgRef" :style="{ height: rightBoxHeight + 'px' }" />
|
||||
<div id="toolbar">
|
||||
<el-button @click="downloadImage" type="primary">
|
||||
<el-icon>
|
||||
<Download />
|
||||
@ -95,10 +106,6 @@
|
||||
<span>下载图片</span>
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<div class="body" id="markmap">
|
||||
<svg ref="svgRef" :style="{ height: rightBoxHeight + 'px' }" />
|
||||
<div id="toolbar"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end task list box -->
|
||||
@ -119,7 +126,8 @@ import { Toolbar } from "markmap-toolbar";
|
||||
import { useSharedStore } from "@/store/sharedata";
|
||||
|
||||
const leftBoxHeight = ref(window.innerHeight - 105);
|
||||
const rightBoxHeight = ref(window.innerHeight - 115);
|
||||
//const rightBoxHeight = ref(window.innerHeight - 115);
|
||||
const rightBoxHeight = ref(window.innerHeight);
|
||||
|
||||
const prompt = ref("");
|
||||
const text = ref("");
|
||||
|
@ -87,7 +87,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-empty description="暂无数据" v-else :image="nodata" />
|
||||
|
||||
<div class="box-card">
|
||||
<h2 class="headline">消费账单</h2>
|
||||
|
||||
<div class="user-order">
|
||||
@ -95,6 +95,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<password-dialog v-if="isLogin" :show="showPasswordDialog" @hide="showPasswordDialog = false" />
|
||||
<bind-mobile v-if="isLogin" :show="showBindMobileDialog" @hide="showBindMobileDialog = false" />
|
||||
|
@ -358,7 +358,7 @@
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="公告配置" name="notice">
|
||||
<md-editor class="mgb20" v-model="notice" @on-upload-img="onUploadImg"/>
|
||||
<md-editor class="mgb20" v-model="notice" :theme="store.theme" @on-upload-img="onUploadImg"/>
|
||||
<el-form-item>
|
||||
<div style="padding-top: 10px;margin-left: 150px;">
|
||||
<el-button type="primary" @click="save('notice')">保存</el-button>
|
||||
@ -366,7 +366,7 @@
|
||||
</el-form-item>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="思维导图" name="mark_map">
|
||||
<md-editor class="mgb20" v-model="system['mark_map_text']" @on-upload-img="onUploadImg"/>
|
||||
<md-editor class="mgb20" :theme="store.theme" v-model="system['mark_map_text']" @on-upload-img="onUploadImg"/>
|
||||
<el-form-item>
|
||||
<div style="padding-top: 10px;margin-left: 150px;">
|
||||
<el-button type="primary" @click="save('system')">保存</el-button>
|
||||
@ -440,7 +440,8 @@
|
||||
|
||||
<el-tab-pane label="修复数据" name="fixData">
|
||||
<div class="container">
|
||||
<!-- <p class="text">有些版本升级的时候更新了数据库的结构,比如字段名字改了,需要把之前的字段的值转移到其他字段,这些无法通过简单的 SQL 语句可以实现的,需要手动写程序修正数据。</p>-->
|
||||
<p class="text">有些版本升级的时候更新了数据库的结构,比如字段名字改了,需要把之前的字段的值转移到其他字段,这些无法通过简单的
|
||||
SQL 语句可以实现的,需要手动写程序修正数据。</p>
|
||||
|
||||
<!-- <p class="text">当前版本 v4.1.4 需要修正用户数据,增加了 mobile 和 email 字段,需要把之前用手机号或者邮箱注册的用户的 username 字段数据初始化到 mobile 或者 email 字段。另外,需要把订单的支付渠道从名字称修正为 key。</p>-->
|
||||
|
||||
@ -464,6 +465,7 @@ import 'md-editor-v3/lib/style.css';
|
||||
import Menu from "@/views/admin/Menu.vue";
|
||||
import {copyObj, dateFormat} from "@/utils/libs";
|
||||
import ItemsInput from "@/components/ui/ItemsInput.vue";
|
||||
import {useSharedStore} from "@/store/sharedata";
|
||||
|
||||
const activeName = ref('basic')
|
||||
const system = ref({models: []})
|
||||
@ -479,6 +481,7 @@ const mjModels = ref([
|
||||
{name: "快速(Fast)", value: "fast"},
|
||||
{name: "急速(Turbo)", value: "turbo"},
|
||||
])
|
||||
const store = useSharedStore()
|
||||
|
||||
onMounted(() => {
|
||||
// 加载系统配置
|
||||
|
Loading…
Reference in New Issue
Block a user