daminghu-cli

command module
v0.0.0-...-a3600d7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2020 License: Apache-2.0 Imports: 3 Imported by: 0

README

daminghu-cli(项目源码生成工具)

项目源码生成工具

生成前后分离的两个项目源码,一个**【服务端】项目,一个【web】**项目。

特点

  • 有源码 =! 项目可以运行起来!!!使用此工具生成的项目,可以运行,可以运行,可以运行

  • 急速生成

  • 不用写一行代码

  • 生成的两个项目源码,编译后都可以独立部署

  • 可以单独生成服务端项目

    • 对应web端的所有CRUD接口
  • 可以单独生成web项目

    • 登录
    • 左侧导航菜单
    • headr面包屑,退出
    • CRUD所有操作
    • 分页查询
    • 首页
    • 图表统计
    • token,登录超时

    在线查看-1

    在线查看-2

    在线查看-3

  • 一键启动查看效果( 点击查看效果 )

只有一个数据库,想查看此软件运行效果, 点击查看操作步骤
只有一个数据库,想直接生成项目源码, 点击查看操作步骤
无数据库,啥也没有就是任性,点击查看效果
大神,技术人员,请继续往下看~

准备工作

  • 安装 go (编译生成的sever项目源码)

    $ go version
    go version go1.9.2 darwin/amd64
    
  • 安装 npm (编译生成的web项目源码)

    $ npm -version 
    6.7.0
    
  • 安装 mysql 数据库(或者有一个本地可以访问的mysql数据库)

安装

项目安装提供两种方式,实用党可选择直接下载,理论党可以选择源码安装

  • 直接下载(已经编译好的可执行文件)
  • 源码安装
    # install
    go install gitee.com/godY/daminghu-cli
    

    最好把gopath下的bin目录加入到系统的path里

使用方法

  1. 新建一个文件夹或者目录(名称随意)

    $ mkdir dmhtest
    $ cd dmhtest
    
  2. 在刚才新建的目录下创建cfg.json文件

       $ touch cfg.json
       $ ls
         cfg.json
         daminghu-cli-mac
    
  3. 编辑cfg.json

    {
         "PrefixProjectUri": "gitee.com/godY",
         "ProjectName": "xxxx",
         "Port": "19527",
         "DistPath": "./dist/",
         "DBSchema": "mysql",
         "DBUsername": "root",
         "DBPassword": "root",
         "DBPort": "3306",
         "DBIp": "localhost",
         "DBConnParam": "?charset=utf8&parseTime=true&loc=Local&timeout=10s"
    }
    
    名称
    PrefixProjectUri go项目的包名
    ProjectName 项目名称
    Port 服务端项目端口号
    DistPath 项目生成目录
    DBSchema 数据库-名称
    DBUsername 数据库-用户名
    DBPassword 数据库-密码
    DBPort 数据库-端口号
    DBIp 数据库-ip地址
    DBConnParam 数据库-连接参数
  4. 运行命令,生成项目

    根据安装方式不同,分为两种情况

    下载-方式

    1. 把下载的文件,放到dmhtest文件夹中
    2. 运行命令
      1. windows -> 双击 daminghu-cli-win.exe
      2. mac -> ./daminghu-cli-mac
      3. linux -> ./daminghu-cli-linux

    源码安装-方式

    1. 如果gopath的bin在系统的path目录下,直接在dmhtest 目录下运行daminghu-cli命令
    2. 如果gopath的bin不在系统的path目录下,找到gopath/bin下面的daminghu-cli文件,放到dmhtest文件夹中,参考上面几行下载-方式,运行命令
  5. 执行结果

