Socialbase
Socialbase 是一个用于在 Cloud Firestore 中构建 SNS 框架。
❗️
要求- iOS 10 或更高版本
- Swift 4.0 或更高版本
- Firebase firestore
- CocoaPods 1.4
❗️ gem install cocoapods
安装
CocoaPods
- 将
pod 'Socialbase'
添加到您的 Podfile 中。 - 运行
pod install
。
用法
通过使您的用户符合 Pring ,使您的用户定义符合 Socialbase。
@objcMembers
final class User: Object, Socialbase {
dynamic var name: String = "USER_NAME"
dynamic var type: String = UserType.none.rawValue
// Organizable
let organizations: ReferenceCollection<User> = []
let peoples: ReferenceCollection<User> = []
// Followable
let followers: ReferenceCollection<User> = []
let followees: ReferenceCollection<User> = []
}
extension User {
typealias Invitation = Test.Invitation
}
class Test {
@objcMembers
class Invitation: Object, InvitationProtocol {
typealias Element = User
dynamic var status: String = Status.none.rawValue
dynamic var message: String?
dynamic var toID: String = ""
dynamic var fromID: String = ""
}
}
extension User {
typealias FollowRequest = Test.FollowRequest
}
extension Test {
@objcMembers
class FollowRequest: Object, FollowRequestProtocol {
typealias Element = User
dynamic var status: String = Status.none.rawValue
dynamic var message: String?
dynamic var toID: String = ""
dynamic var fromID: String = ""
}
}
邀请用户加入您的组织。
let user0: User = User(id: "user0", value: [:]) // Organization user
let user1: User = User(id: "user1", value: [:])
let invitation: Test.Invitation = Test.Invitation(fromID: user0.id, toID: user1.id)
invitation.save()
关注用户。
let user0: User = User(id: "user0", value: [:])
let user0: User = User(id: "user1", value: [:])
user1.follow(from: user0)