结绳社区小团队
结绳社区(绳包管理器)是一个专门用于管理和分享各种软件包、工具和资源的现代化平台。它提供了完整的包管理功能,包括发布、下载、搜索、评论、排行榜等,支持 Web 端和移动端(Android/iOS)访问。
🦀 Rust 1.70+
├── Actix-Web 4.4 # Web 框架
├── rusqlite 0.29 # SQLite 数据库
├── serde + serde_json # 序列化/反序列化
├── jsonwebtoken 9.2 # JWT 认证
├── bcrypt 0.15 # 密码加密
├── chrono 0.4 # 日期时间处理
└── log + env_logger # 日志系统
⚛️ React 18.2 + TypeScript 5.2
├── Capacitor 7.4 # 跨平台框架
├── React Router 6 # 路由管理
├── shadcn/ui # UI 组件库
│ └── Radix UI # 底层组件
├── Tailwind CSS 3.4 # 样式框架
├── React Hook Form # 表单处理
├── Sonner # Toast 通知
└── Vite 5.0 # 构建工具
🖥️ Vue.js 3 + TypeScript
├── Ant Design Vue # UI 组件库
├── Vite # 构建工具
└── Pinia # 状态管理
🗄️ SQLite
├── FTS5 # 全文搜索
├── 外键约束 # 数据完整性
└── 索引优化 # 查询性能
JieShenSheQu/
├── APP_HouDuan/ # 后端服务(Rust)
│ ├── src/
│ │ ├── api/v1/ # API 路由处理器
│ │ ├── models/ # 数据模型
│ │ ├── repositories/ # 数据访问层
│ │ ├── services/ # 业务逻辑层
│ │ ├── middleware/ # 中间件
│ │ └── utils/ # 工具函数
│ ├── sql/ # SQL 迁移文件
│ ├── data.db # SQLite 数据库
│ └── config.toml # 配置文件
│
├── App_v2/jieshengshequ-app/ # 移动端应用(React)
│ ├── src/
│ │ ├── api/ # API 客户端
│ │ ├── components/ # 可复用组件
│ │ │ └── ui/ # shadcn/ui 组件
│ │ ├── screens/ # 页面组件
│ │ ├── contexts/ # React Context
│ │ ├── hooks/ # 自定义 Hooks
│ │ ├── utils/ # 工具函数
│ │ └── styles/ # 样式文件
│ ├── android/ # Android 原生代码
│ ├── public/ # 静态资源
│ └── .cursor/rules/ # Cursor AI 规则
│
├── APP_HouTai/ # 管理后台(Vue.js)
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ ├── components/ # 可复用组件
│ │ ├── api/ # API 客户端
│ │ └── store/ # 状态管理
│ └── dist/ # 构建输出
│
├── App_GuanWang/ # 官网
│ └── knot-community-website/ # 官网源码
│
├── 文档/ # 项目文档
│ ├── AI学习规则文档/ # AI 开发规范
│ └── API_V2/ # API 文档
│
└── 资源登记/ # 资源文件
git clone https://github.com/2154355737/JieShenSheQu.git
cd JieShenSheQu
# 进入后端目录
cd APP_HouDuan
# 复制配置文件模板
cp config.example.toml config.toml
# 生成强密钥
openssl rand -base64 32
# 编辑 config.toml,替换 JWT 密钥
# 将生成的密钥粘贴到 [auth] 部分的 jwt_secret
⚠️ 安全提示:
jwt_secret(默认值不安全)allowed_origins
# 运行后端服务
# Windows
start.bat
# Linux/Mac
cargo run --release
# 后端服务将在 http://0.0.0.0:15201 启动
# 进入移动端目录
cd App_v2/jieshengshequ-app
# 安装依赖
npm install
# 开发模式(Web)
npm run dev
# 访问 http://localhost:5173
# 构建并运行 Android 应用
npm run build:android
# 这将打开 Android Studio
# 或直接运行 Android(需要已连接设备或模拟器)
npm run android
# 进入管理后台目录
cd APP_HouTai
# 安装依赖
npm install
# 开发模式
npm run dev
# 访问 http://localhost:3000
// src/api/v1/mod.rs
pub fn configure_routes(cfg: &mut web::ServiceConfig) {
cfg.service(
web::scope("/api/v1")
.configure(auth::configure) // 认证相关
.configure(user::configure) // 用户管理
.configure(package::configure) // 包管理
.configure(post::configure) // 帖子管理
.configure(comment::configure) // 评论管理
);
}
src/models/ 定义数据模型src/repositories/ 实现数据访问src/services/ 实现业务逻辑src/api/v1/ 添加路由处理器项目包含完整的 Cursor AI 规则,位于 App_v2/jieshengshequ-app/.cursor/rules/
01-project-overview.mdc - 项目概览02-react-typescript.mdc - React/TypeScript 规范03-api-integration.mdc - API 集成规范04-backend-rust.mdc - Rust 后端规范05-mobile-capacitor.mdc - Capacitor 移动开发06-code-quality.mdc - 代码质量规范07-database-sql.mdc - 数据库规范08-ui-components.mdc - UI 组件规范// 1. 创建页面组件
// src/screens/new-screen.tsx
export const NewScreen: React.FC = () => {
return <div>New Screen</div>;
};
// 2. 添加路由
// src/App.tsx
<Route path="/new" element={<NewScreen />} />
// 3. 添加导航(如需要)
// 更新导航组件
import { apiClient } from '@/api/client';
// GET 请求
const users = await apiClient.get<User[]>('/users');
// POST 请求
const newUser = await apiClient.post<User>('/users', {
username: 'test',
email: 'test@example.com',
});
# 进入后端目录
cd APP_HouDuan
# 查看现有的迁移文件
ls sql/
# 应用新的迁移(通常在启动时自动执行)
# 或手动使用 sqlite3
sqlite3 data.db < sql/001_create_tables.sql
# 备份数据库
cp data.db data.db.backup_$(date +%Y%m%d_%H%M%S)
# 或使用提供的脚本
repair_database.bat
cd APP_HouDuan
cargo build --release
./target/release/rope-manager-backend
# 项目包含预编译的 Windows 版本
./rope-manager-backend.exe
编辑 config.toml:
[server]
host = "0.0.0.0"
port = 15201
public_base_url = "http://your-domain.com:15201"
[auth]
jwt_secret = "your-secure-secret-key" # 务必修改!
[cors]
allowed_origins = ["https://your-domain.com"]
cd App_v2/jieshengshequ-app
# 构建生产版本
npm run build
# 同步到 Capacitor
npm run sync
# 打开 Android Studio 构建 APK
npm run build:android
# 在 Android Studio 中:
# Build > Generate Signed Bundle / APK
# 构建
npm run build
# dist/ 目录包含构建产物
# 将其部署到静态服务器(Nginx、Apache等)
# 后端 API
upstream api_backend {
server 127.0.0.1:15201;
}
# 前端应用
server {
listen 80;
server_name your-domain.com;
# 前端静态文件
root /path/to/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
# API 代理
location /api/ {
proxy_pass http://api_backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 文件上传
location /uploads/ {
alias /path/to/APP_HouDuan/uploads/;
}
}
我们欢迎所有形式的贡献!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)如果发现 Bug 或有功能建议,请创建 Issue。
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
如果这个项目对你有帮助,请给它一个 ⭐️
Made with ❤️ by JieShen Community Team