$ daminghu-cli
   2019/03/14 14:36:39 [D] MySqlConnStr  root:root@tcp(localhost:3306)/mysql?charset=utf8&parseTime=true&loc=Local&timeout=10s
   2019/03/14 14:36:39 [I] Start Before Handler..............
   2019/03/14 14:36:39 [I] Invoke Before Handler Complete!
   2019/03/14 14:36:39 [I] Start Build Svr Project..............
   2019/03/14 14:36:39 [D] CreateDirHandler
   2019/03/14 14:36:39 [D] DownloadTemplateHandler
   2019/03/14 14:36:40 [D] CreateBaseProjectHandler
   2019/03/14 14:36:40 [D] CreateRouterHandler
   2019/03/14 14:36:40 [D] CreateStructHandler
   2019/03/14 14:36:40 [D] CreateControllerHandler
   2019/03/14 14:36:40 [D] CreateSqlHandler
   2019/03/14 14:36:40 [D] CreateModelHandler
   2019/03/14 14:36:40 [I] Build Svr Project Complete!
   2019/03/14 14:36:40 [I] Start Build Web Project..............
   2019/03/14 14:36:40 [D] CreateDirHandler
   2019/03/14 14:36:40 [D] DownloadHandler
   2019/03/14 14:36:41 [D] DownloadTemplateHandler
   2019/03/14 14:36:41 [D] CreateApiHandler
   2019/03/14 14:36:41 [D] CreateEnvHandler
   2019/03/14 14:36:41 [D] CreateRouterHandler
   2019/03/14 14:36:41 [D] CreateMainHandler
   2019/03/14 14:36:41 [D] CreateHomeHandler
   2019/03/14 14:36:41 [D] CreatePageHandler
   2019/03/14 14:36:41 [I] Build Web Project Complete!
   2019/03/14 14:36:41 [I] Start After Handler..............
   2019/03/14 14:36:41 [D] DeleteTempHandler
   2019/03/14 14:36:41 [I] Invoke After Handler Complete!

生成的项目目录

$ tree -L 2
.
├── cfg.json
└── dist
    ├── xxxx-svr //server项目
    └── xxxx-web //web项目

3 directories, 1 file

运行项目

  • 服务端项目

copy项目到对应的gopath下

举例子

  1. gopath = /Users/nagatyase/goproject
  2. cfg.json中的PrefixProjectUri = gitee.com/godY
  3. 把生成的xxxx-svr项目copy到/Users/nagatyase/goproject/src/gitee.com/godY下
  4. 最终位置 /Users/nagatyase/goproject/src/gitee.com/godY/xxxx-svr
  5. 进入到xxxx-svr/cmd文件夹,运行下面命令
~/src/gitee.com/godY/xxxx-svr/cmd  $ go run main.go
2019/03/14 15:01:19 [D] [db.go:16] db init
[xorm] [info]  2019/03/14 15:01:19.256224 PING DATABASE mysql
2019/03/14 15:01:19 [I] [asm_amd64.s:2337] http rpcserver Running on http://:19527
  • web项目

进入到dist/xxxx-web目录内,运行如下命令

~/dist/xxxx-web  $ npm install && npm run dev

 DONE  Compiled successfully in 20585ms                                                                                                                           下午2:59:05

 I  Your application is running here: http://localhost:19527

自动打开浏览器,开始一波操作吧。

server目录

