snipe-it v5.1.2这个软件安装方法,看我之前的文章,今天来教大家用e4a中文编程软件编写安卓端的登录,后面再编写新建资产,编辑资产,扫描资产,查询资产,审计资产,借出资产,回收资产,打印资产标签,等功能。
用到的软件 snipe-it v5.1.2 + e4a6.7版 + 天天模拟器 + 谷歌浏览器
首先把上面的软件安装好,这里不提供安装包。
新建一个工程,命名为it资产管理


设置保存位置

在组件区把,标签,按钮,多线程(系统类组件),编辑框,密码编辑框控件 添加到界面上


把自带不需要用到的东西删除掉,然后再看图设置每个控件的参数






双击工程栏的属性,设置界面的一些参数

看图设置,然后点击保存修改

然后点击代码区,编写代码

把代码区,不要的代码删除掉,红框中全部删除


然后键入代码,顶格栏定义一个启动时间变量

变量 启动时间 为 长整数型                                                                       '创建一个启动时间为长整数型的变量

下面设置,如果点击返回键,在2秒内点击两次,就退出软件,否则提示再按一次退出程序

事件 主窗口.按下某键(键代码 为 整数型,传址 屏蔽 为 逻辑型)                                 '主窗口有按任意实体按钮触发以下事件如果 键代码 = 返回键 则                                                                      '如果键代码等于返回键则执行以下事件如果 取启动时间() - 启动时间 >2000 则                                                 '如果按放回键只按一次,就会弹出以下提示,如果按两次中间间却小于2秒则结束程序弹出提示("再按一次退出程序")启动时间 = 取启动时间()否则 结束程序()结束 如果结束 如果
结束 事件

完整是下面这样的

打开谷歌浏览器,按f12,设置抓包,设置好后刷新登录界面,然后点击login这包查看数据


把红框数据记录下来,然后填写账号密码登录进去,看看用到哪些数据

点击登录后的login包,把红框内容记录下来,这里用到的登录方式是post请求,请注意,然后往下拉,看看需要用到哪些请求数据

点击view source,然后把原始数据记录下来,红框记录下来

分析记录下来的数据,可以看到_token=字段是服务器返回的数据,prevent_autofill=为空,password_fake=也为空不用管,剩下就是账号字段(username=)和密码字段(password=)

要取得_token=字段的数据先注销系统,然后右键登录界面,查看网页源代码

可以看到_token= 这个字段的数据是由get请求后,服务器返回的数据,我们只要把这段数据取出来使用就好了

代码这样写

变量 启动时间 为 长整数型                                                                       '创建一个启动时间为长整数型的变量变量 返回请求 为 文本型                                                                         '创建一个返回请求为文本型的变量变量 返回请求1 为 文本型                                                                         '创建一个返回请求1为文本型的变量
事件 主窗口.创建完毕()多线程1.开始取网页源码("http://172.16.32.128/login","UTF-8")                                  'get方式取网站源码结束 事件事件 多线程1.取网页源码完毕(源码 为 文本型)                                                  '多线程取网页源码的结果放回在源码里面返回请求   = 取指定文本2(源码,"<!-- Content -->","<!-- this is a hack to prevent Chrome from trying to autocomplete fields -->")        '取it管理系统登录时需要用到的_token数据,然后赋给返回请求,后继会用到返回请求1 = 取指定文本2(返回请求,"value=\"","\" />")                                                                      '取it管理系统登录时需要用到的_token数据,然后赋给返回请求,后继会用到结束 事件事件 主窗口.按下某键(键代码 为 整数型,传址 屏蔽 为 逻辑型)                                    '主窗口有按任意实体按钮触发以下事件如果 键代码 = 返回键 则                                                                      '如果键代码等于返回键则执行以下事件如果 取启动时间() - 启动时间 >2000 则                                                 '如果按放回键只按一次,就会弹出以下提示,如果按两次中间间却小于2秒则结束程序弹出提示("再按一次退出程序")启动时间 = 取启动时间()否则 结束程序()结束 如果结束 如果
结束 事件

取得_token= 这个字段的数据后,现在正式开始写登录代码,完成如下

 变量 判断登录1 为 整数型                                                                           '创建一个判断登录为整数型的变量变量 判断登录 为 整数型  变量 启动时间 为 长整数型                                                                         '创建一个启动时间为长整数型的变量变量 返回请求 为 文本型                                                                         '创建一个返回请求为文本型的变量变量 返回请求1 为 文本型                                                                         '创建一个返回请求1为文本型的变量
事件 主窗口.创建完毕()                                                                               '主窗口创建完毕执行的事件多线程1.开始取网页源码("http://172.16.32.128/login","UTF-8")                                 '取网站源码结束 事件事件 多线程1.取网页源码完毕(源码 为 文本型)                                                   '多线程取网页源码的结果放回在源码里面返回请求 = 取指定文本2(源码,"<!-- Content -->","<!-- this is a hack to prevent Chrome from trying to autocomplete fields -->")        '取it管理系统登录时需要用到的_token数据,然后赋给返回请求,后继会用到返回请求1 = 取指定文本2(返回请求,"value=\"","\" />")                                                                      '取it管理系统登录时需要用到的_token数据,然后赋给返回请求,后继会用到结束 事件事件 按钮1.被单击()                                                                        '按钮1点击触发的事件,就是登录按钮触发的事件如果 编辑框1.内容="" 则                                                                    '如果编辑框1内容为空则执行以下事件弹出提示("账号不能为空")                                                             '弹出提示不能用空账号登录系统否则如果 密码编辑框1.内容="" 则                                                              '如果密码编辑框1内容为空则执行以下事件弹出提示("密码不能为空")                                                               '弹出提示不能用空密码登录系统否则                                                                                      '账号密码都不为空则执行下面事件显示进度对话框("正在登录…")                                                     '显示一个进度框提示正在登录变量 提交地址 为 文本型                                                            '设置一个文本型的变量变量 提交数据 为 文本型                                                           '设置一个文本型的变量提交地址 = "http://172.16.32.128/login"                                              '把一个网址赋给提交地址提交数据 = "_token="&返回请求1&"&prevent_autofill=&password_fake=&username="&编辑框1.内容&"&password="&密码编辑框1.内容&""   'it资产管理系统登录需要用到的数据赋给提交数据多线程1.开始发送网络数据(提交地址,提交数据,"UTF-8")                                 '用post方式 登录 it资产管理系统 数据和地址都包含在里面了结束 如果 结束 如果结束 事件事件 多线程1.发送网络数据完毕(结果 为 文本型)                                                '多线程登录的结果在结果里面放回关闭进度对话框()                                                                         '把进度条给关闭如果 结果="" 则                                                                           '如果结果为空则执行以下结果                                                              弹出提示("网络出错,请退出重新登录")                                                     '网络出错,退出系统再登录否则                                                                                    '如果结果不为空则执行以下结果判断登录 = 寻找文本(结果,"hidden-xs",0)                                                '查找文本,如果结果里面包含了hidden-xs,则返回0,找不到放回-1  注:如果结果里面包含hidden-xs代表登录成功如果 判断登录 = -1 则                                                             '如果判断登录等于 -1 则执行以下 弹出提示("网络错误或账号密码错误")                                               '网络出错,或者账号密码错误多线程1.开始取网页源码("http://172.16.32.128/logout","UTF-8")                  '刷新登录页面的数据,解决下次登录数据过期的问题否则                                                                                 '如果判断登录不为-1  则执行以下数据判断登录1 = 寻找文本(结果,"表单会话已过期",0)                                    '查找文本,如果结果里面包含了表单会话已过期,则返回0,找不到放回-1 如果 判断登录1 = -1 则                                                           '如果判断登录为-1,代表找不到会话过期的提示,代表登录成功'切换窗口(读取窗口("窗口1"))                                            '切换到窗口1页面编辑框2.内容=结果否则                                                                         '如果判断登录不为-1,代表找到会话过期的提示,登录不成功弹出提示("网络错误或账号密码错误")                                              '网络出错,或者账号密码错误多线程1.开始取网页源码("http://172.16.32.128/logout","UTF-8")              '刷新登录页面的数据,解决下次登录数据过期的问题结束 如果结束 如果结束 如果结束 事件事件 主窗口.按下某键(键代码 为 整数型,传址 屏蔽 为 逻辑型)                                  '主窗口有按任意实体按钮触发以下事件如果 键代码 = 返回键 则                                                                      '如果键代码等于返回键则执行以下事件如果 取启动时间() - 启动时间 >2000 则                                                 '如果按放回键只按一次,就会弹出以下提示,如果按两次中间间却小于2秒则结束程序弹出提示("再按一次退出程序")启动时间 = 取启动时间()否则 结束程序()结束 如果结束 如果
结束 事件

编写完成后,编译成apk文件,测试一下

打开天天模拟器,然后把刚生成的apk文件安装在模拟器上面,测试一下

可以看到,返回的数据已经是控制面板里面的数据了,证明登录成功,后面再讲解怎么查询资产。修改资产之类的,界面是这样的




感兴趣的可以给我留言,有不懂得也可以问我,谢谢!

基于snipe-it v5.1.2开源资产管理软件二次开发安卓端管理app相关推荐

  1. 开源资产管理软件OCS+GLPI安装配置

    开源资产管理软件OCS+GLPI安装配置 系统环境Centos 5.5 OCS中文包下载 Server ftp://linvinus.ru/ocs/1.3.2/OCSNG_UNIX_SERVER-1. ...

  2. 改:如何基于开源项目做二次开发

    改:如何基于开源项目做二次开发 ‌[保持纯洁,加以包装] 当我们发现开源项目有的地方不满足我们的需求的时候,自然会有一种去改改的冲动,但是怎么改是个大学问.一种方式是投入几个人从内到外全部改一遍,将其 ...

  3. python开发erp系统odoo_开源erp软件odoo在线开发环境部署实录

    1.前言 pscloud(odoo)是优秀的开源erp,采用微应用方式向企业客户交付业务应用功能,包含海量的经过全球客户验证的业务应用APP,且odoo基于python的底层框架也非常优秀,特别适合于 ...

  4. 开源系统_二次开发(转)

    转自http://www.phpchina.com/portal.php?mod=view&aid=40204, 更多详细资料请参看原文 最好最实用的二次开发教程 ◆二次开发 什么是二次开发? ...

  5. c# 无法加载oraops.dll_Robotstudio软件二次开发:基于C#语言的Smart组件开发基础

    Robotstudio软件除了支持Add-Ins插件的二次开发以外,还支持Smart组件的二次开发.开发语言同样是基于.NET框架的C#语言或VB语言.Smart组件是Robotstudio软件中实现 ...

  6. 欢迎光临CAX软件二次开发开源社区!

    欢迎光临CAX软件二次开发开源社区! http://uucax.uueasy.com 转载于:https://www.cnblogs.com/uucax/archive/2011/02/20/1959 ...

  7. vb杨辉三角代码编写_「二次开发」——基于VB.NET的NX UG软件二次开发基础

    前几期中为大家介绍了CATIA软件.AutoCAD软件基于VB.NET的二次开发,本期再来为大家介绍一下NX UG软件基于VB.NET的二次开发. NX UG软件版本:NX 12.0.0.27 开发软 ...

  8. 基于VB.NET的NX UG软件二次开发基础

    本文已经首发在个人微信公众号:工业机器人仿真与编程(微信号:IndRobSim),欢迎关注! 前几期中为大家介绍了CATIA软件.AutoCAD软件基于VB.NET的二次开发,本期再来为大家介绍一下N ...

  9. c#获取autocad安装位置_Robotstudio软件二次开发:基于C#语言的Smart组件开发基础

    Robotstudio软件除了支持Add-Ins插件的二次开发以外,还支持Smart组件的二次开发. 开发语言同样是基于 .NET框架的C#语言或VB语言. Smart组件是Robotstudio软件 ...

最新文章

  1. 一文概览主要语义分割网络:FCN,SegNet,U-Net...
  2. 双线性插值(Bilinear Interpolation)
  3. SAP QM初阶之明明存在检验计划但是生成的检验批取不到?
  4. 机器学习漫谈:还有很长的路要走
  5. 在IIS(64位)上部署WCF服务访问Oracle数据库
  6. 【干货下载】聚美优品、中商惠民、倍全,如何让数据驱动“新零售”落地?...
  7. delphi listview怎么自动宽度_自动门日常使用出现这些问题应尽快维修以免因小失大...
  8. 完整国内城市js级联选择
  9. sql 纵向求和_sql 行列转换 求和平均值等
  10. 命题逻辑——自由之门与死亡之门
  11. vue 打印 某块内容成pdf
  12. java基于easypoi实现对导出的excel文档加密
  13. 独家食用指南系列|Android端SQLCipher的攻与防新编
  14. 每日随笔:笔记本WiFi突然连接不上重启才好的问题解决方式
  15. 仓库拣货标签——流程卡
  16. 宝真酒业:借助用友U8cloud数智化转型,小集团也能“小而美”
  17. Pixi官方文档译文(2)
  18. 李宏毅自然语言处理——NLP任务概述
  19. c# 读取excels
  20. mysql的终端窗口是什么意思_MySQL之终端Terminal(dos界面)管理数据库、数据表、数据的基本操作...

热门文章

  1. java resultful风格接收参数
  2. 计算机科学丛书20周年——20本跨世经典 夯筑科技基石
  3. 第三方支付机构的资本:客户备付金
  4. 用Excel写个摸球模拟器玩玩
  5. 手机上怎么在线生成gif?1分钟教你手机图片合成gif
  6. 第一篇:呼叫中心发展史
  7. java定义两个动物抽象类 程序_java抽象类和接口详解
  8. IPv6 NDP——邻居发现协议
  9. python: del函数
  10. 中国童装十大品牌是什么?