2.0.3 • Published 1 year ago

iorder-cli v2.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

iorder-cli (2.0.3)

功能介绍

此命令行工具用于创建、配置、打包交付接单项目。

功能:

  • 创建单子文件夹
     order create tb666888
    此命令会在当前工作目录下创建 tb666888 文件夹,并在其下创建一个初始 order.config.json 文件,其单子编号code和name字段值为 tb666888 -
  • 在当前工作目录初始化单子项目
    order init # 以默认配置初始化一个单子
     order init -w 100 # 初始化一个总价为 100(无须指定货币单位)的单子
  • 在当前工作目录打包单子
     order make # 输出一个 zip 文件用于交付,详见下

快速开始

  1. 进入单子目录,初始化 order 项目

    order init

    此操作会在该目录下创建 order.config.json 文件

    可选项:

    -c [code]                   # 指定单子代号 (code)
    -n [name]                   # 指定单子名称 (name)
    -w [money]                 # 指定该单子全款 (wealth.total)
  2. 在当前目录下运行

    mkdir style script 
    touch style/index.sass index.html script/index.ts tsconfig.json
    npm i typescript sass -D
    npx tsc
    npx sass style/index.sass:style/index.css 
  3. 然后编写 order.config.json 将字段 make.includes按照如下方式编写
    {
      "make": {
        "includes": [
           "./**/*",
           "!node_modules",
           "!./**/*.js",
           "!./**/*.css",
           "!./**/*.map"
        ] 
      }   
    }
    然后运行
     order make
    顺利的话,将会生成一个 dist.zip 文件,试着解压看看!

命令

init

功能

在当前目录初始化一个 order 项目

选项

-c code

配置 order 项目的 编号,会写入 order.config.jsoncode字段中

-n name

配置 order 项目的 名称,会写入 order.config.jsonname字段中

-w money

配置 order 项目的总价,会写入 order.config.jsonwealth.total 字段值

用法示例

order init
order init -c tb888323 -n Python题目
order init -n 前端作业 -w 300

make

功能

根据 order.config.jsonmake 配置打包项目

打包内容由 make.includes 指定,它实现了C语言fnmatch兼容的路径匹配,包括通配符等。所使用的库是 globby

打包输出文件默认为 zip 类型,打包输出文件相对路径由 make.delivery 指定。

选项

用法示例

order make

create

功能

创建一个 order 项目文件夹,并以该文件夹名设置相关配置,初始化该项目。

需要指定文件夹名,这样order才知道你要创建的文件夹叫什么。

选项

用法示例

order create tb133144

相当于运行

mkdir tb133144
cd tb133144
order init -c tb133144 -n tb133144

deli

delivery 的简写,即交付

功能

在项目的 order.config.jsonflow.actual 字段添加一条提交记录,值为配置在 /home/.order/order.initimeFormat.actual字段作为格式字符串程序启动时间

选项

用法示例

order deli

pay

看似是 pay,实则是 gain

功能

order.config.jsonwealth.payTimes 中添加一条以 /home/.order/order.initimeFormat.pay 为格式的 程序启动时间字符串的pay 记录

该记录为一个对象,其time属性即为格式化时间字符串,money属性,当指定了该命令的参数时即为该命令行参数,否则为 wealth.total乘以(/home/.order/order.ini中的 defaultPay(必须为 0~1 的小数).默认值为 0.5.即默认 pay 得 0.5倍的总价

选项

用法示例

order pay     # 若wealth.total 为 200,一般情况下将在 wealth.payTImes 中添加一条 { "time": [launchTime], "money": 100 },除非在 /home/.order/order.ini 中指定默认 pay 率 defaultPay
order pay 300 # 不管 wealth.total 为多少,都会直接在 wealth.payTImes 中添加一条 { "time": [launchTIme], "money": 300 }

config

/home/.order/order.ini

子命令

目前 config 命令仅能搭配子命令 init 使用,且没有选项没有命令行参数

init

功能

创建 /home/.order/order.ini 并写入默认配置

全局配置信息文档

order.ini

该配置文件类似于 pip.conf,为ini文件类型,作用为指定一些全局的配置信息

orderConfigFilePath

每个项目的 order 配置文件名. 默认为 order.config.json

defaultPay

应指定一个 0~1 之间的小数(用 parseFloat转换),否则取默认值0,作用为运行 order pay 的时候默认 pay得的金额数占 wealth.total的比率

timeFormat

时间格式字符串,详细文档参见 dayjs

beginTf

flow.begin 中用到的时间格式字符串

dueTf

flow.due 中用到的时间格式字符串

actual

flow.actual 中用到的时间格式字符串

pay

wealth.payTimes 中用到的时间格式字符串

order项目配置信息文档

order.config.json

此文件包含打包提交一起其他有意思的单子项目配置。

code

项目编号,可以为任意字符串

name

项目名称,可以为任意字符串

flow

工作流

begin

项目开始时间字符串,其格式见 /home/.order/order.ini,运行 order config init 以查看该 ini 文件具体位置,该ini配置文档见下

due

项目最后期限时间字符串

actual

包含项目每次交付的时间字符串数组。运行 order deli 交付项目。

techTags

包含项目用到的技术的标签的数组,元素可以为任何字符串,其意义通常表达一系列该项目使用到的技术

wealth

项目为你带来的¥¥财富¥¥

total

总共钱款数字,单位为人民币(¥)

payTimes

包含每次结得款项的时间字符串以及金额数目信息的数组

time

结款时间字符串

money

结款金额数字,单位为人民币(¥)

make

打包输出配置,输出为一个压缩文件。目前仅支持 zip 类型

includes

所要打包的所有本地文件资源的路径字符串数组,默认为空

delivery

输出的压缩文件相对路径

archiveType

指示压缩方式,目前仅支持 ".zip",即使用 zip 压缩算法