• SocanCode7之模板编写


    本软件使用javascript作为模板,软件将数据库和设置项分成组成json作为参数,调用模板入口main函数,返回值一个数组。

    模板示例:

    /**

    * 函数入口

    */

    function main(databaseJson, settingJson) {

        var codes = new Array()

     

        codes.push({ title: '错误', path: 'error.txt', code: '模板暂未完成。' });

     

        return codes;

    }

    1. 传入参数格式

    1.1.    databaseJson

    {

      "ConnString": "Data Source=127.0.0.1,7788;User ID=sa;Password=;Initial Catalog=test;",

      "Name": "test",

      "Type": "Sql2000",

      "Selects": [

        {

          "Name": "tbl_Item",

          "IsView": false,

          "Fields": [

            {

              "Pos": 1,

              "Name": "ItemId",

              "IsId": true,

              "IsKey": false,

              "Size": 4,

              "Length": 10,

              "AllowNull": false,

              "DefaultValue": "",

              "Descn": "ItemId",

              "FieldType": "int"

            },

            {

              "Pos": 2,

              "Name": "TypeID",

              "IsId": false,

              "IsKey": false,

              "Size": 4,

              "Length": 10,

              "AllowNull": false,

              "DefaultValue": "",

              "Descn": "TypeID",

              "FieldType": "int"

            },

            {

              "Pos": 3,

              "Name": "RoleId",

              "IsId": false,

              "IsKey": false,

              "Size": 4,

              "Length": 10,

              "AllowNull": false,

              "DefaultValue": "",

              "Descn": "RoleId",

              "FieldType": "int"

            },

            {

              "Pos": 4,

              "Name": "CreateTime",

              "IsId": false,

              "IsKey": false,

              "Size": 8,

              "Length": 23,

              "AllowNull": true,

              "DefaultValue": "",

              "Descn": "CreateTime",

              "FieldType": "datetime"

            }

          ]

        }

      ]

    }

    1.2.    settingJson

    [

      {

        "Name": "CacheFrame",

        "Description": "缓存结构",

        "Value": "ObjectCache"

      },

      {

        "Name": "BLFrame",

        "Description": "业务层样式",

        "Value": "BLL"

      },

      {

        "Name": "CommandType",

        "Description": "读写数据库方式",

        "Value": "SQL"

      },

      {

        "Name": "FilterDefaultableField",

        "Description": "是否过滤带默认值的字段",

        "Value": "false"

      },

      {

        "Name": "DBHelperName",

        "Description": "DBHelperName的名称",

        "Value": "dbHelper"

      },

      {

        "Name": "DALFrame",

        "Description": "DAL项目名称",

        "Value": "DAL"

      },

      {

        "Name": "ModelStyle",

        "Description": "实体层样式",

        "Value": "CS3"

      },

      {

        "Name": "SlnFrame",

        "Description": "三层结构样式",

        "Value": "Simple"

      },

      {

        "Name": "NamespaceSuffix",

        "Description": "命名空间后缀",

        "Value": ""

      },

      {

        "Name": "NamespacePrefix",

        "Description": "命名空间前缀",

        "Value": ""

      },

      {

        "Name": "VSVersion",

        "Description": "VisualStudio版本",

        "Value": "2010"

      }

    ]

    2. 返回值

    main函数通过传入databaseJson和settingJson返回一个数组,数组中的每个元素都是json,可以有2种形式:

    1、拷贝文件(夹)

    {

            type: 'copy', //类型为拷贝

            isfolder: true, //是否是文件夹拷贝

            source: 'folder\\Model', //文件源路径,相对于模板路径地址

            target: 'Model' //目标路径,相对于输出路径

    }

    2、输出代码

    {

            type: 'code', //类型为代码,此项可省略

            title: 'Model-internal', //用于在生成代码时显示在标题上

            path: 'folder\\test.cs', //输出代码时的文件路径

            code: 'console.write(“hello,world”);' //要输出的代码

    }

    3. 注意事项

    1.         模板的设置项使用xml格式

    2.         生成代码将加载模板下所有的js文件

    3.         生成代码时,调用main函数,main函数是入口函数

    4.         传入参数可以从软件的“调拭”窗口中查看

    5.         使用软件的“添加模板”功能,会自动生成4个文件,其中的Helper.js是辅助函数,内含对模板编写的实用函数; DbType.js是为field添加DbType属性的方法, 可以将各种数据库类型转化到对应于c#的DbType类型, 如要修改字段对应生成的字段类型, 可以修改此文件.

  • 相关阅读:
    【转】Maven多模块项目构建
    【转】vue和springboot项目使用nginx配置,并配置跨域
    关于URL与URI
    C#将16位二进制转换为有符号数
    WPF中 datagird日期列格式
    记录一个困扰了我两个周的Windows网络问题
    基于企业上下级关系的组织机构体系数据模型设计
    WPF简介
    和尚挖井故事给程序员的启示!
    看八个笑话故事 悟八个人生道理
  • 原文地址:https://www.cnblogs.com/yvesliao/p/2677867.html
Copyright © 2020-2023  润新知