diff --git a/.gitignore b/.gitignore index f9499b5b..da97d7d4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.env +**/.env # IDE .vscode/ .idea/ diff --git a/README.md b/README.md index 8d972ff2..b86a67f9 100644 --- a/README.md +++ b/README.md @@ -1,77 +1,66 @@ -> ⚠️ 本项目为 [lmobest](https://lmo.best) 的开源版本,目前并没有发布正式版 -> -> 用户层的逻辑已经实现完毕,管理页面(后台)仍在开发中。 -> -> 可以关注[频道](https://t.me/s/ChatGPTAdminWebChannel)获取最新消息。 -
- 📚 部署文档 - | -- 🎦 演示站点 - | -- 💬 反馈 - | -- 🌐 群组 & 频道 - | -
++ +{this.state.error?.toString()}
+{this.state.info?.componentStack}
+
{mdText}+
+ {
+ if (ref.current) {
+ const code = ref.current.innerText;
+ copyToClipboard(code);
+ }
+ }}
+ >
+ {props.children}
+
+ );
+}
+
+function _MarkDownContent(props: { content: string }) {
+ return (
+ {mdText}-
- {session.memoryPrompt || Locale.Memory.EmptyContent} --
- {
- if (ref.current) {
- const code = ref.current.innerText;
- copyToClipboard(code);
- }
- }}
- >
- {props.children}
-
- );
-}
-
-/**
- * 渲染 Markdown 文本
- * @param props
- * @constructor
- */
-export function Markdown(props: { content: string }) {
- return (
- 订单号 | -开始日期 | -截止日期 | -订阅计划 | -
---|---|---|---|
{row.tradeOrderId} | -{renderDate(row.startsAt)} | -{renderDate(row.endsAt)} | -{renderPlan(row.plan)} | -
{value.join(",")}
, - }, - { - prop: "resetChances", - label: "剩余可重置次数", - render: (value: number, _: any) =>{value}
, - }, - { - prop: "createdAt", - label: "注册时间", - render: timeRender, - }, - { - prop: "lastLoginAt", - label: "上次登录时间", - render: timeRender, - }, -]; - -export const orderColumns = [ - { - prop: "order", - label: "订单号", - }, - { - prop: "createdAt", - label: "创建时间", - render: (text: number) =>{new Date(text).toLocaleString()}
, - }, - { - prop: "email", - label: "用户邮箱", - }, - { - prop: "plan", - label: "计划", - // render: (plan: string) => getPlanTag(plan), - }, - { - prop: "status", - label: "状态", - render: (status: string) => { - const theme = useTheme(); - - switch (status) { - case "pending": // FIXME fix color - return404
; - } - const pageChange = (page: number) => { - const gap = page - currentPage; - if (gap < 0) { - setCurrentPage(0); - setCount(Math.abs(gap) * 10); - } - // setCount(); - }; - - const handleSearch = () => { - setKey(searchUser); - }; - - if (isLoading) return