
Velstore REST API参考手册基于Sanctum构建移动端客户接口的实战指南【免费下载链接】velstoreFree and open-source multi-vendor Laravel eCommerce solution that is fully customizable and ready to use.项目地址: https://gitcode.com/gh_mirrors/ve/velstoreVelstore是一款免费开源的多商户 Laravel 电商系统内置基于Laravel Sanctum的 REST API 客户接口支持注册、登录、个人信息等移动端认证场景。本手册带你快速读懂它的 API 路由设计、令牌机制与全部可用端点助你在 10 分钟内完成 App 端对接。 为什么 Velstore 适合做移动端后端Velstore 的技术栈天然面向前后端分离组件说明后端框架Laravel 10认证方案Laravel Sanctum令牌认证数据库MySQLi前台BladeLaravel UI它同时提供管理端、商户端、客户前台三套面板而routes/api.php则为移动端预留了独立的客户接口。无论开发 Android、iOS 还是小程序都能直接调用。⚙️ 快速开始3 步跑起 API第一步克隆项目git clone https://gitcode.com/gh_mirrors/ve/velstore.git第二步安装并导入示例数据cp .env.example .env php artisan install:velstore --with-import第三步启动服务php artisan serve启动后所有 API 统一挂在api前缀下——这一行为在 app/Providers/RouteServiceProvider.php 中定义。你可以在浏览器访问http://127.0.0.1:8000/api/products验证接口已生效。️ API 路由全景图全部端点注册在 routes/api.php 中结构非常清晰分为三大类1️⃣ 客户认证类需令牌/无需令牌端点方法说明认证/api/customer/registerPOST客户注册否/api/customer/loginPOST客户登录否/api/customer/profileGET获取当前客户信息✅ Bearer Token/api/customer/logoutPOST登出删除令牌✅ Bearer Token2️⃣ 公共数据类无需认证端点方法说明/api/productsGET产品列表/api/categoriesGET分类含子分类/api/brandsGET品牌列表/api/bannersGET轮播横幅/api/social-media-linksGET社交链接3️⃣ 默认用户端点/api/user是 Sanctum 模板自带的用户信息端点。限流保护API 默认限流为每用户每分钟 60 次规则在 app/Providers/RouteServiceProvider.php 中配置对移动端防刷非常友好。 核心实战Sanctum 令牌认证流程这是移动端对接最关键的部分。认证逻辑位于 app/Http/Controllers/Api/CustomerAuthController.php。第一步注册获取令牌向/api/customer/register发送 JSON 请求{ name: 张三, email: zhangtest.com, password: 123456, password_confirmation: 123456 }服务端校验后返回201响应中包含message注册成功提示token⭐一次性返回的明文令牌仅此次可见务必在 App 端持久化保存customer客户对象第二步登录与令牌刷新/api/customer/login同样返回新令牌。令牌本质是数据库personal_access_tokens表中的一条记录对应迁移文件 database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php。第三步携带令牌访问受保护接口curl -H Authorization: Bearer 1.xxxxxxxx http://127.0.0.1:8000/api/customer/profile第四步登出调用/api/customer/logout会只删除当前令牌currentAccessToken()-delete()其他设备的登录状态不受影响——这对多设备用户是理想的行为。⚠️注意客户模型 app/Models/Customer.php 使用了HasApiTokensTrait 并隐藏了password字段因此任何接口响应中都不会泄露密码哈希安全性有保障。 公共数据接口多语言是隐藏亮点产品、分类、品牌、横幅等接口全部无需令牌可直接拉取展示。它们还有一个共同点支持lang查询参数。curl http://127.0.0.1:8000/api/products?langzh不传lang时默认使用应用当前语言app()-getLocale()。以产品列表为例app/Http/Controllers/Api/ProductController.php 会按语言过滤翻译表返回名称、描述、按当前货币换算后的价格、缩略图、分类、品牌与平均评分——字段结构对渲染商品卡片极其友好。统一响应格式所有公共接口都遵循同一套结构{ status: true, data: [ ... ] }认证接口的错误则返回对应的 HTTP 状态码401凭证无效、422校验失败附errors明细。开发时按status字段判断即可不用解析复杂结构。各接口实现文件对照功能源码位置产品列表app/Http/Controllers/Api/ProductController.php分类列表app/Http/Controllers/Api/CategoryController.php品牌列表app/Http/Controllers/Api/BrandController.php轮播横幅app/Http/Controllers/Api/BannerController.php社交链接app/Http/Controllers/Api/SocialMediaLinkController.php️ 移动端开发避坑清单令牌只出现一次注册/登录返回的明文令牌要立即存入安全存储如 Keychain / Keystore / 加密存储之后只能看到前缀。401 的处理统一拦截 401 响应并引导重新登录避免令牌过期导致白屏。善用lang参数App 切换语言时无需重新登录只需在请求中带上对应语言码。只拉取上架数据产品与分类接口已内置status过滤不会返回草稿或禁用项。限流意识每分钟 60 次做列表刷新时建议加缓存。 延伸阅读项目说明与安装指南README.mdSanctum 令牌与状态域配置config/sanctum.php用户模型管理端同样启用 Sanctumapp/Models/User.php✅ 小结Velstore 的 REST API 设计克制而实用一个认证控制器 五个公共数据控制器统一/api前缀、统一响应结构、内置限流与多语言。对于想在现有电商系统上快速叠加 App 端或小程序的场景这是一套几乎零学习成本的接口底座。动手试试吧【免费下载链接】velstoreFree and open-source multi-vendor Laravel eCommerce solution that is fully customizable and ready to use.项目地址: https://gitcode.com/gh_mirrors/ve/velstore创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考