swapFlutter
swapFlutter copied to clipboard
getx项目,包括适配,路由,扫码,google map,自定义marker,dio,组件封装,导航路径,登录注册,token重连,拨号,支付等
Support [√] Flutter (Channel stable, v2.5.2).Dart SDK version: 2.14.4(stable)
注意
1.本项目运行在 GETX,创建路由建议用以下命令:
get create page:xx
2.首页地图需要Goole service(科学上网)
3.接口数据为测试服mock,不会长期维护
目录结构
app
├─colors
├─common
│ ├─langs
│ ├─methods
│ └─widgets
├─entities
├─middlewares
├─modules(按路由划分模块)
│ └─home
│ ├─apis
│ ├─bindings
│ ├─controllers
│ ├─mixins
│ └─views
│ └─widgets
├─routes
├─store
├─utils
│ ├─extensions
│ └─http
└─values
设置权限(项目中已配置)
谷歌地图
安卓:android-app-src-main-AndroidManifest.xml
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="这里填写自己的谷歌地图key"/>
IOS:ios-Runner-AppDelegate.swift
import GoogleMaps
GMSServices.provideAPIKey("这里填写自己的谷歌地图key")
定位
安卓:android-app-src-main-AndroidManifest.xml
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
IOS:ios-Runner-info.plist
<key>NSLocationWhenInUseUsageDescription</key>
<string>需要定位权限</string>
相机
安卓:android-app-src-main-AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" />
IOS:ios-Runner-info.plist
<key>NSCameraUsageDescription</key>
<string>This app requires access to the camera.</string>
已完成功能
- [x] 基于GetX的路由系统,依赖、状态管理
- [x] 基于 dio4.0网络请求封装
- [x] 自定义 Dialog/Toast
- [x] token添加,失效自动刷新
- [x] 登录/注册/获取验证码/退出登录
- [x] 修改昵称/收货地址
- [x] 个人中心
- [x] 客服中心/常见问题/拨打电话
- [x] 套餐卡券购买
- [x] 公告消息列表页面
- [x] 钱包余额
- [x] GoogleMap、market渲染
- [x] 获取用户实时定位
- [x] 商城页面/货物列表/上拉卡片/轮播
- [x] 扫码页面/扫描动画
- [x] 手动输入6位ID
- [x] 局部浮动弹窗
后续计划
- [ ] 国际化翻译
- [ ] 修改手机号
- [ ] 更换用户头像
- [ ] 扫码逻辑
- [ ] ApplePay支付对接
- [ ] 商城订单管理
- [ ] GoogleMap地图运动轨迹
回馈和建议
如果你有更好的想法或者你想参与到这个项目中来,欢迎提交 PR!!
预览
部分页面效果如下:
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |