{"id":25244652,"url":"https://github.com/x-ration/fts-web","last_synced_at":"2026-04-17T15:32:40.185Z","repository":{"id":275585186,"uuid":"905526809","full_name":"X-ration/fts-web","owner":"X-ration","description":"一套适用于web的文件互传系统fts-web，提供用户登录、注册、收发消息、互传文件的功能。【详见README】","archived":false,"fork":false,"pushed_at":"2024-12-19T02:33:28.000Z","size":710,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-12T01:31:04.711Z","etag":null,"topics":["bootstrap","fts-web","jquery","mybatis","spring-boot","thymeleaf","websocket"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/X-ration.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-19T02:32:30.000Z","updated_at":"2024-12-19T06:29:48.000Z","dependencies_parsed_at":"2025-02-03T13:38:50.540Z","dependency_job_id":"f3a491a1-f396-4838-a0c6-e94ab3e7ff54","html_url":"https://github.com/X-ration/fts-web","commit_stats":null,"previous_names":["x-ration/fts-web"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X-ration%2Ffts-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X-ration%2Ffts-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X-ration%2Ffts-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X-ration%2Ffts-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/X-ration","download_url":"https://codeload.github.com/X-ration/fts-web/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247399885,"owners_count":20932880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","fts-web","jquery","mybatis","spring-boot","thymeleaf","websocket"],"created_at":"2025-02-12T01:26:41.884Z","updated_at":"2026-04-17T15:32:35.157Z","avatar_url":"https://github.com/X-ration.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"### 文件互传系统【fts-web】\n\n-----------\n\n一套适用于web的文件互传系统fts-web，提供用户登录、注册、收发消息、互传文件的功能。\n\n项目使用Maven构建，使用java+Spring Boot+Thymeleaf+Bootstrap+JQuery开发，使用MySQL数据库+MyBatis。支持动态数据源，见[application-dev.properties](src/main/resources/application-dev.properties)。 建表语句在[create_tables.sql](src/main/resources/create_tables.sql)。\n\n| 依赖项  | 依赖版本           |\n|------|----------------|\n| Java | 1.8            |\n|Spring Boot| 2.6.13         |\n|Thymeleaf| 3.0.15.RELEASE |\n|Bootstrap| 4.6.2          |\n|JQuery| 3.7.1          |\n|MySQL| 5.7.44         |\n|MyBatis| 3.5.9          |\n\n主要功能：\n- 支持多端登录（即同一账号在不同设备、同一设备多种浏览器登录），可以给自己发消息、发文件\n- 提供用户登录注册功能，用户可以通过Fts号码或电子邮件登录，用户注册成功会返回Fts号码，注册失败会针对每个表单输入项给出提示。注册表单可以包含表情符号。\n![register_success.png](readme/register_success.png)\n![register_fail.png](readme/register_fail.png)\n- 登录成功后主界面提供收发消息、收发文件、添加好友、清理信息功能。文件有7天有效期你，过期自动清理。大屏浏览器右边栏会展示对方和自己的资料。\n![index_page.png](readme/index_page.png)\n- 支持用户资料的查看和修改。用户资料包括Fts号码、昵称、电子邮件、出生日期、爱好、个性签名，支持修改密码。不存储原始密码，存储加密后的密文。\n![modify_profile.png](readme/modify_profile.png)\n- 接收到文本或文件消息，会在浏览器右下角处收到toast提示。\n- 在小屏设备上页面会自适应表单输入项的大小。\n![small_device.png](readme/small-device.png)\n![small_device_2.png](readme/small-device_2.png)\n- 登录可以勾选“记住我”，这样在关闭浏览器重新打开后还能以登录状态进入系统。\n\nFts号码通过user_fts_id表自增值分配，bigint类型，从10000开始分配，使用unsigned类型支持18446744073709551616-10000个号码的使用（百亿亿级）。\n\n文件存储有7天有效期，存储路径位于系统根路径下的fts-web目录，按照Fts号码分开。最大上传1GB文件。\n\n用户登录时根据MD5算法和数据库存储的盐值进行匹配，匹配成功后会生成一个与Fts号码对应的token（32位），前端后续请求都会带上token。token有7天有效期，过期自动清理。每次登录会刷新token的有效期。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx-ration%2Ffts-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fx-ration%2Ffts-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx-ration%2Ffts-web/lists"}