Mod aaa-12 修改用户认证成功后跳转界面的input格式,进行json字符串与json格式转换

RCA:
SOL:
修改人:chenling
检视人:
This commit is contained in:
ChenLing 2019-07-04 16:47:48 +08:00
parent 9fb871100c
commit 74459f29f6
1 changed files with 51 additions and 13 deletions

View File

@ -8,31 +8,69 @@
#include "../../../../../Common/commuapinl.h" #include "../../../../../Common/commuapinl.h"
/*全局变量,存放用户跳转的页面 */ /*全局变量,存放用户跳转的页面 */
char *jumpurl;
/*初始化 */
char *jumpurl = NULL; char *jumpurl = NULL;
/*系统管理模块将数据内容(URL地址发送给web server */ /*系统管理模块将数据内容(URL地址发送给web server */
/*input格式"{\"type\":0,\"url\":\"http://www.baidu.com\"}"*/
ret_code jumppage_config_proc(uint source, uint config_type, ret_code jumppage_config_proc(uint source, uint config_type,
pointer input, int input_len, pointer input, int input_len,
pointer output, int *output_len) pointer output, int *output_len)
{ {
ret_code ret = RET_OK; ret_code ret = RET_OK;
char *struct_jumppage; cJSON *cjson, *url, *res;
struct_jumppage = (char *)input; char * ret_char = NULL;
char * jump_url;
rpc_log_info("jumppage configure: url: %s\n", /*JSON字符串到JSON格式 */
struct_jumppage); 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);
/*将配置信息发送到web server 发送结果int表示0表示发送成功-1表示发送失败*/
int r;
/*将配置信息发送到web server */ /*创建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;
/*把本地Portal server的配置信息存入全局变量 */ /*把本地Portal server的配置信息存入全局变量 */
jumpurl = struct_jumppage; jumpurl = jump_url;
return RET_OK; return RET_OK;
} }