$ tree
.
├── api
│   ├── api_columns_priv.go
│   ├── api_db.go
│   ├── api_event.go
│   ├── api_func.go
│   ├── api_help_category.go
│   ├── api_help_keyword.go
│   ├── api_help_relation.go
│   ├── api_help_topic.go
│   ├── api_innodb_index_stats.go
│   ├── api_innodb_table_stats.go
│   ├── api_ndb_binlog_index.go
│   ├── api_plugin.go
│   ├── api_proc.go
│   ├── api_procs_priv.go
│   ├── api_proxies_priv.go
│   ├── api_servers.go
│   ├── api_slave_master_info.go
│   ├── api_slave_relay_log_info.go
│   ├── api_slave_worker_info.go
│   ├── api_tables_priv.go
│   ├── api_time_zone.go
│   ├── api_time_zone_leap_second.go
│   ├── api_time_zone_name.go
│   ├── api_time_zone_transition.go
│   ├── api_time_zone_transition_type.go
│   ├── api_user.go
│   ├── base.go
│   └── login.go
├── cmd
│   ├── conf
│   │   ├── app.conf
│   │   ├── db.conf
│   │   └── upload.conf
│   ├── logs
│   ├── main.go
│   └── sql
│       └── mysql
│           ├── columns_priv.base.xsql
│           ├── columns_priv.count.stpl
│           ├── columns_priv.read.stpl
│           ├── db.base.xsql
│           ├── db.count.stpl
│           ├── db.read.stpl
│           ├── event.base.xsql
│           ├── event.count.stpl
│           ├── event.read.stpl
│           ├── func.base.xsql
│           ├── func.count.stpl
│           ├── func.read.stpl
│           ├── help_category.base.xsql
│           ├── help_category.count.stpl
│           ├── help_category.read.stpl
│           ├── help_keyword.base.xsql
│           ├── help_keyword.count.stpl
│           ├── help_keyword.read.stpl
│           ├── help_relation.base.xsql
│           ├── help_relation.count.stpl
│           ├── help_relation.read.stpl
│           ├── help_topic.base.xsql
│           ├── help_topic.count.stpl
│           ├── help_topic.read.stpl
│           ├── innodb_index_stats.base.xsql
│           ├── innodb_index_stats.count.stpl
│           ├── innodb_index_stats.read.stpl
│           ├── innodb_table_stats.base.xsql
│           ├── innodb_table_stats.count.stpl
│           ├── innodb_table_stats.read.stpl
│           ├── ndb_binlog_index.base.xsql
│           ├── ndb_binlog_index.count.stpl
│           ├── ndb_binlog_index.read.stpl
│           ├── plugin.base.xsql
│           ├── plugin.count.stpl
│           ├── plugin.read.stpl
│           ├── proc.base.xsql
│           ├── proc.count.stpl
│           ├── proc.read.stpl
│           ├── procs_priv.base.xsql
│           ├── procs_priv.count.stpl
│           ├── procs_priv.read.stpl
│           ├── proxies_priv.base.xsql
│           ├── proxies_priv.count.stpl
│           ├── proxies_priv.read.stpl
│           ├── servers.base.xsql
│           ├── servers.count.stpl
│           ├── servers.read.stpl
│           ├── slave_master_info.base.xsql
│           ├── slave_master_info.count.stpl
│           ├── slave_master_info.read.stpl
│           ├── slave_relay_log_info.base.xsql
│           ├── slave_relay_log_info.count.stpl
│           ├── slave_relay_log_info.read.stpl
│           ├── slave_worker_info.base.xsql
│           ├── slave_worker_info.count.stpl
│           ├── slave_worker_info.read.stpl
│           ├── tables_priv.base.xsql
│           ├── tables_priv.count.stpl
│           ├── tables_priv.read.stpl
│           ├── time_zone.base.xsql
│           ├── time_zone.count.stpl
│           ├── time_zone.read.stpl
│           ├── time_zone_leap_second.base.xsql
│           ├── time_zone_leap_second.count.stpl
│           ├── time_zone_leap_second.read.stpl
│           ├── time_zone_name.base.xsql
│           ├── time_zone_name.count.stpl
│           ├── time_zone_name.read.stpl
│           ├── time_zone_transition.base.xsql
│           ├── time_zone_transition.count.stpl
│           ├── time_zone_transition.read.stpl
│           ├── time_zone_transition_type.base.xsql
│           ├── time_zone_transition_type.count.stpl
│           ├── time_zone_transition_type.read.stpl
│           ├── user.base.xsql
│           ├── user.count.stpl
│           └── user.read.stpl
├── common
│   └── common.go
├── db
│   ├── db.go
│   ├── db_columns_priv.go
│   ├── db_db.go
│   ├── db_event.go
│   ├── db_func.go
│   ├── db_help_category.go
│   ├── db_help_keyword.go
│   ├── db_help_relation.go
│   ├── db_help_topic.go
│   ├── db_innodb_index_stats.go
│   ├── db_innodb_table_stats.go
│   ├── db_ndb_binlog_index.go
│   ├── db_plugin.go
│   ├── db_proc.go
│   ├── db_procs_priv.go
│   ├── db_proxies_priv.go
│   ├── db_servers.go
│   ├── db_slave_master_info.go
│   ├── db_slave_relay_log_info.go
│   ├── db_slave_worker_info.go
│   ├── db_tables_priv.go
│   ├── db_time_zone.go
│   ├── db_time_zone_leap_second.go
│   ├── db_time_zone_name.go
│   ├── db_time_zone_transition.go
│   ├── db_time_zone_transition_type.go
│   └── db_user.go
├── filter
│   └── filter.go
├── model
│   ├── base.go
│   ├── model_columns_priv.go
│   ├── model_db.go
│   ├── model_event.go
│   ├── model_func.go
│   ├── model_help_category.go
│   ├── model_help_keyword.go
│   ├── model_help_relation.go
│   ├── model_help_topic.go
│   ├── model_innodb_index_stats.go
│   ├── model_innodb_table_stats.go
│   ├── model_ndb_binlog_index.go
│   ├── model_plugin.go
│   ├── model_proc.go
│   ├── model_procs_priv.go
│   ├── model_proxies_priv.go
│   ├── model_servers.go
│   ├── model_slave_master_info.go
│   ├── model_slave_relay_log_info.go
│   ├── model_slave_worker_info.go
│   ├── model_tables_priv.go
│   ├── model_time_zone.go
│   ├── model_time_zone_leap_second.go
│   ├── model_time_zone_name.go
│   ├── model_time_zone_transition.go
│   ├── model_time_zone_transition_type.go
│   └── model_user.go
├── msg
│   └── base.go
└── router
    └── router.go

