Tsys信息系统(再开发帮助手册)
最后更新时间:07/31/2004
·整体概述 TOP

系统运行要求
  除ASP Web服务器的一般要求外,本系统还须拥有Script.FileSystem对象权限、以及服务器IE为5.5以上的版本,否则系统将无法正常运行。

功能介绍
  1无限层资源分类设定
  2资源的在线视化编辑
  3统一的资源模板管理
  4可对指定资源分类设定资源模板
  5全部资源生成静态文件(按时间、类型进行生成)
  6资源回收站(回收站内的资源可以求救回)
  7灵活且强大的资源特性(结合特性实现资源的多重身份)
  8批量移动资源 (指定ID范围、类别间与类别、时间范围)
  9资源来源、作者数据规范管理
  10资源在线可视化编辑
  11方便的文件上传
  12数据库基本管理(压缩、备份)
  13系统安全(权限细分、管理分组、管理锁定)
  14管理员登录唯一限制(同名管理帐户只允许唯一IP使用)
  15指定资源生成目录


·数据库文档 TOP
  • 库存放路径
    • /DataBase/DataBase.Mdb
  • 库设计习惯
    • 数据表名依据表用途以英文相符单词命名,各关键单词首字母大写,如:News(资源数据表)、AuthorList(作者表)
    • 数据表名较长的,则各单词间用"_"符隔开,News_Speciality(资源特性表)
    • 所有视图表一律以"view_"开头标识
    • 字段命名同表命名习惯(详细见各表结构说明)
  • 所有数据内容
    • 数据表 (按字母顺序)

        Admin(管理帐号员表)
        Admin(管理帐号员表)
        字段名 类型 必填 默认 varchar(8000)
        Id

        主键自增

          主键自增、索引
        Title varchar(20)   管理员帐号名称
        NickName varchar(50)   管理员昵称(被用于资源的责任编辑)
        Pwd varchar(30)   管理员密码(采用MD5加密)
        Role int   用户角色类型(见Admin_Role)、索引
        Lock tinyint(1)   0 锁定 0:解锁;1:锁定
        AddTime smalldatetime     添加时间
        UpTime smalldatetime     上次更新时间
        LoginTime smalldatetime     本次登录时间
        LastLoginTime smalldatetime     上次登录时间
        LoginCount int     登录次数
        FileSysRoot varchar(255)     绑定文件系统目录

        Admin_Role(帐号角色数据表)
        Admin_Role(帐号角色数据表)
        字段名 类型 必填 默认 varchar(8000)
        Id

        主键自增

          主键自增
        Title varchar(50)   角色名称
        Content varchar(255)     角色简介
        Popedom varchar(100)     权限列表
        ClassPopedom varchar(255)     栏目权限列表(ClassId,权值&vbCrLf&....)
        UpTime smalldatetime     最后更新时间
        ClassId int     只允许查看该类别Id的资源


        AuthorList(资源作者表)

        AuthorList(资源作者表)
        字段名 类型 必填 默认 varchar(8000)
        Id

        主键自增

          主键自增
        Title varchar(50)   作者名称
        Content varchar(8000)     作者简介
        Email varchar(50)     作者Email
        Sex tinyint(1)   0 作者性别
        BigPhoto varchar(100)     作者照片
        UpTime smalldatetime     更新时间
        AddTime smalldatetime   添加时间
        State varchar(10)     来自(省份)

        ClassList(资源分类表)
        ClassList(资源分类表)
        字段名 类型 必填 默认 varchar(8000)
        Id

        主键自增

          主键自增
        Title varchar(200)   类别名称
        Title2 varchar(50)     类别别名
        Parent int   0 父分类Id、索引
        UpTime smalldatetime     最近更新时间
        OrderNum int   1 显示优先值(越大就越靠前)
        Template int   0 模板Id
        Directory varchar(200)     自定义资源生成目录
        ClassUrl varchar(255)     栏目主页地址


        FromList(资源来源表)

        FromList(资源来源表)
        字段名 类型 必填 默认 varchar(8000)
        Id

        主键自增

          主键自增
        Title varchar(50)   来源标题
        Content varchar(100)     显示代码
        UpTime smalldatetime     最近更新时间


        InsertList(页面内容替换)

        InsertList(页面内容替换)
        字段名 类型 必填 默认 varchar(8000)
        Id

        主键自增

          主键自增
        Title varchar(50)   标题
        Content varchar(8000)     插入的内容
        FileList varchar(8000)     被插入页面列表
        StartElement varchar(255)   起始标签
        EndElement varchar(255)   结束标签
        AddTime smalldatetime     添加时间
        UpTime smalldatetime     更新时间


        News(资源数据存放表)

        News(资源数据存放表)
        字段名 类型 必填 默认 varchar(8000)
        Id

        主键自增

          主键自增
        Class int   0 资源所属类别Id、索引
        Title varchar(100)   来源标题
        Url varchar(200)     跳转链接
        Content varchar(8000)     内容
        Author int     资源作者、索引
        From int     资源来源、索引
        Count int     点击
        KeyWord varchar(100)     关键字(可多项,各项间用逗号隔开)
        Editor varchar(50)     责任编辑(管理员帐户)
        Created tinyint(1)   0 是否已经生成静态文件
        ImgNews tinyint(1)   0 是否图片资源
        SmallImg varchar(100)     图片资源小图
        BigImg varchar(100)     图片资源大图
        ShortContent varchar(255)     资源内容摘要
        Speciality varchar(100)     资源特性ID列表
        IsChecked tinyint(1)   0 资源省核、索引 0:未审 1:已审
        Del tinyint(1)   0 虚拟删除标记 0:未删除 1:已删除
        FilePath varchar(100)     静态文件路径
        AddTime smalldatetime     添加时间
        UpTime smalldatetime     更新时间

        LoginLock(封IP列表)

        LoginLock(封IP列表)
        字段名 类型 必填 默认 varchar(8000)
        Id

        主键自增

          主键自增
        Title varchar(50)   IP地址、索引
        AddTime smalldatetime     添加时间

        LoginWrongLog(登录失败记录)

        LoginWrongLog(登录失败记录)
        字段名 类型 必填 默认 varchar(8000)
        Id

        主键自增

          主键自增
        Title varchar(50)   IP地址、索引
        AddTime smalldatetime     添加时间


        News_Speciality(资源特性表)

        News_Speciality(资源特性表)
        字段名 类型 必填 默认 varchar(8000)
        Id

        主键自增

          主键自增
        Parent int     父类Id、索引
        Title varchar(50)   特性名称
        Explain varchar(200)     特性简介
        UpTime smalldatetime     更新时间

        News_Template(资源模板表)

        News_Template(资源模板表)
        字段名 类型 必填 默认 varchar(8000)
        Id

        主键自增

          主键自增
        Title varchar(50)   模板标题
        Content varchar(200)     模板内容
        UpTime smalldatetime     更新时间
        AddTime smalldatetime     添加时间

  • 数据视图
    • View_AdminInfo(管理员信息视图)
      显示了Admin表中的所有信息及Admin_Role中部份信息。
      相关联的表有:Admin,Admin_Role
    • view_AllNewsInfo(所有资源详细数据)
      相关联的表有:News,Admin,AuthorList,FromList,ClassList
    • view_NewsInfo(所有资源详细数据,不含被'删除'\未审核'\'未生成的资源')
      相关联的表有:News,Admin,AuthorList,FromList,ClassList
      该视图同时也是前台所有资源数据调用所使用的.可称它为"用户接口表",正如括号内所描述,它已过滤了所有不附合要求的数据,因此开发人员无需每次都在Sql的Where处写上烦杂的条件过滤语句,同时也提供了一至的字段出口给调用者,避免了因跟改如News,AuthorList等表结构而不得不对所有的前台程序的修改。
    • view_NewsInfo2(所有资源详细数据,不含被'删除'\'未审核'的资源)
      相关联的表有:News,Admin,AuthorList,FromList,ClassList
 

