亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Node.js+MongDB+高德地圖開發設備管理系統

標簽:
Node.js

前言:

最近根据朋友需求,需要开发一个设备管理系统,该系统的主要功能是对设备进行地图上的信息展示,根据地理位置添加路口信息,对不同的路口添加数量不等的设备信息,设备发生故障并进行申请。
    考虑node.js中许多现有的模块使用起来确实便捷,再配合前台json交互,由于数据格式的多样性和操作的便捷性选用了MongoDB作为存储数据库。

相关工具:

  • node 6.2.0

  • mongodb3.2.6(64bit)

  • Robomongo0.9.0-RC8

  • webstrom11.0.1

一、系统效果展示

1.1、系统登录界面:

(图片验证码)


login.png

1.2、地图展示界面:

(从MongoDB获取数据分类展示、左键弹窗,右键弹出菜单)


地图展示.png


(分页展示数据列表,和地图展示在同一界面,地图有折叠效果,便于查看数据列表)


数据列表.png


(点击列表按钮,查看路口详细信息)

路口详情页面.png

1.3、添加地点界面:

(添加路口信息,可以从地图上选取经纬度,动态录入到经纬度输入框中)

添加路口信息.png

添加路口的设备信息.png

1.4、设备报障界面:

(用户提交报障信息,提交后添加一条报障记录,并修改路口信息标志位)


设备报障处理.png

二、网站整体结构

(express+mongoose+bootstrap+layui)

项目结构图.png

1.1、服务端

  • express+mongoose:后台整体结构我直接参照之前写的一个express+mongoose实现增删改查的例子。

1.1、前端展示

三、主要功能

四、开发流程

五、前端页面部分代码说明:

//前端验证码展示代码<div class="layui-input-block"><!--图片验证码,点击图片实现刷新-->
                            ![](http://localhost/captcha)                            <input type="text" name="captcha" id="captcha" style="width: 60%" autocomplete="off" placeholder="请输入验证码" class="layui-input">
                        </div>
//服务端校验验证码错误后,实现验证码自动刷新if(result.status==="captcha error"){
                            layer.msg('验证码错误,请重新录入验证码');                            /*自动刷新图片*/
                            $('#img').click();
                        }
//分析navbar.js实现子菜单向右偏离40px
/*style="padding-left: 40px;设置子菜单向右偏离*/
ulHtml += '<a href="javascript:;" style="padding-left: 40px;" data-url="' + data[i].children[j].href + '">';
  • 5.4、关于首页地图的折叠效果,由于地图和列表信息信息量过大,可对地图进行折叠处理。

//5.4.1 先添加一个按钮,其中是layui提供的向上指示的箭头。
<div class="layui-form-item">
                        <a href="javascript:;" class="layui-btn layui-btn-small layui-btn-danger" id="fold" style="height: 24px">
                            <i class="layui-icon" ></i>
                        </a>
</div>
//js隐藏和关闭地图div,并且修改按钮的样式,点击折叠和展开地图。(foldType是全局的折叠和展开的标志位)
                $('#fold').on('click', function() {                    if(foldType==="0"){
                        foldType="1";
                        $('#container').hide(1000);
                        $('#fold').html("<i class='layui-icon' id='fold_type'></i>");
                    }else if(foldType==="1"){
                        foldType="0"
                        $('#container').show(1000);
                        $('#fold').html("<i class='layui-icon' id='fold_type'></i>");
                    }
                });
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 1
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消