12 directories, 168 files

web目录

$ tree
.
├── README.md
├── build
│   ├── build.js
│   ├── check-versions.js
│   ├── logo.png
│   ├── utils.js
│   ├── vue-loader.conf.js
│   ├── webpack.base.conf.js
│   ├── webpack.dev.conf.js
│   └── webpack.prod.conf.js
├── config
│   ├── dev.env.js
│   ├── index.js
│   ├── prod.env.js
│   └── test.env.js
├── index.html
├── package.json
├── src
│   ├── App.vue
│   ├── api
│   │   ├── api.js
│   │   ├── http.js
│   │   └── util.js
│   ├── assets
│   │   └── logo.png
│   ├── components
│   │   └── headTop.vue
│   ├── config
│   │   └── env.js
│   ├── main.js
│   ├── mixin
│   ├── pages
│   │   ├── columns_priv.vue
│   │   ├── db.vue
│   │   ├── event.vue
│   │   ├── func.vue
│   │   ├── help_category.vue
│   │   ├── help_keyword.vue
│   │   ├── help_relation.vue
│   │   ├── help_topic.vue
│   │   ├── home.vue
│   │   ├── innodb_index_stats.vue
│   │   ├── innodb_table_stats.vue
│   │   ├── login.vue
│   │   ├── main.vue
│   │   ├── ndb_binlog_index.vue
│   │   ├── plugin.vue
│   │   ├── proc.vue
│   │   ├── procs_priv.vue
│   │   ├── proxies_priv.vue
│   │   ├── servers.vue
│   │   ├── slave_master_info.vue
│   │   ├── slave_relay_log_info.vue
│   │   ├── slave_worker_info.vue
│   │   ├── tables_priv.vue
│   │   ├── time_zone.vue
│   │   ├── time_zone_leap_second.vue
│   │   ├── time_zone_name.vue
│   │   ├── time_zone_transition.vue
│   │   ├── time_zone_transition_type.vue
│   │   └── user.vue
│   ├── router
│   │   └── index.js
│   └── style
│       ├── common.less
│       └── mixin.less
├── static
│   └── img
└── test
    ├── e2e
    │   ├── custom-assertions
    │   │   └── elementCount.js
    │   ├── nightwatch.conf.js
    │   ├── runner.js
    │   └── specs
    │       └── test.js
    └── unit
        ├── jest.conf.js
        ├── setup.js
        └── specs
            └── HelloWorld.spec.js

19 directories, 62 files

命令参数

  • 生成两个项目 -> daminghu-cli -build all

  • 生成server项目 -> daminghu-cli -build svr

  • 生成web项目 -> daminghu-cli -build web

  • 指定配置文件位置-> daminghu-cli -cfg ./cfg.json

  • 生成编译好的项目(可直接运行),需要等待几分钟时间,不要关闭进程 -> daminghu-cli -mode demo

  • 生成编译好的项目(可直接运行),发送到邮箱-> daminghu-cli -mode demo -email yasenagat@163.com

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL