Skip to content

Commit 166ba3f

Browse files
committed
init
1 parent 62df020 commit 166ba3f

176 files changed

Lines changed: 1703 additions & 774 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,12 @@ jobs:
2020
steps:
2121
- uses: actions/checkout@v4
2222

23-
- uses: actions/setup-node@v4
24-
with:
25-
node-version: 22
26-
cache: npm
23+
- uses: oven-sh/setup-bun@v2
2724

28-
- run: npm ci
25+
- run: bun install
2926

3027
- name: Build VitePress
31-
run: npm run build
28+
run: bun run build
3229

3330
- uses: actions/upload-pages-artifact@v3
3431
with:

.vitepress/config.mts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { defineConfig } from 'vitepress'
22
import { readdirSync, statSync } from 'fs'
33
import { join } from 'path'
44

5-
const docsRoot = join(__dirname, '..')
5+
const docsRoot = join(__dirname, '../docs')
66

77
function getSidebarItems(dir: string, base: string) {
88
const entries = readdirSync(dir).sort()
@@ -16,12 +16,12 @@ function getSidebarItems(dir: string, base: string) {
1616
const children = getSidebarItems(fullPath, `${base}/${entry}`)
1717
if (children.length > 0) {
1818
items.push({
19-
text: entry.replace(/^\d+-/, ''),
19+
text: entry,
2020
collapsed: true,
2121
items: children,
2222
})
2323
}
24-
} else if (entry.endsWith('.md') && entry.toLowerCase() !== 'readme.md') {
24+
} else if (entry.endsWith('.md') && !['readme.md', 'index.md'].includes(entry.toLowerCase())) {
2525
const name = entry.replace(/\.md$/, '')
2626
items.push({
2727
text: name,
@@ -35,22 +35,22 @@ function getSidebarItems(dir: string, base: string) {
3535

3636
function buildSidebar() {
3737
const topDirs = readdirSync(docsRoot)
38-
.filter(e => statSync(join(docsRoot, e)).isDirectory() && /^\d+/.test(e))
38+
.filter(e => statSync(join(docsRoot, e)).isDirectory() && !e.startsWith('.'))
3939
.sort()
4040

4141
return topDirs.map(dir => ({
42-
text: dir.replace(/^\d+-/, ''),
42+
text: dir,
4343
collapsed: true,
4444
items: getSidebarItems(join(docsRoot, dir), `/${dir}`),
4545
}))
4646
}
4747

4848
export default defineConfig({
4949
lang: 'zh-CN',
50-
title: '长桥客服知识库',
51-
description: '长桥证券客服知识库',
52-
srcDir: '.',
53-
srcExclude: ['**/node_modules/**', '.vitepress/**'],
50+
title: 'Longbridge Wiki',
51+
description: 'Longbridge Securities Knowledge Base',
52+
srcDir: './docs',
53+
srcExclude: ['**/node_modules/**'],
5454

5555
themeConfig: {
5656
nav: [

.vitepress/theme/HomeCards.vue

Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
<template>
2+
<div class="home-container">
3+
<div class="home-hero">
4+
<h1 style="padding-bottom: 16px;">Longbridge Wiki</h1>
5+
<p>查找关于账户、交易、资金及产品功能的完整指引</p>
6+
<p class="home-disclaimer">⚠️ 本知识库持续建设中,内容仅供参考,实际功能以 App 为准</p>
7+
</div>
8+
9+
<div class="home-grid">
10+
<a
11+
v-for="card in cards"
12+
:key="card.link"
13+
:href="card.link"
14+
class="home-card"
15+
>
16+
<div class="card-icon">{{ card.icon }}</div>
17+
<div class="card-content">
18+
<div class="card-title">{{ card.title }}</div>
19+
<div class="card-desc">{{ card.desc }}</div>
20+
</div>
21+
</a>
22+
</div>
23+
</div>
24+
</template>
25+
26+
<script setup lang="ts">
27+
const cards = [
28+
{
29+
icon: '🏦',
30+
title: '账户管理',
31+
desc: '开户、销户、账户认证与安全设置',
32+
link: '/账户管理/',
33+
},
34+
{
35+
icon: '💰',
36+
title: '入金',
37+
desc: '银行转账、eDDA、FPS、电汇等入金方式',
38+
link: '/入金/',
39+
},
40+
{
41+
icon: '💸',
42+
title: '出金',
43+
desc: '提取资金、出金方式与到账时间',
44+
link: '/出金/',
45+
},
46+
{
47+
icon: '🔄',
48+
title: '资金划转与换汇',
49+
desc: '账户间资金划转、多币种货币兑换',
50+
link: '/资金划转与换汇/',
51+
},
52+
{
53+
icon: '📦',
54+
title: '股票转仓',
55+
desc: '转入转出操作、各券商转仓指引',
56+
link: '/股票转仓/',
57+
},
58+
{
59+
icon: '📈',
60+
title: '交易市场与规则',
61+
desc: '港股、美股、新加坡市场交易与交收规则',
62+
link: '/交易市场与规则/',
63+
},
64+
{
65+
icon: '📋',
66+
title: '订单类型',
67+
desc: '限价单、条件单、策略订单使用指南',
68+
link: '/订单类型/',
69+
},
70+
{
71+
icon: '📊',
72+
title: '衍生品',
73+
desc: '美股期权、港股窝轮与牛熊证',
74+
link: '/衍生品/',
75+
},
76+
{
77+
icon: '🎯',
78+
title: '新股认购 / IPO',
79+
desc: '申购流程、中签规则、暗盘交易',
80+
link: '/新股认购IPO/',
81+
},
82+
{
83+
icon: '💼',
84+
title: '基金与理财',
85+
desc: '基金买卖规则、余额通产品说明',
86+
link: '/基金与理财/',
87+
},
88+
{
89+
icon: '🏛️',
90+
title: '融资融券',
91+
desc: '融资额度、保证金计算与风控管理',
92+
link: '/融资融券/',
93+
},
94+
{
95+
icon: '📄',
96+
title: '资产与账单',
97+
desc: '资产页面释义、盈亏分析、结单查询',
98+
link: '/资产与账单/',
99+
},
100+
{
101+
icon: '🏢',
102+
title: '公司行动',
103+
desc: '派息、供股、送股、拆合股处理说明',
104+
link: '/公司行动/',
105+
},
106+
{
107+
icon: '📡',
108+
title: '行情服务',
109+
desc: '行情订阅权限、数据字段释义',
110+
link: '/行情服务/',
111+
},
112+
{
113+
icon: '💳',
114+
title: '交易费用',
115+
desc: '港股美股佣金、平台费与计算示例',
116+
link: '/交易费用/',
117+
},
118+
{
119+
icon: '🎁',
120+
title: '营销活动与奖励',
121+
desc: '任务中心、活动类型、卡券使用指南',
122+
link: '/营销活动与奖励/',
123+
},
124+
{
125+
icon: '🔧',
126+
title: '故障排查',
127+
desc: '网络连接、验证码接收、常见异常处理',
128+
link: '/故障排查/',
129+
},
130+
{
131+
icon: '⚙️',
132+
title: '产品功能',
133+
desc: 'AI 信息助手、桌面端快捷键与图表功能',
134+
link: '/产品功能/',
135+
},
136+
{
137+
icon: '⚖️',
138+
title: '合规与政策',
139+
desc: '税务合规、FATCA、平台隐私政策',
140+
link: '/合规与政策/',
141+
},
142+
]
143+
</script>
144+
145+
<style scoped>
146+
.home-container {
147+
max-width: 1100px;
148+
margin: 0 auto;
149+
padding: calc(var(--vp-nav-height) + 48px) 24px 80px;
150+
}
151+
152+
.home-hero {
153+
text-align: center;
154+
margin-bottom: 48px;
155+
}
156+
157+
.home-hero h1 {
158+
font-size: 2.2rem;
159+
font-weight: 700;
160+
margin-bottom: 12px;
161+
background: linear-gradient(120deg, var(--vp-c-brand-1), var(--vp-c-brand-2));
162+
-webkit-background-clip: text;
163+
-webkit-text-fill-color: transparent;
164+
}
165+
166+
.home-hero p {
167+
font-size: 1.1rem;
168+
color: var(--vp-c-text-2);
169+
}
170+
171+
.home-disclaimer {
172+
font-size: 0.85rem !important;
173+
color: var(--vp-c-text-3) !important;
174+
margin-top: 12px;
175+
padding: 6px 14px;
176+
border-radius: 6px;
177+
background: var(--vp-c-default-soft);
178+
display: inline-block;
179+
}
180+
181+
.home-grid {
182+
display: grid;
183+
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
184+
gap: 16px;
185+
}
186+
187+
.home-card {
188+
display: flex;
189+
align-items: flex-start;
190+
gap: 16px;
191+
padding: 20px;
192+
border: 1px solid var(--vp-c-divider);
193+
border-radius: 10px;
194+
text-decoration: none;
195+
color: inherit;
196+
transition: border-color 0.2s, box-shadow 0.2s;
197+
}
198+
199+
.home-card:hover {
200+
border-color: var(--vp-c-brand-1);
201+
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
202+
}
203+
204+
.card-icon {
205+
font-size: 1.8rem;
206+
line-height: 1;
207+
flex-shrink: 0;
208+
}
209+
210+
.card-title {
211+
font-size: 1rem;
212+
font-weight: 600;
213+
margin-bottom: 4px;
214+
color: var(--vp-c-text-1);
215+
}
216+
217+
.card-desc {
218+
font-size: 0.875rem;
219+
color: var(--vp-c-text-2);
220+
line-height: 1.5;
221+
}
222+
</style>

.vitepress/theme/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import DefaultTheme from 'vitepress/theme'
2+
import HomeCards from './HomeCards.vue'
3+
import type { Theme } from 'vitepress'
4+
5+
export default {
6+
extends: DefaultTheme,
7+
enhanceApp({ app }) {
8+
app.component('HomeCards', HomeCards)
9+
},
10+
} satisfies Theme

01-账户管理/1.2-销户与迁移/NZ账户停运与迁移.md

Lines changed: 0 additions & 29 deletions
This file was deleted.

01-账户管理/1.4-APP下载/内地下载长桥APP.md

Lines changed: 0 additions & 29 deletions
This file was deleted.

02-入金/2.5-新西兰柜台入金/LBNZ入金.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)