iMouse免越狱自动化测试脚本开发(8)-获取设备列表,同步到php后台

思路分析

先获取设备列表信息,然后通过POST请求,将信息上传给php开发的api接口。
php后端将设备信息存入数据库。
设备信息可以存入MYSQL,也可以存入Redis。
考虑到设备信息变动比较频繁,这里将内容存入Redis。

易语言这一块,需要开发的是获取设备列表后,对数据进行清洗,组装成json数据。

PHP方面,需要再次对易语言传递过来的数据进行简单的加工再入库。

前端使用Layui的数据表格,进行数据的展示。

PHP接口

php需要开发两个接口,
一个是添加数据(上传设备列表),一个是查数据(获取设备列表)。
接口框架,没有使用广为流传的thinkPhp,而是采用了小巧灵活的phalapi框架。

上传设备列表信息的核心代码,在phalapi框架中,是这样的:

/*
    * 更新Redis数据
    * @param $data 欲添加的数组
    * @return num 添加成功的数量
    */
public function update_redis_string_data($data)
{
    if (!is_array($data)) return false;

    if (!isset($data['username'])) return false;
    $username = $data['username']; //客户端传递的用户名

    // 校验用户名是否合法(略...)

    if (empty($data['items'])) {
        throw new BadRequestException('暂无设备', 1);
    }

    // 枚举设备,逐条写入redis的string中
    $num = 0;
    foreach ($data['items'] as $device_info) {
        $device_info['online_time'] = time();  // 上线时间

        $key = $this->_hash_prefix . '_' . $username . '_' . $device_info['imei'];   //欲操作的键名
        if ($this->_redis->set($key, json_encode($device_info))) {
            $time_differ = 7 * 24 * 60 * 60;    //設備信息过期时间(秒)
            $this->_redis->Expire($key, $time_differ);   //设置 key 的过期时间(秒)
            $num++;
        }
    }
    return array('updated_num' => $num);
}

接口开发完成后,框架会自动生成接口文档,供在线调试

file

填入设备信息的测试数据,就可以请求接口,查看返回结果

file

易语言获取设备信息列表

调用模块:

  • zyJsonValue 3.2
  • 精益模块 10.4.5

业务代码

file
file

注意

  • 由于无法直接获取imei,这里将设备ID转换为md5,作为imei
  • php接口返回的数据,要使用编码_utf8到gb2312,将乱码转换为中文

Layui渲染设备列表

易语言获取到设备列表,上传到php后台,前端就可以通过php的接口,获取到存在Redis数据库里的设备信息了。

这是前端的Layui数据表格的显示效果:

file

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » iMouse免越狱自动化测试脚本开发(8)-获取设备列表,同步到php后台

企业级大数据智能营销管理系统

了解详情