---
title: 在线工具页的取舍：能纯前端算的，绝不发给服务器
site: 星湖の小窝
category: 前端
tags: [JavaScript, 前端, 工具]
date: 2026-08-28
updated: 2026-08-28
id: note-tools-page
---

# 在线工具页的取舍：能纯前端算的，绝不发给服务器

工具类页面最怕的是「你输入的内容被上传」。这条路可以直接堵死：能本地算的，全部本地算。

### 为什么坚持纯前端

- 用户粘贴的是接口返回、密钥、日志，上传即泄露；
- 本地计算没有网络往返，体验更快；
- 服务端零压力，也不存在被刷接口的问题。

### 实现上的几个小坑

Base64 处理中文要先用 `TextEncoder` 转字节，直接 `btoa('中文')` 会抛异常：

```javascript
const bytes = new TextEncoder().encode(text);
let binary = '';
bytes.forEach(b => binary += String.fromCharCode(b));
return btoa(binary);
```

二维码生成用纯 JS 实现，不需要任何外链图片接口，断网也能用。
