【电子量产工具】5.页面系统

简介: 【电子量产工具】5.页面系统

前言

最近看了 电子量产工具 这个项目,本专栏是对该项目的一个总结。


一、页面系统分析

页面系统是指在软件应用或网站中,将功能和内容划分为不同的页面,并通过页面间的导航和交互来展示信息和实现用户操作的一种组织方式。

页面系统通常由多个页面组成,每个页面都有自己的功能和呈现内容。用户可以通过导航菜单、链接、按钮等方式在不同的页面之间进行切换和操作。

这里主要是编写 main page 主页面。

二、页面数据结构抽象

对于每一个页面,抽象出如下结构体,核心在于其中的 Run 函数

页面结构体中 ,描述了 页面的名字运行函数,以及指针 用于连接链表。

typedef struct PageAction {
  char *name;
  void (*Run)(void *pParams);
  struct PageAction *ptNext;
}PageAction, *PPageAction;

三、底层代码 main_page.c

  1. 实现 PageAction 结构体。
static PageAction g_tMainPage = {
  .name = "main",
  .Run  = MainPageRun,          //主页面的运行函数
};
  1. 运行函数
    我们先在运行函数里 打印行数,为 业务系统做准备。
static void MainPageRun(void *pParams)
{
  printf("%s %s %d\n", __FILE__, __FUNCTION__, __LINE__);
}

四、页面管理器

  1. 中间的 页面管理层,起承上启下的作用:
  • 把下面的各个页面注册进来。
  • 上层可以选择并运行某个界面。
  1. 页面管理器用来管理页面,只需要实现 2 个函数:
  • PagesRegister: 把多个页面注册进链表。
  • Page(name):取出某个页面。
  1. 将页面 注册进链表:
    这里由于页面肯定不止一个,可以注册多个页面。
  1. 根据 名字 取出某个页面。
PPageAction Page(char *name)
{
  PPageAction ptTmp = g_ptPages;        //临时指针指向 头指针
  while (ptTmp)
  {
    if (strcmp(name, ptTmp->name) == 0)     //比较名字是否相同
      return ptTmp;
    ptTmp = ptTmp->ptNext;          //遍历链表
  }
  return NULL;
}

五、测试程序

int main(int argc, char **argv)
{
  PagesRegister();        //注册界面
  Page("main")->Run(NULL);    //运行 Run 函数
  return 0; 
}

测试效果

效果就是 打印出 Run 函数 的行号。


总结

总体来说,页面系统的代码并不复杂。 主要是为下面的 业务系统做铺垫。

相关文章
【电子量产工具】6. 业务系统
【电子量产工具】6. 业务系统
104 0
|
中间件
【电子量产工具】大纲分析
【电子量产工具】大纲分析
109 0
|
1月前
|
搜索推荐 数据挖掘 BI
产品电子画册制作软件哪个好?排名前6的软件都在这里
简要评测Adobe InDesign、草料二维码、创客贴、样本云、云展网、名编辑6款常见的产品电子画册制作工具,让你在选择出更适合自己的工具
|
监控 小程序 算法
原生小程序电子班牌系统 智慧校园云平台源码
智慧校园云平台电子班牌系统,集学生管理、班级管理、校园管理于一身,融合学校教务管理、教师管理、学籍管理、考勤、信息发布、班级文明建设、校园风采、家校互通等一系列应用,为校园管理现代化、信息化提供有效解决工具
151 3
|
编解码 中间件 Linux
【电子量产工具】1.显示系统
【电子量产工具】1.显示系统
125 0
|
vr&ar
【电子量产工具】4. UI系统
【电子量产工具】4. UI系统
99 0
|
存储 UED
【电子量产工具】2.输入系统
【电子量产工具】2.输入系统
93 0
|
编解码
【电子量产工具】3.文字系统
【电子量产工具】3.文字系统
95 0
|
小程序 数据管理 大数据
电子班牌系统 智慧班牌管理云平台源码
智慧电子班牌系统包括:SaaS云平台端、智慧校园管理平台端、家长小程序移动端、教师小程序移动端、智慧班牌学生端。一款全功能智慧管理平台系统,融合了多媒体信息发布、家校互通、物联控制、教务管理、日常办公等一系列应用,是校园管理的现代手段。
523 0
电子班牌系统 智慧班牌管理云平台源码
|
数据采集 数据可视化 物联网
电子班牌系统源码——全功能智慧管理平台系统
通过智慧班牌,一方面呈现了班级文化的丰富多彩,同时,也成为了学校和班级,教师和学生,以及家长和学生之间的互动媒介之一。 电子班牌系统是全功能智慧管理平台系统,电子班牌系统是以出勤管理和班级信息展示为主体,为学校教育行业量身设计的一款集云平台、网络数据实时通信技术、物联网技术、智能控制技术、信息发布管理技术为一体的智慧平台系统。
298 0
电子班牌系统源码——全功能智慧管理平台系统