void TPHttp::applyResource()
{
    QJsonObject json;
    json.insert("ProductCode","MoVdoSource");
    json.insert("TempletType","");

QJsonDocument document;
    document.setObject(json);
    QByteArray byte_array=document.toJson(QJsonDocument::Indented);
    QString str_1(byte_array);
    qDebug("apply source:\n%s",str_1.toStdString().c_str());

request.setUrl(QUrl("http://mediax.sobeycache.com/version/getSoftLists"));
    // 设定请求头
//    request.setRawHeader("Host", "mediax.sobeycache.com");
//    request.setRawHeader("Content-Length",QString::number(byte_array.size()).toStdString().c_str());
    request.setRawHeader("Accept-Charset", "UTF-8");
    request.setRawHeader("Content-type","text/plain");
    request.setRawHeader("Connection", "keep-alive");

reply=manager->put(request,byte_array);
    connect(reply, SIGNAL(readyRead()),
            this, SLOT(applyReady()));
}
void TPHttp::applyReady()
{
    QByteArray recData=reply->readAll();

QJsonParseError json_error;
    QJsonDocument parse_doucment = QJsonDocument::fromJson(recData, &json_error);
    QString str_1(recData);
    qDebug("apply resources:\n%s",str_1.toStdString().c_str());

//    if(json_error.error == QJsonParseError::NoError)
//    {
//        if(parse_doucment.isObject())
//        {
//            QJsonObject obj = parse_doucment.object();
//            if(obj.contains("code"))
//            {
//                QJsonValue code_value = obj.take("code");
//                double dcode;QString str_mess;
//                if(code_value.isDouble())
//                {
//                    dcode=code_value.toDouble();
//                    str_mess.setNum(dcode,'g');
//                    //                         QString("delta: %1").arg(d, 0, 'E', 3);
//                }
//                else if(code_value.isString())
//                {
//                    str_mess=code_value.toString();
//                }
//                if(!str_mess.compare("0"))
//                {
//                    qDebug("success login");
//                    genelogfile(m_usrname,m_password);
//                    m_bLogined=true;
//                    emit bLoginedChanged(m_bLogined);
//                }
//                else
//                {
//                    if(!str_mess.compare("10001"))
//                        qDebug("password and user are error");
//                    else if(!str_mess.compare("10003"))
//                        qDebug("Don't have this user");
//                    else if(!str_mess.compare("10004"))
//                        qDebug("password is error");
//                    m_bLogined = false;
//                    //                        emit bLoginedChanged(m_bLogined);
//                }
//            }
//        }
//    }
}

第四节 MoVdo资源查询接口

  1. 接口调用地址

http://mediax.sobeycache.com/version/getSoftLists

  1. 功能

获取魔豆资源列表,可以根据模板类型(TempletType)进行过滤查询,不填模板类型表示查询所有资源。

  1. 调用方式

HTTP
POST

  1. 参数

  • 参数样例

{

"ProductCode"
: "MoVdoSource",

"TempletType":"字幕模板"

}

  • 参数说明

ProductCode:必填项,这里固定填MoVdoSource,

TempletType:可选项,根据在VBOSS新建资源时所设置的版本类型进行过滤;不填数据时,查询所有魔豆的资源

  1. 接口调用返回数据

接口调用成功后,返回如下格式的JSON
数据:

{

"status"
: 1,

"result"
: "",

"soft_list"
: [

{

"id"
: "30",

"product_id"
: "10",

"product_code"
: "MoVdoSource",

"inside_version"
: "100",

"templet_type"
: "字幕模板",

"versionname"
: "主题",

"description"
: "测试",

"version"
: "1.0",

"filepath"
: "http://api.vboss.sobey.com/static/Setup/dxwebsetup.exe",

"iconpath"
: "http://api.vboss.sobey.com/static/Setup/Media10_1.0.0_icon.png",

"filesize"
: "1",

"md5code"
: "36A5D102EF30A2CA60200362F8ABB122",

"modified"
: "2015-07-31 14:47:31"

}

]

}

五、接口调用出错CODE及其含义

当调用VBOSS用户注册管理各接口出错时,也会返回JSON数据,这时JOSN的code为非零数字,比如:

{

"code" : "10002",

"msg" : "缺少相应参数"

}

注:code值对应的信息如下:

0
: 操作成功

00001
: 网络异常

00002
: 响应超时

00003
: 数据库操作失败

00004
: 参数不合法

10001
: 用户名密码不匹配

10002
: 缺少相应参数

10003
: 查无此用户

10004
: 密码错误

10005
: pin值不正确

10006
: 用户名/邮箱/手机号已被注册

10007
: 用户名已被注册

