MENU

缺德地图程序实现

May 23, 2020 • Read: 680 • github

缺德地图

程序简介

缺德地图是一个多种技术的集合产品

包括(游戏类产品,管理系统产品,算法计算产品)等技术的集合

该程序的模拟了Wifite这类工具的操作界面与逻辑,尽管实现原理不同,但是使用这种设计逻辑可以很好的提升程序的开发难度

设计思路

产品由三个大类模块复合而成:

  1. 账户管理模块
  2. 城市数据管理模块
  3. 路径智能管理模块

经过多次产品迭代,现在的程序已经能够实现与其他产品对接,本地加工数据,交由云端存储,同时云端利用七牛云对象存储功能实现了数据的安全存储(理论可以支持其他支持webdav的云盘,比如坚果云)。且该功能由插件提供,可以在线升级

主要实现功能:

  • 账户管理机制
  • 数据管理机制
  • 智能路径规划
  • 提供插件支持

功能分析:

主界面

主要由login.h 和 mian.cpp提供,其中login.h 中内置了欢迎函数和帮助函数等基础函数

main.cpp则负责控制程序的调度功能

功能界面

通过命令行可以调出功能界面,主要功能界面一步直达

插件机制

可以通过在主界面直接调动 插件 文件夹下编译完整的exe文件实现插件支持,同时,基于程序完美的模块化设计,可以较大幅的的提升插件的可开发性

目前可以提供的插件有:
  • 基于webdav的数据备份与同步
  • 提供内置的插件市场

适配情况

由于程序目前使用了较多的Windows API,移植到Linux时需要修改部分代码,因此暂时不做Linux适配

说明

程序内包含了大约9%的Python代码,这是程序官方插件的源码,用于提供web存储功能以及插件商店功能,程序主要功能(除插件相关功能外都是由C语言编写)

QueDemap用户指南

常用操作指令

目前提供了16条(原生实现)+2条(插件实现)指令

管理员权限操作指令

  1. ls_user
    查看当前有效用户
  2. del_member
    删除用户
  3. add_city
    添加城市,连续添加,输入end后结束
  4. del_city
    删除城市
  5. add_path
    手工添加城市路线,添加前请先添加城市
  6. add_path_auto
    机器自动推荐生成城市路线
  7. del_path
    删除城市路线
  8. 其他插件操作

用户权限操作指令

  1. login
    登录账户
  2. regist
    注册用户【注1】
  3. ls_city
    查看城市地图
  4. ls_path
    查看所有城市路线
  5. path
    智能规划最近路线
  6. logout
    登出账户
  7. help
    查看帮助
  8. --help
    一个彩蛋(彩虹帮助)
  9. exit
    退出程序

注1:

permission==2即拥有管理员权限
permission==1即拥有用户权限
permission==0或其他即为游客权限


目录结构树

D:.
│  list.txt
│  main.cpp
│  main.exe
│  
├─.dist
├─.vscode
│      settings.json
│      
├─blocks
│      store.exe
│      
├─block_sourse
│      store.py
│      web.py
│      
├─dat
│      uer_infomation
│      
└─headers
        about.h
        city.h
        login.h
        path.h
        store.h

更多信息请浏览本人的博客了解
https://grimoire.cn/project/qdmap.html

Last Modified: June 29, 2020
Archives Tip
QR Code for this page
Tipping QR Code