·程序源码文档 TOP
  • 代码编写习惯
    • 本系统采有Asp VBscript脚本语言编写,规范如下:
      1. 脚本关键字,变量,常数一律首母大写
      2. 变量一律先定义后使用
      3. 变量名详细定议 Def_IsAutoRemberLoginName.
      4. 程序缩进格式编写
      5. 所有常用函数功能包装成独立.Asp文件,存放在Include目录中
      6. 程序功能模块化\模块页面化
        如:
        News_List.asp\News_Add.asp\News_Mdy.asp
        Author_List.asp\Author_Mdy.asp
    <%
    Select Case Request("Work")
    ----Case "ClearDustbin"
    ----Call ClearDustbin()
    ----Case "SaveMdy"
    ----Call SaveMdy()
    ----Case Else
    End Select
    %>
    '///////////////////////////
    '//保存修改的资源记录

    Sub SaveMdy()
    ----Dim Id,ClassId,Title,Author,From,KeyWord
    ----......
    End Sub

  • 程序文件清单
  • 关键文件清单
    1. ./Manage/Include/Config.asp [系统主要配制文件]
    2. ./Manage/Include/CharFun.asp [字符串操作函数类库]
    3. ./Manage/Include/CreateFile_Fun.asp [静态资源文件生成函数]
    4. ./Manage/Include/PopedomConfig.asp [系统权限配制类库。需要新增权限将使用本文件]
    5. ./Manage/Include/ClassList_Fun.asp [资源分类操作函数。形成当前位置,获得指定类别下的所有子类别等]
    6. ./Manage/News_Add.asp [资源编辑页面]
    7. ./Manage/News_Mdy.asp [存储资源内容程序页面]
    8. ./Manage/Menu.asp [功能目录页面]
    9. ./Manage/Library/DTree/DTree.asp [目录树配制Js文件]
  • 函数库
    • 系统管理员信息类库
      <!--#include file="Include/PopedomConfig.asp" -->
      <%
      '定义系统管理员信息类
      Dim SysAdmin
      Set SysAdmin=New SYSProedom_Class
      If Not CBool(SysAdmin.Logined) Then
      ----'显示当前管理员帐户名称
      ---- Response.Write SysAdmin.AdminTitle
      End If
      %>

