UCHOME二次开发参考手册
UCHOME二次开发资料整理

二次开发资料整理目录【UCHome二次开发】uchome文件体系介绍......................... 错误!未定义书签。
站点结构图 ........................................................ 错误!未定义书签。
UCHOME安装后的主要目录与文件介绍.................................. 错误!未定义书签。
文件入口参数列表及详细介绍 ........................................ 错误!未定义书签。
数据调用图示 ...................................................... 错误!未定义书签。
入口文件分析 ...................................................... 错误!未定义书签。
【UCHome二次开发】基础....................................... 错误!未定义书签。
数据调用 .......................................................... 错误!未定义书签。
eval的使用........................................................ 错误!未定义书签。
直接外部文件的扩展 ................................................ 错误!未定义书签。
【UCHome二次开发】文件解析................................... 错误!未定义书签。
文件解析: ........................................................ 错误!未定义书签。
二次开发包使用说明书

二次开发包使用说明书(版本V1.1)目录一、DEMO软件使用步骤 (3)1.1串口通讯单个显示屏 (3)1.1.1设置屏幕参数以及模组参数 (3)1.1.2打开DEMO软件 (6)1.1.3发送数据 (6)1.2串口通讯多个显示屏 (7)1.2.1设置屏幕参数以及模组参数 (7)1.2.2 打开DEMO软件 (9)1.2.3发送数据 (9)1.3 TCP/IP通讯单个显示屏 (9)1.3.1 设置屏幕参数以及模组参数 (9)1.3.2 打开DEMO软件 (12)1.3.3 发送数据 (12)1.4 TCP/IP通讯多个显示屏 (13)1.4.1 设置屏幕参数以及模组参数 (13)1.4.2 打开DEMO软件 (14)1.4.3 发送数据 (14)二、节目编辑流程 (14)三、调用顺序样例 (15)开发包使用说明软件使用步骤使用步骤一、DEMO软件单个显示屏1.1串口通讯串口通讯单个显示屏1.1.1设置屏幕参数以及模组参数主要设置屏幕参数以及模组参数,设置参数应使用“LED图文屏编辑控制平台”软件,设置步骤如下。
1)进入“LED图文屏编辑控制平台”中的硬件参数,设置参数。
参数设置完后,点击“发送后保存”。
2)打开二次开发包中的配置文件(.ini文件)打开二次开发包中的LED.INI文件。
参数配置说明参数配置说明::[地址:1]LinkAddr=1CardType=HL06ACOMPort=COM1LinkMode=串口IPAddr=PortNO=8000BaudRate=9600bpsColor=2Width=512Height=256① 控制卡地址"[地址:n]"和"LinkAddr" 范围为:1~253;② 控制卡类型CardType 的取值为: HL00、HL01、HL02、HL03A 、HL06A 、HL06A+ ③ 控制卡通讯模式“LinkMode ”的取值为:串口、TCP/IP④ 控制卡以太网参数:“IPAddr ”和“PortNO ”:IPAddr 取值:实际卡所配置IP 地址如:192.168.0.2PortNO 取值:实际卡所配置端口如:8000注:仅TCP/IP 模式需配置该参数⑥ 显示屏的宽度和高度分别为“Width ”和“Height ”:Width 取值范围: 8~屏幕高度,并且是8的倍数,Height 取值范围:8~屏幕高度⑦串口波特率和串口号分别为“BaudRate”和“COMPort”:BaudRate取值为:9600bps,38400bps,115200bps;COMPort取值为:COM1、COM2、COM3、...... (注:COM1为COM1口,COM2为COM2口);⑧显示屏颜色:0~3;0.单色屏(红色),1.单色屏(绿色),2.双色屏(红色&绿色),3.双色屏(绿色&红色)注意:*地址的个数可以根据实际显示屏的个数添加;*不要修改该文件的文件名及后缀;*该文件必须和应用程序放在同一个目录下。
二次开发手册

