# mishop-next **Repository Path**: zhanle.git.com/mishop-next ## Basic Information - **Project Name**: mishop-next - **Description**: 精仿小米商城,基于next.js 15 + react 19 + ts - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: main - **Homepage**: https://juejin.cn/post/7507461367584161832 - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2025-05-30 - **Last Updated**: 2025-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mishop-next 精仿小米商城,基于Next.js 15 + React 19 + TypeScript。 👉 项目地址: 1. [https://github.com/chengdongqing/mishop-next](https://github.com/chengdongqing/mishop-next) 2. [https://gitee.com/chengdongqing/mishop-next](https://gitee.com/chengdongqing/mishop-next) --- ## ✨ 项目亮点 - ✅ 使用 **Next.js App Router** 最新架构,服务端渲染 - ✅ 使用 **React 19** 新特性(如 `useActionState`, `useOptimistic`, `useTransition`, `use` 等提升开发体验和用户体验) - ✅ 部分页面支持 **深色/浅色/自适应主题** - ✅ 部分页面支持 **多语言切换+`RTL`** - ✅ `WebSocket` 支付成功模拟 - ✅ `Redis` + `BullMQ` 实现超时订单自动取消 - ✅ 使用 `Drizzle ORM` 操作 MySQL 数据库 - ✅ 部分动画使用 `motion` - ✅ 样式使用 `tailwindcss` - ✅ 前后端异步交互使用Next.js内部`RPC`协议 --- ## 效果预览 home page search page buy page spec page product page cart page orders page order page address page profile page account page account page ## 🧩 功能一览 ### 用户模块 - 用户注册、登录、找回密码 - 登录方式:密码登录、短信验证码登录 - 修改个人信息、修改密码 - 账号安全、收藏商品、地址管理 ### 商品模块 - 首页、搜索页 - 商品详情页 - 商品参数、评论展示 - 商品购买页 ### 购物与订单 - 购物车、结算页、支付页 - 订单列表、订单详情、订单评价 - 超时订单自动取消(Redis + BullMQ) - WebSocket 模拟支付成功通知 ### 其他功能 - 视频列表页 - 部分页面国际化支持 - 部分页面主题切换(亮 / 暗 / 自适应)等 --- ## 🏗️ 技术栈 | 类别 | 技术栈 | |------|--------------------------| | 前端框架 | Next.js 15+ (App Router) | | 前端库 | React 19 | | 样式 | Tailwind CSS, Motion | | | 数据库 | MySQL + Drizzle ORM | | 消息队列 | Redis + BullMQ | | 实时通信 | WebSocket | | 国际化 | next-intl | | 认证 | next-auth | --- ## 🚀 快速开始 ### 1. 克隆仓库 ```bash git clone https://github.com/chengdongqing/mishop-next.git cd mishop-next ``` ### 2. 安装依赖 ```bash npm install # 或 yarn install ``` ### 3. 配置环境变量 创建 `.env.local` 文件,并填写如下内容: ```env DATABASE_URL=mysql://root:yourpassword@localhost:3306/mishop REDIS_URL=redis://localhost:6379 AUTH_SECRET=y9T40BiW9ZdnmlM3asVwsfLu4Te/4gzfxfvXgvhktNM= AUTH_TRUST_HOST=http://localhost:3000 PAYMENT_TIMEOUT=30 ``` #### 🔐 生成 AUTH_SECRET ```bash # macOS / Linux openssl rand -base64 32 # Windows 用户可访问:https://generate-secret.vercel.app/32 ``` ### 4. 使用 Docker 启动 MySQL 和 Redis(可选) ```bash # MySQL docker run --name mysql \ -e MYSQL_ROOT_PASSWORD=yourpassword \ -p 3306:3306 \ -d mysql # Redis docker run --name redis -p 6379:6379 -d redis ``` ### 5. 启动开发服务器 ```bash npm run dev # 或 yarn dev ``` #### 启动项目同时启动`bullmq`、`socket.io`服务,可实现模拟支付回调、订单超时未支付自动取消 ```bash npm run dev:all # 或 yarn dev:all ``` ### 6.数据库初始化 1. 手动创建数据库,并命名为`mishop` 2. 访问 [http://localhost:3000/seed](http://localhost:3000/seed) 初始化数据,调用此接口会直接创建数据库表+填充初始数据,注意此操作会影响已存在的数据。 --- ### 7. 构建生产版本 ```bash npm run build ``` 运行生产版本 ```bash npm run start # 或 npm run start:all ``` 构建后页面响应速度将大幅提升 ## 🐞 已知问题 - 🔍 搜索功能未使用全文索引或搜索引擎(如 ElasticSearch) - 🌐 页面静态化(SSG)后无法动态响应主题 / 语言切换 - 💰 支付/发送验证码仅为模拟流程 - 还有若干问题待优化 --- ## 🤝 欢迎贡献 欢迎大家提Bug或建议(Issue)、补充新功能、增强用户体验等 --- ## 📬 联系方式 欢迎通过以下方式与我联系交流项目问题或技术经验: - 📧 邮箱:1912525497@qq.com - 🐙 GitHub:[https://github.com/chengdongqing](https://github.com/chengdongqing) - 📘 掘金:[@海盐芝士不加糖](https://juejin.cn/user/3459525081568276) 如果你喜欢这个项目,欢迎 Star ⭐、Fork 🍴、提 Issue 🐛,你的支持是我持续优化的动力! --- ## 📚 推荐学习资源 - [Next.js 官网](https://nextjs.org) - [React 官网](https://react.dev) - [TailwindCSS 官网](https://tailwindcss.com) - [Drizzle ORM](https://orm.drizzle.team/) --- ## 📄 开源协议 [MIT License](LICENSE)