10008
: 邮箱已被注册

10009
: 手机号已被注册

50001
: 加密/解密数据为空或不合法

networkRequest的更多相关文章

  1. 微信小程序 不在以下合法域名列表中,请参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html

    微信小程序  不在以下合法域名列表中,请参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html 友情提示: 大家 ...

  2. 与改写url取文件的方法:NetworkRequest和DataAccessSerivice 文件

    与改写url取文件的方法:NetworkRequest和DataAccessSerivice 文件 CMDNMapDataCache.cpp  读取二进制代码的方法

  3. 【原】AFNetworking源码阅读(一)

    [原]AFNetworking源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 AFNetworking版本:3.0.4 由于我平常并没有经常使用AFNetw ...

  4. android 7.0 学习笔记(一)

    导读 增强的Doze模式 后台优化 Data Saver 一.增强的Doze模式 Android N对Android M引进的Doze模式进行了进一步的增强,变化体现在两个方面.一方面是降低了进入Do ...

  5. Android之mtklog分析

    Android之mtklog分析 [海外场测反馈][xxx]动态测试时对比机xxxx拨打测试机xxxxx自动挂断电话 工作中遇到一个掉话的问题,需要分析log,log比较大,我也没法上传,就简答的讲讲 ...

  6. Android WIFI 分析(二)

    本文介绍Wifi 分析线路二:在Setting中打开WiFi功能.扫描网络以及连接网络的流程. WifiSettings 无线网络设置界面 WifiEnabler 相当于无线网络设置开关 WifiDi ...

  7. ReactiveCocoa学习总结

    最近一直断断续续学习关于ReactiveCocoa的知识内容,对于它的一些基础内容将通过本文进行一个总结,主要是一些入门知识 一:RACSignal一些运用 @interface RACSignalT ...

  8. volley二次封装

    产品中使用Volley框架已有多时,本身已有良好封装的Volley确实给程序开发带来了很多便利与快捷.但随着产品功能的不断增加,服务器接口的不断复杂化,直接使用Volley原生的JSONObjectR ...

  9. fedora环境安装webkit支持作爬虫下载解析JS

    环境: 我使用的fedora19.1-xfce版本,属于redhat系的桌面环境. 1.安装 webkit源码安装webkit失败,这里提供的是yum安装方式. a.查看当前yum库中的webkit资 ...

随机推荐

  1. Windows下FFmpeg高速入门

    本系列文章导航 Windows下FFmpeg高速入门 ffmpeg參数解释 mencoder和ffmpeg參数具体解释(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进 ...

  2. Android开发书籍推荐

    当你看到这些文字时,那么恭喜你,你可能选择了一个无限可能的方向. Android,Google出品,信誉保证,你值得深入研究. 学习一样新事物或许有多种方式,报培训班,看视频,向高手请教等等,但一本好 ...

  3. map的例子

    11.4 编写单词计数程序,忽略大小写和标点.例如,“example.”,“example,"和”Example“应该递增相同的计算器. #include<iostream> # ...

  4. hibernate简单应用

    Hibernate 第二章 核心API 和CURD实现 核心API介绍 单表操作方法 查询hql语句 1.认识hibernate 核心思想ORM:实现数据库中的文件一一映射为java中的实体类. 使用 ...

  5. 移动平台作业——天气预报——天气数据的获得——为应用申请百度ak码

    需求: 可切换城市 可实时更新(按钮或手势或下拉刷新) 可现实未来三日的天气 不限制横屏或者竖屏,不限制布局样式,但要求得到的数据均需显示(北京.天气数据.天气图标) 提示: 获得实时天气数据(任选一 ...

  6. JavaScript平常会跳的坑系列(一)

    function Foo() { //定义foo函数 getName = function () { console.log('1');}; console.log(this); return thi ...

  7. UML 结构图之包图 总结

    [注] 本文不是包图的基础教程, 只是包图的图形总结. 学习UML图形 推荐阅读<UML参考手册>第2版. http://www.umlchina.com/ 推荐微软的开发软件设计模型 h ...

  8. unity3d最新面试题与参考答案汇总

    1.在类的构造函数前加上static会报什么错?为什么? 构造函数格式为 public+类名,如果加上static会报错(静态构造函数不能有访问修饰符)原因:静态构造函数不允许访问修饰符,也不接受任何 ...

  9. Ibatis中sqlmap参数map中还需要套list的情况如何写?

    原始需求: 有若干个参数,需要作为ibatis拼装sql的参数传入,但是有个参数的值比较特殊,是若干种枚举值.具体到这个case,就是有有限个namespace.我每次需要通过传入多个namespac ...

  10. Java中ArrayList类详解

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...