autodotua / Location-Share

位置共享,类似于微信的位置共享(远古项目上传备份)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

《位置共享》

前言

此项目本来是一个Spring Boot+html5的标准前后端分离的应用,意在学习Spring。但是,由于Spring无法部署以及定位功能在浏览器端不稳定的原因,最终写了两个后端、一个浏览器端和一个客户端。

日志

20190803

从bookmanager复制过来模板,加以修改

建立到了基本的目录结构

20190804

主要编写前端

20190805

完成基本功能,前后端能搭配起来运行一下了

20190806

部署Spring到服务器失败,开始编写 Asp.Net Web Api 2 后端

20190807

基本完成Asp.Net后端,对前端进行了调整以适配后端

部署前后端到了服务器

20190808

由于测试网页版的《位置共享》发现定位精度和频率十分不可靠,决定编写Android版本

从《GIS工具箱》复制代码,开始修改

20190809

编写Android端的主要功能、界面、地图逻辑等

20190810

完成Android端的网络通信

20190811

修改、完善Android端

20190812

基本完成Android端主要功能

20190813

转换大多数类到Kotlin语言

###20190814

转换所有类到Kotlin语言

新增间歇定位功能

##20190815

Asp.Net、浏览器、Android三端同步修改

 增加精度显示和传输

 修改“无数据”的表示为null而不是-1

 支持了获取所有位置信息时指定“保留时间”参数,用于指定获取多久之前以后的用户数据。网页端不提供修改时间,默认为30分钟。Android端提供修改对话框

应用上传小米应用商店

##20190818

重构开始,计划修改为三页布局、修改账户登陆方式等

基本完成三页布局的基础

消除了静态Context,防止内存泄漏

##20190822

尝试了设置界面,完成了三项设置的UI和逻辑

##20190823

基本完成对后端和数据库的修改

 修改了用户Model结构,部分字段名字

 取消了注册、修改用户名和组名方法,新增注册、登录、验证/修改用户信息方法

 使用GUID字符串的Token作为登陆验证

Android端基本完成用户登录的界面和逻辑

##20190824

恢复了定位间隔和保留时间的设置项

恢复了关于和退出

基本恢复程序到可用的状态,缺失修改密码、组和显示名

##20190825

新增三个页面不同的ActionBar按钮

完成Person页面列表的整体框架

##20190826

基本完成Person页面的数据显示

##20190827

完成”消息“数据库表

修复了修改组无效的BUG

开始增加Osmdroid地图模块的支持,日后可切换。基本完成地图的显示、定位显示、成员位置显示

20190828

完善了OSM地图模块,恢复到Esri地图的所有功能

控制器修改返回值为IHttpActionResult,方便返回HTTP Code

识别到401代码时,自动跳转到登录Activity

修改了默认的标题栏

花了巨长的时间来修复Android发起的请求参数无法被后端识别的问题,和之前的版本一个个比较,最后发现是不小心User传了一个不该传lastUpdateTime参数,由于JAVA和C#的序列化程序不同,导致序列化失败的问题

20190831

修改标题栏标签左对齐

尝试修复标题栏按钮有时不显示的BUG

增加启动页背景图掩盖启动时间长的问题

由于下面的详情栏有时候上不来,加上和全面屏可能有点冲突,所以干脆去掉了,暂时先不能查看详细信息。计划之后获取位置与成员进行合并,重写后端

20190901

完成对后端Token生成、验证方式的修改,改为使用AES加密用户名和时间而非随机生成

20190903

完成对后端“GetAll”方法的修改,合并了GetGroupMembers方法

20190907

重新修改了“GetAll”方法,使用User的外键来获取Location实体

Android端完成了对后端修改的适配

基本完成修改网页版到重新可以运行的阶段

20190908

基本重新完成网页版的所有功能,重新开放网页版

20190909

网页版新增定位开关

网页版修复了一些BUG

修复了后端中,若一个用户没有上传任何定位信息,则会在前端获取信息时无论如何都被分到任何组的BUG

20190913

根据之前将时间筛选移植前端的改变,修改了Android端

完善了崩溃日志收集,日志将会保存在外置缓存文件夹

20190922

Android端取消了打开时的Token检测

Android端增加了用户信息列表的项内边距

为网页端新增了定位图标

20191008

后端新增隐藏最后一次定位记录的功能,Android实现了该功能

20210327

Android端修复了几个BUG:

  • 高版本Android无法使用后台定位(增加了后台定位权限声明)
  • 默认底图不可用
  • 由于ArcGIS Runtime的BUG,导致切换TAB时会部分区域黑屏(通过升级到100.10解决)
  • osm失效(增加了读写存储权限、允许了HTTP)

20220201

后端进行了大幅修改:

  • 更新到.NET6
  • 修改认证方式为Filter
  • 将请求分为了三个控制器
  • 将请求数据改为Dto,而不是Model
  • 部分请求改为GET,之前全部为POST
  • 一些其它的修改

同步修改了Android端

About

位置共享,类似于微信的位置共享(远古项目上传备份)


Languages

Language:JavaScript 92.7%Language:Kotlin 3.6%Language:CSS 1.2%Language:C# 0.9%Language:TypeScript 0.7%Language:Java 0.6%Language:HTML 0.1%