|
|
|
|
|
|
|
|
# 内容
|
|
|
|
|
|
[toc]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## 数货4.0
|
|
|
|
|
|
### 项目架构
|
|
|
|
|
|
#### 底层基础设计
|
|
|
|
|
|
##### 架构--[Redux](https://github.com/ReSwift/ReSwift)
|
|
|
|
|
|
###### [基础设计图](http://assets.processon.com/chart_image/5d6661eee4b06e4919248821.png)
|
|
|
|
|
|

|
|
|
|
|
|
###### [模块依赖图](http://assets.processon.com/chart_image/55c75aace4b08136904c8006.png)
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 主要业务逻辑设计
|
|
|
|
|
|
### SDK
|
|
|
|
|
|
#### [私有pods仓库地址](http://git.imagedt.com/ios_framwork/Specs/tree/master/BashoKit)
|
|
|
|
|
|
#### [时序图](http://assets.processon.com/chart_image/5d567ac0e4b0869fa417747e.png)
|
|
|
|
|
|

|
|
|
|
|
|
#### 测试方式
|
|
|
|
|
|
1. 运行basho工程,将target切换到bashoKitTest
|
|
|
2. 使.gitlab-ci.yml运行kit.sh脚本,待打包结束后[找到对应的包](http://10.196.51.253:8080/app/idt-basho-kit/iOS/)
|
|
|
|
|
|
### Deeplink
|
|
|
|
|
|
#### [接口文档](http://git.imagedt.com/imageDT_app/idt-basho-deeplink)
|
|
|
|
|
|
#### 测试方式
|
|
|
|
|
|
* 运行basho工程,将target切换到bashoKitTest
|
|
|
|
|
|
### App工程:[idt-basho-iOS link](http://git.imagedt.com/imageDT_app/idt-basho-iOS)
|
|
|
|
|
|
### 自动化集成
|
|
|
|
|
|
* 自动化集成采用gitlab-runner-CI-shell方式打包
|
|
|
* 打包文件:
|
|
|
|
|
|
|
|
|
别名 | 作用 | 文件相对路径
|
|
|
--|:--|:--
|
|
|
CI脚本 | 由gitlab-runner执行一个服务,接收gitlab的信息,自动执行相关脚本 | basho/.gitlab-ci.yml |
|
|
|
环境初始化配置脚本 | 初始化其它脚本需要的相关信息到shell进程中 | basho/job/config.sh |
|
|
|
工程环境变量脚本 | 根据config初始化的信息,选择工程编译的xcconfig | basho/job/xcconfig.sh |
|
|
|
编译打包脚本 | 生成archive文件和dSYM文件,将生成的文件移动到打包机器上的目录下 /usr/local/var/www/app/idt-basho/iOS/,将生成的ipa上传到fir | basho/idt-basho-app-iOS/AutoArchiveJob/theci.sh
|
|
|
CI打包接口脚本 | 供gitlab-ci调用,实际上是调用编译打包脚本 | basho/job/archive.sh |
|
|
|
打标签脚本 | 执行git tag ; git push tag 命令 | basho/job/tags.sh |
|
|
|
build号确认脚本 | 根据版本号git分支打包次数,自动生成对应build号 | basho/job/version.sh |
|
|
|
sdk集成脚本 | 自动拉取SDK工程(idt-basho-iOS-kit),将编译后的framework替换到到工程中,并推送到ios_framwork/Specs | basho/job/kit.sh |
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
## 数货3.0
|
|
|
|
|
|
### App工程 [idt-banana-app-iOS link](http://git.imagedt.com/imageDT_app/idt-banana-app-iOS)
|
|
|
|
|
|
### SDK工程 [idt-banana-sdk-iOS link](http://git.imagedt.com/imageDT_app/idt-banana-sdk-iOS)
|
|
|
|
|
|
|
|
|
### [项目架构](http://assets.processon.com/chart_image/59924daee4b06df7265a93e2.png)
|
|
|
|
|
|

|
|
|
|
|
|
#### 简要类名介绍
|
|
|
类名(或通用名) | 描述 | 备注
|
|
|
--|:--|:--
|
|
|
IdtAppUI | 全局管理SB、VC、Nav、Window的类 |
|
|
|
IdtShelfSFAController | 暴露SDK入口方法
|
|
|
IdtSFAController | 管理SFA相关逻辑实现
|
|
|
IdtAppController | 全局的数据逻辑管理
|
|
|
BI | 切割的数据处理逻辑类块 | 使用来多个BO和API来操作数据
|
|
|
BO | 切割的本地数据处理逻辑类块 | 使用多个DAO来操作数据,不包含网络请求
|
|
|
DAO | 独立的本地数据库操作 | 使用到了内存缓存来解决fmdb慢的问题,需要注意数据同步的问题。
|
|
|
API | 独立的网络数据处理逻辑类块
|
|
|
IdtActionBI | Action计划逻辑封装类 |
|
|
|
IdtUploadManager | 后台上传封装类
|
|
|
CameraViewController | 相机页面 |
|
|
|
IdtGalleryVC | 相册页面 | 使用了vs.uploadType属性来控制是否等待上传结束的逻辑、使用了netCheckDialog方法来控制上传等待的逻辑。
|
|
|
IdtTaskAddViewController | 货架添加页面 |
|
|
|
IdtTaskListViewController | 货架列表页面 |
|
|
|
|
|
|
### 项目应用
|
|
|
|
|
|
项目 | 方式 | 备注
|
|
|
--|:--|:--
|
|
|
联合利华 | SDK | 分支名: imagedt_ring_unilever
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Hvenatoria立白离线识别
|
|
|
|
|
|
### App工程 [idt-hvenatoria-iOS link](http://git.imagedt.com/imageDT_app/idt-hvenatoria)
|
|
|
|
|
|
#### [流程相关依赖图示](http://assets.processon.com/chart_image/570335bbe4b04878f83ef2df.png)
|
|
|
|
|
|

|
|
|
|
|
|
---
|
|
|
|
|
|
## 其它
|
|
|
|
|
|
### PMG-3643 【移动开发】iOS_优化提交空答案题目逻辑
|
|
|
|
|
|
这里提交相机答案,进行图片是否为0的硬判断,需要调整成判断题目的最小图片数量
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|