{"id":16530547,"url":"https://github.com/freeshineit/yew_app","last_synced_at":"2026-01-30T12:33:06.725Z","repository":{"id":41535882,"uuid":"503454311","full_name":"freeshineit/yew_app","owner":"freeshineit","description":"Yew app ","archived":false,"fork":false,"pushed_at":"2026-01-11T14:39:23.000Z","size":1617,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-11T14:54:14.071Z","etag":null,"topics":["hooks","rust","sass","todolist","trunk","webassembly","yew"],"latest_commit_sha":null,"homepage":"https://freeshineit.github.io/yew_app/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freeshineit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-14T17:18:46.000Z","updated_at":"2026-01-11T11:40:10.000Z","dependencies_parsed_at":"2025-04-10T11:39:18.313Z","dependency_job_id":"78d81a3a-ef54-47ab-8afe-65ef81606588","html_url":"https://github.com/freeshineit/yew_app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/freeshineit/yew_app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freeshineit%2Fyew_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freeshineit%2Fyew_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freeshineit%2Fyew_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freeshineit%2Fyew_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freeshineit","download_url":"https://codeload.github.com/freeshineit/yew_app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freeshineit%2Fyew_app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28912911,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T12:13:43.263Z","status":"ssl_error","status_checked_at":"2026-01-30T12:13:22.389Z","response_time":66,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hooks","rust","sass","todolist","trunk","webassembly","yew"],"created_at":"2024-10-11T18:06:19.079Z","updated_at":"2026-01-30T12:33:06.720Z","avatar_url":"https://github.com/freeshineit.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"## yew app\n\n![MacOS Build](https://github.com/freeshineit/yew_app/workflows/macos-build/badge.svg)\n![Windows Build](https://github.com/freeshineit/yew_app/workflows/windows-build/badge.svg)\n![Ubuntu Build](https://github.com/freeshineit/yew_app/workflows/ubuntu-build/badge.svg)\n\n一个使用 Rust 和 Yew 框架构建的现代化 Web 应用。\n\n### ✨ 特性\n\n- 🎨 现代化的 UI 设计和动画效果\n- 📱 完整的响应式布局支持\n- 💾 LocalStorage 数据持久化\n- 🎯 统一的状态管理系统\n- 🛠️ 完善的错误处理和加载状态\n- 🎭 主题颜色系统\n- ♿ 优化的用户体验\n\n### 🚀 快速开始\n\n```bash\n# 安装 trunk (版本 0.21.x)\nbrew install trunk\n\n# 开发模式\ntrunk serve --public-url ./\n\n# 生产构建\ntrunk build --release --public-url ./\n\n# 使用 http-server 预览\ncd dist \u0026\u0026 http-server -p 8000 .\n\n# Docker nginx 部署\n# 访问 http://localhost:8000\ndocker-compose up -d\n\n# GitHub Pages 部署\ntrunk build --release --public-url ./\n```\n\n### 📁 项目结构\n\n```\nsrc/\n├── components/        # 可复用组件\n│   ├── atoms/        # 基础组件 (Button, Input, Loading, Error)\n│   └── icons/        # 图标组件\n├── pages/            # 页面组件\n│   ├── home.rs       # 首页\n│   ├── login.rs      # 登录页\n│   ├── todo_list.rs  # Todo 列表\n│   ├── videos.rs     # 视频列表\n│   └── not_found.rs  # 404 页面\n├── utils/            # 工具模块\n│   ├── theme.rs      # 主题颜色系统\n│   └── storage.rs    # LocalStorage 封装\n├── state.rs          # 全局状态管理\n└── lib.rs            # 应用入口\n```\n\n### 🛣️ 路由\n\n```rs\npub enum Route {\n    #[at(\"/\")]\n    Home,\n    #[at(\"/login\")]\n    Login,\n    #[at(\"/todo_list\")]\n    TodoList,\n    #[at(\"/videos\")]\n    Videos,\n    #[not_found]\n    #[at(\"/404\")]\n    NotFound,\n}\n```\n\n[查看路由配置](./src/lib.rs)\n\n### 📸 截图\n\n#### Todo List\n![todo list](./todo_list.png)\n\n### 🔧 技术栈\n\n- **Yew** 0.22.0 - Rust Web 框架\n- **Yew Router** 0.19.0 - 路由管理\n- **Stylist** 0.13.0 - CSS-in-Rust 样式方案\n- **Serde** 1.0.210 - 序列化/反序列化\n- **Reqwasm** 0.5.0 - HTTP 请求\n\n### 📝 最近更新\n\n查看 [OPTIMIZATION.md](./OPTIMIZATION.md) 了解详细的优化内容。\n\n主要改进：\n- ✅ 添加全局状态管理系统\n- ✅ 实现 LocalStorage 数据持久化\n- ✅ 优化所有页面的 UI 和交互\n- ✅ 添加加载状态和错误处理\n- ✅ 实现响应式设计\n- ✅ 统一主题颜色系统\n- ✅ 改进代码组织和类型安全\n\n### 🤝 贡献\n\n欢迎提交 Issue 和 Pull Request！\n\n### 📄 许可证\n\n查看 [License](./License) 文件了解详情。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreeshineit%2Fyew_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreeshineit%2Fyew_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreeshineit%2Fyew_app/lists"}