# navigation-api **Repository Path**: shareprogram/navigation-api ## Basic Information - **Project Name**: navigation-api - **Description**: 导航网站的API接口 - **Primary Language**: NodeJS - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: http://nav.shareprog.com/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-28 - **Last Updated**: 2026-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 导航网后端API ## 技术栈 使用 koa2 和 TypeScript 进行开发。 ## 使用方法 > 如果你没有使用 `pnpm` 工具,使用 `npm` 和 `yarn` 也能达到相同的效果。 1. 安装依赖 ```bash pnpm install ``` 2. 启动应用 ```bash pnpm dev ``` swagger地址打开: http://127.0.0.1:3100/api/doc.html 3. 构建项目 ```bash pnpm build ``` 4. 运行构建 ```bash pnpm serve ``` ## Docker 启动 ```bash docker build -t navigation-api . docker run -d -v /home/project/navigation-api/dist:/dist -p 3100:3100 navigation-apis ``` ## 项目结构 模板标准 ``` ├── dist // 构建输出 ├── logs // 日志输出 ├── src │ ├── app.ts // koa 启动 │ ├── app // 应用模块 │ ├── config // 环境配置 │ ├── typings // 全局类型 │ └── core // 核心模块 │ ├── init.ts // 核心启动 │ ├── global.ts // 全局变量 │ ├── tool.ts // 工具 │ ├── exception // 全局异常 │ ├── swagger // API 文档和验证器 │ ├── database // 数据库模块 │ ├── auth // 认证模块 │ └── log // 日志模块 ├── .gitignore ├── nodemon.json ├── package.json ├── README.md └── tsconfig.json ``` ## 生成器 koa-web-generator 可以快速生成 koa-web 的应用模块代码和数据库表。 生成内容:模型、服务、API 和 DTO 文件。 > 默认情况下,自动生成数据库表的功能是关闭的。 1. 拉取项目并安装依赖 ```bash pnpm create koa-web koa-web-generator --template generator cd ./koa-web-generator pnpm install ``` 2. 在 `./src/index.ts` 中添加你想要生成的模型 > 每个模型已经包含 `id`、`created_at`、`updated_at`、`deleted_at` 字段。 ```ts const models: ModelProps[] = [ { name: 'user_alpha', comment: '用户注释', fields: [ { fieldName: 'username', type: 'STRING(20)', allowNull: false, unique: 'username_idx', }, { fieldName: 'password', type: 'STRING', allowNull: false, comment: '密码注释', }, { fieldName: 'type', type: 'BOOLEAN', defaultValue: '0', }, ], }, ] ``` 3. 开始生成 ```bash pnpm start ``` 生成完成后,你可以在 `./src(model | service | api | dto)` 中获取生成的文件 你可以将这些文件复制到你的 koa-web 项目中。 > 不要忘记,`./src/model/index/ts` 文件也有生成的内容。 ## 问题 个人使用,所以有以下问题 1. 没有加鉴权,防不了DDOS攻击 2. 没有用户权限,只有管理员修改链接