├── .github
└── workflows
│ └── deploy.yml
├── .gitignore
├── .idea
├── Vue.js-Study.iml
├── codeStyles
│ ├── Project.xml
│ └── codeStyleConfig.xml
├── inspectionProfiles
│ └── Project_Default.xml
├── jsLinters
│ └── eslint.xml
├── modules.xml
├── vcs.xml
└── workspace.xml
├── .nojekyll
├── 233park-web
├── .github
│ └── workflows
│ │ └── deploy.yml
├── .gitignore
├── .nojekyll
├── DEPLOY.md
├── README.md
├── dist
│ ├── .nojekyll
│ ├── assets
│ │ ├── index-CT5kgbCG.js
│ │ └── index-CcRraY2h.css
│ ├── index.html
│ └── vite.svg
├── index.html
├── mock
│ ├── discovery.js
│ └── mockProdServer.js
├── package-lock.json
├── package.json
├── postcss.config.cjs
├── public
│ └── vite.svg
├── src
│ ├── App.vue
│ ├── api
│ │ ├── discovery.js
│ │ └── request.js
│ ├── assets
│ │ └── vue.svg
│ ├── components
│ │ ├── PostItem.vue
│ │ ├── TopNav.vue
│ │ └── WaterfallList.vue
│ ├── main.js
│ └── style.css
└── vite.config.js
├── MANUAL_DEPLOY.md
├── README.md
├── Vue3-WebSocket-demo
├── .eslintrc.cjs
├── .gitignore
├── .prettierrc.json
├── .vscode
│ └── extensions.json
├── README.md
├── env.d.ts
├── index.html
├── package.json
├── pnpm-lock.yaml
├── public
│ └── favicon.ico
├── server
│ ├── index.js
│ ├── package.json
│ └── pnpm-lock.yaml
├── src
│ ├── App.vue
│ ├── assets
│ │ ├── base.css
│ │ ├── logo.svg
│ │ └── main.css
│ ├── components
│ │ ├── HelloWorld.vue
│ │ ├── TheWelcome.vue
│ │ ├── WelcomeItem.vue
│ │ ├── __tests__
│ │ │ └── HelloWorld.spec.ts
│ │ └── icons
│ │ │ ├── IconCommunity.vue
│ │ │ ├── IconDocumentation.vue
│ │ │ ├── IconEcosystem.vue
│ │ │ ├── IconSupport.vue
│ │ │ └── IconTooling.vue
│ ├── configs
│ │ └── index.ts
│ ├── hooks
│ │ ├── index.ts
│ │ └── websocket.ts
│ ├── main.ts
│ ├── router
│ │ └── index.ts
│ ├── stores
│ │ └── counter.ts
│ └── views
│ │ ├── HomeView.vue
│ │ └── LoginView.vue
├── tsconfig.app.json
├── tsconfig.config.json
├── tsconfig.json
├── tsconfig.vitest.json
└── vite.config.ts
├── build-fix.sh
├── build.sh
├── deploy-gh.sh
├── deploy-manifest.txt
├── deploy.sh
├── direct-deploy.sh
├── force-deploy.sh
├── index.html
├── my-vue-app
├── .eslintrc.js
├── .gitignore
├── .vscode
│ └── extensions.json
├── README.md
├── index.html
├── package.json
├── pnpm-lock.yaml
├── public
│ └── favicon.ico
├── src
│ ├── App.vue
│ ├── assets
│ │ ├── CSS
│ │ │ └── common.scss
│ │ └── logo.png
│ ├── components
│ │ ├── comp.vue
│ │ ├── menu.vue
│ │ └── rate.vue
│ ├── env.d.ts
│ ├── layout
│ │ ├── components
│ │ │ ├── AppMain
│ │ │ │ └── index.vue
│ │ │ ├── Navbar
│ │ │ │ └── index.vue
│ │ │ ├── Settings
│ │ │ │ ├── checkBoxList.js
│ │ │ │ └── index.vue
│ │ │ ├── Sidebar
│ │ │ │ ├── Item.vue
│ │ │ │ ├── Link.vue
│ │ │ │ ├── Logo.vue
│ │ │ │ ├── SidebarItem.vue
│ │ │ │ └── index.vue
│ │ │ └── TagsView
│ │ │ │ ├── ScrollPane.vue
│ │ │ │ └── index.vue
│ │ └── index.vue
│ ├── main.ts
│ ├── router
│ │ └── index.ts
│ ├── store
│ │ └── index.ts
│ └── views
│ │ └── home.vue
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
├── package.json
├── public
└── .nojekyll
├── simple-deploy.sh
├── temp-233park
├── .nojekyll
├── 404.html
├── assets
│ ├── index-CT5kgbCG.js
│ └── index-CcRraY2h.css
├── index.html
└── vite.svg
└── vite.config.js
/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | name: 部署到GitHub Pages
2 |
3 | on:
4 | push:
5 | branches: [ master, main ]
6 | workflow_dispatch:
7 |
8 | jobs:
9 | build-and-deploy:
10 | runs-on: ubuntu-latest
11 | permissions:
12 | contents: write
13 | steps:
14 | - name: 检出代码
15 | uses: actions/checkout@v3.5.3
16 |
17 | - name: 设置Node.js
18 | uses: actions/setup-node@v3.8.1
19 | with:
20 | node-version: '18'
21 | cache: 'npm'
22 | cache-dependency-path: '233park-web/package-lock.json'
23 |
24 | - name: 安装依赖和构建
25 | working-directory: 233park-web
26 | run: |
27 | npm ci
28 | npm run build
29 | # 确保资源引用正确
30 | sed -i 's|/Vue.js-Study/233park-web/|./|g' dist/index.html
31 |
32 | - name: 准备部署文件
33 | run: |
34 | # 创建根目录重定向页面
35 | cat > redirect.html << EOF
36 |
37 |
38 |
39 |
40 |
41 | 233Park - Vue.js项目
42 |
43 |
59 |
60 |
61 | 233Park - Vue.js项目
62 | 正在跳转到项目页面,如果没有自动跳转,请点击这里。
63 |
64 |
65 | EOF
66 |
67 | # 创建部署目录结构
68 | mkdir -p dist/233park-web
69 | cp -r 233park-web/dist/* dist/233park-web/
70 | cp redirect.html dist/index.html
71 | touch dist/.nojekyll
72 |
73 | - name: 部署到GitHub Pages
74 | uses: peaceiris/actions-gh-pages@v3
75 | with:
76 | github_token: ${{ secrets.GITHUB_TOKEN }}
77 | publish_dir: ./dist
78 | force_orphan: true
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SincereCSL/Vue.js-Study/561b9328f9d0a09aea7e490effed335c77e5655c/.gitignore
--------------------------------------------------------------------------------
/.idea/Vue.js-Study.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/codeStyles/Project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/jsLinters/eslint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/workspace.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
16 |
17 |
18 |
19 |
24 |
25 |
26 |
27 |
28 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | {
47 | "customColor": "",
48 | "associatedIndex": 3
49 | }
50 |
51 |
52 |
53 |
54 |
55 |
56 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 | 1671587997020
112 |
113 |
114 | 1671587997020
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 | 1671589838208
130 |
131 |
132 |
133 | 1671589838208
134 |
135 |
136 | 1671590326422
137 |
138 |
139 |
140 | 1671590326423
141 |
142 |
143 | 1671592380765
144 |
145 |
146 |
147 | 1671592380765
148 |
149 |
150 | 1671609529822
151 |
152 |
153 |
154 | 1671609529822
155 |
156 |
157 | 1671609724123
158 |
159 |
160 |
161 | 1671609724123
162 |
163 |
164 |
165 | 1707288842825
166 |
167 |
168 |
169 | 1707288842825
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
--------------------------------------------------------------------------------
/.nojekyll:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/233park-web/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | name: Deploy to GitHub Pages
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 |
8 | workflow_dispatch:
9 |
10 | # 设置权限
11 | permissions:
12 | contents: write
13 | pages: write
14 | id-token: write
15 |
16 | jobs:
17 | build-and-deploy:
18 | runs-on: ubuntu-latest
19 | environment:
20 | name: github-pages
21 | url: ${{ steps.deployment.outputs.page_url }}
22 | steps:
23 | - name: Checkout
24 | uses: actions/checkout@v4
25 |
26 | - name: Setup Node
27 | uses: actions/setup-node@v4
28 | with:
29 | node-version: "18"
30 | cache: 'npm'
31 |
32 | - name: Setup Pages
33 | uses: actions/configure-pages@v4
34 |
35 | - name: Install dependencies
36 | working-directory: ./233park-web
37 | run: npm install
38 |
39 | - name: Build
40 | working-directory: ./233park-web
41 | run: npm run build
42 |
43 | - name: Upload artifact
44 | uses: actions/upload-pages-artifact@v3
45 | with:
46 | path: ./233park-web/dist
47 |
48 | - name: Deploy to GitHub Pages
49 | id: deployment
50 | uses: actions/deploy-pages@v4
--------------------------------------------------------------------------------
/233park-web/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | # Node.js
11 | node_modules
12 | dist
13 | dist-ssr
14 | *.local
15 |
16 | # Editor directories and files
17 | .vscode/*
18 | !.vscode/extensions.json
19 | .idea
20 | .DS_Store
21 | *.suo
22 | *.ntvs*
23 | *.njsproj
24 | *.sln
25 | *.sw?
26 |
27 | # Vite
28 | /dist
29 | dist-ssr
30 | .env.*.local
31 |
32 | # IDE
33 | .idea
34 | .vscode
35 | *.suo
36 | *.ntvs*
37 | *.njsproj
38 | *.sln
39 | *.sw?
40 |
41 | # System Files
42 | .DS_Store
43 | Thumbs.db
44 |
--------------------------------------------------------------------------------
/233park-web/.nojekyll:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/233park-web/DEPLOY.md:
--------------------------------------------------------------------------------
1 | # 233乐园项目GitHub Pages部署指南
2 |
3 | 本文档详细说明如何将233乐园项目部署到GitHub Pages以供在线访问。
4 |
5 | ## 前期准备
6 |
7 | 1. 拥有GitHub账号
8 | 2. 安装Git客户端
9 | 3. 本地项目已完成开发
10 |
11 | ## 部署步骤
12 |
13 | ### 1. 创建GitHub仓库
14 |
15 | 1. 登录GitHub账号
16 | 2. 点击右上角"+"图标 → "New repository"
17 | 3. 仓库名称填写"233Park"(或其他名称)
18 | 4. 设置为Public(公开)仓库
19 | 5. 点击"Create repository"创建仓库
20 |
21 | ### 2. 配置项目
22 |
23 | 1. 修改项目的vite.config.js文件,设置base为你的仓库名:
24 | ```js
25 | export default defineConfig({
26 | base: '/233Park/', // 如果仓库名不是233Park,请修改为你的仓库名
27 | // 其他配置...
28 | })
29 | ```
30 |
31 | 2. 修改package.json中的homepage字段:
32 | ```json
33 | {
34 | "homepage": "https://.github.io/233Park/", // 替换为你的GitHub用户名
35 | // 其他配置...
36 | }
37 | ```
38 |
39 | 3. 确保已创建.github/workflows/deploy.yml文件,配置自动部署
40 |
41 | ### 3. 初始化Git仓库并推送代码
42 |
43 | 在项目根目录执行以下命令:
44 |
45 | ```bash
46 | # 初始化Git仓库
47 | git init
48 |
49 | # 添加远程仓库
50 | git remote add origin https://github.com//233Park.git
51 |
52 | # 添加所有文件到暂存区
53 | git add .
54 |
55 | # 提交更改
56 | git commit -m "Initial commit"
57 |
58 | # 推送到GitHub
59 | git push -u origin main
60 | ```
61 |
62 | ### 4. 配置GitHub Pages
63 |
64 | 1. 在GitHub仓库页面,点击"Settings"
65 | 2. 在左侧菜单找到"Pages"
66 | 3. 在"Build and deployment"部分,选择"GitHub Actions"作为Source
67 | 4. GitHub Actions将自动构建和部署项目
68 |
69 | ### 5. 等待部署完成
70 |
71 | 1. 进入仓库的"Actions"选项卡查看部署进度
72 | 2. 部署完成后,你可以通过以下URL访问项目:
73 | - https://.github.io/233Park/
74 | - https://.github.io/233Park/?type=game
75 |
76 | ### 6. 验证部署
77 |
78 | 访问上面的URL,确保项目能正常运行:
79 | - 能够正确显示发现页布局
80 | - 能够进行上拉加载和下拉刷新
81 | - 能够通过URL参数切换不同的数据类型
82 |
83 | ## 遇到问题和解决方法
84 |
85 | ### 问题1:样式丢失
86 |
87 | 如果访问部署后的网站发现样式丢失,请检查vite.config.js中的base配置是否与仓库名一致。
88 |
89 | ### 问题2:页面空白或404
90 |
91 | 检查部署的URL是否正确,确保仓库名大小写与配置一致。
92 |
93 | ### 问题3:无法显示图片或视频
94 |
95 | 检查资源路径是否使用了绝对路径,建议使用相对路径以适应GitHub Pages部署。
96 |
97 | ## 其他建议
98 |
99 | - 为项目添加一个自定义域名,可以在GitHub Pages设置中配置
100 | - 定期更新依赖以修复潜在的安全问题
101 | - 将生产环境的mock数据替换为实际的API接口
--------------------------------------------------------------------------------
/233park-web/README.md:
--------------------------------------------------------------------------------
1 | # 233乐园社区发现页
2 |
3 | 基于Vue 3 + Vite实现的仿233乐园社区发现页面,实现了上拉加载、下拉刷新和瀑布流布局效果。
4 |
5 | ## 功能特点
6 |
7 | - 上拉加载更多
8 | - 下拉刷新
9 | - 瀑布流布局(双列自适应)
10 | - 视频内容支持播放
11 | - 支持不同数据类型切换(通过URL参数)
12 |
13 | ## 在线体验
14 |
15 | 可以通过GitHub Pages访问此项目:
16 |
17 | 1. 推荐数据(默认): `https://<你的用户名>.github.io/233Park/`
18 | 2. 游戏圈数据: `https://<你的用户名>.github.io/233Park/?type=game`
19 |
20 | ## 安装和运行
21 |
22 | 1. 安装依赖
23 | ```bash
24 | npm install
25 | ```
26 |
27 | 2. 开发模式运行
28 | ```bash
29 | npm run dev
30 | ```
31 |
32 | 3. 打包
33 | ```bash
34 | npm run build
35 | ```
36 |
37 | ## 部署方式
38 |
39 | 项目已配置GitHub Actions自动部署到GitHub Pages:
40 |
41 | 1. Fork本仓库到你的GitHub账号下
42 | 2. 在仓库设置中启用GitHub Pages,选择GitHub Actions作为源
43 | 3. 推送代码到main分支,GitHub Actions将自动构建并部署
44 |
45 | ## 技术栈
46 |
47 | - Vue 3 (Composition API)
48 | - Vant UI
49 | - Axios
50 | - Mock.js
51 | - PostCSS (移动端适配)
52 |
53 | # Vue 3 + Vite
54 |
55 | This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `
9 |
10 |
11 |
12 |
13 |
14 |