# SmartCall服务端 **Repository Path**: zazzh/contacts-server ## Basic Information - **Project Name**: SmartCall服务端 - **Description**: SmartCall通讯录的服务端程序,无数据库,无Web界面,基于Excel文件直接维护通讯录数据。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2018-03-01 - **Last Updated**: 2021-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简介 这是与SmartCall通讯录安卓版配套的服务器端程序。 系统采用Spring Boot开发,不使用数据库,只使用Excel文件本身作为通讯录的数据来源,以方便用户更新和维护数据。 # 使用方法 ## 安装部署 系统需要JRE8环境,请自行安装。 将程序用maven打成jar包后,拷贝到服务器任意目录即可。 ## 配置 1. 服务器端口和路径: 在jar包所在位置建立config子目录,把application.yml拷贝进去,根据需要修改其中的配置。一般只需要修改端口号即可。配置项的说明请查看application.yml中的注释。 1. 通讯录数据: 把"通讯录.xlsx"文件放到jar包并列的位置,并编辑保存其中的通讯录数据。 注意不要调整列的顺序,访问密码必须是英文和数字,否则客户端无法输入。 1. 头像目录: 初始配置中存放图像的目录名为avatars。该目录与jar文件并列,会在用户通过客户端上传头像时自动创建。如果管理员有准备好的头像,也可以手动建立该目录,并放入已有的头像图片:“[姓名].jpg”。 ## 运行 最终的运行目录结构如下: ``` 父目录 ├─avatars │ └─张三.jpg ├─config │ └─application.yml ├─apkinfo.json ├─通讯录.xlsx └─contact-server.jar ``` 通过命令行在父目录下执行: java -jar contact-server.jar。 ## 如何发布客户端新版本 有新版本安卓客户端要发布时,把新版APK文件拷贝到与jar并列的位置,然后用编辑器编辑apkinfo.json文件,填写相应的升级说明。 其中: * versionCode:与安卓源程序中指定的版本号(versionCode)一致,必须是整数。只有大于当前用户正在使用的版本时,客户端程序才会启动更新。 * comment:升级说明文字,会显示在客户端升级对话框中。 * url:APK的下载URL地址,用于指定第三方下载地址,以HTTP开头。如果为空,则认为是从当前服务器的jar目录下下载APK文件。通常为空即可。 * fileName:下载的文件名,应该与APK文件名一致。 ## 设计说明 服务端程序设计目标是安装配置简单、日常维护简便,故没有开发任何web维护页面,操作人员可直接把日常工作存档的通讯录Excel文件作为数据源,而不用通过Web界面逐条操作。 出于简单起见,系统未在安全性方面做完整设计,用户通过客户端查询通讯录时所需的访问码,直接以明文方式写在excel中,且用户不能自行修改。管理员可以对每个用户指定不同的访问码,例如可以使用工号、生日等作为访问码。如果必要,可以定期更新该密码。 系统会定时扫描Excel文件是否更新(定时周期在配置文件中调整,初始值为60秒),一旦发现更新,会自动重新加载Excel数据,之后客户端就可以获取到最新数据。 用户通过客户端上传的头像文件,会自动保存在与jar同级的子目录下(子目录名是在配置文件中配置的,初始为avatars)。管理员也可以在操作系统中直接对头像文件进行添加、编辑、删除等操作,系统在定时扫描Excel时会同步扫描头像图片。