本文将通开发《管理系统》应用模板,如何使用有效云开发进行应用系统的开发,以便开发者理解平台开发模式和掌握开发技巧。
第一步、创建数据库表
登录有效云开发平台开发中心,在应用中心选择<管理系统>,并点击进入有效云平台集成开发环境,从左侧模块菜单栏中选择【链接管理】。
系统内置数据库采用了SQLite(开发者可以改为其他类型数据库)。创建数据库有两种方法:使用平台提供的可视化管理工具创建和通过SQL脚本创建。因为系统发布需要初始化脚本——直接采用编写建库脚本,代码如下:
-- 系统类型数据表
CREATE TABLE IF NOT EXISTS "adm_type" (
"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
"type" INTEGER,
"name" TEXT(60),
"sort" INTEGER,
"memo" TEXT(500),
"state" integer DEFAULT 1
);
-- 部署属性数据表
CREATE TABLE "adm_dept_kind" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"kind" integer,
"name" TEXT(20),
"sort" integer,
"state" integer DEFAULT 1
);
-- 部门数据表
CREATE TABLE IF NOT EXISTS "adm_dept" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"type" integer,
"pid" integer,
"pname" TEXT(60),
"name" TEXT(60),
"simple_name" TEXT(10),
"prov" TEXT(60),
"city" TEXT(60),
"district" TEXT(60),
"kind" integer,
"logo" text(255),
"banner" TEXT(255),
"license_number" TEXT(20),
"license_pic" TEXT(255),
"legal_name" TEXT(60),
"lealg_number" INTEGER(20),
"legal_pic1" TEXT(255),
"legal_pic2" TEXT(255),
"manaer_name" TEXT(60),
"phone" TEXT(21),
"address" TEXT(255),
"referal" TEXT(500),
"create_id" integer,
"state" integer DEFAULT 1
);
-- 内置顶级部门和系统作为基础数据
insert into adm_dept (id,type,pid,pname,name,simple_name) values (1,0,0,'顶级','顶级','顶级');
insert into adm_dept (id,type,pid,pname,name,simple_name) values (2,1,1,'系统','系统','系统');
点击【链接管理】、选择app链接,选点工具栏【数据】,执行以上脚本,数据库创建完成:
第二步、开发部门管理模块
在有效云开发平台集成开发环境,从左侧菜单栏中选择【模块管理】,【创建】模块:系统类型、部门管理、部门性质,分别绑定应用库中表adm_type、adm_dept、adm_kind。
2.1、设置模块参数
编辑新创建的三个模块,点选工具栏【编辑】,对模块参数进行设置:
这个过程是可视化的,如果需要代码,仅涉及到数据表查询条件、排序字段等极少的SQL语句,例如部门管理模块,设置类型条件为 type>1 —— 在系统中默认集成了顶级部门和系统两个系统级部门,应用则在此基础上根据需要灵活创建即可。
模块可设置参数包括:基本信息、数据管理、列表页面、编辑页面等,在开发中心可以找到详细的说明。
2.2、选择模块操作字段
每个模块绑定表后,就可以选择表中需要操作的字段了,从工具栏点选【字段】,勾选需要操作的字段即可。
2.3、表单设置
选定字段后,选中模块,点击工具栏【表单】,便可以对模块中每个字段进行可视化细节设置、操作了。表单管理提供了非常丰富的可视化编程接口,例如:字段数据样式(文本框、下拉框)、表单、列表宽度,默认值、绑定数据、数据有效性唯一、正则校验等。
边设计可以边预览——所见即所得模式,既可以通过开发期使用内置超管账号登录,设置角色、账号模拟预览,也可以在集成开发环境中,点击【预览】进行单元预览调试。
部门管理模块、【表单】管理中有两处关键业务逻辑设置重点介绍,其他设置方法可以登录开发中心后通过开发文档详细了解具体操作。
<部门类型>字段:type
部门类型字段设置为 下拉框 ,绑定SQL为:
select type as id, name as val from adm_type where state=1 and type>1 order by sort
从 adm_type 系统类型表中选出 type > 1(系统)的分类记录,并以 [id, val]键值对的形式绑定到部门类型下拉框。
<上级部门>字段:pid
设计该字段主要为应对复杂的组织结构管理场景,如果是简单应用,开发者可以忽略该字段,从字段管理中去除。
上级部门字段设置为 下拉框,绑定SQL为:
select id,name as val from adm_dept where state=1
级联选择,设置为:部门类型;级联条件设置为:type={{.jlval}}-1。该设置实现:当前选定当前部门类型,再选择指定上级部门。
当然,每个开发者设计思路各异,该业务逻辑的处理也可以是选择上级部门类型,在选定上级部门,级联条件设置为:type={{.jlval}},其中{{.jlval}}是系统脚本,引用了部门类型选择的id值。
系统类型和部门属性两个模块是为了把该应用设计成模板,实现通用灵活的可自由设置。
第三步、开发用户账号管理模块
[默认模板]中已经内置了账号管理功能模块,但是该模块属于系统级管理,权限较高,接下来通过集成开发环境中的克隆功能实现快速复制模块。选中系统内置模块中的<用户管理> 点击工具栏的【复制】保存。
一个与<用户管理>完全相同(代号不同)的新模块就被创建完成,编辑该新模块修改分类、名称、代码,图(创建模块)中第一个模块。
默认模板中,用户账号表 adm_user 中没有类型信息,为该表新增加字段 type INTEGER,并选入模块字段中。
进入用户账号管理模块表单设置,设置type、deptpid与部门管理字段type和pid相同,所属部门deptid组件类型选择下拉框,并设置如下:
绑定SQL:
select id,name as val from adm_dept where state=1
级联选择:上级部门
级联条件:pid={{.jlval}}
账号管理开发完成。
第四步、增加版本管理和系统菜单
开发了新的模块要集成的应用系统菜单中,从有效云开发平台集成开发环境左侧功能菜单中,选择【菜单管理】,创建【首页】下的一个【部门管理】分组,并在该菜单分组下创建菜单项:
部门管理,链接为:/adm/d/{{APPID}}/list/zsoe5pu1fy
回到模块管理,选中部门管理,点击工具栏【PC按钮】,创建工具栏按钮:
系统分类,关联到系统分类模块:
部门性质分类,关联到部门性质模块:
创建操作栏按钮(设定模块类表页面:操作栏宽度为100)【账号管理】,关联到用户账号管理模块:/adm/d/{{APPID}}/list/userlist,并增加参数传递当前记录的:type=<%=row.type%>&deptpid=<%=row.pid%>&deptid=<%=row.id%>。
最后一个步,从有效云开发平台集成开发环境功能菜单选择【链接管理】,点选app链接,打开工具栏【版本管理】,进入【编辑版本】,把第一步中的建库脚本复制到版本管理SQL内容的尾部,保存。
找到 adm_role_auth 初始化代码部分,在其后增加系统管理员角色权限,增加部门管理相关授权初始化处理SQL。
开发结束,回观整个开发过程,绝大部分开发操作都是可视化设置,代码量非常少,只涉及了数据库SQL和前端交互设置。在开发《简单库存管理》时,尚未开发管理系统模板,如果基于该模板,商铺和相关用户账号模块就无需开发,直接使用该模板的部门管理即可。