较完整的Demo