Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
85f241e8e3 | ||
|
|
671ad8ab9d | ||
|
|
fc47ec9d18 | ||
|
|
7dc562aad0 |
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "lanhu-web",
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev -H 0.0.0.0 --turbopack",
|
||||
|
||||
@@ -25,18 +25,18 @@ export default function HelpMenu() {
|
||||
icon={h02}
|
||||
title="操作指南"
|
||||
items={[
|
||||
{lead: '修改信息', href: '/docs/operation/profile-settings'},
|
||||
{lead: '提取链接', href: '/docs/operation/extract-link'},
|
||||
{lead: '查看记录', href: '/docs/operation/payment-records'},
|
||||
{lead: '修改信息', href: '/docs/profile-settings'},
|
||||
{lead: '提取链接', href: '/docs/extract-link'},
|
||||
{lead: '查看记录', href: '/docs/payment-records'},
|
||||
]}
|
||||
/>
|
||||
<Column
|
||||
icon={h03}
|
||||
title="平台教程"
|
||||
items={[
|
||||
{lead: 'iOS 设置', href: '/docs/client/ios-proxy'},
|
||||
{lead: 'Android 设置', href: '/docs/client/android-proxy'},
|
||||
{lead: 'Windows 设置', href: '/docs/client/windows10-proxy'},
|
||||
{lead: 'iOS 设置', href: '/docs/ios-proxy'},
|
||||
{lead: 'Android 设置', href: '/docs/android-proxy'},
|
||||
{lead: 'Windows 设置', href: '/docs/windows10-proxy'},
|
||||
]}
|
||||
/>
|
||||
<Image src={banner} alt="banner" className="hidden lg:block"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
@@ -13,38 +13,38 @@ const MENU_ITEMS = [
|
||||
{
|
||||
group: '产品文档',
|
||||
items: [
|
||||
{key: 'product/product-overview', label: '产品介绍'},
|
||||
{key: 'product/choose-product', label: '如何选择产品'},
|
||||
{key: 'product/why-verify', label: '为什么需要实名认证'},
|
||||
{key: 'product/city-lines', label: '有哪些城市线路'},
|
||||
{key: 'product/api-docs', label: 'ip提取接口文档'},
|
||||
{key: 'product-overview', label: '产品介绍'},
|
||||
{key: 'choose-product', label: '如何选择产品'},
|
||||
{key: 'why-verify', label: '为什么需要实名认证'},
|
||||
{key: 'city-lines', label: '有哪些城市线路'},
|
||||
{key: 'api-docs', label: 'ip提取接口文档'},
|
||||
// 服务条款
|
||||
],
|
||||
},
|
||||
{
|
||||
group: '操作指南',
|
||||
items: [
|
||||
{key: 'operation/profile-settings', label: '修改个人信息和重置密码'},
|
||||
{key: 'operation/whitelist-guide', label: '如何添加白名单'},
|
||||
{key: 'operation/verify-guide', label: '如何进行实名认证'},
|
||||
{key: 'operation/extract-link', label: '如何生成提取链接'},
|
||||
{key: 'operation/payment-records', label: '查看支付和使用记录'},
|
||||
{key: 'profile-settings', label: '修改个人信息和重置密码'},
|
||||
{key: 'whitelist-guide', label: '如何添加白名单'},
|
||||
{key: 'verify-guide', label: '如何进行实名认证'},
|
||||
{key: 'extract-link', label: '如何生成提取链接'},
|
||||
{key: 'payment-records', label: '查看支付和使用记录'},
|
||||
],
|
||||
},
|
||||
{
|
||||
group: '客户端教程',
|
||||
items: [
|
||||
{key: 'client/browser-proxy', label: '浏览器设置代理教程'},
|
||||
{key: 'client/ios-proxy', label: 'iOS设置代理教程'},
|
||||
{key: 'client/android-proxy', label: '安卓手机设置代理教程'},
|
||||
{key: 'client/windows10-proxy', label: 'Windows10设置代理教程'},
|
||||
{key: 'browser-proxy', label: '浏览器设置代理教程'},
|
||||
{key: 'ios-proxy', label: 'iOS设置代理教程'},
|
||||
{key: 'android-proxy', label: '安卓手机设置代理教程'},
|
||||
{key: 'windows10-proxy', label: 'Windows10设置代理教程'},
|
||||
],
|
||||
},
|
||||
{
|
||||
group: '常见问题',
|
||||
items: [
|
||||
{key: 'faqs/faq-general', label: '常见问题总览'},
|
||||
{key: 'faqs/faq-billing', label: '计费与套餐问题'},
|
||||
{key: 'faq-general', label: '常见问题总览'},
|
||||
{key: 'faq-billing', label: '计费与套餐问题'},
|
||||
// 业务场景集成方案
|
||||
// 故障排查
|
||||
],
|
||||
@@ -52,8 +52,8 @@ const MENU_ITEMS = [
|
||||
{
|
||||
group: '新闻资讯',
|
||||
items: [
|
||||
{key: 'news/news-latest', label: '了解代理服务器的工作原理'},
|
||||
{key: 'news/news-announce', label: '网站公告'},
|
||||
{key: 'news-latest', label: '了解代理服务器的工作原理'},
|
||||
{key: 'news-announce', label: '网站公告'},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -26,7 +26,7 @@ export default async function UserCenter() {
|
||||
<Card className="h-full">
|
||||
<CardContent className="flex-auto flex flex-col justify-between gap-4">
|
||||
<div className="flex flex-col gap-1">
|
||||
<p>{profile.username?.trim() || profile.email || profile.phone}</p>
|
||||
<p>{profile.username?.trim() || profile.phone }</p>
|
||||
<p className="text-sm text-weak">{`最后登录:${format(profile.last_login, 'yyyy-MM-dd HH:mm')}`}</p>
|
||||
</div>
|
||||
<div className={merge(
|
||||
|
||||
@@ -18,7 +18,7 @@ import {toast} from 'sonner'
|
||||
import {merge} from '@/lib/utils'
|
||||
import {Combobox} from '@/components/ui/combobox'
|
||||
import cities from './_assets/cities.json'
|
||||
import ExtractDocs from '@/app/(home)/docs/product/api-docs/page.md'
|
||||
import ExtractDocs from '@/app/(home)/docs/(product)/api-docs/page.md'
|
||||
import Link from 'next/link'
|
||||
import {useProfileStore} from '@/components/stores/profile'
|
||||
|
||||
|
||||