@maiyunnet/kebab 7.6.0 → 7.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/doc/README.sc.md +201 -0
- package/doc/README.tc.md +203 -0
- package/doc/icon.png +0 -0
- package/doc/kebab-rag.md +23161 -0
- package/doc/sc/api/index/index.md +47 -0
- package/doc/sc/api/index/interfaces/IConfig.md +165 -0
- package/doc/sc/api/index/interfaces/IConfigAi.md +29 -0
- package/doc/sc/api/index/interfaces/IConfigConst.md +201 -0
- package/doc/sc/api/index/interfaces/IConfigDb.md +59 -0
- package/doc/sc/api/index/interfaces/IConfigDns.md +27 -0
- package/doc/sc/api/index/interfaces/IConfigJwt.md +51 -0
- package/doc/sc/api/index/interfaces/IConfigKv.md +59 -0
- package/doc/sc/api/index/interfaces/IConfigLang.md +27 -0
- package/doc/sc/api/index/interfaces/IConfigS3.md +53 -0
- package/doc/sc/api/index/interfaces/IConfigSql.md +19 -0
- package/doc/sc/api/index/interfaces/IConfigTurnstile.md +51 -0
- package/doc/sc/api/index/interfaces/IConfigVector.md +51 -0
- package/doc/sc/api/index/interfaces/IPostFile.md +43 -0
- package/doc/sc/api/index/interfaces/IUrlParse.md +97 -0
- package/doc/sc/api/index/interfaces/IVhost.md +43 -0
- package/doc/sc/api/index/type-aliases/DbValue.md +13 -0
- package/doc/sc/api/index/type-aliases/Json.md +13 -0
- package/doc/sc/api/index/variables/CERT_CWD.md +11 -0
- package/doc/sc/api/index/variables/CONF_CWD.md +11 -0
- package/doc/sc/api/index/variables/FTMP_CWD.md +11 -0
- package/doc/sc/api/index/variables/IND_CWD.md +11 -0
- package/doc/sc/api/index/variables/LIB_CWD.md +11 -0
- package/doc/sc/api/index/variables/LIB_PATH.md +11 -0
- package/doc/sc/api/index/variables/LOG_CWD.md +11 -0
- package/doc/sc/api/index/variables/MOD_CWD.md +11 -0
- package/doc/sc/api/index/variables/ROOT_CWD.md +13 -0
- package/doc/sc/api/index/variables/ROOT_PATH.md +13 -0
- package/doc/sc/api/index/variables/SYS_PATH.md +11 -0
- package/doc/sc/api/index/variables/VER.md +13 -0
- package/doc/sc/api/index/variables/VHOST_CWD.md +11 -0
- package/doc/sc/api/index/variables/WWW_CWD.md +11 -0
- package/doc/sc/api/index.md +48 -0
- package/doc/sc/api/lib/ai/classes/Ai.md +103 -0
- package/doc/sc/api/lib/ai/enumerations/ESERVICE.md +61 -0
- package/doc/sc/api/lib/ai/functions/get.md +29 -0
- package/doc/sc/api/lib/ai/index.md +23 -0
- package/doc/sc/api/lib/ai/interfaces/IOptions.md +65 -0
- package/doc/sc/api/lib/buffer/classes/Reader.md +177 -0
- package/doc/sc/api/lib/buffer/classes/Writer.md +147 -0
- package/doc/sc/api/lib/buffer/functions/getReader.md +25 -0
- package/doc/sc/api/lib/buffer/functions/getWriter.md +25 -0
- package/doc/sc/api/lib/buffer/index.md +17 -0
- package/doc/sc/api/lib/captcha/classes/Captcha.md +79 -0
- package/doc/sc/api/lib/captcha/functions/get.md +37 -0
- package/doc/sc/api/lib/captcha/index.md +15 -0
- package/doc/sc/api/lib/consistent/classes/Consistent.md +135 -0
- package/doc/sc/api/lib/consistent/functions/addToCircle.md +37 -0
- package/doc/sc/api/lib/consistent/functions/fast.md +37 -0
- package/doc/sc/api/lib/consistent/functions/findInCircle.md +37 -0
- package/doc/sc/api/lib/consistent/functions/get.md +21 -0
- package/doc/sc/api/lib/consistent/functions/getRange.md +37 -0
- package/doc/sc/api/lib/consistent/functions/hash.md +25 -0
- package/doc/sc/api/lib/consistent/index.md +20 -0
- package/doc/sc/api/lib/core/functions/checkType.md +37 -0
- package/doc/sc/api/lib/core/functions/clone.md +31 -0
- package/doc/sc/api/lib/core/functions/convert62.md +25 -0
- package/doc/sc/api/lib/core/functions/debug.md +31 -0
- package/doc/sc/api/lib/core/functions/display.md +31 -0
- package/doc/sc/api/lib/core/functions/emptyObject.md +31 -0
- package/doc/sc/api/lib/core/functions/exec.md +31 -0
- package/doc/sc/api/lib/core/functions/getLog.md +71 -0
- package/doc/sc/api/lib/core/functions/ip.md +27 -0
- package/doc/sc/api/lib/core/functions/log.md +37 -0
- package/doc/sc/api/lib/core/functions/ls.md +39 -0
- package/doc/sc/api/lib/core/functions/muid.md +59 -0
- package/doc/sc/api/lib/core/functions/objectSort.md +31 -0
- package/doc/sc/api/lib/core/functions/passThroughAppend.md +37 -0
- package/doc/sc/api/lib/core/functions/purify.md +25 -0
- package/doc/sc/api/lib/core/functions/rand.md +37 -0
- package/doc/sc/api/lib/core/functions/random.md +37 -0
- package/doc/sc/api/lib/core/functions/realIP.md +29 -0
- package/doc/sc/api/lib/core/functions/removeGlobal.md +31 -0
- package/doc/sc/api/lib/core/functions/sendNpm.md +31 -0
- package/doc/sc/api/lib/core/functions/sendPm2.md +37 -0
- package/doc/sc/api/lib/core/functions/sendReload.md +24 -0
- package/doc/sc/api/lib/core/functions/sendRestart.md +24 -0
- package/doc/sc/api/lib/core/functions/setCookie.md +43 -0
- package/doc/sc/api/lib/core/functions/setGlobal.md +37 -0
- package/doc/sc/api/lib/core/functions/sleep.md +25 -0
- package/doc/sc/api/lib/core/functions/unconvert62.md +25 -0
- package/doc/sc/api/lib/core/functions/updateCode.md +49 -0
- package/doc/sc/api/lib/core/functions/write.md +31 -0
- package/doc/sc/api/lib/core/functions/writeEventStreamHead.md +21 -0
- package/doc/sc/api/lib/core/functions/writeHead.md +37 -0
- package/doc/sc/api/lib/core/index.md +66 -0
- package/doc/sc/api/lib/core/interfaces/ICookieOptions.md +59 -0
- package/doc/sc/api/lib/core/interfaces/ILogOptions.md +75 -0
- package/doc/sc/api/lib/core/type-aliases/TPm2Action.md +13 -0
- package/doc/sc/api/lib/core/variables/RANDOM_L.md +13 -0
- package/doc/sc/api/lib/core/variables/RANDOM_LN.md +13 -0
- package/doc/sc/api/lib/core/variables/RANDOM_LU.md +13 -0
- package/doc/sc/api/lib/core/variables/RANDOM_LUN.md +13 -0
- package/doc/sc/api/lib/core/variables/RANDOM_LUNS.md +13 -0
- package/doc/sc/api/lib/core/variables/RANDOM_N.md +13 -0
- package/doc/sc/api/lib/core/variables/RANDOM_U.md +13 -0
- package/doc/sc/api/lib/core/variables/RANDOM_UN.md +13 -0
- package/doc/sc/api/lib/core/variables/RANDOM_V.md +13 -0
- package/doc/sc/api/lib/core/variables/REAL_IP_CF.md +13 -0
- package/doc/sc/api/lib/core/variables/REAL_IP_X.md +13 -0
- package/doc/sc/api/lib/core/variables/global.md +13 -0
- package/doc/sc/api/lib/core/variables/globalConfig.md +47 -0
- package/doc/sc/api/lib/cron/functions/getRegulars.md +17 -0
- package/doc/sc/api/lib/cron/functions/regular.md +31 -0
- package/doc/sc/api/lib/cron/index.md +17 -0
- package/doc/sc/api/lib/cron/interfaces/IRegular.md +59 -0
- package/doc/sc/api/lib/cron/interfaces/IRegularData.md +101 -0
- package/doc/sc/api/lib/crypto/functions/aesDecrypt.md +91 -0
- package/doc/sc/api/lib/crypto/functions/aesEncrypt.md +95 -0
- package/doc/sc/api/lib/crypto/functions/base64Decode.md +59 -0
- package/doc/sc/api/lib/crypto/functions/base64Encode.md +25 -0
- package/doc/sc/api/lib/crypto/functions/cipherDecrypt.md +49 -0
- package/doc/sc/api/lib/crypto/functions/cipherEncrypt.md +49 -0
- package/doc/sc/api/lib/crypto/functions/gcmDecrypt.md +71 -0
- package/doc/sc/api/lib/crypto/functions/gcmEncrypt.md +71 -0
- package/doc/sc/api/lib/crypto/functions/generateKeyPair.md +61 -0
- package/doc/sc/api/lib/crypto/functions/hashHmac.md +79 -0
- package/doc/sc/api/lib/crypto/functions/hashHmacFile.md +79 -0
- package/doc/sc/api/lib/crypto/functions/privateDecrypt.md +31 -0
- package/doc/sc/api/lib/crypto/functions/privateEncrypt.md +31 -0
- package/doc/sc/api/lib/crypto/functions/publicDecrypt.md +31 -0
- package/doc/sc/api/lib/crypto/functions/publicEncrypt.md +31 -0
- package/doc/sc/api/lib/crypto/functions/sign.md +83 -0
- package/doc/sc/api/lib/crypto/functions/sm4Decrypt.md +91 -0
- package/doc/sc/api/lib/crypto/functions/sm4Encrypt.md +91 -0
- package/doc/sc/api/lib/crypto/functions/uuid.md +25 -0
- package/doc/sc/api/lib/crypto/functions/verify.md +43 -0
- package/doc/sc/api/lib/crypto/index.md +40 -0
- package/doc/sc/api/lib/crypto/variables/AES_256_CBC.md +13 -0
- package/doc/sc/api/lib/crypto/variables/AES_256_CTR.md +13 -0
- package/doc/sc/api/lib/crypto/variables/AES_256_ECB.md +13 -0
- package/doc/sc/api/lib/crypto/variables/AES_256_GCM.md +13 -0
- package/doc/sc/api/lib/crypto/variables/SM4_CBC.md +11 -0
- package/doc/sc/api/lib/crypto/variables/SM4_CFB.md +13 -0
- package/doc/sc/api/lib/crypto/variables/SM4_ECB.md +13 -0
- package/doc/sc/api/lib/db/conn/classes/Connection.md +315 -0
- package/doc/sc/api/lib/db/conn/index.md +11 -0
- package/doc/sc/api/lib/db/enumerations/ESERVICE.md +27 -0
- package/doc/sc/api/lib/db/functions/get.md +37 -0
- package/doc/sc/api/lib/db/index.md +50 -0
- package/doc/sc/api/lib/db/interfaces/IData.md +57 -0
- package/doc/sc/api/lib/db/interfaces/IPacket.md +75 -0
- package/doc/sc/api/lib/db/pool/classes/Pool.md +143 -0
- package/doc/sc/api/lib/db/pool/functions/getConnectionList.md +17 -0
- package/doc/sc/api/lib/db/pool/index.md +19 -0
- package/doc/sc/api/lib/db/pool/interfaces/IConnectionInfo.md +91 -0
- package/doc/sc/api/lib/db/tran/classes/Transaction.md +137 -0
- package/doc/sc/api/lib/db/tran/index.md +11 -0
- package/doc/sc/api/lib/dns/classes/Dns.md +187 -0
- package/doc/sc/api/lib/dns/enumerations/ERECORDLINE.md +59 -0
- package/doc/sc/api/lib/dns/enumerations/ERECORDTYPE.md +67 -0
- package/doc/sc/api/lib/dns/enumerations/ESERVICE.md +27 -0
- package/doc/sc/api/lib/dns/functions/get.md +29 -0
- package/doc/sc/api/lib/dns/index.md +27 -0
- package/doc/sc/api/lib/dns/interfaces/IAddDomainRecord.md +27 -0
- package/doc/sc/api/lib/dns/interfaces/IDomainList.md +43 -0
- package/doc/sc/api/lib/dns/interfaces/IOptions.md +41 -0
- package/doc/sc/api/lib/fs/functions/chmod.md +31 -0
- package/doc/sc/api/lib/fs/functions/copyFile.md +31 -0
- package/doc/sc/api/lib/fs/functions/copyFolder.md +37 -0
- package/doc/sc/api/lib/fs/functions/createReadStream.md +31 -0
- package/doc/sc/api/lib/fs/functions/createWriteStream.md +31 -0
- package/doc/sc/api/lib/fs/functions/getContent.md +63 -0
- package/doc/sc/api/lib/fs/functions/isDir.md +25 -0
- package/doc/sc/api/lib/fs/functions/isFile.md +25 -0
- package/doc/sc/api/lib/fs/functions/mkdir.md +31 -0
- package/doc/sc/api/lib/fs/functions/pipe.md +39 -0
- package/doc/sc/api/lib/fs/functions/putContent.md +47 -0
- package/doc/sc/api/lib/fs/functions/readDir.md +29 -0
- package/doc/sc/api/lib/fs/functions/readLink.md +31 -0
- package/doc/sc/api/lib/fs/functions/readToResponse.md +43 -0
- package/doc/sc/api/lib/fs/functions/rename.md +31 -0
- package/doc/sc/api/lib/fs/functions/rmdir.md +25 -0
- package/doc/sc/api/lib/fs/functions/rmdirDeep.md +25 -0
- package/doc/sc/api/lib/fs/functions/stats.md +25 -0
- package/doc/sc/api/lib/fs/functions/symlink.md +37 -0
- package/doc/sc/api/lib/fs/functions/unlink.md +25 -0
- package/doc/sc/api/lib/fs/index.md +30 -0
- package/doc/sc/api/lib/kv/classes/Kv.md +1161 -0
- package/doc/sc/api/lib/kv/functions/get.md +41 -0
- package/doc/sc/api/lib/kv/index.md +20 -0
- package/doc/sc/api/lib/kv/interfaces/IConnectionInfo.md +43 -0
- package/doc/sc/api/lib/kv/interfaces/IZRangeOptions.md +52 -0
- package/doc/sc/api/lib/lan/functions/card.md +17 -0
- package/doc/sc/api/lib/lan/functions/scan.md +17 -0
- package/doc/sc/api/lib/lan/index.md +12 -0
- package/doc/sc/api/lib/lang/functions/getCodeByAccept.md +25 -0
- package/doc/sc/api/lib/lang/index.md +17 -0
- package/doc/sc/api/lib/lang/variables/codes.md +13 -0
- package/doc/sc/api/lib/lang/variables/map.md +13 -0
- package/doc/sc/api/lib/lang/variables/names.md +11 -0
- package/doc/sc/api/lib/net/formdata/classes/FormData.md +157 -0
- package/doc/sc/api/lib/net/formdata/index.md +15 -0
- package/doc/sc/api/lib/net/formdata/interfaces/IItem.md +55 -0
- package/doc/sc/api/lib/net/functions/buildCookieQuery.md +31 -0
- package/doc/sc/api/lib/net/functions/fetch.md +31 -0
- package/doc/sc/api/lib/net/functions/filterHeaders.md +37 -0
- package/doc/sc/api/lib/net/functions/get.md +31 -0
- package/doc/sc/api/lib/net/functions/getCa.md +17 -0
- package/doc/sc/api/lib/net/functions/getFormData.md +17 -0
- package/doc/sc/api/lib/net/functions/mproxy.md +38 -0
- package/doc/sc/api/lib/net/functions/mproxyData.md +25 -0
- package/doc/sc/api/lib/net/functions/open.md +23 -0
- package/doc/sc/api/lib/net/functions/post.md +37 -0
- package/doc/sc/api/lib/net/functions/postJson.md +37 -0
- package/doc/sc/api/lib/net/functions/postJsonResponseJson.md +39 -0
- package/doc/sc/api/lib/net/functions/request.md +33 -0
- package/doc/sc/api/lib/net/functions/resetCookieSession.md +25 -0
- package/doc/sc/api/lib/net/functions/rproxy.md +37 -0
- package/doc/sc/api/lib/net/functions/setCookie.md +63 -0
- package/doc/sc/api/lib/net/index.md +37 -0
- package/doc/sc/api/lib/net/interfaces/ICookie.md +69 -0
- package/doc/sc/api/lib/net/interfaces/IMproxyOptions.md +85 -0
- package/doc/sc/api/lib/net/interfaces/IRequestOptions.md +133 -0
- package/doc/sc/api/lib/net/interfaces/IRproxyOptions.md +107 -0
- package/doc/sc/api/lib/net/request/classes/Request.md +297 -0
- package/doc/sc/api/lib/net/request/index.md +11 -0
- package/doc/sc/api/lib/net/response/classes/Response.md +109 -0
- package/doc/sc/api/lib/net/response/index.md +11 -0
- package/doc/sc/api/lib/net/type-aliases/THttpHeaders.md +27 -0
- package/doc/sc/api/lib/s3/classes/S3.md +220 -0
- package/doc/sc/api/lib/s3/enumerations/ESERVICE.md +43 -0
- package/doc/sc/api/lib/s3/functions/get.md +29 -0
- package/doc/sc/api/lib/s3/index.md +23 -0
- package/doc/sc/api/lib/s3/interfaces/IOptions.md +71 -0
- package/doc/sc/api/lib/scan/classes/Scan.md +127 -0
- package/doc/sc/api/lib/scan/functions/get.md +33 -0
- package/doc/sc/api/lib/scan/functions/scanned.md +37 -0
- package/doc/sc/api/lib/scan/functions/setData.md +35 -0
- package/doc/sc/api/lib/scan/index.md +22 -0
- package/doc/sc/api/lib/scan/interfaces/IOptions.md +43 -0
- package/doc/sc/api/lib/scan/interfaces/IStaticOptions.md +35 -0
- package/doc/sc/api/lib/session/classes/Session.md +103 -0
- package/doc/sc/api/lib/session/index.md +15 -0
- package/doc/sc/api/lib/session/interfaces/IOptions.md +41 -0
- package/doc/sc/api/lib/socket/functions/rwebsocket.md +37 -0
- package/doc/sc/api/lib/socket/index.md +15 -0
- package/doc/sc/api/lib/socket/interfaces/IRwebsocketOptions.md +91 -0
- package/doc/sc/api/lib/sql/classes/Sql.md +791 -0
- package/doc/sc/api/lib/sql/enumerations/EJSON.md +61 -0
- package/doc/sc/api/lib/sql/enumerations/ESERVICE.md +27 -0
- package/doc/sc/api/lib/sql/functions/aoMix.md +25 -0
- package/doc/sc/api/lib/sql/functions/column.md +35 -0
- package/doc/sc/api/lib/sql/functions/format.md +37 -0
- package/doc/sc/api/lib/sql/functions/get.md +43 -0
- package/doc/sc/api/lib/sql/index.md +23 -0
- package/doc/sc/api/lib/ssh/classes/Connection.md +123 -0
- package/doc/sc/api/lib/ssh/functions/get.md +25 -0
- package/doc/sc/api/lib/ssh/index.md +19 -0
- package/doc/sc/api/lib/ssh/interfaces/IExtOptions.md +33 -0
- package/doc/sc/api/lib/ssh/sftp/classes/Connection.md +628 -0
- package/doc/sc/api/lib/ssh/sftp/index.md +11 -0
- package/doc/sc/api/lib/ssh/shell/classes/Connection.md +189 -0
- package/doc/sc/api/lib/ssh/shell/index.md +11 -0
- package/doc/sc/api/lib/text/functions/getFilename.md +25 -0
- package/doc/sc/api/lib/text/functions/htmlescape.md +25 -0
- package/doc/sc/api/lib/text/functions/int2str.md +42 -0
- package/doc/sc/api/lib/text/functions/isAscii.md +25 -0
- package/doc/sc/api/lib/text/functions/isDomain.md +27 -0
- package/doc/sc/api/lib/text/functions/isEMail.md +23 -0
- package/doc/sc/api/lib/text/functions/isFalsy.md +25 -0
- package/doc/sc/api/lib/text/functions/isIPv4.md +23 -0
- package/doc/sc/api/lib/text/functions/isIPv6.md +23 -0
- package/doc/sc/api/lib/text/functions/isIdCardCN.md +25 -0
- package/doc/sc/api/lib/text/functions/isPhoneCN.md +25 -0
- package/doc/sc/api/lib/text/functions/isRealPath.md +25 -0
- package/doc/sc/api/lib/text/functions/isTruthy.md +31 -0
- package/doc/sc/api/lib/text/functions/logicalOr.md +41 -0
- package/doc/sc/api/lib/text/functions/match.md +31 -0
- package/doc/sc/api/lib/text/functions/nlReplace.md +31 -0
- package/doc/sc/api/lib/text/functions/parseDomain.md +25 -0
- package/doc/sc/api/lib/text/functions/parseJson.md +25 -0
- package/doc/sc/api/lib/text/functions/parseUrl.md +23 -0
- package/doc/sc/api/lib/text/functions/queryParse.md +25 -0
- package/doc/sc/api/lib/text/functions/queryStringify.md +69 -0
- package/doc/sc/api/lib/text/functions/sizeFormat.md +31 -0
- package/doc/sc/api/lib/text/functions/str2int.md +36 -0
- package/doc/sc/api/lib/text/functions/stringifyBuffer.md +25 -0
- package/doc/sc/api/lib/text/functions/stringifyJson.md +31 -0
- package/doc/sc/api/lib/text/functions/stringifyResult.md +25 -0
- package/doc/sc/api/lib/text/functions/trimJson.md +23 -0
- package/doc/sc/api/lib/text/functions/urlAtom.md +25 -0
- package/doc/sc/api/lib/text/functions/urlResolve.md +31 -0
- package/doc/sc/api/lib/text/index.md +55 -0
- package/doc/sc/api/lib/text/interfaces/IDomain.md +43 -0
- package/doc/sc/api/lib/text/type-aliases/TFalsy.md +13 -0
- package/doc/sc/api/lib/text/variables/REGEXP_ASCII.md +13 -0
- package/doc/sc/api/lib/text/variables/REGEXP_DOMAIN.md +11 -0
- package/doc/sc/api/lib/text/variables/REGEXP_EMAIL.md +11 -0
- package/doc/sc/api/lib/text/variables/REGEXP_IPV4.md +11 -0
- package/doc/sc/api/lib/text/variables/REGEXP_IPV6.md +11 -0
- package/doc/sc/api/lib/time/classes/Time.md +125 -0
- package/doc/sc/api/lib/time/functions/format.md +37 -0
- package/doc/sc/api/lib/time/functions/get.md +27 -0
- package/doc/sc/api/lib/time/functions/isMs.md +25 -0
- package/doc/sc/api/lib/time/functions/stamp.md +31 -0
- package/doc/sc/api/lib/time/index.md +28 -0
- package/doc/sc/api/lib/time/interfaces/IOptions.md +29 -0
- package/doc/sc/api/lib/time/variables/DAY.md +13 -0
- package/doc/sc/api/lib/time/variables/HOUR.md +13 -0
- package/doc/sc/api/lib/time/variables/YEAR.md +13 -0
- package/doc/sc/api/lib/turnstile/enumerations/EFACTORY.md +27 -0
- package/doc/sc/api/lib/turnstile/functions/verify.md +35 -0
- package/doc/sc/api/lib/turnstile/index.md +15 -0
- package/doc/sc/api/lib/vector/classes/Vector.md +141 -0
- package/doc/sc/api/lib/vector/functions/get.md +25 -0
- package/doc/sc/api/lib/vector/index.md +19 -0
- package/doc/sc/api/lib/vector/interfaces/IOptions.md +61 -0
- package/doc/sc/api/lib/ws/classes/Socket.md +331 -0
- package/doc/sc/api/lib/ws/enumerations/EFrameReceiveMode.md +35 -0
- package/doc/sc/api/lib/ws/enumerations/EOpcode.md +59 -0
- package/doc/sc/api/lib/ws/functions/connect.md +31 -0
- package/doc/sc/api/lib/ws/functions/createServer.md +45 -0
- package/doc/sc/api/lib/ws/functions/mproxy.md +38 -0
- package/doc/sc/api/lib/ws/functions/rproxy.md +37 -0
- package/doc/sc/api/lib/ws/functions/rsocket.md +37 -0
- package/doc/sc/api/lib/ws/index.md +30 -0
- package/doc/sc/api/lib/ws/interfaces/IConnectOptions.md +95 -0
- package/doc/sc/api/lib/ws/interfaces/IMproxyOptions.md +87 -0
- package/doc/sc/api/lib/ws/interfaces/IRproxyOptions.md +105 -0
- package/doc/sc/api/lib/zip/classes/Zip.md +392 -0
- package/doc/sc/api/lib/zip/functions/get.md +25 -0
- package/doc/sc/api/lib/zip/index.md +29 -0
- package/doc/sc/api/lib/zip/interfaces/IZipInputByType.md +81 -0
- package/doc/sc/api/lib/zip/interfaces/IZipItem.md +65 -0
- package/doc/sc/api/lib/zip/interfaces/IZipMetadata.md +25 -0
- package/doc/sc/api/lib/zip/interfaces/IZipOutputByType.md +81 -0
- package/doc/sc/api/lib/zip/interfaces/IZipStats.md +49 -0
- package/doc/sc/api/lib/zip/type-aliases/TZipInputFileFormat.md +11 -0
- package/doc/sc/api/lib/zip/type-aliases/TZipInputType.md +11 -0
- package/doc/sc/api/lib/zip/type-aliases/TZipOutputType.md +11 -0
- package/doc/sc/api/lib/zlib/functions/brotliCompress.md +31 -0
- package/doc/sc/api/lib/zlib/functions/brotliDecompress.md +25 -0
- package/doc/sc/api/lib/zlib/functions/compress.md +37 -0
- package/doc/sc/api/lib/zlib/functions/createBrotliCompress.md +25 -0
- package/doc/sc/api/lib/zlib/functions/createBrotliDecompress.md +17 -0
- package/doc/sc/api/lib/zlib/functions/createCompress.md +31 -0
- package/doc/sc/api/lib/zlib/functions/createDecompress.md +25 -0
- package/doc/sc/api/lib/zlib/functions/createDeflate.md +25 -0
- package/doc/sc/api/lib/zlib/functions/createGunzip.md +17 -0
- package/doc/sc/api/lib/zlib/functions/createGzip.md +25 -0
- package/doc/sc/api/lib/zlib/functions/createInflate.md +17 -0
- package/doc/sc/api/lib/zlib/functions/decompress.md +31 -0
- package/doc/sc/api/lib/zlib/functions/deflate.md +31 -0
- package/doc/sc/api/lib/zlib/functions/gunzip.md +25 -0
- package/doc/sc/api/lib/zlib/functions/gzip.md +31 -0
- package/doc/sc/api/lib/zlib/functions/inflate.md +25 -0
- package/doc/sc/api/lib/zlib/index.md +31 -0
- package/doc/sc/api/lib/zlib/interfaces/ICompress.md +27 -0
- package/doc/sc/api/lib/zlib/interfaces/ICompressBuffer.md +27 -0
- package/doc/sc/api/main/index.md +7 -0
- package/doc/sc/api/sys/ctr/classes/Ctr.md +1242 -0
- package/doc/sc/api/sys/ctr/functions/clearLocaleData.md +17 -0
- package/doc/sc/api/sys/ctr/index.md +15 -0
- package/doc/sc/api/sys/mod/classes/Rows.md +165 -0
- package/doc/sc/api/sys/mod/classes/default.md +2175 -0
- package/doc/sc/api/sys/mod/index.md +21 -0
- package/doc/sc/api/sys/mod/interfaces/IModUnionItem.md +25 -0
- package/doc/sc/api/sys/mod/interfaces/IRows.md +57 -0
- package/doc/sc/api/sys/mod/type-aliases/TOnlyProperties.md +19 -0
- package/doc/sc/api/sys/route/functions/clearKebabConfigs.md +17 -0
- package/doc/sc/api/sys/route/functions/getFormData.md +47 -0
- package/doc/sc/api/sys/route/functions/getPost.md +25 -0
- package/doc/sc/api/sys/route/functions/run.md +83 -0
- package/doc/sc/api/sys/route/functions/unlinkUploadFiles.md +25 -0
- package/doc/sc/api/sys/route/functions/waitCtr.md +26 -0
- package/doc/sc/api/sys/route/index.md +16 -0
- package/doc/sc/quick-start.md +30 -0
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/package.json +1 -1
package/doc/README.sc.md
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
<p align="center"><img src="./icon.png" width="64" height="64" alt="Kebab"></p>
|
|
2
|
+
<p align="center">
|
|
3
|
+
<a href="https://github.com/maiyun/kebab/blob/main/LICENSE">
|
|
4
|
+
<img alt="License" src="https://img.shields.io/github/license/maiyun/kebab?color=blue" />
|
|
5
|
+
</a>
|
|
6
|
+
<a href="https://www.npmjs.com/package/@maiyunnet/kebab">
|
|
7
|
+
<img alt="NPM stable version" src="https://img.shields.io/npm/v/@maiyunnet/kebab?color=brightgreen&logo=npm" />
|
|
8
|
+
</a>
|
|
9
|
+
<a href="https://github.com/maiyun/kebab/releases">
|
|
10
|
+
<img alt="GitHub releases" src="https://img.shields.io/github/v/release/maiyun/kebab?color=brightgreen&logo=github" />
|
|
11
|
+
</a>
|
|
12
|
+
<a href="https://github.com/maiyun/kebab/issues">
|
|
13
|
+
<img alt="GitHub issues" src="https://img.shields.io/github/issues/maiyun/kebab?color=blue&logo=github" />
|
|
14
|
+
</a>
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
简单,易用,功能完整开袋即食的 Node.js 框架。
|
|
18
|
+
|
|
19
|
+
## 语言
|
|
20
|
+
|
|
21
|
+
[繁體中文](README.tc.md) | [English](../README.md)
|
|
22
|
+
|
|
23
|
+
## 环境
|
|
24
|
+
|
|
25
|
+
Node 22 +
|
|
26
|
+
|
|
27
|
+
## 安装
|
|
28
|
+
|
|
29
|
+
执行 `npm i @maiyunnet/kebab` 安装最新版,安装后,执行 `npx kebab init` 进行初始化,然后执行 `npx kebab` 启动项目。
|
|
30
|
+
|
|
31
|
+
也可以使用 pm2 启动项目,执行 `pm2 start npx --name "kebab" -- kebab` 即可。
|
|
32
|
+
|
|
33
|
+
## 库
|
|
34
|
+
|
|
35
|
+
Ai, Buffer, Captcha, Consistent, Core, Cron, Crypto, Db (MySQL, PostgreSQL), Dns (DNSPod, Alibaba Cloud), Fs, Kv (Redis), Lan, Lang, Net, S3, Scan, Session, Socket, Sql, Ssh (Shell, Sftp), Text, Time, Turnstile (Cloudflare, Tencent Cloud), Vector (Milvus), Ws, Zip, Zlib.
|
|
36
|
+
|
|
37
|
+
## 部分特性
|
|
38
|
+
|
|
39
|
+
### 开袋即食
|
|
40
|
+
|
|
41
|
+
秉承开袋即食的原则,封装统一风格的常用类库。
|
|
42
|
+
|
|
43
|
+
### 热更新
|
|
44
|
+
|
|
45
|
+
通过调用 Core.sendRestart 方法, 您可以在不中断任何现有业务和连接的情况下平滑的实现新旧代码交替热更新。
|
|
46
|
+
|
|
47
|
+
### 多进程支持
|
|
48
|
+
|
|
49
|
+
创建基于 CPU 核心数量的多进程模型, 充分提高多核 CPU 的利用率。
|
|
50
|
+
|
|
51
|
+
### 全局连接池
|
|
52
|
+
|
|
53
|
+
同一进程中的不同站点如果连接到同一个 Db、Kv 等服务器, 则共享同一个连接池, 最大限度地提高效率并减少开销。
|
|
54
|
+
|
|
55
|
+
### 超好用 Net 库
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
const res = await lNet.open('https://xxx/test').post().data({ 'a': '1', 'b': '2' }).request();
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
也可以这样用:
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
const res = await lNet.get('https://xxx/test');
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
可以设置自定义的解析结果:
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
const res = await lNet.get('https://xxx/test', {
|
|
71
|
+
'hosts': {
|
|
72
|
+
'xxx': '111.111.111.111'
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
也可以选择本地的其他网卡来访问:
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
const res = await lNet.get('https://xxx/test', {
|
|
81
|
+
'local': '123.123.123.123'
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
更拥有完整的 Cookie 管理器,可以轻松将 Cookie 获取并存在任何地方,发送请求时,系统也会根据 Cookie 设置的域名、路径等来选择发送,并且 Set-Cookie 如果有非法跨域设置,也会被舍弃不会被记录,就像真正的浏览器一样:
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
const res1 = await lNet.get('https://xxx1.xxx/test1', { 'cookie': cookie });
|
|
89
|
+
const res2 = await lNet.get('https://xxx2.xxx/test2', { 'cookie': cookie });
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
> 提示:Net 库同时支持传入 options 和 open 链式操作,如 await lNet.open('xxx').follow().timeout(60).save(this._config.const.rootPath + 'doc/test.txt').request();
|
|
93
|
+
|
|
94
|
+
### 好用的 Db 库
|
|
95
|
+
|
|
96
|
+
拥有大量好用的接口,可以轻松的从数据库筛选出需要的数据:
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
const ls = Order.where<Order>(this, db, {
|
|
100
|
+
'state': '1'
|
|
101
|
+
}).by('id', 'DESC').page(10, 1);
|
|
102
|
+
const list = await ls.all();
|
|
103
|
+
const count = await ls.count();
|
|
104
|
+
const total = await ls.total();
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
获取一个用户:
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
const user = await User.select<User>(this, db, ['id', 'user']).filter([
|
|
111
|
+
['time_add', '>=', '1583405134']
|
|
112
|
+
]).first();
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### XSRF 检测
|
|
116
|
+
|
|
117
|
+
使用 checkXInput 方法,可以进行 XSRF 检测,防止恶意访问。
|
|
118
|
+
|
|
119
|
+
### 扫码登录
|
|
120
|
+
|
|
121
|
+
借助 Scan 库可以轻松实现扫码登录的功能。
|
|
122
|
+
|
|
123
|
+
### 反向代理
|
|
124
|
+
|
|
125
|
+
使用 net 库的 rproxy 方法,配合路由参数,可轻松实现反向代理功能。
|
|
126
|
+
|
|
127
|
+
#### 还有更多特性等你探索
|
|
128
|
+
|
|
129
|
+
## 代码演示
|
|
130
|
+
|
|
131
|
+
### 生成 16 位随机数
|
|
132
|
+
|
|
133
|
+
```typescript
|
|
134
|
+
let str: string = Core.random(16, Core.RANDOM_N)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 生成验证码图片
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
Captcha.get(400, 100).getBuffer();
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### 获取一个列表
|
|
144
|
+
|
|
145
|
+
```typescript
|
|
146
|
+
const userList = await User.where<User>(this, db, [
|
|
147
|
+
['state', '!=', '0'],
|
|
148
|
+
{
|
|
149
|
+
'type': ['1', '2', '3'],
|
|
150
|
+
'is_lock': '0'
|
|
151
|
+
}
|
|
152
|
+
]).all();
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
> 提示:所有数据库操作都已经做了安全防注入处理。
|
|
156
|
+
|
|
157
|
+
### Sql 库自动增加表前缀和包裹字符“`”
|
|
158
|
+
|
|
159
|
+
```typescript
|
|
160
|
+
sql.select(['SUM(user.age) age'], 'order').leftJoin('user', {'order.user_id': lSql.column('user.id')});
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
将输出:
|
|
164
|
+
|
|
165
|
+
```sql
|
|
166
|
+
SELECT SUM(`test_user`.`age`) AS `age` FROM `test_order` LEFT JOIN `test_user` ON `test_order`.`user_id` = `test_user`.`id`
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
写起来好轻松!
|
|
170
|
+
|
|
171
|
+
### 本地化
|
|
172
|
+
|
|
173
|
+
```typescript
|
|
174
|
+
await this._loadLocale(this._get['lang'], 'test');
|
|
175
|
+
return this._l('copy');
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
根据 lang 值不同,将输出:Copy、复制、複製、コピー等,在站点目录 /data/locale/ 中配置。
|
|
179
|
+
|
|
180
|
+
### 数据校验
|
|
181
|
+
|
|
182
|
+
根据字符串、数字、比对大小甚至是正则,对提交的数据进行直接校验,方便!
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
{
|
|
186
|
+
'he': ['require', [0, 'The he param does not exist.']],
|
|
187
|
+
'num': ['> 10', [0, 'The num param must > 10.']],
|
|
188
|
+
'reg': ['/^[A-CX-Z5-7]+$/', [0, 'The reg param is incorrect.']],
|
|
189
|
+
'arr': [['a', 'x', 'hehe'], [0, 'The arr param is incorrect.']]
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
参见:/test/ctr-checkinput
|
|
194
|
+
|
|
195
|
+
### 其他演示
|
|
196
|
+
|
|
197
|
+
你可以访问 /test/ 来查看更多示例。
|
|
198
|
+
|
|
199
|
+
## 许可
|
|
200
|
+
|
|
201
|
+
本框架基于 [Apache-2.0](../LICENSE) 许可。
|
package/doc/README.tc.md
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
<p align="center"><img src="./icon.png" width="64" height="64" alt="Kebab"></p>
|
|
2
|
+
<p align="center">
|
|
3
|
+
<a href="https://github.com/maiyun/kebab/blob/main/LICENSE">
|
|
4
|
+
<img alt="License" src="https://img.shields.io/github/license/maiyun/kebab?color=blue" />
|
|
5
|
+
</a>
|
|
6
|
+
<a href="https://www.npmjs.com/package/@maiyunnet/kebab">
|
|
7
|
+
<img alt="NPM stable version" src="https://img.shields.io/npm/v/@maiyunnet/kebab?color=brightgreen&logo=npm" />
|
|
8
|
+
</a>
|
|
9
|
+
<a href="https://github.com/maiyun/kebab/releases">
|
|
10
|
+
<img alt="GitHub releases" src="https://img.shields.io/github/v/release/maiyun/kebab?color=brightgreen&logo=github" />
|
|
11
|
+
</a>
|
|
12
|
+
<a href="https://github.com/maiyun/kebab/issues">
|
|
13
|
+
<img alt="GitHub issues" src="https://img.shields.io/github/issues/maiyun/kebab?color=blue&logo=github" />
|
|
14
|
+
</a>
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
簡單,易用,功能完整開袋即食的 Node.js 框架。
|
|
18
|
+
|
|
19
|
+
## 語言
|
|
20
|
+
|
|
21
|
+
[简体中文](README.sc.md) | [English](../README.md)
|
|
22
|
+
|
|
23
|
+
## 環境
|
|
24
|
+
|
|
25
|
+
Node 22+
|
|
26
|
+
|
|
27
|
+
## 安装
|
|
28
|
+
|
|
29
|
+
執行 `npm i @maiyunnet/kebab` 安裝最新版,安裝完成後執行 `npx kebab init` 初始化,再執行 `npx kebab` 啟動專案。
|
|
30
|
+
|
|
31
|
+
也可以使用 pm2 啟動專案,執行 `pm2 start npx --name "kebab" -- kebab` 即可。
|
|
32
|
+
|
|
33
|
+
## 庫
|
|
34
|
+
|
|
35
|
+
Ai, Buffer, Captcha, Consistent, Core, Cron, Crypto, Db (MySQL, PostgreSQL), Dns (DNSPod, Alibaba Cloud), Fs, Kv (Redis), Lan, Lang, Net, S3, Scan, Session, Socket, Sql, Ssh (Shell, Sftp), Text, Time, Turnstile (Cloudflare, Tencent Cloud), Vector (Milvus), Ws, Zip, Zlib.
|
|
36
|
+
|
|
37
|
+
## 部分特性
|
|
38
|
+
|
|
39
|
+
### 開袋即食
|
|
40
|
+
|
|
41
|
+
秉承開袋即食的原則,封裝統一風格的常用類庫。
|
|
42
|
+
|
|
43
|
+
### 熱更新
|
|
44
|
+
|
|
45
|
+
透過調用 Sys.restart 方法,您可以在不中斷任何現有業務和連接的情況下平滑的實現新舊代碼交替熱更新。
|
|
46
|
+
|
|
47
|
+
### 多進程支援
|
|
48
|
+
|
|
49
|
+
創建基於 CPU 核心數量的多進程模型,充分提高多核 CPU 的利用率。
|
|
50
|
+
|
|
51
|
+
### 全域連接池
|
|
52
|
+
|
|
53
|
+
同一進程中的不同站點如果連接到同一個 db、kv 等伺服器,則共用同一個連接池,最大限度地提高效率並減少開銷。
|
|
54
|
+
|
|
55
|
+
### 超好用 net 庫
|
|
56
|
+
|
|
57
|
+
可以這樣用:
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
const res = await lNet.open('https://xxx/test').post().data({ 'a': '1', 'b': '2' }).request();
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
也可以這樣用:
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
const res = await lNet.get('https://xxx/test');
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
可以設置自訂的解析結果:
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
const res = await lNet.get('https://xxx/test', {
|
|
73
|
+
'hosts': {
|
|
74
|
+
'xxx': '111.111.111.111'
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
也可以選擇本地的其他網卡來訪問:
|
|
80
|
+
|
|
81
|
+
```typescript
|
|
82
|
+
const res = await lNet.get('https://xxx/test', {
|
|
83
|
+
'local': '123.123.123.123'
|
|
84
|
+
});
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
更擁有完整的 Cookie 管理器,可以輕鬆將 Cookie 獲取並存在任何地方,發送請求時,系統也會根據 Cookie 設置的功能變數名稱、路徑等來選擇發送,並且 Set-Cookie 如果有非法跨域設置,也會被捨棄不會被記錄,就像真正的瀏覽器一樣:
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
const res1 = await lNet.get('https://xxx1.xxx/test1', { 'cookie': cookie });
|
|
91
|
+
const res2 = await lNet.get('https://xxx2.xxx/test2', { 'cookie': cookie });
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
> 提示:net 庫同時支援傳入 options 和 open 鏈式操作,如 await lNet.open('xxx').follow().timeout(60).save(this._config.const.rootPath + 'doc/test.txt').request();
|
|
95
|
+
|
|
96
|
+
### 好用的 Db 庫
|
|
97
|
+
|
|
98
|
+
擁有大量好用的介面,可以輕鬆的從資料庫篩選出需要的資料:
|
|
99
|
+
|
|
100
|
+
```typescript
|
|
101
|
+
const ls = Order.where<Order>(this, db, {
|
|
102
|
+
'state': '1'
|
|
103
|
+
}).by('id', 'DESC').page(10, 1);
|
|
104
|
+
const list = await ls.all();
|
|
105
|
+
const count = await ls.count();
|
|
106
|
+
const total = await ls.total();
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
獲取一個使用者:
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
const user = await User.select<User>(this, db, ['id', 'user']).filter([
|
|
113
|
+
['time_add', '>=', '1583405134']
|
|
114
|
+
]).first();
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### XSRF 檢測
|
|
118
|
+
|
|
119
|
+
使用 checkXInput 方法,可以進行 XSRF 檢測,防止惡意訪問。
|
|
120
|
+
|
|
121
|
+
### 扫码登录
|
|
122
|
+
|
|
123
|
+
借助 scan 庫可以輕鬆實現掃碼登入的功能。
|
|
124
|
+
|
|
125
|
+
### 反向代理
|
|
126
|
+
|
|
127
|
+
使用 net 庫的 rproxy 方法,配合路由參數,可輕鬆實現反向代理功能。
|
|
128
|
+
|
|
129
|
+
#### 還有更多特性等你探索
|
|
130
|
+
|
|
131
|
+
## 代碼演示
|
|
132
|
+
|
|
133
|
+
### 生成 16 位亂數
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
let str: string = Core.random(16, Core.RANDOM_N)
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 生成驗證碼圖片
|
|
140
|
+
|
|
141
|
+
```typescript
|
|
142
|
+
Captcha.get(400, 100).getBuffer();
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### 獲取一個清單
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
const userList = await User.where<User>(this, db, [
|
|
149
|
+
['state', '!=', '0'],
|
|
150
|
+
{
|
|
151
|
+
'type': ['1', '2', '3'],
|
|
152
|
+
'is_lock': '0'
|
|
153
|
+
}
|
|
154
|
+
]).all();
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
> 提示:所有資料庫操作都已經做了安全防注入處理。
|
|
158
|
+
|
|
159
|
+
### Sql 庫自動增加表前綴和包裹字元「`」”
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
sql.select(['SUM(user.age) age'], 'order').leftJoin('user', {'order.user_id': lSql.column('user.id')});
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
將輸出:
|
|
166
|
+
|
|
167
|
+
```sql
|
|
168
|
+
SELECT SUM(`test_user`.`age`) AS `age` FROM `test_order` LEFT JOIN `test_user` ON `test_order`.`user_id` = `test_user`.`id`
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
寫起來好輕鬆!
|
|
172
|
+
|
|
173
|
+
### 本地化
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
await this._loadLocale(this._get['lang'], 'test');
|
|
177
|
+
return this._l('copy');
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
根據 lang 值不同,將輸出:Copy、复制、複製、コピー等,在網站目錄 /data/locale/ 中配置。
|
|
181
|
+
|
|
182
|
+
### 数据校验
|
|
183
|
+
|
|
184
|
+
根據字串、數位、比對大小甚至是正則,對提交的數據進行直接校驗,方便!
|
|
185
|
+
|
|
186
|
+
```typescript
|
|
187
|
+
{
|
|
188
|
+
'he': ['require', [0, 'The he param does not exist.']],
|
|
189
|
+
'num': ['> 10', [0, 'The num param must > 10.']],
|
|
190
|
+
'reg': ['/^[A-CX-Z5-7]+$/', [0, 'The reg param is incorrect.']],
|
|
191
|
+
'arr': [['a', 'x', 'hehe'], [0, 'The arr param is incorrect.']]
|
|
192
|
+
}
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
參見:/test/ctr-checkinput
|
|
196
|
+
|
|
197
|
+
### 其他演示
|
|
198
|
+
|
|
199
|
+
你可以訪問 /test/ 來查看更多示例。
|
|
200
|
+
|
|
201
|
+
## 許可
|
|
202
|
+
|
|
203
|
+
本框架基於 [Apache-2.0](../LICENSE) 許可。
|
package/doc/icon.png
ADDED
|
Binary file
|