·网友二次开发 TOP
  • 数据库
    • 如何取得指定父目录下所有子目录
      <!--#include file="Include/Conn.asp" -->
      <!--#include file="Include/ClassList_Fun.asp" -->

      <%
      '取得指定父目录Parent下的所有子目录

      Dim Parent
      ----Parent=10
      Response.Write AllChildClass(Parent)
      '输出结果,例:,23,32,43,54,65,67
      %>

    • 如何取得整个Tsys系统数据库中所有栏目下的资源数据
      <!--#include file="Include/Conn.asp" -->
      <!--#include file="Include/ClassList_Fun.asp" -->

      <%
      '取得指定父目录Parent下的所有子目录

      Dim Parent
      ----Parent=0
      Dim Sql
      ----Sql="Select * From view_NewsInfo Where Class In (" & Parent & AllChildClass(Parent) & ") Order By Id DESC"
      Dim Rs
      Set Rs=Conn.ExeCute(Sql)

      %>

  • 系统功能
    • 如何在系统内核中添加新的管理员权限

      一、找到系统管理员权限类库文件
        Manage/Include/Tkl_SYSProedomClass.asp

      二、定义权限变量名
        Private Podm_ManageDataBase

      三、赋于该权限变量数字值做为唯一的权限Id标识
         Podm_ManageDataBase=19

      四、在“初始化权限列表”中加入该权限变量
         Podm_ManageDataBase & ",数据库管理," &_

      五、最后新建一个类属性,开发者通过都获取该属性以得知是否具有此权限(返回为Bool型)
         '是否有数据库的权限
        Public Property Get ManageDataBase()
          '如果当前管理员所属的角是超级管理员,则直接返回True值
          If AdminRoleTitle=defAdminRoleTitle Then
            ManageDataBase=True
            Exit Property
          End If
          '使用EnoughPopedom函数判断当前管理员的权限列表中是否有此权限的Id值
          ManageDataBase=EnoughPopedom(Podm_ManageDataBase)
        End Property

      六、使用举例:(系统管理员信息类库)


    • 如何在右边的树型目录中添加新菜单
      详见树型目录配制文件:Manage/Library/DTree/dTree.Js

· TOP