All Projects → DoloresTeam → dolores-ios

DoloresTeam / dolores-ios

Licence: other
dolores iOS 客户端

Programming Languages

objective c
16641 projects - #2 most used programming language
swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to dolores-ios

xyTalk-pc
企业IM即时通讯定制平台,百万级高并发、高性能、可扩展、安全、高交互体验的企业通信和协作im平台。包含通讯服务、客户端(PC、Android、iOS)、Web门户(用于集成企业应用)、WebAPI。
Stars: ✭ 48 (+118.18%)
Mutual labels:  im
RealmSearchView
SearchView with result list powered by Realm
Stars: ✭ 23 (+4.55%)
Mutual labels:  realm
o-fish-realm
Realm application code and sample data for the Officer's Fishery Information Sharing Hub (O-FISH). The mobile app allows fisheries officers to document and share critical information gathered during a routine vessel inspection. The web app allows agencies to gain insights from the aggregated information.
Stars: ✭ 23 (+4.55%)
Mutual labels:  realm
Rmessage
Reactive Programming Multi-protocol push service
Stars: ✭ 23 (+4.55%)
Mutual labels:  im
TeamTalk
TeamTalk is a solution for enterprise IM
Stars: ✭ 61 (+177.27%)
Mutual labels:  im
erxes-android-sdk
erxes Android SDK, for integrating erxes into your android application
Stars: ✭ 23 (+4.55%)
Mutual labels:  realm
realm-tester
Writing tests using Realm Java
Stars: ✭ 14 (-36.36%)
Mutual labels:  realm
shadowrealm-api
🗳️ A implementation of the ShadowRealm API Proposal, a JavaScript sandbox, test with TC39 Test262 cases.
Stars: ✭ 44 (+100%)
Mutual labels:  realm
bootpush
📶即时消息推送服务(即时通讯),基于Netty- Instant Messaging push service based on Netty
Stars: ✭ 146 (+563.64%)
Mutual labels:  im
mobile-realm
mobile-realm
Stars: ✭ 21 (-4.55%)
Mutual labels:  realm
realm-mapper-ios
Realm + ObjectMapper
Stars: ✭ 28 (+27.27%)
Mutual labels:  realm
aaf-easyphotomap
📷 Easy Photo Map is a photomap application that displays the location of the photo on the map using the location information included in the photo.
Stars: ✭ 36 (+63.64%)
Mutual labels:  realm
realm-dart-samples
Samples for Realm Flutter and Realm Dart SDKs
Stars: ✭ 26 (+18.18%)
Mutual labels:  realm
keycloak-home-idp-discovery
Keycloak: Home IdP Discovery - discover home identity provider or realm by email domain
Stars: ✭ 42 (+90.91%)
Mutual labels:  realm
teamgram-server
Unofficial open source mtproto server written in golang with compatible telegram client.
Stars: ✭ 910 (+4036.36%)
Mutual labels:  im
customer-service
客服IM服务端,基于t-io
Stars: ✭ 30 (+36.36%)
Mutual labels:  im
UseCases
This a library that offers a generic implementation of the data layers from the clean architecture by Uncle bob.
Stars: ✭ 23 (+4.55%)
Mutual labels:  realm
qcloud-im-server-sdk-java
☁ Tencent Cloud IM Server SDK in Java | 腾讯云 IM 服务端 SDK Java 版
Stars: ✭ 38 (+72.73%)
Mutual labels:  im
Linux-Active-Directory-join-script
Active directory Join script for Ubuntu, Debian, CentOS, Linux Mint, Fedora, Kali, Elementary OS and Raspbian with built in failchcheck and debugmode for Ubuntu. "The most advanced and updated AD join script on GITHUB for Linux"
Stars: ✭ 97 (+340.91%)
Mutual labels:  realm
Realm-and-Swift-Codable
How to implement Swift 4 Codable with Realm Database
Stars: ✭ 34 (+54.55%)
Mutual labels:  realm

注意:由于被人恶意盗刷七牛云存储流量,所以我们决定暂时停用七牛。因此客户端的头像服务会受到影响。

Dolores iOS客户端

注册账号

IM消息服务

实时消息这一块有很多开源的解决方案比如XMPP,但是企业通信对IM这块的可靠性要求很高,所以目前我们打算使用比较成熟的云服务,后期如果时间比较充裕,考虑开发自己的IM服务器。在对比了市场上数十家IM云服务厂商以后,我们决定选择环信来为Dolores提供消息服务。

项目架构

第三方库引用

  • 环信sdk以及相关UI组件,快速搭建IM聊天
  • Masonry用于UI自动布局编写。
  • ReactiveObjC
  • Realm强大的移动端数据库,读写效率高,易于维护。
  • AFNetworking,不用介绍了。
  • RATreeView较快捷的展示树状结构tableview,用于该项目中通讯录的UI编写。
  • Qiniu:图片上传库。

数据库设计

Realm数据库对于一对多,多对多的支持非常好。人员组织架构的数据库设计如下:

  • Staff(员工)可以对应多个Department(部门),一对多关系。通过Realm数据库反转,我们可以拿到该staff隶属于的所有部门。
  • Department包含子部门和员工。同时Department有“parentId”字段,指向其父部门。如果parentId为空,则为根节点部门。

数据库文件见项目“RMDepartment”,“RMStaff”类。

组织架构通讯录同步&更新

用户登录APP后,会从server拉取企业组织架构信息写入数据库。当从管理后台对组织架构进行修改,会通过环信sdk发送消息给APP,然后APP会根据当前数据库version从服务端获取更新数据,进行本地数据同步。

如何使用Dolores

  • 参见Dolores主要说明来部署服务端。

  • 打开iOS端Dolores.xcworkspace,修改“DefineMacro.h”定义文件中的

    #define kBaseDoloresUrl                         @"http://www.dolores.store:3280"
    

为你的服务url。

  • 修改AppDelegate中环信sdk key为您申请的key。

    - (void)registerEMSDK {
        EMOptions *options = [EMOptions optionsWithAppkey:@"1123170417178103#dolores"];
        options.enableConsoleLog = NO;
        options.isDeleteMessagesWhenExitGroup = NO;
        options.isDeleteMessagesWhenExitChatRoom = NO;
        options.enableDeliveryAck = YES;
        options.logLevel = EMLogLevelError;
        options.isAutoLogin = YES;
        [[EMClient sharedClient] initializeSDKWithOptions:options];
    }
    
  • 执行“pod install”安装项目依赖的第三方库。

  • run & chat.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].