📄 newsddt.h
字号:
#ifndef _Newsddt_H_
#define _Newsddt_H_
/*===============================================================================
头文件包含
=============================================================================== */
#include "AEEModGen.h"
#include "AEEAppGen.h"
#include "AEEShell.h"
#include "AEEMenu.h"
#include "AEEHtmlViewer.h"
#include "AEETAPI.h"
#include "AEEHeap.h"
#include "AEEFile.h"
#include "AEEDB.h"
#include "AEELicense.h"
#include "promptbox.h"
#include "ReadBox.h"
#include "softkey.h"
#include "newsddt_res.h"
#include "newsddt.bid"
/*===============================================================================
常量定义
=============================================================================== */
//服务器地址
#ifdef AEE_SIMULATOR
#define WEB_HOST "http://220.194.61.11:1340/"
#define WEB_HOST_RECOMMEND "http://220.194.61.16:1113/" //精彩推荐
#else
#define WEB_HOST "http://newsddt.max.uniwise:1340/"
#define WEB_HOST_RECOMMEND "http://imgdownload3.max.uniwise:1113/" //精彩推荐
#endif
#define WEB_HOST_RECOMMEND2 "?appid=30380" //精彩推荐
//#define BLACK_WHITE//是否是黑白机
#ifdef BLACK_WHITE
#define RGB_TEXT MAKE_RGB(0,0,0)
#define RGB_BK MAKE_RGB(255,255,255)
#else
#define RGB_TEXT MAKE_RGB(0,255,0)
#define RGB_BK MAKE_RGB(128,128,128)
#endif
#define MAX_LIST 10 //列表队列最大深度
#define TIME_SPLASH 1000 //闪屏显示时间
#define WEB_TIMEOUT 30000 //WEB连接的超时限制
#define WEB_URL_MAXLENGTH 1024 //URL的最大长度
#define TITLE_MAX WEB_URL_MAXLENGTH //标题的最大长度(我的收藏存储用)
#define CUSTMISE_NAME_MAX 11 //定制内容名字的最大长度
#define BAR_BOTTOM 16 //场景低段条高
#define SPACE_BETWEEN_LINE 5 //显示文字的行间距
#define MY_COMMAND EVT_USER+15 //菜单命令参数宏
#define ACTION_TIME 200 //连接动画时间间隔
#define BKLIGHT_SET_TIME 5000 //背景灯的刷新时间
#define LABELNAME_CNT 10 //记录的中文名称
#define MAINMENU_TXT_FRAMECNT 10 //主菜单文字帧数
#define FREESPACE_MINISIZE 3072 //数据库添加记录时系统最小剩余空间
//自动阅读速度
#define AUTOREAD_SPEED_FAST 100 //快速
#define AUTOREAD_SPEED_MIDDLE 400 //中速
#define AUTOREAD_SPEED_SLOW 900 //非常慢
//输入框相关
#define INPUTTEXT_MAXINPUT 10 //输入框能输入的最大字数
//////////////////////////////////////////////////////////////////////////
//坐标相关
#define TEXTBOX_X 0 //输入框位置
#define TEXTBOX_Y 2*BAR_BOTTOM+3
#define TEXTBOX_DX 128
#define TEXTBOX_DY BAR_BOTTOM+4
#define MAINMENU_TEXT_X 43 //主菜单
#define MAINMENU_TEXT_Y 94
//文件名和数据库名
#define INFOFILE "inf.ini" //配置文件
#define MYFAVFILE "fav.ini" //保存收藏夹内容信息
#define TEMPSAVEF "temp.tx" //保存临时文件信息的文件
#define MYFAV_DBNAME "myfav" //我的收藏
#define CUSTMISE_DBNAME "customise" //用户定制
//资源释放宏,可以释放除了铃声意外的资源,C的多太性
#define BREW_FREE(p) HP_FreeIF((IBase **)&(p))
/*===============================================================================
结构体定义
=============================================================================== */
//程序状态信息
typedef enum{
APP_STATE_MainMenu, //主菜单
APP_STATE_BigNews, //热点头条
APP_STATE_Customise, //用户定制
APP_STATE_NewsCenter, //新闻中心
APP_STATE_SearchNews, //新闻搜索
APP_STATE_HotSearch, //热点搜索
APP_STATE_MyFav, //我的收藏
APP_STATE_Setting, //功能设置
APP_STATE_Recomand, //精彩推荐
APP_STATE_HelpAbout, //帮助关于
APP_STATE_ExitApp, //退出应用
}EAppState;
//主菜单
typedef enum
{
MAINMENU_BIGNEWS = 0 //热点头条
,MAINMENU_CUSTOMISE //用户定制
,MAINMENU_NEWSCENTER //新闻中心
,MAINMENU_SEARCHNEWS //新闻搜索
,MAINMENU_HOTSEARCH //热点搜索
,MAINMENU_MYFAV //我的收藏
,MAINMENU_SETTING //功能设置
,MAINMENU_RECOMAND //精彩推荐
,MAINMENU_HELPABOUT //帮助关于
,MAINMENU_EXITAPP //退出应用
,MAINMENU_MAX
}enMainMenuItem;
//接收数据的类型
/////////////////////////////////////////////////////////////////////////////////
//可能会接收到一个特殊的HeadType"@35",表示接收新闻内容,在高端版本的《新闻点点通》
//中是由图文混排模块处理的,这里只能通过判断来做特殊处理
/////////////////////////////////////////////////////////////////////////////////
typedef enum{
SERVERNOTIFY_Err = -1 //发生错误
,SERVERNOTIFY_PublicOK = -2 //评论发表成功
,SERVERNOTIFY_ListItem = 0 //取系统列表(列表可包含目录、消息、文件)
,SERVERNOTIFY_File = 1 //取系统文件
,SERVERNOTIFY_ListCate = 2 //取系统列表分类
,SERVERNOTIFY_Chat = 3 //新闻评论
,SERVERNOTIFY_ChatList = 4 //新闻评论列表
,SERVERNOTIFY_HotSearch = 6 //热点搜索
,SERVERNOTIFY_VaneSearch = 7 //风向标搜索
,SERVERNOTIFY_KeySearch = 8 //关键字搜索
,SERVERNOTIFY_RecomandList = 10 //精彩推荐列表
,SERVERNOTIFY_CustomList = 11 //栏目定制
,SERVERNOTIFY_Help = 50 //帮助
}WEB_SERVERNOTIFY;
//文件操作返回值信息
typedef enum{
FI_SUCCESS //成功
,FI_FAILED //失败
,FI_NOSPACE //空间不足
,FI_NOCREATE //创建失败
,FI_EXIST //文件已经存在
}FileError;
//数据库添加记录返回值信息
typedef enum{
ADDDBRD_Success = 0 //成功
,ADDDBRD_Failed //失败
,ADDDBRD_Exist //已经存在
,ADDDBRD_NoSpace //已经存在
}enAddDBrdErr;
//自动阅读种别
typedef enum{
AUTOREAD_NULL //未设定
,AUTOREAD_PIXEL //像素级滚动
,AUTOREAD_LINE //滚行
,AUTOREAD_PAGE //翻页滚动
}enAutoRead;
//用户设置种别
typedef enum{
SETTING_NULL
,SETTING_AUTOREAD_SWITCH //自动阅读设定开关
,SETTING_AUTOREAD_SPEED //自动阅读速度设定
,SETTING_BACKLIGHT_SWITCH //背景光设定开关
}enSettingType;
//菜单种别
typedef enum{
MENU_Null //没有菜单
,MENU_Read //阅读菜单
,MENU_List //网络列表菜单
,MENU_MyFav //我的收藏菜单
,MENU_Cust //定制新闻菜单
}enMenuType;
//输入框种别
typedef enum{
INPUTTEXT_NULL
,INPUTTEXT_JUMPLINE //新闻跳行
,INPUTTEXT_JUMPPAGE //网络列表跳转
,INPUTTEXT_CUSTOMISE //定制新闻
,INPUTTEXT_SEARCHNEWS //搜索新闻
,INPUTTEXT_COMMENT //发表评论
,INPUTTEXT_COMMENT_NAME //输入昵称
}enInpType;
//阅读种别
typedef enum{
READ_NULL //没有在阅读状态
,READ_NET //在线阅读
,READ_MYFAV //我的收藏阅读
}enReadType;
//新闻定制种别
typedef enum{
CUSTOMISE_NULL = 0
,CUSTOMISE_NEWS //定制新闻
,CUSTOMISE_CHANNEL //定制栏目
}enCustomiseType;
//列表种别
typedef enum{
LIST_Default = 0
,LIST_SearchRes //搜索结果
,LIST_HotSearch //热点搜索
}enListType;
//用户定制状态
typedef enum{
CUST_STATE_Null = 0 //没有处于定制状态
,CUST_STATE_AddNewCust //添加新的定制内容
,CUST_STATE_CustList //已经定制的内容列表
,CUST_STATE_AddNews //定制新闻
,CUST_STATE_AddChannel //定制栏目
,CUST_STATE_ViewHelp //查看帮助
,CUST_STATE_ViewCust //查看已经定制内容
,CUST_STATE_CustMenu //用户定制的菜单(包含查看,添加定制,删除定制,帮助等功能)
}enCustState;
//////////////////////////////////////////////////////////////////////////
//属性结构体
typedef struct _Info
{
boolean m_bBackLitTm; //背景灯是否常明
//主结构设置信息
uint8 m_nLooktypeTm; //自动浏览方式 0 未设 , 1 象素级滚动 , 2 滚行 ,3 翻页
int32 m_nTimeTm[3]; //自动阅读的时间间隔
uint16 m_nBeLineTm; //行间距离
}Info;
//////////////////////////////////////////////////////////////////////////
//与列表项相关联的数据结构体
typedef struct _ListData
{
uint32 nNewsID;
char szUrl[WEB_URL_MAXLENGTH];
uint16 nPageCnt;
uint16 nCurPage;
}ListData;
/*===============================================================================
应用主结构体
===============================================================================*/
typedef struct
{
AEEApplet a;
uint16 m_nDevWidth; //屏幕的宽度
uint16 m_nDevHeight; //屏幕的高度
char m_szMobileID[MOBILE_ID_LEN +1];
uint32 m_dwPlatformID; //手机平台号
// AEELicenseType m_lt;
// AEEPriceType m_pt; //购买类型
// uint32 m_dwCredit; //点数
EAppState m_eAppState; //程序当前状态级
enSettingType m_eSettingType; //当前设定种别
enInpType m_eInpType; //输入框的种别
//////////////////////////////////////////////////////////////////////////
//列表队列
IMenuCtl * m_pList[MAX_LIST];
uint8 m_nIdx;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -