-
-
+
+
{{ title }}
diff --git a/web/src/router.js b/web/src/router.js
index 6cfd0ec3..decbb959 100644
--- a/web/src/router.js
+++ b/web/src/router.js
@@ -5,14 +5,14 @@
// * @Author yangjian102621@163.com
// * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-import { createRouter, createWebHistory } from "vue-router";
+import {createRouter, createWebHistory} from "vue-router";
const routes = [
{
name: "Index",
path: "/",
meta: { title: "首页" },
- component: () => import("@/views/Index.vue")
+ component: () => import("@/views/Index.vue"),
},
{
name: "home",
@@ -24,136 +24,136 @@ const routes = [
name: "chat",
path: "/chat",
meta: { title: "创作中心" },
- component: () => import("@/views/ChatPlus.vue")
+ component: () => import("@/views/ChatPlus.vue"),
},
{
name: "chat-id",
path: "/chat/:id",
meta: { title: "创作中心" },
- component: () => import("@/views/ChatPlus.vue")
+ component: () => import("@/views/ChatPlus.vue"),
},
{
name: "image-mj",
path: "/mj",
meta: { title: "MidJourney 绘画中心" },
- component: () => import("@/views/ImageMj.vue")
+ component: () => import("@/views/ImageMj.vue"),
},
{
name: "image-sd",
path: "/sd",
meta: { title: "stable diffusion 绘画中心" },
- component: () => import("@/views/ImageSd.vue")
+ component: () => import("@/views/ImageSd.vue"),
},
{
name: "member",
path: "/member",
meta: { title: "会员充值中心" },
- component: () => import("@/views/Member.vue")
+ component: () => import("@/views/Member.vue"),
},
{
name: "chat-app",
path: "/apps",
meta: { title: "应用中心" },
- component: () => import("@/views/ChatApps.vue")
+ component: () => import("@/views/ChatApps.vue"),
},
{
name: "images",
path: "/images-wall",
meta: { title: "作品展示" },
- component: () => import("@/views/ImagesWall.vue")
+ component: () => import("@/views/ImagesWall.vue"),
},
{
name: "user-invitation",
path: "/invite",
meta: { title: "推广计划" },
- component: () => import("@/views/Invitation.vue")
+ component: () => import("@/views/Invitation.vue"),
},
{
name: "powerLog",
path: "/powerLog",
meta: { title: "消费日志" },
- component: () => import("@/views/PowerLog.vue")
+ component: () => import("@/views/PowerLog.vue"),
},
{
name: "xmind",
path: "/xmind",
meta: { title: "思维导图" },
- component: () => import("@/views/MarkMap.vue")
+ component: () => import("@/views/MarkMap.vue"),
},
{
name: "dalle",
path: "/dalle",
meta: { title: "DALLE-3" },
- component: () => import("@/views/Dalle.vue")
+ component: () => import("@/views/Dalle.vue"),
},
{
name: "suno",
path: "/suno",
meta: { title: "Suno音乐创作" },
- component: () => import("@/views/Suno.vue")
+ component: () => import("@/views/Suno.vue"),
},
{
name: "ExternalLink",
path: "/external",
- component: () => import("@/views/ExternalPage.vue")
+ component: () => import("@/views/ExternalPage.vue"),
},
{
name: "song",
path: "/song/:id",
meta: { title: "Suno音乐播放" },
- component: () => import("@/views/Song.vue")
+ component: () => import("@/views/Song.vue"),
},
{
name: "luma",
path: "/luma",
meta: { title: "Luma视频创作" },
- component: () => import("@/views/Luma.vue")
- }
- ]
+ component: () => import("@/views/Luma.vue"),
+ },
+ ],
},
{
name: "chat-export",
path: "/chat/export",
meta: { title: "导出会话记录" },
- component: () => import("@/views/ChatExport.vue")
+ component: () => import("@/views/ChatExport.vue"),
},
{
name: "login",
path: "/login",
meta: { title: "用户登录" },
- component: () => import("@/views/Login.vue")
+ component: () => import("@/views/Login.vue"),
},
{
name: "login-callback",
path: "/login/callback",
meta: { title: "用户登录" },
- component: () => import("@/views/LoginCallback.vue")
+ component: () => import("@/views/LoginCallback.vue"),
},
{
name: "register",
path: "/register",
meta: { title: "用户注册" },
- component: () => import("@/views/Register.vue")
+ component: () => import("@/views/Register.vue"),
},
{
name: "resetpassword",
path: "/resetpassword",
meta: { title: "重置密码" },
- component: () => import("@/views/Resetpassword.vue")
+ component: () => import("@/views/Resetpassword.vue"),
},
{
path: "/admin/login",
name: "admin-login",
meta: { title: "控制台登录" },
- component: () => import("@/views/admin/Login.vue")
+ component: () => import("@/views/admin/Login.vue"),
},
{
path: "/payReturn",
name: "pay-return",
meta: { title: "支付回调" },
- component: () => import("@/views/PayReturn.vue")
+ component: () => import("@/views/PayReturn.vue"),
},
{
name: "admin",
@@ -166,118 +166,112 @@ const routes = [
path: "/admin/dashboard",
name: "admin-dashboard",
meta: { title: "仪表盘" },
- component: () => import("@/views/admin/Dashboard.vue")
+ component: () => import("@/views/admin/Dashboard.vue"),
},
{
path: "/admin/system",
name: "admin-system",
meta: { title: "系统设置" },
- component: () => import("@/views/admin/SysConfig.vue")
+ component: () => import("@/views/admin/SysConfig.vue"),
},
{
path: "/admin/user",
name: "admin-user",
meta: { title: "用户管理" },
- component: () => import("@/views/admin/Users.vue")
+ component: () => import("@/views/admin/Users.vue"),
},
{
path: "/admin/app",
name: "admin-app",
meta: { title: "应用列表" },
- component: () => import("@/views/admin/Apps.vue")
+ component: () => import("@/views/admin/Apps.vue"),
},
{
path: "/admin/app/type",
name: "admin-app-type",
meta: { title: "应用分类" },
- component: () => import("@/views/admin/AppType.vue")
+ component: () => import("@/views/admin/AppType.vue"),
},
{
path: "/admin/apikey",
name: "admin-apikey",
meta: { title: "API-KEY 管理" },
- component: () => import("@/views/admin/ApiKey.vue")
+ component: () => import("@/views/admin/ApiKey.vue"),
},
{
path: "/admin/chat/model",
name: "admin-chat-model",
meta: { title: "语言模型" },
- component: () => import("@/views/admin/ChatModel.vue")
+ component: () => import("@/views/admin/ChatModel.vue"),
},
{
path: "/admin/product",
name: "admin-product",
meta: { title: "充值产品" },
- component: () => import("@/views/admin/Product.vue")
+ component: () => import("@/views/admin/Product.vue"),
},
{
path: "/admin/order",
name: "admin-order",
meta: { title: "充值订单" },
- component: () => import("@/views/admin/Order.vue")
+ component: () => import("@/views/admin/Order.vue"),
},
{
path: "/admin/redeem",
name: "admin-redeem",
meta: { title: "兑换码管理" },
- component: () => import("@/views/admin/Redeem.vue")
+ component: () => import("@/views/admin/Redeem.vue"),
},
{
path: "/admin/loginLog",
name: "admin-loginLog",
meta: { title: "登录日志" },
- component: () => import("@/views/admin/LoginLog.vue")
+ component: () => import("@/views/admin/LoginLog.vue"),
},
{
path: "/admin/functions",
name: "admin-functions",
meta: { title: "函数管理" },
- component: () => import("@/views/admin/Functions.vue")
+ component: () => import("@/views/admin/Functions.vue"),
},
{
path: "/admin/chats",
name: "admin-chats",
meta: { title: "对话管理" },
- component: () => import("@/views/admin/ChatList.vue")
+ component: () => import("@/views/admin/ChatList.vue"),
},
{
path: "/admin/images",
name: "admin-images",
meta: { title: "绘图管理" },
- component: () => import("@/views/admin/ImageList.vue")
+ component: () => import("@/views/admin/ImageList.vue"),
},
{
path: "/admin/medias",
name: "admin-medias",
meta: { title: "音视频管理" },
- component: () => import("@/views/admin/Medias.vue")
+ component: () => import("@/views/admin/Medias.vue"),
},
{
path: "/admin/powerLog",
name: "admin-power-log",
meta: { title: "算力日志" },
- component: () => import("@/views/admin/PowerLog.vue")
+ component: () => import("@/views/admin/PowerLog.vue"),
},
{
path: "/admin/manger",
name: "admin-manger",
meta: { title: "管理员" },
- component: () => import("@/views/admin/Manager.vue")
- }
- ]
+ component: () => import("@/views/admin/Manager.vue"),
+ },
+ ],
},
{
name: "mobile-login",
path: "/mobile/login",
meta: { title: "用户登录" },
- component: () => import("@/views/Login.vue")
- },
- {
- name: "mobile-register",
- path: "/mobile/register",
- meta: { title: "用户注册" },
- component: () => import("@/views/Register.vue")
+ component: () => import("@/views/mobile/Login.vue"),
},
{
name: "mobile",
@@ -289,65 +283,65 @@ const routes = [
{
path: "/mobile/index",
name: "mobile-index",
- component: () => import("@/views/mobile/Index.vue")
+ component: () => import("@/views/mobile/Index.vue"),
},
{
path: "/mobile/chat",
name: "mobile-chat",
- component: () => import("@/views/mobile/ChatList.vue")
+ component: () => import("@/views/mobile/ChatList.vue"),
},
{
path: "/mobile/image",
name: "mobile-image",
- component: () => import("@/views/mobile/Image.vue")
+ component: () => import("@/views/mobile/Image.vue"),
},
{
path: "/mobile/profile",
name: "mobile-profile",
- component: () => import("@/views/mobile/Profile.vue")
+ component: () => import("@/views/mobile/Profile.vue"),
},
{
path: "/mobile/imgWall",
name: "mobile-img-wall",
- component: () => import("@/views/mobile/pages/ImgWall.vue")
+ component: () => import("@/views/mobile/pages/ImgWall.vue"),
},
{
path: "/mobile/chat/session",
name: "mobile-chat-session",
- component: () => import("@/views/mobile/ChatSession.vue")
+ component: () => import("@/views/mobile/ChatSession.vue"),
},
{
path: "/mobile/chat/export",
name: "mobile-chat-export",
- component: () => import("@/views/mobile/ChatExport.vue")
- }
- ]
+ component: () => import("@/views/mobile/ChatExport.vue"),
+ },
+ ],
},
{
name: "test",
path: "/test",
meta: { title: "测试页面" },
- component: () => import("@/views/Test.vue")
+ component: () => import("@/views/Test.vue"),
},
{
name: "test2",
path: "/test2",
meta: { title: "测试页面" },
- component: () => import("@/views/RealtimeTest.vue")
+ component: () => import("@/views/RealtimeTest.vue"),
},
{
name: "NotFound",
path: "/:all(.*)",
meta: { title: "页面没有找到" },
- component: () => import("@/views/404.vue")
- }
+ component: () => import("@/views/404.vue"),
+ },
];
// console.log(MY_VARIABLE)
const router = createRouter({
history: createWebHistory(),
- routes: routes
+ routes: routes,
});
let prevRoute = null;
diff --git a/web/src/utils/dialog.js b/web/src/utils/dialog.js
index 596bf8c1..b738ded9 100644
--- a/web/src/utils/dialog.js
+++ b/web/src/utils/dialog.js
@@ -1,51 +1,51 @@
/**
* Util lib functions
*/
-import {showConfirmDialog, showFailToast, showSuccessToast, showToast, showLoadingToast, closeToast} from "vant";
+import {closeToast, showConfirmDialog, showFailToast, showLoadingToast, showSuccessToast, showToast} from "vant";
import {isMobile} from "@/utils/libs";
import {ElMessage} from "element-plus";
export function showLoginDialog(router) {
- showConfirmDialog({
- title: '登录',
- message:
- '此操作需要登录才能进行,前往登录?',
- }).then(() => {
- router.push("/login")
- }).catch(() => {
+ showConfirmDialog({
+ title: "登录",
+ message: "此操作需要登录才能进行,前往登录?",
+ })
+ .then(() => {
+ router.push("/login");
+ })
+ .catch(() => {
// on cancel
});
}
export function showMessageOK(message) {
- if (isMobile()) {
- showSuccessToast(message)
- } else {
- ElMessage.success(message)
- }
+ if (isMobile()) {
+ showSuccessToast(message);
+ } else {
+ ElMessage.success(message);
+ }
}
-
export function showMessageInfo(message) {
- if (isMobile()) {
- showToast(message)
- } else {
- ElMessage.info(message)
- }
+ if (isMobile()) {
+ showToast(message);
+ } else {
+ ElMessage.info(message);
+ }
}
export function showMessageError(message) {
- if (isMobile()) {
- showFailToast(message)
- } else {
- ElMessage.error(message)
- }
+ if (isMobile()) {
+ showFailToast({message: message, duration: 0});
+ } else {
+ ElMessage.error(message);
+ }
}
-export function showLoading(message = '正在处理...') {
- showLoadingToast({ message: message, forbidClick: true, duration: 0 })
- }
-
- export function closeLoading() {
- closeToast()
- }
\ No newline at end of file
+export function showLoading(message = "正在处理...") {
+ showLoadingToast({message: message, forbidClick: true, duration: 0});
+}
+
+export function closeLoading() {
+ closeToast();
+}
diff --git a/web/src/views/Home.vue b/web/src/views/Home.vue
index 9752c2a3..a46e3e77 100644
--- a/web/src/views/Home.vue
+++ b/web/src/views/Home.vue
@@ -9,8 +9,10 @@