openatx / atxserver2

Smart Phone Management. Reimplement of atx-server with Python
MIT License
1.36k stars 424 forks source link

新增location的管理页面 #20

Open xuweijiaFrank opened 5 years ago

xuweijiaFrank commented 5 years ago

需求: 由于公司设置到多部门,且会有多个provider,需要知道资产在哪里(不光是IP),且希望自动返显出来(最好是中文名)

本次修改内容:

  1. 后台管理中,添加tab选项进行切换,管理员管理 和 设备-所在地管理 设备-所在地管理 支持增删改查,主要是为了ip能对应个名字出来 数据库添加了1张表 location

  2. 首页调整所属部门列, 支持返显设备-所在地的中文名 或者 ip

  3. database的save方法,新增了个过滤用的入参

备注: 返回的device中,新增了locationProperties, 本来想放在source里面的,但是看作者是做隐藏的,故没有去动

xuweijiaFrank commented 5 years ago

大佬element-ui 和vue都升级下吧?我这边试了感觉没啥问题,之前版本有点老

xuweijiaFrank commented 5 years ago

大佬都修改好了,麻烦在瞅瞅

codeskyblue commented 5 years ago

我看了下代码,大概理解了下,你看下我描述的准确不。

增加一个location表。(这里要改成 locations, 表都是复数) 表里保存的是 ip和地址的对应关系。(这里推荐用 10.1.10.0/24 => 江苏 这种方式,因为ip可能会在一个ip段变化) 另外 device里面你增加了一个 locationProperties (这里不太明白,你为什么不直接用一个location代替呢)

xuweijiaFrank commented 5 years ago

表里保存的是 ip和地址的对应关系。(这里推荐用 10.1.10.0/24 => 江苏 这种方式,因为ip可能会在一个ip段变化)

IP+ 网络号, 这个网络号是通过子网掩码计算的出的吧?看了server端貌似没有被推送过来?是不是要改provider这块?

另外 device里面你增加了一个 locationProperties (这里不太明白,你为什么不直接用一个location代替呢) 考虑了这么几个点

  1. 原来是想直接加在sources这个属性里面的, 因为这里面都是来源的信息, 但是我看你做查询的时候,特意去过滤了, 故放弃
  2. 因为db.table("devices").save(updates, udid)中,updates里面,第一层的数据基本都是和手机相关的,所以感觉为了好看点,去包了层
xuweijiaFrank commented 5 years ago

贴了下图,更直观点

location管理页面, 初始状态第一列为空 image

所属部门列,返显出管理页面填写的名称或者IP地址 image

codeskyblue commented 5 years ago

Thanks, I'll review it later.