SwiftUI 开源项目 - ZYSwiftUIFrame 自带服务端的完整示例项目(更新中...)

SwiftUI 开源项目 - ZYSwiftUIFrame 自带服务端的完整示例项目(更新中...),第1张

SwiftUI 开源项目 前言主要特色项目技术项目预览1. 不需要开启服务端1.1 用户列表 2. 需要开启服务端2.1 消息列表2.2 会议列表 运行教程运行 IOS 项目运行服务端项目数据库相关文件上传目录后台接口文档

Gitee 地址:https://gitee.com/szluyu99/ZYSwiftUIFrame

Github 地址:https://github.com/szluyu99/ZYSwiftUIFrame

本项目主要维护 Github 地址,同时会同步将其推送到 Gitee 地址(相当于镜像)

前言

我并不是专业的 IOS 开发人员,之前也没有接触过 IOS,但是因为某些原因,团队需要开发一个 IOS App,然后我便接触到了 Swift 和 SwiftUI,当然,我并没有学 OC 和 UIKit。该项目中几乎没有用到 UIKit 相关的东西(有也是谷歌搜索到了代码直接复制一下),基本上完全使用 SwiftUI 进行开发。

总觉得以后应该不会再和 IOS 有太多交集,但是好歹也是钻研了这么一段时间的技术,总希望能留下点什么东西,因此就诞生了这个项目。我试图将我开发 IOS 时学习和积累到的知识点和技术尽可能的集成到这个项目中,该框架也许会不停的迭代(如果我还有机会接触 IOS 的话)。

再次申明,我并不是专业的 IOS 开发人员,很多代码风格和思维,也许都是其他项目的开发经验,欢迎探讨。

希望我的项目能为 SwiftUI 带来一丝丝微弱的光芒。

主要特色

从我这么一个对 IOS 完全零基础的人的角度来看,我之前查询过很多项目,但是很多项目的功能性都是比较偏向某面,大多都是着力于视图层或其他功能性,很少能遇到比较完整的项目(可能我的看法并不专业)。而且 SwiftUI 开发中必然会遇到一些拦路虎如:下拉刷新、上拉加载、显示网络图片等,主要原因是因为 SwiftUI 目前还不是特别成熟,但是它作为未来的趋势是必然的。

该 SwiftUI 项目包含完整的:网络请求、下拉刷新、上拉加载更多、数据增删改查、图片上传、图片预览等功能(后续还会继续更新),代码中抽取成了框架体系:例如通用 ViewModel 等,很适合进行快速开发。

项目特色:

拥有服务端项目,为了模拟实际的项目场景,我使用 Go 开发的包含网络请求部分,结合上面服务端,实现了对数据库数据的增删改查即使不运行服务端,项目也有单机 Demo,供你快速了解其主要功能封装了丝滑的上拉刷新、下拉加载更多(基于 BBSwiftUIKit),也可以模仿我的代码自行封装代码优雅、风格整洁,注释比较详细待更新… 项目技术

IOS 技术栈:基于 Swift 语言

SwiftUI

服务端技术栈:基于 Go 语言

Web 框架:GinORM 框架:GORM 项目预览

1. 不需要开启服务端

不需要开启服务端,功能是下面 “需要开启服务端” 功能的简化版,仅用于本地演示,并且不涉及到数据请求。

1.1 用户列表

下拉刷新、上拉加载更多:

新增、删除、修改:

帮助、搜索:

2. 需要开启服务端

开启服务端的数据,模拟真实的请求后台,实现对数据库的 *** 作。

2.1 消息列表

上拉、下拉、删除:

2.2 会议列表

显示帮助、删除、下拉刷新、搜索:

更新、新增:

图片上传、预览、删除、保存:

运行教程 运行 IOS 项目

这个应该不用多说了,项目拉下来,用 Xcode 打开 ZYSwiftUIFrame.xcodeproj 文件。

运行前需要修改签名等 *** 作。


项目跑起来后,不需要服务端的界面是可以直接查看的,需要服务端的界面,还需要运行起服务端。

当服务端跑起来后,将 Api/NetworkManager.swift 中的 NetworkAPIBaseURL 修改为你当前的局域网 IP。

(端口默认是 8080,不需要修改)

保证你的真机和运行起服务端的电脑在同一个局域网下,或者直接使用模拟器运行项目。

查看电脑当前 IP 的方法:在网络偏好设置查看。

运行服务端项目

需要有 Go 语言的环境。

项目我已经打包好了,就是 go_api_server 目录下的 main 文件,终端中 ./main 即可运行。

运行前记得修改 config 目录中的配置文件,修改成自己的数据库名、用户名、密码。

数据库相关

我本地数据库用的 MySQL 8。

Golang 的数据库框架有自动迁移功能,在连接上数据库的基础上,直接运行起项目会自动建表。

我也在代码中初始化生成了一些测试数据,因此只要数据库连接正常,项目运行起来,就有数据了。

当然,我也提供了 SQL 语句(结构 + 数据),在项目的 sql 文件中。

文件上传目录

文件上传到本地,目前写死是 uploads/file 目录。

后台接口文档

该接口文档由 ApiPost 生成:

https://console-docs.apipost.cn/cover.html?url=36557b241534caed&salt=6015c9b386e133e0

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/990804.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存