VvvebJs / README.md
CatPtain's picture
Upload 3 files
d35d407 verified
metadata
title: VvvebJs Website Builder
emoji: 🎨
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
license: apache-2.0

VvvebJs - Visual Website Builder

Features

  • 🎨 Visual drag & drop interface
  • 📱 Bootstrap 5 components
  • 💾 GitHub & EdgeOne KV storage
  • 👥 GitHub-based user management with real-time sync
  • 🔄 Undo/Redo functionality

🔄 GitHub User Management System

系统使用基于GitHub的用户管理,确保用户数据在多个实例间实时同步。

主要特性

  • 实时同步: 每次登录都从GitHub仓库加载最新用户数据
  • 数据持久化: 用户数据存储在GitHub仓库的 system/users.json 文件中
  • 多实例同步: 多个部署实例间自动共享用户数据
  • 安全性: 密码使用 PHP password_hash() 加密存储
  • 向下兼容: 保持与原有环境变量用户系统的兼容性

用户数据存储位置

  • GitHub模式: https://github.com/YOUR_OWNER/YOUR_REPO/blob/main/system/users.json
  • 环境变量模式: 通过 USER_1_NAMEUSER_1_PASSWORD 等环境变量配置

Configuration

Set these environment variables in Space Settings:

Authentication (Required)

USER_1_NAME=admin
USER_1_PASSWORD=your_secure_password
USER_2_NAME=editor
USER_2_PASSWORD=another_password

Storage Configuration

STORAGE_TYPE=github

GitHub Storage (Recommended)

GITHUB_TOKEN=ghp_your_github_token
GITHUB_OWNER=your_username
GITHUB_REPO=your_repo_name
GITHUB_BRANCH=main
GITHUB_PATH=pages/

EdgeOne KV Storage (Optional)

EDGEONE_KV_API_KEY=your_api_key
EDGEONE_KV_SECRET_KEY=your_secret_key
EDGEONE_KV_ZONE_ID=your_zone_id

User Management Modes

1. GitHub User Management (默认)

  • 用户通过GitHub仓库中的用户数据登录
  • 支持密码修改功能
  • 多实例间自动同步
  • 访问 login.html 进行登录

2. Environment Variable Mode (备用)

  • 通过环境变量预配置用户
  • 使用Basic Authentication
  • 适合简单部署场景

Usage

  1. Access the Space URL
  2. Login with existing account:
    • GitHub Mode: Visit login.html to login
    • Env Mode: Use configured username/password
  3. Build your website visually
  4. Pages are saved to external storage automatically

File Structure

system/
└── users.json          # GitHub-managed user data

users/
├── username1/
│   ├── page1.html
│   └── page2.html
└── username2/
    ├── index.html
    └── about.html

User Account Management

User accounts are managed through the GitHub repository. To add new users:

  1. Manually add user data to system/users.json in the GitHub repository
  2. Use proper password hashing for security
  3. System will automatically load the updated user data on next login

Development

The system uses a hybrid approach:

  • Priority 1: GitHub user management for data persistence
  • Fallback: Environment variable authentication for compatibility
  • Storage: All user files stored with user isolation

License

Apache License 2.0