通达OA二次开发入门指南

一、概述

Office Anywhere 网络智能办公系统(以下简称通达OA),不仅是一套成熟的网络办公系统,同时也是一个完整、精巧的软件开发平台。通达OA集成了Web开发的全套环境,并提供了管理架构、系统资源的开放性支持,是开发中小型管理应用系统的理想平台。

本文将从入门角度,为您介绍通达OA二次开发的基础知识和环境准备,帮助您快速上手OA二次开发。

二、技术栈概览

通达OA主要采用以下技术栈:

技术组件 版本 说明
PHP 7.2+ 主要开发语言
MySQL 5.x 数据库管理系统
Nginx - Web服务器
Redis - 缓存服务
Zend - PHP扩展加速

2.1 技术架构图

2.2 系统服务架构图

三、开发环境搭建

3.1 系统服务介绍

在Windows平台下,通达OA注册了9个系统服务:

  • Office_Web:管理Nginx进程的服务,作为Web Server
  • MySQL5_OA:MySQL数据库服务
  • Office_Redis:Redis缓存服务
  • OfficeDaemon:守护进程服务
  • OfficeIm:即时通讯服务
  • OfficeIndex:全文索引服务
  • OfficeMail:邮件服务
  • OfficePOP3:POP3邮件接收服务
  • OfficeTask:任务调度服务

这些服务可以通过控制面板 → 管理工具 → 服务进行查看和管理。

3.2 开发工具准备

推荐开发环境:

  1. 代码编辑器:Visual Studio Code、PHPStorm等
  2. 数据库管理工具:Navicat、MySQL Workbench、phpMyAdmin
  3. 浏览器:Chrome(推荐)、Firefox

3.3 本地开发配置

在进行二次开发前,建议先熟悉以下配置文件:

  • MYOA\bin\service.ini:服务配置文件
  • MYOA\bin\php.ini:PHP配置文件
  • MYOA\mysql5\my.ini:MySQL配置文件
  • MYOA\webroot\inc\db_config.php:数据库连接配置

四、核心概念

4.1 模块化架构

通达OA采用模块化架构设计,所有应用模块都存放在 MYOA\webroot\general 目录下。每个模块拥有独立的目录结构,可以独立开发、部署和维护。

4.2 权限验证机制

通达OA为保证数据安全,所有PHP页面原则上都需要包含权限验证程序:

复制代码
include_once("inc/auth.inc.php");

该文件包含session合法性验证、访问路径授权验证等功能。

4.3 页面渲染规范

为保证界面显示标准统一,所有包含HTML输出的页面需要包含:

复制代码
$HTML_PAGE_TITLE = _("页面标题");
include_once("inc/header.inc.php");

4.4 数据安全过滤

通达OA提供了用户输入数据过滤机制,通过 common.inc.php 对 $_GET、$_POST、$_COOKIE 等数据进行安全过滤。

五、开发流程

5.1 开发流程图

5.2 开发前准备

  1. 了解需求:明确需要开发的功能模块
  2. 分析现有模块:参考类似功能的实现方式
  3. 数据库设计:规划数据表结构
  4. 模块命名:遵循OA命名规范

5.2 开发步骤

  1. 建立模块目录 :在 general 目录下创建模块文件夹
  2. 创建菜单:在系统管理中注册菜单
  3. 分配权限:为角色分配菜单权限
  4. 编写代码:实现业务逻辑
  5. 测试验证:确保功能正常运行

5.3 调试技巧

  • 开启PHP错误日志:MYOA\logs\php_errors.log
  • 使用浏览器开发者工具调试前端
  • 利用数据库管理工具查询数据状态

六、Hello World示例

下面是一个简单的"Hello World"模块示例:

复制代码
<?php
$HTML_PAGE_TITLE = _("我的第一个模块");
include_once("inc/auth.inc.php");
include_once("inc/header.inc.php");

echo "<h1>" . _("Hello, OA二次开发!") . "</h1>";

include_once("inc/footer.inc.php");
?>

将上述代码保存为 MYOA\webroot\general\helloworld\index.php,然后在系统管理中注册菜单即可访问。

相关推荐
子兮曰3 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
1点东西3 天前
做了近两年的Agent开发,其实真正要学的就是这五件事
llm·agent·ai编程
七牛云行业应用3 天前
Qwen-Image-2.1 开源部署完整指南:Diffusers、ComfyUI 与推理服务
ai编程
福如意如我心意3 天前
TencentDB Agent Memory和其他开源memory
ai编程
小虎AI生活3 天前
腾讯开源了一个项目,让 AI 直接用你已经登录好的浏览器
aigc·ai编程
瑶山3 天前
开源编程Agent-OpenCode完整使用教程
开源·agent·ai编程·opencode
技术民工之路3 天前
文生视频 vs 传统视频制作:核心优势
ai编程
plainGeekDev3 天前
Harness 实战:用 Android 登录模块搭一套可靠的 Agent 开发环境
aigc·ai编程·claude
黄昏回响3 天前
从标准化到智能化:信息化的一场“地基革命”——兼论AI如何重新定义“标准化”
ai编程