2019-07-03 03:00:09 +00:00
|
|
|
|
#include "../../../../common/rpc/rpc.h"
|
|
|
|
|
#include "../include/parsefile.h"
|
|
|
|
|
#include "../include/configm.h"
|
|
|
|
|
#include "../../../netlink_uapi/libnetlinku.h"
|
|
|
|
|
#include "../include/jumppage.h"
|
|
|
|
|
#include <cjson/cJSON.h>
|
|
|
|
|
#include "../../../../../Common/s2j/s2j.h"
|
|
|
|
|
#include "../../../../../Common/commuapinl.h"
|
|
|
|
|
|
|
|
|
|
/*全局变量,存放用户跳转的页面 */
|
2019-07-04 08:47:48 +00:00
|
|
|
|
char *jumpurl = NULL;
|
2019-07-03 03:00:09 +00:00
|
|
|
|
|
|
|
|
|
/*系统管理模块将数据内容(URL地址)发送给web server */
|
2019-07-04 08:47:48 +00:00
|
|
|
|
/*input格式:"{\"type\":0,\"url\":\"http://www.baidu.com\"}"*/
|
2019-07-03 03:00:09 +00:00
|
|
|
|
ret_code jumppage_config_proc(uint source, uint config_type,
|
|
|
|
|
pointer input, int input_len,
|
|
|
|
|
pointer output, int *output_len)
|
2019-07-04 08:47:48 +00:00
|
|
|
|
{
|
2019-07-03 03:00:09 +00:00
|
|
|
|
ret_code ret = RET_OK;
|
2019-07-04 08:47:48 +00:00
|
|
|
|
cJSON *cjson, *url, *res;
|
|
|
|
|
char * ret_char = NULL;
|
|
|
|
|
char * jump_url;
|
|
|
|
|
|
|
|
|
|
/*JSON字符串到JSON格式 */
|
|
|
|
|
cjson = cJSON_Parse(input);
|
|
|
|
|
if(!cjson)
|
|
|
|
|
{
|
|
|
|
|
ret = RET_INPUTERR;
|
|
|
|
|
ASSERT_RET(ret);
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*获取键值内容 */
|
|
|
|
|
url= cJSON_GetObjectItem(cjson , "url");
|
|
|
|
|
if(!url)
|
|
|
|
|
{
|
|
|
|
|
ret = RET_INPUTERR;
|
|
|
|
|
ASSERT_RET(ret);
|
|
|
|
|
cJSON_Delete(cjson);
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rpc_log_info("jumppage configure: url %s\n", url->valuestring);
|
|
|
|
|
|
|
|
|
|
char i = url->valuestring;
|
|
|
|
|
jump_url = &i;
|
|
|
|
|
cJSON_Delete(cjson);
|
2019-07-03 03:00:09 +00:00
|
|
|
|
|
2019-07-04 08:47:48 +00:00
|
|
|
|
/*将配置信息发送到web server 发送结果int表示,0表示发送成功,-1表示发送失败*/
|
|
|
|
|
int r;
|
2019-07-03 03:00:09 +00:00
|
|
|
|
|
|
|
|
|
|
2019-07-04 08:47:48 +00:00
|
|
|
|
/*创建json对象 */
|
|
|
|
|
res = cJSON_CreateObject();
|
|
|
|
|
if(!res)
|
|
|
|
|
{
|
|
|
|
|
ret = RET_ERR;
|
|
|
|
|
ASSERT_RET(ret);
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cJSON_AddNumberToObject(res, "result", r);
|
|
|
|
|
|
|
|
|
|
/*将json对象转换成json字符串 */
|
|
|
|
|
ret_char = cJSON_PrintUnformatted(res);
|
|
|
|
|
memcpy(output, ret_char, sizeof(ret_char)+1);
|
|
|
|
|
|
|
|
|
|
cJSON_Delete(res);
|
|
|
|
|
return RET_OK;
|
2019-07-03 03:00:09 +00:00
|
|
|
|
|
|
|
|
|
/*把本地Portal server的配置信息存入全局变量 */
|
2019-07-04 08:47:48 +00:00
|
|
|
|
jumpurl = jump_url;
|
2019-07-03 03:00:09 +00:00
|
|
|
|
|
|
|
|
|
return RET_OK;
|
|
|
|
|
}
|
|
|
|
|
|