This commit is contained in:
sijinhui 2024-09-19 22:31:21 +08:00
parent c6c78b7798
commit 8fedb17183
20 changed files with 26 additions and 66 deletions

View File

@ -1,5 +1,5 @@
import { NextRequest, NextResponse } from "next/server"; import { NextRequest, NextResponse } from "next/server";
import { auth, getIP } from "@/app/api/auth"; import { auth } from "@/app/api/auth";
import { ModelProvider } from "@/app/constant"; import { ModelProvider } from "@/app/constant";
import { requestLog } from "@/app/api/common"; import { requestLog } from "@/app/api/common";

View File

@ -9,7 +9,7 @@ import {
import { prettyObject } from "@/app/utils/format"; import { prettyObject } from "@/app/utils/format";
import { NextRequest, NextResponse } from "next/server"; import { NextRequest, NextResponse } from "next/server";
import { auth } from "./auth"; import { auth } from "./auth";
import { requestOpenai, requestLog } from "./common"; import { requestOpenai } from "./common";
// const ALLOWED_PATH = new Set(Object.values({ ...OpenaiPath, ...AZURE_PATH })); // const ALLOWED_PATH = new Set(Object.values({ ...OpenaiPath, ...AZURE_PATH }));
const ALLOWD_PATH = new Set(Object.values(OpenaiPath)); const ALLOWD_PATH = new Set(Object.values(OpenaiPath));

View File

@ -2,7 +2,7 @@
import React, { ReactNode, useEffect, useState } from "react"; import React, { ReactNode, useEffect, useState } from "react";
import { MenuFoldOutlined, MenuUnfoldOutlined } from "@ant-design/icons"; import { MenuFoldOutlined, MenuUnfoldOutlined } from "@ant-design/icons";
import { Layout, Menu, Button, theme, ConfigProvider, ThemeConfig } from "antd"; import { Layout, Button, theme, ConfigProvider } from "antd";
import SideBar from "../components/sidebar"; import SideBar from "../components/sidebar";
const { Header, Sider, Content } = Layout; const { Header, Sider, Content } = Layout;

View File

@ -1,8 +1,6 @@
"use client"; "use client";
import type { FormProps } from "antd";
import { import {
Button, Button,
Checkbox,
Form, Form,
Input, Input,
Modal, Modal,

View File

@ -1,6 +1,6 @@
"use client"; "use client";
import React, { useEffect, useState } from "react"; import React, { useState } from "react";
// import Link from "next/link"; // import Link from "next/link";
import { useRouter, usePathname } from "next/navigation"; import { useRouter, usePathname } from "next/navigation";

View File

@ -13,7 +13,7 @@ import {
Modal, Modal,
Form, Form,
} from "antd"; } from "antd";
import type { GetRef, TableColumnsType } from "antd"; import type { TableColumnsType } from "antd";
import { LockOutlined } from "@ant-design/icons"; import { LockOutlined } from "@ant-design/icons";
// import { headers } from 'next/headers' // import { headers } from 'next/headers'
import type { NotificationArgsProps } from "antd"; import type { NotificationArgsProps } from "antd";

View File

@ -1,7 +1,5 @@
import Image from "next/image";
import LoginByGithub from "./loginByGithub"; import LoginByGithub from "./loginByGithub";
import UserLoginCore from "./user-login-core"; import UserLoginCore from "./user-login-core";
import { Suspense } from "react";
export default function LoginPage() { export default function LoginPage() {
return ( return (

View File

@ -1,18 +1,17 @@
"use client"; "use client";
import { redirect } from "next/navigation";
// import { getSession } from "@/lib/auth"; // import { getSession } from "@/lib/auth";
import { useSession } from "next-auth/react"; import { useSession } from "next-auth/react";
import { Button, Checkbox, Form, FormProps, Input } from "antd"; import { Form, FormProps, Input } from "antd";
import { LockOutlined } from "@ant-design/icons"; import { LockOutlined } from "@ant-design/icons";
import React, { useState } from "react"; // import React from "react";
import { signOut } from "next-auth/react"; import { signOut } from "next-auth/react";
type LoginType = "phone" | "account"; type LoginType = "phone" | "account";
export default function SetPasswordPage() { export default function SetPasswordPage() {
const [loading, setLoading] = useState(false); // const [loading, setLoading] = useState(false);
const { data: session, status } = useSession(); const { data: session, status } = useSession();
const [showOldPassword, setShowOldPassword] = useState<Boolean>(true); // const [showOldPassword, setShowOldPassword] = useState<Boolean>(true);
const [setPasswordForm] = Form.useForm(); const [setPasswordForm] = Form.useForm();
// if (typeof window !== "undefined" && loading) return null; // if (typeof window !== "undefined" && loading) return null;
// console.log("2222222", session); // console.log("2222222", session);
@ -34,7 +33,7 @@ export default function SetPasswordPage() {
"user[password_confirmation]"?: string; "user[password_confirmation]"?: string;
}; };
const onFinish: FormProps<FieldType>["onFinish"] = (values) => { const onFinish: FormProps<FieldType>["onFinish"] = (values) => {
setLoading(true); // setLoading(true);
// console.log('-------------', values) // console.log('-------------', values)
// @ts-expect-error // @ts-expect-error
fetch(`/api/user/${session?.user?.id}`, { fetch(`/api/user/${session?.user?.id}`, {

View File

@ -1,24 +1,17 @@
"use client"; "use client";
import { signIn } from "next-auth/react"; import { signIn } from "next-auth/react";
import React, { useState, useEffect, useRef, use, useMemo } from "react"; import React, { useState, useEffect, useMemo } from "react";
import { isName } from "@/lib/auth_list"; import { isName } from "@/lib/auth_list";
import { import {
Form, Form,
Tabs, Tabs,
Input, Input,
Button,
InputRef,
notification as notificationModule, notification as notificationModule,
NotificationArgsProps, NotificationArgsProps,
} from "antd"; } from "antd";
import { import { UserOutlined, MailOutlined, LoadingOutlined } from "@ant-design/icons";
UserOutlined, import type { FormProps } from "antd";
MailOutlined,
LoadingOutlined,
AudioOutlined,
} from "@ant-design/icons";
import type { FormProps, TabsProps } from "antd";
import { SignInOptions } from "next-auth/react"; import { SignInOptions } from "next-auth/react";
import { getSession } from "next-auth/react"; import { getSession } from "next-auth/react";

View File

@ -1,5 +1,5 @@
import styles from "./gpt-prompts.module.scss"; import styles from "./gpt-prompts.module.scss";
import { Flex, Radio, Card } from "antd"; import { Flex, Card } from "antd";
export default function GptPrompts() { export default function GptPrompts() {
return ( return (

View File

@ -15,7 +15,7 @@ import dynamic from "next/dynamic";
import { Path, SlotID } from "../constant"; import { Path, SlotID } from "../constant";
import { ErrorBoundary } from "./error"; import { ErrorBoundary } from "./error";
import { getISOLang, getLang } from "../locales"; import { getISOLang } from "../locales";
import { import {
HashRouter as Router, HashRouter as Router,

View File

@ -6,7 +6,6 @@ import styles from "./new-chat.module.scss";
import LeftIcon from "../icons/left.svg"; import LeftIcon from "../icons/left.svg";
import LightningIcon from "../icons/lightning.svg"; import LightningIcon from "../icons/lightning.svg";
import EyeIcon from "../icons/eye.svg";
import { useLocation, useNavigate } from "react-router-dom"; import { useLocation, useNavigate } from "react-router-dom";
import { Mask, useMaskStore } from "../store/mask"; import { Mask, useMaskStore } from "../store/mask";

View File

@ -1,6 +1,6 @@
import Image from "next/image"; import Image from "next/image";
import React from "react"; import React from "react";
import { useLocation, useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import styles from "@/app/components/mask.module.scss"; import styles from "@/app/components/mask.module.scss";
import Locale from "@/app/locales"; import Locale from "@/app/locales";
import { IconButton } from "@/app/components/button"; import { IconButton } from "@/app/components/button";

View File

@ -36,7 +36,7 @@ import { removeImage } from "@/app/utils/chat";
import { SideBar } from "./sd-sidebar"; import { SideBar } from "./sd-sidebar";
import { WindowContent } from "@/app/components/home"; import { WindowContent } from "@/app/components/home";
import { params } from "./sd-panel"; import { params } from "./sd-panel";
import Image from "next/image";
function getSdTaskStatus(item: any) { function getSdTaskStatus(item: any) {
let s: string; let s: string;
let color: Property.Color | undefined = undefined; let color: Property.Color | undefined = undefined;

View File

@ -25,20 +25,12 @@ import React, {
useRef, useRef,
} from "react"; } from "react";
import { IconButton } from "./button"; import { IconButton } from "./button";
import { import { List as AntList, Row, Col } from "antd";
Card as AntCard,
List as AntList,
Row,
Col,
Grid,
Avatar,
Button,
} from "antd";
import { OpenAIOutlined, GoogleOutlined } from "@ant-design/icons"; import { OpenAIOutlined, GoogleOutlined } from "@ant-design/icons";
// 自定义图标 // 自定义图标
import Icon from "@ant-design/icons"; import Icon from "@ant-design/icons";
const { Meta } = AntCard; // const { Meta } = AntCard;
import { CheckCard } from "@ant-design/pro-components"; import { CheckCard } from "@ant-design/pro-components";
import { CheckGroupValueType } from "@ant-design/pro-card/es/components/CheckCard/Group"; import { CheckGroupValueType } from "@ant-design/pro-card/es/components/CheckCard/Group";

View File

@ -1,4 +1,4 @@
import { Button, Input, Space } from "antd"; import { Button, Space } from "antd";
import { import {
Dispatch, Dispatch,
SetStateAction, SetStateAction,

View File

@ -6,29 +6,10 @@ import { getClientConfig } from "./config/client";
import type { Metadata, Viewport } from "next"; import type { Metadata, Viewport } from "next";
import { SpeedInsights } from "@vercel/speed-insights/next"; import { SpeedInsights } from "@vercel/speed-insights/next";
import { getServerSideConfig } from "./config/server"; import { getServerSideConfig } from "./config/server";
// eslint-disable-next-line unused-imports/no-unused-imports
import { GoogleTagManager } from "@next/third-parties/google"; import { GoogleTagManager } from "@next/third-parties/google";
const serverConfig = getServerSideConfig(); const serverConfig = getServerSideConfig();
import { Providers } from "@/app/providers"; import { Providers } from "@/app/providers";
// import { Viewport } from "next";
// export const metadata: Metadata = {
// title: "NextChat",
// description: "Your personal ChatGPT Chat Bot.",
// appleWebApp: {
// title: "NextChat",
// statusBarStyle: "default",
// },
// };
//
// export const viewport: Viewport = {
// width: "device-width",
// initialScale: 1,
// maximumScale: 1,
// themeColor: [
// { media: "(prefers-color-scheme: light)", color: "#fafafa" },
// { media: "(prefers-color-scheme: dark)", color: "#151515" },
// ],
// };
export const viewport: Viewport = { export const viewport: Viewport = {
themeColor: [ themeColor: [

View File

@ -1,6 +1,6 @@
import { Mask } from "../store/mask"; import { Mask } from "../store/mask";
import { CN_MASKS } from "./cn"; // import { CN_MASKS } from "./cn";
import { EN_MASKS } from "./en"; // import { EN_MASKS } from "./en";
import { type BuiltinMask } from "./typing"; import { type BuiltinMask } from "./typing";
export { type BuiltinMask } from "./typing"; export { type BuiltinMask } from "./typing";

View File

@ -1,6 +1,6 @@
import { useMemo } from "react"; import { useMemo } from "react";
import { useAccessStore, useAppConfig } from "../store"; import { useAccessStore, useAppConfig } from "../store";
import { collectModels, collectModelsWithDefaultModel } from "./model"; import { collectModelsWithDefaultModel } from "./model";
import { useSession } from "next-auth/react"; import { useSession } from "next-auth/react";
export function useAllModels() { export function useAllModels() {

View File

@ -7,8 +7,8 @@ import prisma from "@/lib/prisma";
import { User } from "@prisma/client"; import { User } from "@prisma/client";
import { isEmail, isName } from "@/lib/auth_list"; import { isEmail, isName } from "@/lib/auth_list";
import {createTransport} from "nodemailer"; import {createTransport} from "nodemailer";
import { comparePassword, hashPassword } from "@/lib/utils"; import { comparePassword } from "@/lib/utils";
import { randomInt, randomBytes } from "crypto"; import { randomBytes } from "crypto";
const SECURE_COOKIES:boolean = !!process.env.SECURE_COOKIES; const SECURE_COOKIES:boolean = !!process.env.SECURE_COOKIES;
let verificationTokens = new Map(); let verificationTokens = new Map();