“法商签章”小程序已经上线,在微信搜索“法商签章”就可以体验。

这个项目处理的是一件很具体的事:公司里的一份 PDF,从申请、审批到最后盖章,怎样少靠口头确认,怎样让每个经手人都知道文件走到了哪里。

上传 PDF 和放一张印章图片都不难。真正麻烦的是围绕文件发生的那些动作:谁可以发起,应该由哪个部门审批,财务要不要复核,谁有权使用某枚印章,驳回后去哪里看原因,盖完章的文件还能不能和原始申请对应起来。只要其中一环没有记录,后面就很难说清楚。

法商签章小程序首页

用章申请要先把责任链排清楚

一份文件进入系统后,申请人需要填写标题和用途,选择提交部门,再上传 PDF。页面会在提交前展示完整的审批顺序以及每个节点的处理人。流程没有配置完整,提交按钮会直接停用,并提示管理员补齐审批人。

这样做是为了避免申请先发出去,走到一半才发现没有人负责。默认流程可以覆盖部门审批、财务审批和签章执行,公司也能按自己的组织方式新增、调整或停用节点。审批人可以来自某个角色,也可以指定到具体成员;需要知晓但不参与决策的人,则放进抄送节点。

申请人属于多个部门时,提交前可以选择这次申请归属哪个部门,后续的部门负责人和流程名称也会随之变化。同一个人发起不同业务的用章申请,不必被固定在一条审批线上。

固定流程解决不了不同公司的组织差异

企业内部的审批习惯很难用一套顺序写死。有的文件经过部门负责人就可以签章,有的还需要财务复核,也有公司会把具体审批人直接配置到节点上。人员调整后,原来依赖某个名字的流程还可能立刻失效。

法商签章把流程配置放在公司范围内。管理员可以调整节点顺序,选择按角色或按成员分配审批人,也可以恢复默认流程。一个节点配置多名审批人时,任一有权限的成员处理后即可继续流转。提交页显示的不是一段固定说明,而是根据当前公司、申请部门和有效成员实时生成的流程预览。

这项设计把组织变化留在配置里处理。部门负责人换人、公司增加财务复核,或者某个审批节点暂时停用,都不用重新改小程序页面。

印章权限要具体到公司和成员

审批通过不等于谁都可以盖章。系统里的每枚印章都有所属公司和启用状态,管理员还能把使用权授予具体成员。签章人员进入任务后,只能看到本次申请所属公司的可用印章,无法从其他公司选一枚章盖上去。

这个边界在多公司场景里尤其重要。同一个用户可能同时属于几家公司,也可能在不同公司承担不同角色。首页允许切换当前公司,切换后,部门、角色、印章权限和待办任务会一起变化。各公司的待审批和待签章数量也会单独统计,避免为了查待办来回进入每家公司。

新成员可以通过邀请进入公司,完善姓名、手机号和部门资料后等待管理员审核。审核未通过时,首页会显示原因并允许重新提交。加入公司、获得角色和拿到印章权限是三件分开的事,没有把“能登录”直接等同于“能用章”。

在手机上盖章,位置必须和 PDF 对得上

签章页先把 PDF 转成逐页预览,签章人员选择印章后,可以把它拖到指定页,继续调整位置和大小。小程序里的显示坐标会换算成 PDF 实际坐标,再由服务端生成盖章后的文件。

多页 PDF 还会自动添加骑缝章。完成后,盖章文件回到原申请中,申请状态同步变为已完成,原始文件、签章位置和最终文件仍然属于同一条记录。用户看到的是一次拖动和确认,系统保存的则是文件、印章、页码、位置和申请之间的对应关系。

这里也保留了明确的产品边界。当前上线版本解决的是企业内部审批、印章授权、PDF 加盖和过程留痕,不把仍在开发中的合同模板、模板签章写成已有能力,也不把图片签章描述成 CA 数字证书签名。

文件走到哪里,要能直接查到

用章流程拖得越久,越容易出现两个问题:申请人不知道卡在谁那里,管理人员也很难在事后还原过程。

首页按角色给出不同入口。申请人看“我的申请”,审批人看部门或财务待办,签章人员看待签章任务,被抄送的人则有单独的知会列表。角标直接显示待处理数量,不需要逐个页面寻找。

进入详情后,可以看到提交、各级审批和签章的进度,处理人、时间以及驳回意见都跟着节点保存。审计记录还能按申请标题和状态查询,把同一份申请的操作按时间整理在一起。提交申请时,小程序会询问用户是否订阅相关消息,为后续提醒保留入口;用户没有订阅也不会影响申请本身提交。

小程序负责日常动作,后台负责集中配置

项目由微信原生小程序、管理后台和 API 组成。小程序承接申请、审批、签章、抄送和查询,公司管理员也可以在里面维护成员、部门、印章和审批流程。独立的管理后台更适合集中管理公司、账号、印章授权、审批记录、媒体文件和订阅配额。

后端使用 Rust,把微信用户、公司成员、部门与印章、合同文件、审批和订阅拆成不同模块,通过 GraphQL 给小程序和后台提供同一套业务数据。这里的技术选择主要服务两个要求:权限判断只实现一份,审批状态也只能有一个来源。小程序、后台和审计页面因此不会各自算出一套结果。

上线只是这条流程开始被真实使用

法商签章目前已经把主流程接起来了:成员加入公司,管理员配置部门、角色、印章和审批节点,申请人上传 PDF,审批人员逐步处理,签章人员完成盖章,相关人员再从记录里查看结果。

这次项目最花时间的地方,是把每个边界做具体。公司边界决定能看到哪些数据,角色决定能处理什么任务,印章授权决定能用哪枚章,审批记录则回答谁在什么时间做了什么。页面上的按钮不算多,背后的责任关系必须对得上。

想实际看看这套流程,可以在微信里搜索“法商签章”。