05270856
This commit is contained in:
parent
8aa86268de
commit
3b6366b46c
|
@ -0,0 +1,15 @@
|
|||
ELASTICSEARCH_NODE=http://localhost:9200
|
||||
ELASTICSEARCH_USER=elastic
|
||||
ELASTICSEARCH_PASSWORD=changeme
|
||||
MINIO_ENDPOINT=localhost
|
||||
MINIO_PORT=9000
|
||||
MINIO_USE_SSL=false
|
||||
MINIO_ACCESS_KEY=minioadmin
|
||||
MINIO_SECRET_KEY=minioadmin
|
||||
REDIS_PASSWORD=nice
|
||||
|
||||
|
||||
# OIDC_COOKIE_KEY=
|
||||
OIDC_CLIENT_ID=your-client-id
|
||||
OIDC_CLIENT_SECRET=your-client-secret
|
||||
OIDC_REDIRECT_URI=https://your-frontend.com/callback
|
|
@ -2,14 +2,16 @@ import { Hono } from 'hono'
|
|||
import { logger } from 'hono/logger'
|
||||
import { contextStorage, getContext } from 'hono/context-storage'
|
||||
import { prettyJSON } from 'hono/pretty-json'
|
||||
import { cors } from 'hono/cors'
|
||||
|
||||
import { trpcServer } from '@hono/trpc-server'
|
||||
import { appRouter } from './trpc'
|
||||
|
||||
import Redis from 'ioredis'
|
||||
import redis from './redis'
|
||||
import minioClient from './minio'
|
||||
import { Client } from 'minio'
|
||||
import oidc from './oidc/provider'
|
||||
import { appRouter } from './trpc'
|
||||
type Env = {
|
||||
Variables: {
|
||||
redis: Redis
|
||||
|
@ -19,6 +21,11 @@ type Env = {
|
|||
|
||||
const app = new Hono<Env>()
|
||||
|
||||
app.use('*', cors({
|
||||
origin: 'http://localhost:3001',
|
||||
credentials: true,
|
||||
}))
|
||||
|
||||
app.use('*', async (c, next) => {
|
||||
c.set('redis', redis)
|
||||
c.set('minio', minioClient)
|
||||
|
@ -38,9 +45,6 @@ app.use(
|
|||
})
|
||||
)
|
||||
|
||||
app.get('/', (c) => {
|
||||
return c.text('Hello Hono!')
|
||||
})
|
||||
app.use('/oidc/*', async (c, next) => {
|
||||
// @ts-ignore
|
||||
await oidc.callback(c.req.raw, c.res.raw)
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
import { z } from 'zod'
|
||||
import { initTRPC } from '@trpc/server'
|
||||
import { userRouter } from './user/user.trpc'
|
||||
|
||||
const t = initTRPC.create()
|
||||
|
||||
export const publicProcedure = t.procedure
|
||||
export const router = t.router
|
||||
|
||||
export const appRouter = router({
|
||||
user: userRouter
|
||||
})
|
||||
|
||||
export type AppRouter = typeof appRouter
|
|
@ -0,0 +1,6 @@
|
|||
import { initTRPC } from '@trpc/server'
|
||||
const t = initTRPC.create()
|
||||
|
||||
export const publicProcedure = t.procedure
|
||||
export const router = t.router
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
import { userRouter } from "../user/user.trpc"
|
||||
import { router } from "./base"
|
||||
|
||||
export const appRouter = router({
|
||||
user: userRouter
|
||||
})
|
||||
|
||||
export type AppRouter = typeof appRouter
|
|
@ -1,7 +1,8 @@
|
|||
import { publicProcedure, router } from "../trpc";
|
||||
import { prisma } from "@repo/db";
|
||||
import { publicProcedure, router } from "../trpc/base"
|
||||
|
||||
export const userRouter = router({
|
||||
getUser: publicProcedure.query(async ({ ctx }) => {
|
||||
return prisma.user.findMany()
|
||||
|
||||
return '123'
|
||||
})
|
||||
})
|
|
@ -0,0 +1 @@
|
|||
DATABASE_URL="postgresql://root:Letusdoit000@localhost:5432/app?schema=public"
|
|
@ -1,20 +1,8 @@
|
|||
import { Geist, Geist_Mono } from 'next/font/google';
|
||||
|
||||
import '@repo/ui/globals.css';
|
||||
|
||||
import { Providers } from '@/components/providers';
|
||||
import type { Metadata } from 'next';
|
||||
|
||||
const fontSans = Geist({
|
||||
subsets: ['latin'],
|
||||
variable: '--font-sans',
|
||||
});
|
||||
|
||||
const fontMono = Geist_Mono({
|
||||
subsets: ['latin'],
|
||||
variable: '--font-mono',
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Create Next App',
|
||||
description: 'Generated by create next app',
|
||||
|
@ -27,7 +15,7 @@ export default function RootLayout({
|
|||
}>) {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<body className={`${fontSans.variable} ${fontMono.variable} font-sans antialiased `}>
|
||||
<body className={`font-sans antialiased `}>
|
||||
<Providers>{children}</Providers>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
export default async function Home() {
|
||||
|
||||
return <div>
|
||||
123
|
||||
</div>;
|
||||
'use client';
|
||||
import { useTRPC } from '@repo/client';
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
|
||||
export default function Home() {
|
||||
const trpc = useTRPC();
|
||||
const userQuery = useQuery(trpc.user.getUser.queryOptions());
|
||||
console.log(userQuery.data);
|
||||
return <div>123</div>;
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
import * as React from 'react';
|
||||
import { ThemeProvider as NextThemesProvider } from 'next-themes';
|
||||
import QueryProvider from '@/providers/query-provider';
|
||||
|
||||
export function Providers({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
|
@ -12,7 +13,7 @@ export function Providers({ children }: { children: React.ReactNode }) {
|
|||
disableTransitionOnChange
|
||||
enableColorScheme
|
||||
>
|
||||
{children}
|
||||
<QueryProvider>{children}</QueryProvider>
|
||||
</NextThemesProvider>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ import { loggerLink, httpBatchLink, createTRPCClient } from '@trpc/client';
|
|||
import { TRPCProvider } from '@repo/client';
|
||||
import { useMemo, useState } from 'react';
|
||||
import superjson from 'superjson';
|
||||
import { AppRouter } from '@repo/backend/trpc';
|
||||
import { AppRouter } from '@repo/backend/trpc/index';
|
||||
|
||||
export default function QueryProvider({ children }) {
|
||||
// 将accessToken设置为空字符串
|
||||
|
|
|
@ -9,13 +9,6 @@
|
|||
"dist",
|
||||
"src"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "tsup",
|
||||
"dev": "tsup --watch",
|
||||
"dev-static": "tsup --no-watch",
|
||||
"clean": "rimraf dist",
|
||||
"typecheck": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
|
||||
},
|
||||
|
@ -30,7 +23,6 @@
|
|||
"axios": "^1.7.2",
|
||||
"dayjs": "^1.11.12",
|
||||
"react": "^19.1.0"
|
||||
|
||||
},
|
||||
"devDependencies": {
|
||||
"rimraf": "^6.0.1",
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { AppRouter } from "@repo/backend/trpc"
|
||||
import { AppRouter } from "@repo/backend/trpc/index"
|
||||
import { inferReactQueryProcedureOptions } from "@trpc/react-query";
|
||||
import { inferRouterInputs, inferRouterOutputs } from "@trpc/server";
|
||||
import { createTRPCContext } from '@trpc/tanstack-react-query';
|
||||
export type ReactQueryOptions = inferReactQueryProcedureOptions<AppRouter>;
|
||||
export type RouterInputs = inferRouterInputs<AppRouter>;
|
||||
export type RouterOutputs = inferRouterOutputs<AppRouter>;
|
||||
export const { TRPCProvider, useTRPC, useTRPCClient } = createTRPCContext<AppRouter>();
|
||||
export const { TRPCProvider, useTRPC, useTRPCClient } = createTRPCContext<AppRouter>();
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import { QueryClient } from "@tanstack/react-query";
|
||||
import { getQueryKey } from "@trpc/react-query";
|
||||
import { useTRPC } from "./trpc";
|
||||
|
||||
/**
|
||||
* 根据查询客户端缓存生成唯一数据列表的函数。
|
||||
|
|
Loading…
Reference in New Issue