二次开发手册随着科技的不断发展,软件已经成为人们日常生活和工作中不可或缺的一部分。
为了满足用户对软件功能的需求,开发者经常需要进行二次开发。
本手册旨在为二次开发者提供一套完整、实用的指南,帮助其更好地进行软件二次开发工作。
1.二次开发的基本概念二次开发是指在已有软件的基础上,根据用户需求进行功能扩展、改进或定制的过程。
通过二次开发,可以充分利用已有软件的优点,提高软件的功能性和易用性。
2.二次开发的流程二次开发的流程包括需求分析、设计、编码、测试和部署等阶段。
其中,需求分析阶段是关键,需要充分了解用户需求,确定二次开发的具体内容和目标。
设计阶段需要对系统架构、数据库结构、界面设计等进行详细规划。
编码阶段需要按照设计要求进行编码实现。
测试阶段需要对二次开发的功能进行全面测试,确保其符合预期要求。
部署阶段需要对二次开发的软件进行部署和上线。
3.二次开发的技术实现在进行二次开发时,需要了解和掌握相关的技术实现。
例如,对于Web应用程序的二次开发,需要了解HTML、CSS、JavaScript等前端技术,以及后端语言如Python、Java等。
对于移动应用程序的二次开发,需要了解iOS或Android平台的开发技术。
此外,还需要了解数据库技术、版本控制技术等。
4.二次开发的常见问题及解决方案在进行二次开发时,可能会遇到一些常见问题,如兼容性问题、性能问题、安全性问题等。
针对这些问题,需要采取相应的解决方案。
例如,对于兼容性问题,需要进行充分的测试和调优;对于性能问题,需要进行性能分析和优化;对于安全性问题,需要加强安全措施和防范措施。
5.案例分析为了更好地说明二次开发的实践过程,本手册提供了几个案例分析。
这些案例涵盖了不同领域和不同规模的二次开发项目,通过分析这些案例的成功经验和问题所在,可以为读者提供宝贵的启示和帮助。
通过这些案例的分析和学习,读者可以更好地理解二次开发的实践操作和关键要点,为自己的二次开发工作提供指导和实践经验借鉴。
【UCHome二次开发】缓存机制解析

UCHome中的常用数据皆通过调用缓存来实现读取,包括系统配置、用户组、群组栏目、用户栏目、词语屏蔽、积分规则、广告、用户向导任务、模块、MYOP默认应用等信息。
其中模板缓存的使用前面单独介绍过,见《【UCHome二次开发】模板解析》。
UCHome中常用数据是作为全局变量来使用的,具体用法可参考《【UCHome二次开发】全局变量》。
以下着重介绍缓存机制的具体实现。
1、缓存数据文件的生成UCHome生成的缓存数据文件位于/data/目录下。
缓存生成的相关函数位于/source/function_cache.php文件中,生成缓存的函数罗列如下:∙config_cache() 更新配置信息缓存,生成缓存文件data_config.php∙usergroup_cache() 更新用户组缓存,生成缓存文件data_usergroup.php∙profilefield_cache() 更新用户栏目缓存,生成缓存文件data_profilefield.php∙profield_cache() 更新群组栏目缓存,生成缓存文件data_profield.php∙censor_cache() 更新词语屏蔽缓存,生成缓存文件data_censor.php∙creditrule_cache() 更新积分规则,生成缓存文件data_creditrule.php∙ad_cache() 更新广告缓存,生成缓存文件data_ad.php∙task_cache() 更新用户向导任务,生成缓存文件data_task.php∙block_cache() 更新模块,生成缓存文件data_block.php∙tpl_cache() 更新模板缓存,清空模板缓存文件夹/data/tpl_cache/下所有文件使模板缓存重新生成∙block_data_cache() 更新模块缓存,清空模板缓存数据使缓存重新生成∙userapp_cache() 更新MYOP默认应用,生成缓存文件data_userapp.php∙app_cache() 更新应用名,生成缓存文件data_app.php除了模板和模块数据外,其他的只需调用对应的函数就可生成对应的缓存数据文件。
【XXXX项目】二次开发设计说明书

文档编号:XXXX二次开发设计说明书XXXXXX有限公司目录1.引言 (3)1.1.编写目的 (3)1.2.项目背景 (3)1.3.参考资料 (3)2.二次开发结构 (3)2.1.软件结构 (3)2.2.条件与限制 (4)2.3.二次开发设计框架 (4)3.二次开发内容 (4)3.1.内容1(如:窗体定制—- ITEM属性表单的定制) (4)3.2.内容2 (5)3.3.内容n (5)4.接口设计 (5)4.1内部接口 (5)4.2外部接口 (6)5.数据结构设计 (6)5.1.库结构 (6)5.2.表结构 (6)6.出错处理设计 (6)6.1.出错信息 (6)6.2.补救措施 (6)6.3.系统维护设计 (6)7.其他 (6)1.引言1.1. 编写目的本文档主要针对系统的二次开发部分。
对在《实施总体设计方案》中描述的需要二次开发的内容,详细进行描述。
为编程人员、测试人员、实施人员和维护人员之间提供共同的参考依据,对XX软件功能及集成模块的实现作详细描述。
本说明书面向对象为编程人员、测试人员、实施人员和维护人员。
1.2. 项目背景本项目软件开发平台:本项目软件二次开发实施单位:1.3. 定义PLM (product life cycle management):产品生命周期管理PDM (product data management):产品数据管理BOM (bill of material):材料明细表CAPP(Computer Adied Process Planning):计算机辅助工艺设计PSE (product structure editor):产品结构编辑器ItemRevision:版本零部件……1.4. 参考资料《XXXX项目需求规格说明书》《XXXX项目总体设计方案》……2.二次开发结构2.1. 软件结构例如:TCEng软件的层次构成–Portal Java clients. 客户端–TCEng server 服务器端–Oracle 后台数据库–TCEngFS 文档服务器TCEng 存储数据的方式:结构化数据——存储于Oracle数据库中文件——存储于卷Volume中2.2. 条件与限制2.3. 二次开发设计框架客户程序类的层次如图所示:图:3.二次开发内容对于需要开发的内容有两类:一类是需要重新进行开发的内容,这相当于重新开发某一模块的功能。
【UCHome二次开发】模板语法说明

8、循环输出逻辑
模板代码 1:
01 <!--{loop $list $key $value}-->
02 <tr <!--{if $key%2==1}--><!--{/if}-->>
03 <td>
04 <!--{if $value[displayorder]}--> [顶] <!--{/if}-->
3 <?php } elseif($mtag['allowpost']) { ?>
4 <li><a href="cp.php?ac=thread&tagid=<?=$mtag['tagid']?>">发起话题</a></li>
5 <?php } ?>
说明:当然这里可以没有elseif,其语法有点类似VB,需要有结尾符。
4 <p><a href="space.php?uid=<?=$value['uid']?>"><?=$_SN[$value['uid']]?></a></p></li>
5 <?php } } ?>
说明:loop后跟两个参数时,第一个参数是用于循环的数组,第二个参数是对数组中每一项循环时项的值。
注:以上所有实例皆摘录自UCHome 1.5默认模板。对比一下模板代码和解析后的代码便可知语法的效果,所以文中不多解释。个人自习结果,如有不对之处欢迎拍砖。
2.接口函数库(二次开发库)使用说明书

珠海创芯光电科技有限公司
I 技术支持邮箱:zhcxgd@
2.接口函数库(二次开发库)使用说明书
第一部分 概述
用户如果只是利用USB-CAN总线接口适配器进行CAN总线调试,可以直接利用随机提供的 USB-CAN Tool工具软件,进行收发数据的测试。
如果用户打算编写自己产品的软件程序。请认真阅读以下说明,并参考我们提供的: ① C++Builder ②C# ③VC ④VB ⑤ ⑥Delphi ⑦LabVIEW ⑧ LabWindows/CVI ⑨Matlab等示例代码。 开发用库文件:ControlCAN.lib, ControlCAN.DLL VC平台函数声明文件:ControlCAN.h VB平台函数声明文件:ControlCAN.bas LabVIEW平台库函数封装模块:ControlCAN.llb Delphi平台函数声明文件:ControlCAN.pas
in_Version 接口库版本号,用16进制表示。比如0x0100表示V1.00。
irq_Num 保留参数。
can_Num 表示有几路CAN通道。
str_Serial_Num 此板卡的序列号。
str_hw_Type 硬件类型,比如“USBCAN V1.00”(注意:包括字符串结束符’\0’)
Reserved 系统保留。
2.2 函数描述 ....................................................................................................................... 7 2.2.1 VCI_OpenDevice ..................................................................................................... 7 2.2.2 VCI_CloseDevice..................................................................................................... 8 2.2.3 VCI_InitCan ............................................................................................................. 8 2.2.4 VCI_ReadBoardInfo............................................................................................... 11 2.2.5 VCI_GetReceiveNum............................................................................................. 12 2.2.6 VCI_ClearBuffer .................................................................................................... 13 2.2.7 VCI_StartCAN ....................................................................................................... 14 2.2.8 VCI_ResetCAN ...................................................................................................... 15 2.2.9 VCI_Transmit......................................................................................................... 16 2.2.10 VCI_Receive ........................................................................................................ 17
二次开发手册

二次开发手册业务流程定制1.基础业务单据方案定义基础业务单据适用于采用主-明细结构的业务流程,主表和明细表为一对多的关系,并通过一个字段关联(一般为DJID),如采购入库单、处方划价单等。
如图:1.1方案总体方案编号:业务方案的编号,每个方案都有一个编号,编号不能重复。
方案名称:方案的名称,同时也是方案窗体的标题。
单据标识: 单据编号的开头部分单据编号长度: 单据编号的总长度单据编码格式: YYYY 代表四位的年,YY代表两位的年,MM:两位月,DD:两位日,CZY:操作员编号,用'+'号连接各个部分也可使用固定字符。
如:'SFD'+YYYY+MM+DD ,设置编码格式后单据标识不起作用,但同样受到编号长度的约束。
主明细关键字段: 定义主表和明细表的关键字段,一般为'DjID'明细序号字段: 定义明细表的序号字段,一般为'Xh'(如图:)1.2基础业务单据方案主要构成要素:主表SQL: 定义单据数据主表的数据来源的SQL语句。
主表用来存储单据主体数据,如单据编号、日期、操作员、以及明细表的汇总信息等。
明细表SQL: 定义单据明细数据来源的SQL语句。
明细表用来存储明细数据一次检索SQL: 定义辅助明细数据输入的检索数据来源的SQL语句;一次检索数据只作为数据的来源,不存储数据。
插入明细数据时,扫描明细数据字段和检索数据字段,如果字段名称相同则将检索数据写入该字段。
二次检索SQL: 定义在一次检索完成之后的辅助明细数据输入的检索数据来源的SQL语句;是一次检索的补充。
比如做门诊收费功能时用做选择处方。
保存执行SQL: 定义单据在保存时执行的SQL语句。
1.3相关设置:显示一次检索:设置是否显示检索栏。
(有的业务单据不需要检索栏)数字码字段:当输入框中输入纯数字时,将以设置的数字码字段进行动态查找汉字码字段:当输入框中含有汉字时,将以设置的汉字码字段进行动态查找拼音码字段:当输入框中为字母时,将以设置的拼音码字段进行动态查找条形码字段:当输入框中为输入条码时,将以设置的条形码字段定位检索数据二次检索输入提示:设置二次检索时的输入提示二次检索后结束输入:设置是否在二次检索后结束输入(具体参看图形)1.4打印设置报表名称:打印样式的文件名,不用加后缀单据SQL语句:打印数据来源的SQL语句保存后默认打印:设置保存后是否默认为打印1.5颜色设置明细网格显示选项背景色:指定明细网格的背景色,默认为白色行醒目显示条件:定义明细数据行醒目显示的条件,当满足条件时,该行将以指定的颜色显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Uchome二次开发参考文档2010-03-19第一一文件系统结构及主要文件说明Uchome文件系统结构大概如下图所示Admin:uchome系统管理,与home目录(uchome根目录)下admincp.php紧密相关Api:与ucenter相关等的apiAttachment:附件上传保存目录Data:临时数据缓存文件等存储目录,模板缓存文件就在这个目录里生成Image:图片目录Install:安装时用到,安装完毕建议删除Language:操作对应语言Source:uchome架构核心目录,实际的处理及相关操作函数都在该目录中Template:模板目录Theme:主题(css风格)Uc_client:和ucenter信息交互的目录,必须Home目录(uchome根目录)下主要文件(入口)功能说明:1、系统首页/index.php显示页面为/template/模板文件夹名/index.htm。
2、个人页面/space.php不带参数时显示个人首页;带uid参数(用户编号)为显示其他人的首页;do参数指示调用的模块,如/space.php?do=blog将显示日志内容。
带do参数页面的处理:/space.php?do=xxx将调用/source/space_xxx.php(其中xxx为相关模块或操作,下同)进行数据和逻辑处理,最终的页面是显示对应的模板页,为/template/模板文件夹名/space_xxx.htm。
3、随便看看页面/network.php不带参数时显示随便看看首页;带ac参数时显示某个模块的随便看看页面,如/network.php?ac=space为随便看看现有的成员。
带ac参数页面的处理:/network.php?ac=xxx将调用/source/network_xxx.php进行数据和逻辑处理,最终的页面是显示对应的模板页,为/template/模板文件夹名/network_xxx.htm。
4、操作页面/cp.php不带参数时显示个人设置页;带ac参数时显示某个操作的页面,如/cp.php?ac=profile为设置个人资料。
带ac参数页面的处理:/cp.php?ac=xxx将调用/source/cp_xxx.php进行数据和逻辑处理,最终的页面是显示对应的模板页,为/template/模板文件夹名/cp_xxx.htm。
5、动作页面/do.php不带参数时会被跳转到个人首页或系统首页(看是否已登录);带ac参数时为进行某项动作,不一定有显示的界面。
带ac参数页面的处理:/do.php?ac=xxx将调用/source/do_xxx.php进行数据和逻辑处理,最终的页面是显示对应的模板页,为/template/模板文件夹名/do_xxx.htm(不是所有的动作需要页面显示结果,所以不一定存在对应的模板文件)。
为防止注册机等外挂软件的攻击,程序对于login和register做了单独处理,直接加在ac参数后是无效的,而是通过一串标识符来指示login或register动作。
6、高级管理页面/admincp.php不带参数时显示管理平台首页;带ac参数时显示某项功能的管理页面,如/admincp.php?ac=ad为广告设置页。
带ac参数页面的处理:/admincp.php?ac=xxx将调用/admin/admincp_xxx.php进行数据和逻辑处理,最终的页面是显示对应的模板页,为/admin/tpl/xxx.htm。
7、应用页面/app.php显示页面为/template/模板文件夹名/iframe.htm。
8、个人应用页面/userapp.php显示页面为/template/模板文件夹名/userapp.htm。
9、邀请加入页面/invite.php显示页面为/template/模板文件夹名/invite.htm。
10、RSS页面/rss.php显示页面为/template/模板文件夹名/space_rss.htm。
11、帮助页面/help.php显示页面为/template/模板文件夹名/help.htm。
12、通用代码/common.php缓存、Cookie、用户状态验证、各种状态初始化等通用处理。
13、配置文件/config.php数据库连接、系统编码、站点网址等全局性配置。
14、富文本编辑器/editor.php15、模块载入代码/js.php未发现使用的地方,所以不做解释。
16、连接显示页/link.php未发现使用的地方,所以不做解释。
17、xmlrpc服务/xmlrpc.php调用/source/class_xmlrpc.php来处理。
关于XML-RPC的规范可看这里二uchome架构简单说明uchome大概架构流程如下图:是个轻量级的框架,逻辑流程都很清晰,space.php do.php等入口文件属于controler级别,space_blog.php 等属于model级别,/data/tpl_cache/template_default_space_blog.php等是view级别的。
当然这个架构不是严格意义上的mvc模式三uchome全局变量说明1$_SC:系统全局配置2$_SBLOCK3$_SCONFIG:个人空间配置4$_SCOOKIE:5$_SGLOBAL:各类全局信息6$_SN:昵称信息四uchome主要模板说明uchome模板默认为/template/default/,以下是各主要模板页面功能说明cp_advance.htm操作高级管理cp_album.htm操作相册cp_application.htm操作群组申请表单cp_apply.htm操作群组申请cp_avatar.htm操作头像cp_blog.htm操作日志cp_class.htm操作分类cp_comment.htm操作评论cp_common.htm操作管理操作/举报违规/屏蔽指定通知cp_credit.htm操作积分cp_doing.htm操作记录cp_domain.htm操作空间域名cp_feed.htm操作动态cp_friend.htm操作好友cp_header.htm操作页首导航cp_import.htm操作日志导入cp_invite.htm操作邮件邀请cp_mtag.htm操作群组管理cp_password.htm操作邮箱与密码设置cp_pm.htm操作短消息cp_poke.htm操作打招呼cp_privacy.htm操作个人隐私设置cp_profile.htm操作个人资料cp_sendmail.htm操作邮件提醒设置cp_share.htm操作分享cp_space.htm操作隐藏应用cp_task.htm操作有奖活动cp_theme.htm操作个人主页风格-CSScp_thread.htm操作话题操作cp_upload.htm操作图片上传cp_userapp.htm操作管理应用do_inputpwd.htm密码验证do_login.htm登录界面do_lostpasswd.htm取回/重设密码do_register.htm注册帐号do_swfupload.htm上传头像footer.htm页脚代码header.htm页首代码help.htm帮助iframe.htm框架页index.htm首页invite.htm好友邀请network_album.htm随便看看相片network_blog.htm随便看看日志network_class.htm随便看看班级network_doing.htm随便看看记录network_header.htm随便看看页首network_index.htm随便看看network_mtag.htm随便看看群组network_share.htm随便看看分享network_space.htm随便看看成员network_thread.htm随便看看话题sendmail.htm系统邮件内容showmessage.htm信息提示space_album_list.htm相册列表space_album_pic.htm相册图片space_album_view.htm相册查看space_blog_list.htm日志列表space_blog_view.htm日志查看space_comment_li.htm日志评论space_doing.htm记录space_feed.htm好友动态space_feed_li.htm好友动态单条space_friend.htm好友space_guide.htm空间启用向导space_index.htm个人首页space_mood.htm同心情space_mtag.htm群组首页space_mtag_field.htm群组分类space_mtag_index.htm单个群组首页space_mtag_list.htm群组讨论区space_mtag_member.htm群组成员space_notice.htm通知space_pm.htm私信space_privacy.htm由于XX的隐私设置,你不能访问当前内容space_rank.htm排行榜space_rss.htm RSSspace_share_li.htm分享单条space_share_list.htm分享列表space_share_view.htm分享查看space_tag_list.htm标签列表space_tag_view.htm标签查看space_thread_list.htm群组话题列表space_thread_view.htm群组话题查看space_wall.htm留言板userapp.htm页面加载中提示五二次开发相关说明:1模板方面首先,在根目录文件config.php中配置系统使用的模板:$_SC[“template”]=‘default’;//选择模板目录当需要调用模板文件时,首先程序会在模板缓存目录/data/tpl_cache/下查找是否存储了模板缓存文件,模板缓存文件的命名规则:template_模板目录名_模板文件名.php,如果存在缓存的模板文件,直接调用就可以了。
如果不存在,则解析对应模板文件,生成缓存文件,然后使用。
模板解析通过调用/source/function_template.php文件中的函数parse_template()实现解析的过程:读取模板文件(.htm)—>正则表达式替换相应标记为php代码—>生成标准php代码文件,存储于/data/tpl_cache目录欲了解具体解析过程,查看/source/function_template.php中的函数parse_template模板语法:(1)调用其他模板文件<!--{template header}-->说明:此处调用header.htm(2)调用头像模板代码:<!--{avatar($value[uid],small)}-->解析后的代码:<?php echo avatar($value[uid],small);?>(3)调用广告模板代码:<!--{ad/header}-->解析后的代码:<?php adshow('header');?>(4)调用时间模板代码:<!--{date('Y-m-d H:i',$value[dateline],1)}-->解析后的代码:<?php echo sgmdate('Y-m-d H:i',$value[dateline],1);?>(5)输出php代码模板代码:<!--{eval echo formhash();}-->解析后的代码:<?php echo formhash();?>说明:<!–{eval和}–>之间的是需要执行的PHP代码,要求语句完整。