Files
cutThink_lite/scripts/check-build.sh
Claude e2ea309ee6 feat: CutThenThink v3.0 初始版本
完整实现 Tauri + Vanilla JS 轻量级截图工具

Phase 1 - 项目搭建
- Tauri 2.x 项目初始化
- Vite 前端项目搭建
- 基础 UI 框架(CSS 变量、组件库)
- 构建配置优化

Phase 2 - 核心截图功能
- 全屏/区域/窗口截图
- 截图预览和管理
- 文件命名和缩略图
- 全局快捷键集成

Phase 3 - 上传与存储
- 多图床上传(GitHub/Imgur/自定义)
- 配置管理系统
- SQLite 数据库

Phase 4 - OCR 集成
- 云端 OCR(百度/腾讯云)
- 插件管理系统
- 本地 OCR 插件(Go)
- OCR 结果处理

Phase 5 - AI 分类系统
- Claude/OpenAI API 集成
- Prompt 模板引擎
- 模板管理界面
- 自动分类流程

Phase 6 - 历史记录与管理
- 图库视图(网格/列表)
- 搜索与筛选
- 批量操作
- 导出功能(JSON/CSV/ZIP)

Phase 7 - 打包与发布
- 多平台构建配置
- CI/CD 工作流
- 图标和资源
- 安装包配置

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 18:59:26 +08:00

164 lines
3.5 KiB
Bash

#!/bin/bash
# Build status check script for CutThenThink Lite
set -e
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
echo "Checking build status for CutThenThink Lite..."
echo ""
# Check function
check() {
if [ $? -eq 0 ]; then
echo -e "${GREEN}${NC} $1"
else
echo -e "${RED}${NC} $1"
return 1
fi
}
# Check Node.js
echo "Checking Node.js..."
if command -v node &> /dev/null; then
NODE_VERSION=$(node --version)
check "Node.js installed ($NODE_VERSION)"
else
echo -e "${RED}${NC} Node.js not installed"
fi
# Check npm
echo ""
echo "Checking npm..."
if command -v npm &> /dev/null; then
NPM_VERSION=$(npm --version)
check "npm installed ($NPM_VERSION)"
else
echo -e "${RED}${NC} npm not installed"
fi
# Check Rust
echo ""
echo "Checking Rust..."
if command -v rustc &> /dev/null; then
RUSTC_VERSION=$(rustc --version)
check "Rust installed ($RUSTC_VERSION)"
else
echo -e "${RED}${NC} Rust not installed"
echo -e "${YELLOW} Install from: https://rustup.rs/${NC}"
fi
if command -v cargo &> /dev/null; then
CARGO_VERSION=$(cargo --version)
check "Cargo installed ($CARGO_VERSION)"
else
echo -e "${RED}${NC} Cargo not installed"
fi
# Check Tauri CLI
echo ""
echo "Checking Tauri CLI..."
if command -v tauri &> /dev/null; then
TAURI_VERSION=$(tauri --version || echo "unknown")
check "Tauri CLI installed ($TAURI_VERSION)"
else
echo -e "${YELLOW}${NC} Tauri CLI not found (will be installed by npm)"
fi
# Check Linux dependencies (Linux only)
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
echo ""
echo "Checking Linux dependencies..."
DEPS=(
"libgtk-3-dev"
"libwebkit2gtk-4.0-dev"
"libappindicator3-dev"
"librsvg2-dev"
"patchelf"
)
MISSING=()
for dep in "${DEPS[@]}"; do
if dpkg -l | grep -q "$dep"; then
check "$dep installed"
else
echo -e "${RED}${NC} $dep not installed"
MISSING+=("$dep")
fi
done
if [ ${#MISSING[@]} -gt 0 ]; then
echo ""
echo -e "${YELLOW}Missing dependencies. Install with:${NC}"
echo "sudo apt-get install -y ${MISSING[*]}"
fi
fi
# Check project structure
echo ""
echo "Checking project structure..."
FILES=(
"package.json"
"vite.config.js"
"src-tauri/Cargo.toml"
"src-tauri/tauri.conf.json"
"src-tauri/src/main.rs"
"main.js"
"index.html"
)
for file in "${FILES[@]}"; do
if [ -f "$file" ]; then
check "$file exists"
else
echo -e "${RED}${NC} $file missing"
fi
done
# Check icons
echo ""
echo "Checking icons..."
ICONS=(
"src-tauri/icons/32x32.png"
"src-tauri/icons/128x128.png"
"src-tauri/icons/icon.ico"
"src-tauri/icons/icon.icns"
)
for icon in "${ICONS[@]}"; do
if [ -f "$icon" ]; then
check "$icon exists"
else
echo -e "${YELLOW}${NC} $icon missing (optional)"
fi
done
# Check node_modules
echo ""
echo "Checking dependencies..."
if [ -d "node_modules" ]; then
check "node_modules installed"
else
echo -e "${YELLOW}${NC} node_modules not found"
echo -e "${YELLOW} Run: npm install${NC}"
fi
# Summary
echo ""
echo -e "${GREEN}================================${NC}"
echo "Build status check complete!"
echo -e "${GREEN}================================${NC}"
echo ""
echo "Next steps:"
echo " 1. Install missing dependencies (if any)"
echo " 2. Run: npm install"
echo " 3. Run: npm run build"
echo " 4. Run: npm run tauri:build"