diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 00000000..6c465492 --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,32 @@ +name: Android CI + +on: + push: + branches: [ "main" ] + paths: + - 'APIJSON-Android/APIJSONApp/**' + pull_request: + branches: [ "main" ] + paths: + - 'APIJSON-Android/APIJSONApp/**' + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: set up JDK 11 + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'temurin' + cache: gradle + + - name: Grant execute permission for gradlew + working-directory: APIJSON-Android/APIJSONApp + run: chmod +x gradlew + - name: Build with Gradle + working-directory: APIJSON-Android/APIJSONApp + run: ./gradlew build diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 00000000..94a4df45 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,39 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Java CI with Maven + +on: + push: + branches: [ "main" ] + paths: + - 'APIJSON-Java-Server/APIJSONBoot-MultiDataSource/**' + pull_request: + branches: [ "main" ] + paths: + - 'APIJSON-Java-Server/APIJSONBoot-MultiDataSource/**' + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + - name: Build with Maven + run: cd APIJSON-Java-Server/APIJSONBoot-MultiDataSource && mvn -B package --file pom.xml + + # Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive + # - name: Update dependency graph + # uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml new file mode 100644 index 00000000..f5365221 --- /dev/null +++ b/.github/workflows/swift.yml @@ -0,0 +1,28 @@ +# This workflow will build a Swift project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift + +name: Swift + +on: + push: + branches: [ "main" ] + paths: + - 'APIJSON-iOS/APIJSON-Swift/**' + pull_request: + branches: [ "main" ] + paths: + - 'APIJSON-iOS/APIJSON-Swift/**' + +jobs: + build: + + runs-on: macos-latest + + steps: + - uses: actions/checkout@v4 + - name: Build + working-directory: APIJSON-iOS/APIJSON-Swift + run: swift build -v + - name: Run tests + working-directory: APIJSON-iOS/APIJSON-Swift + run: swift test -v diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/boot/DemoController.java b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/boot/DemoController.java index cf11d01d..94c1a5bc 100644 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/boot/DemoController.java +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/boot/DemoController.java @@ -95,7 +95,7 @@ * 具体见 SpringBoot 文档 * https://www.springcloud.cc/spring-boot.html#boot-features-spring-mvc * 以及 APIJSON 通用文档 3.设计规范 3.1 操作方法 - * https://github.com/Tencent/APIJSON/blob/master/Document.md#3.1 + * https://github.com/APIJSON/APIJSON/blob/main/Document.md#3.1 *
建议全通过HTTP POST来请求: *
1.减少代码 - 客户端无需写HTTP GET,PUT等各种方式的请求代码 *
2.提高性能 - 无需URL encode和decode diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoFunctionParser.java b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoFunctionParser.java index 773837ab..0024f4d7 100644 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoFunctionParser.java +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoFunctionParser.java @@ -37,7 +37,7 @@ /**可远程调用的函数类,用于自定义业务逻辑处理 - * 具体见 https://github.com/Tencent/APIJSON/issues/101 + * 具体见 https://github.com/APIJSON/APIJSON/issues/101 * @author Lemon */ public class DemoFunctionParser extends APIJSONFunctionParser { diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoParser.java b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoParser.java index 81a49043..35b30336 100644 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoParser.java +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoParser.java @@ -33,7 +33,7 @@ /**请求解析器 - * 具体见 https://github.com/Tencent/APIJSON/issues/38 + * 具体见 https://github.com/APIJSON/APIJSON/issues/38 * @author Lemon */ public class DemoParser extends APIJSONParser { diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoSQLConfig.java b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoSQLConfig.java index 1ba6de56..2b78df50 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoSQLConfig.java +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoSQLConfig.java @@ -37,7 +37,7 @@ /**SQL配置 * TiDB 用法和 MySQL 一致 * 具体见详细的说明文档 C.开发说明 C-1-1.修改数据库链接 - * https://github.com/Tencent/APIJSON/blob/master/%E8%AF%A6%E7%BB%86%E7%9A%84%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md#c-1-1%E4%BF%AE%E6%94%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E9%93%BE%E6%8E%A5 + * https://github.com/APIJSON/APIJSON/blob/main/%E8%AF%A6%E7%BB%86%E7%9A%84%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md#c-1-1%E4%BF%AE%E6%94%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E9%93%BE%E6%8E%A5 * @author Lemon */ public class DemoSQLConfig extends APIJSONSQLConfig { diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoSQLExecutor.java b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoSQLExecutor.java index 3fcd7658..04ffe359 100644 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoSQLExecutor.java +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoSQLExecutor.java @@ -52,7 +52,7 @@ /** * SQL 执行器,支持连接池及多数据源 - * 具体见 https://github.com/Tencent/APIJSON/issues/151 + * 具体见 https://github.com/APIJSON/APIJSON/issues/151 * * @author Lemon */ diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoVerifier.java b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoVerifier.java index 60d3fbff..bfe4a0fc 100644 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoVerifier.java +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/demo/DemoVerifier.java @@ -20,7 +20,7 @@ /**安全校验器,校验请求参数、角色与权限等 - * 具体见 https://github.com/Tencent/APIJSON/issues/12 + * 具体见 https://github.com/APIJSON/APIJSON/issues/12 * @author Lemon */ public class DemoVerifier extends APIJSONVerifier { diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/README.md b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/README.md index 1eb96416..967d38d5 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/README.md +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/README.md @@ -21,7 +21,7 @@ 集合 文档、测试、Mock、调试、管理 的一站式体验,还有 **AI 问答** 和一键 格式化、注释/取消注释 等高效快捷键。
在常用功能上远超 Postman, Swagger, YApi 等各种 开源、商业 的 API 文档/测试 工具,并能一键导入用例和文档。
支持 GET, POST, PUT, PATCH, DELETE, HEAD 等各种 HTTP Method 及 Content-Type, URL /{Path}/{Variable}。
-不仅适用于 RESTful、类 RESTful、GRPC 的 API,还是腾讯 [APIJSON](https://github.com/Tencent/APIJSON) 官方建议的文档与测试工具。
+不仅适用于 RESTful、类 RESTful、GRPC 的 API,还是腾讯 [APIJSON](https://github.com/APIJSON/APIJSON) 官方建议的文档与测试工具。
腾讯内部用户包括 IEG 互动娱乐事业群、TEG 技术工程事业群、CSIG 云与智慧事业群 的多个部门及团队,
外部用户包含 华为、工商银行某地分行、500 强上市公司传音、跨境电商巨头 SHEIN、行业领头羊社保科技 等。 @@ -248,7 +248,7 @@ https://github.com/TommyLemon/APIAuto/issues/9 #### 2.没有生成文档 右上角设置项与数据库实际配置不一致 等
-https://github.com/Tencent/APIJSON/issues/85 +https://github.com/APIJSON/APIJSON/issues/85 #### 3.托管服务器访问不了 不能代理接口、不能展示文档、不能对断言结果纠错 等
@@ -295,13 +295,14 @@ https://github.com/TommyLemon/APIAuto/issues ![image](https://github.com/user-attachments/assets/c4aa8573-f8b3-4973-8c37-29677c06ac3b) 如果有什么问题或建议可以 [提 issue](https://github.com/TommyLemon/APIAuto/issues),交流技术,分享经验。
-如果你解决了某些 bug,或者新增了一些功能,欢迎 [提 PR 贡献代码](https://github.com/Tencent/APIJSON/blob/master/CONTRIBUTING.md),感激不尽。 +如果你解决了某些 bug,或者新增了一些功能,欢迎 [提 PR 贡献代码](https://github.com/APIJSON/APIJSON/blob/main/CONTRIBUTING.md),感激不尽。

### 生态项目 -[APIJSON](https://github.com/Tencent/APIJSON) 🏆 腾讯实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 +[APIJSON](https://github.com/APIJSON/APIJSON) 🏆 腾讯实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 +[AutoUI](https://github.com/TommyLemon/AutoUI) 📱 AI 零代码快准稳 UI 自动化测试平台 🚀 3 像素内精准定位,2 毫秒内精准等待,自动断言 UI 和数据、界定前/后端 bug,用户包含腾讯,微信团队邀请分享 [CVAuto](https://github.com/TommyLemon/CVAuto) 👁 零代码零标注 CV AI 自动化测试平台 🚀 免除大量人工画框和打标签等,直接快速测试 CV 计算机视觉 AI 图像识别算法 @@ -309,10 +310,6 @@ https://github.com/TommyLemon/APIAuto/issues [SQLAuto](https://github.com/TommyLemon/SQLAuto) 智能零代码自动化测试 SQL 数据库工具,任意增删改查、任意 SQL 模板变量、一键批量生成参数组合、快速构造大量测试数据 -[UIGO](https://github.com/TommyLemon/UIGO) 📱 零代码快准稳 UI 智能录制回放平台 🚀 3 像素内自动精准定位,2 毫秒内自动精准等待,用户包含腾讯,微信团队邀请分享 - -[UIGOX](https://github.com/TommyLemon/UIGOX) UIGO 的 AndroidX 版 📱 零代码快准稳 UI 智能录制回放平台 🚀 3 像素内自动精准定位,2 毫秒内自动精准等待 - [apijson-doc](https://github.com/vincentCheng/apijson-doc) APIJSON 官方文档,提供排版清晰、搜索方便的文档内容展示,包括设计规范、图文教程等 [APIJSONdocs](https://github.com/ruoranw/APIJSONdocs) APIJSON 英文文档,提供排版清晰的文档内容展示,包括详细介绍、设计规范、使用方式等 diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/apijson/JSONResponse.js b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/apijson/JSONResponse.js index 2abab0c2..1a217ada 100644 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/apijson/JSONResponse.js +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/apijson/JSONResponse.js @@ -185,6 +185,10 @@ var JSONResponse = { KEY_MSG: 'msg', KEY_THROW: 'throw', CODE_SUCCESS: 200, + IGNORE_KEYS: ['traceId', 'trace:stack', 'debug:info|help'], + UPGRADE_KEYS: ['price', 'amount', 'money', 'cash', 'spend', 'cost', 'income', 'outgoing', 'borrow', 'lend', 'gold', 'coin', 'diamond', 'credit', 'budget', 'quantity', 'balance', 'type', 'status', 'state', 'stage', 'mode', 'currency', 'percent', 'percentage', 'rate', 'ratio', 'cent', 'vip', 'tax', 'change', 'exchange', 'role', 'permission', 'access', 'wealth', 'fee', 'pay', 'sku', 'spu', 'level', 'reward', 'award', 'bonus', 'consume', 'produce', 'gift', 'order', 'buy', 'purchase', 'salary', 'earn', 'coupon', 'discount', 'phone', 'email', 'card', 'idcard', 'account'], + DOWNGRADE_KEYS: ['traceId', 'trace_id', 'date', 'time', 'datetime', 'date_time', 'dateTime', 'timestamp', 'create_time', 'update_time', 'created_at', 'updated_at', 'createTime', 'updateTime', 'createdAt', 'updatedAt', 'delete_time', 'deleteTime', 'deleted_at', 'cur_time', 'curTime', 'cur_timestamp', 'curTimestamp', 'cur_time_stamp', 'current_time', 'current_time_stamp', 'currentTime', 'currentTimestamp', 'server_time', 'serverTime', 'start_time', 'started_at', 'startTime', 'startedAt', 'begin_time', 'begun_at', 'beginTime', 'begunAt', 'end_time', 'ended_at', 'endTime', 'endedAt', 'title', 'subtitle', 'content', 'comment', 'emoji', 'name', 'nickname', 'detail', 'desc', 'describe', 'description'], + /**是否成功 * @param code * @return @@ -521,6 +525,56 @@ var JSONResponse = { return it; }, + isUpgradeCompare: function (key, folder) { + if (StringUtil.isEmpty(key)) { + return false; + } + + var keys = JSONResponse.UPGRADE_KEYS || []; + if (keys.includes(key) || keys.includes(JSONResponse.getAbstractPath(folder, key))) { + return true; + } + + for (var i = 0; i < keys.length; i ++) { + var k = keys[i]; + if (StringUtil.isNotEmpty(k) && StringUtil.isKeyOfCategory(key, StringUtil.firstCase(k, true))) { + return true; + } + } + + return StringUtil.isMoneyKey(key) || StringUtil.isBalanceKey(key) || StringUtil.isAmountKey(key) || StringUtil.isLoanKey(key) + || StringUtil.isPriceKey(key) || StringUtil.isPercentKey(key) || StringUtil.isRevenueKey(key) || StringUtil.isProfitKey(key) + || StringUtil.isCashKey(key) || StringUtil.isDiscountKey(key) || StringUtil.isGradeKey(key) || StringUtil.isLevelKey(key) + || StringUtil.isRankKey(key) || StringUtil.isScoreKey(key) || StringUtil.isSexKey(key) || StringUtil.isGenderKey(key); + // || StringUtil.isIncomeKey(key) || StringUtil.isOutgoingKey(key) || StringUtil.isGoldKey(key) || StringUtil.isCoinKey(key) + // || StringUtil.isBuyKey(key) || StringUtil.isPurchaseKey(key) || StringUtil.isPayKey(key) || StringUtil.isEarnKey(key) + // || StringUtil.isSalaryKey(key) || StringUtil.isCostKey(key) || StringUtil.isConsumeKey(key) || StringUtil.isProduceKey(key) + // || StringUtil.isFeeKey(key) || StringUtil.isWealthKey(key) || StringUtil.isRewardKey(key) || StringUtil.isAwardKey(key) + // || StringUtil.isVipKey(key) || StringUtil.isDiamondKey(key) || StringUtil.isTaxKey(key) || StringUtil.isCurrencyKey(key) + // || StringUtil.isChangeKey(key) || StringUtil.isExchangeKey(key) || StringUtil.isBorrowKey(key) || StringUtil.isLendKey(key); + }, + isDowngradeCompare: function (key, folder) { + if (StringUtil.isEmpty(key)) { + return false; + } + + var keys = JSONResponse.DOWNGRADE_KEYS || []; + if (keys.includes(key) || keys.includes(JSONResponse.getAbstractPath(folder, key))) { + return true; + } + + for (var i = 0; i < keys.length; i ++) { + var k = keys[i]; + if (StringUtil.isNotEmpty(k) && StringUtil.isKeyOfCategory(key, StringUtil.firstCase(k, true))) { + return true; + } + } + + return StringUtil.isDateKey(key) || StringUtil.isTimeKey(key) || StringUtil.isNameKey(key) || StringUtil.isDetailKey(key) + || StringUtil.isTitleKey(key) || StringUtil.isTextKey(key) || StringUtil.isCommentKey(key) || StringUtil.isContentKey(key) + || StringUtil.isDescribeKey(key) || StringUtil.isMessageKey(key); + }, + /**测试compare: 对比 新的请求与上次请求的结果 0-相同,无颜色; 1-对象新增字段或数组新增值,绿色; @@ -917,7 +971,9 @@ var JSONResponse = { }; } - if (notEmpty == true && typeof real != 'boolean' && typeof real != 'number' && StringUtil.isEmpty(real, true)) { // 空 + var realType = JSONResponse.getType(real); + + if (notEmpty == true && (real === 0 || (typeof real != 'boolean' && CodeUtil.isTypeMatch('number', realType) && StringUtil.isEmpty(real, true)))) { // 空 log('compareWithStandard notEmpty == true && StringUtil.isEmpty(real, true) >> return COMPARE_VALUE_EMPTY'); return { code: JSONResponse.COMPARE_VALUE_EMPTY, @@ -934,7 +990,6 @@ var JSONResponse = { value: null //导致正确时也显示 real }; - var realType = JSONResponse.getType(real); if (StringUtil.isEmpty(realType) || ['null', 'undefined'].indexOf(realType) >= 0) { realType = null; } @@ -1059,21 +1114,54 @@ var JSONResponse = { max = result; } } catch (e) { - log(e) + log(e); + } + } + } + + var isNum = CodeUtil.isTypeMatch('number', type); + var ignore = false; + var isFolderMeaningful = StringUtil.isNotEmpty(folder) && ! StringUtil.isNumber(folder); + if (isFolderMeaningful && (isNum || type == 'string')) { + if (JSONResponse.IGNORE_KEYS.includes(folder)) { + ignore = true; + } else if (folder.includes('/')) { + var keys = StringUtil.splitPath(folder); + var key = keys == null || keys.length <= 0 ? null : keys[keys.length - 1]; + if (StringUtil.isNotEmpty(key) && ! StringUtil.isNumber(key)) { + ignore = JSONResponse.IGNORE_KEYS.includes(key); } } } - var valueCompare = max.code >= JSONResponse.COMPARE_VALUE_CHANGE + var valueCompare = ignore || max.code >= JSONResponse.COMPARE_VALUE_CHANGE ? 0 : JSONResponse.compareValue(valueLevel, values, real, target.trend, target.repeat); if (valueCompare > 0) { - max.code = valueCompare; + var cmp = valueCompare; + if (isNum && isFolderMeaningful && cmp > JSONResponse.COMPARE_VALUE_MORE && cmp < JSONResponse.COMPARE_VALUE_EMPTY) { + if (JSONResponse.UPGRADE_KEYS.includes(folder)) { + cmp = JSONResponse.COMPARE_VALUE_EMPTY; + } else if (JSONResponse.DOWNGRADE_KEYS.includes(folder)) { + cmp = JSONResponse.COMPARE_VALUE_MORE; + } else if (folder.includes('/')) { + var keys = StringUtil.splitPath(folder); + var key = keys == null || keys.length <= 0 ? null : keys[keys.length - 1]; + if (StringUtil.isNotEmpty(key) && ! StringUtil.isNumber(key)) { + var fd = keys.slice(0, keys.length - 1).join('/'); + if (JSONResponse.isUpgradeCompare(key, fd)) { + cmp = JSONResponse.COMPARE_VALUE_EMPTY; + } else if (JSONResponse.isDowngradeCompare(key, fd)) { + cmp = JSONResponse.COMPARE_VALUE_MORE; + } + } + } + } + + max.code = cmp; max.path = folder; max.value = real; - var isNum = CodeUtil.isTypeMatch('number', type) - if (isNum && valueCompare == JSONResponse.COMPARE_VALUE_REPEAT && (target.repeat == null || target.repeat <= 0) && values != null && values.indexOf(real) >= 0) { max.msg = '值与历史值重复:' + real; @@ -1377,8 +1465,14 @@ var JSONResponse = { var notEmpty = target.notEmpty; log('updateStandard notEmpty = target.notEmpty = ' + notEmpty + ' >>'); - if (notEmpty !== false && real != null && typeof real != 'boolean' && typeof real != 'number') { - notEmpty = target.notEmpty = StringUtil.isNotEmpty(real, true); + var rtype = JSONResponse.getType(real); + + if (notEmpty !== false) { + if (CodeUtil.isTypeMatch('number', rtype)) { // real === 0) { + notEmpty = target.notEmpty = real === 0 ? false : (real < -1 || real > 1 ? true : notEmpty); + } else if (real != null && typeof real != 'boolean') { + notEmpty = target.notEmpty = StringUtil.isNotEmpty(real, true); + } } var type = target.type; @@ -1386,7 +1480,6 @@ var JSONResponse = { target.type = type = null; } - var rtype = JSONResponse.getType(real); if ((rtype == null || real == null) && StringUtil.isEmpty(type, true) && StringUtil.isNotEmpty(key, true)) { target.guess = true; if (StringUtil.isBoolKey(key)) { @@ -1490,13 +1583,11 @@ var JSONResponse = { } log('updateStandard type = target.type = getType(real) = ' + type + ' >>'); - var lengthLevel = target.lengthLevel; var lengths = target.lengths; log('updateStandard lengthLevel = target.lengthLevel = ' + lengthLevel + ' >>'); log('updateStandard lengths = target.lengths = ' + lengths + ' >>'); - var valueLevel = target.valueLevel; var values = target.values; log('updateStandard valueLevel = target.valueLevel = ' + valueLevel + ' >>'); @@ -1507,7 +1598,6 @@ var JSONResponse = { valueLevel = target.valueLevel = 0; } - if (type == 'array') { log('updateStandard type == array >> '); @@ -1629,16 +1719,18 @@ var JSONResponse = { } } - if (values == null) { - values = []; - } - if (valueLevel < 1 && type == 'number' && ! Number.isSafeInteger(real)) { //double 1.23 - valueLevel = 1; - } - target.values = values; + if (! [null, 0, ''].includes(real)) { + if (values == null) { + values = []; + } + if (valueLevel < 1 && CodeUtil.isTypeMatch('number', type) && ! Number.isSafeInteger(real)) { //double 1.23 + valueLevel = 1; + } + target.values = values; - target = JSONResponse.setValue(target, JSONResponse.getLength(real), lengthLevel == null ? 1 : lengthLevel, lengths, true, true); - target = JSONResponse.setValue(target, real, valueLevel, values, false, ignoreTrend); + target = JSONResponse.setValue(target, JSONResponse.getLength(real), lengthLevel == null ? 1 : lengthLevel, lengths, true, true); + target = JSONResponse.setValue(target, real, valueLevel, values, false, ignoreTrend); + } } log('\nupdateStandard >> return target = ' + JSON.stringify(target, null, ' ') + '\n >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n\n\n\n\n'); diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/apijson/StringUtil.js b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/apijson/StringUtil.js index 1d5a40ef..8b35dc2a 100644 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/apijson/StringUtil.js +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/apijson/StringUtil.js @@ -727,6 +727,9 @@ var StringUtil = { isScoreKey: function (key) { return StringUtil.isKeyOfCategory(key, 'Score'); }, + isRankKey: function (key) { + return StringUtil.isKeyOfCategory(key, 'Rank'); + }, isSexKey: function (key) { return StringUtil.isKeyOfCategory(key, 'Sex'); }, @@ -773,6 +776,28 @@ var StringUtil = { var l = StringUtil.length(key); return l >= 2 && l <= 30 && StringUtil.isKeyOfCategory(key, 'Name'); }, + isTitleKey: function (key) { + var l = StringUtil.length(key); + return l >= 2 && l <= 30 && StringUtil.isKeyOfCategory(key, 'Title'); + }, + isTextKey: function (key) { + return StringUtil.isKeyOfCategory(key, 'Text') || StringUtil.isKeyOfCategory(key, 'Txt'); + }, + isContentKey: function (key) { + return StringUtil.isKeyOfCategory(key, 'Content'); + }, + isMessageKey: function (key) { + return StringUtil.isKeyOfCategory(key, 'Message') || StringUtil.isKeyOfCategory(key, 'Msg'); + }, + isCommentKey: function (key) { + return StringUtil.isKeyOfCategory(key, 'Comment'); + }, + isDetailKey: function (key) { + return StringUtil.isKeyOfCategory(key, 'Detail'); + }, + isDescribeKey: function (key) { + return StringUtil.isKeyOfCategory(key, 'Desc') || StringUtil.isKeyOfCategory(key, 'Describe') || StringUtil.isKeyOfCategory(key, 'Description'); + }, isPathKey: function (key) { return StringUtil.isKeyOfCategory(key, 'Path'); }, @@ -783,10 +808,14 @@ var StringUtil = { return StringUtil.isKeyOfCategory(key, 'Uri'); }, isDateKey: function (key) { - return ['createat', 'createdat', 'updateat', 'updatedat'].indexOf(StringUtil.get(key).toLowerCase()) >= 0 || StringUtil.isKeyOfCategory(key, 'Date'); + return ['createat', 'createdat', 'updateat', 'updatedat', 'deletdat', 'deletedat', 'addat', 'addedat', 'editat' + , 'editedat', 'removeat', 'removedat', 'sendat', 'sentat', 'sendedat', 'receiveat', 'receivedat'].indexOf(StringUtil.get(key).toLowerCase()) >= 0 + || StringUtil.isKeyOfCategory(key, 'Date'); }, isTimeKey: function (key) { - return ['createat', 'createdat', 'updateat', 'updatedat'].indexOf(StringUtil.get(key).toLowerCase()) >= 0 || StringUtil.isKeyOfCategory(key, 'Time'); + return ['createat', 'createdat', 'updateat', 'updatedat', 'deletdat', 'deletedat', 'addat', 'addedat', 'editat' + , 'editedat', 'removeat', 'removedat', 'sendat', 'sentat', 'sendedat', 'receiveat', 'receivedat'].indexOf(StringUtil.get(key).toLowerCase()) >= 0 + || StringUtil.isKeyOfCategory(key, 'Time') || StringUtil.isKeyOfCategory(key, 'Timestamp'); }, isKeyOfCategory: function (key, category) { if (StringUtil.isEmpty(key, true) || StringUtil.isEmpty(category, true) || key.length < category.length) { diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/index.html b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/index.html index 6288b889..669bb858 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/index.html +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/index.html @@ -89,20 +89,19 @@ 2s - - +
- 文档 + 文档 视频 生态
- - - + + + diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/js/main.js b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/js/main.js index c887ed0d..473a761e 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/js/main.js +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/api/js/main.js @@ -733,7 +733,7 @@ https://github.com/TommyLemon/APIAuto/issues 如果是请求 APIJSON 后端服务,则使用以下链接: -https://github.com/Tencent/APIJSON/issues +https://github.com/APIJSON/APIJSON/issues There may be something wrong, you can follow by the steps: 1. Check whether the network connection is available, you can open the address with a browser: https://www.google.com/search?q=%22APIJSON%22 @@ -749,7 +749,7 @@ There may be something wrong, you can follow by the steps: https://github.com/TommyLemon/APIAuto/issues If you are requesting an APIJSON backend service, use the following link: -https://github.com/Tencent/APIJSON/issues +https://github.com/APIJSON/APIJSON/issues @@ -3227,7 +3227,7 @@ https://github.com/Tencent/APIJSON/issues if (this.isExportRemote == false) { //下载到本地 if (this.isTestCaseShow) { //文档 - saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\nBASE_URL: ' + this.getBaseUrl() + '\n\n\n## 测试用例(Markdown格式,可用工具预览) \n\n' + this.getDoc4TestCase() + (this.view != 'markdown' ? '' : '\n\n\n\n\n\n\n\n## 文档(Markdown格式,可用工具预览) \n\n' + doc) @@ -3332,7 +3332,7 @@ https://github.com/Tencent/APIJSON/issues break; } - saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\n\nURL: ' + StringUtil.get(vUrl.value) + '\n\n\nHeader:\n' + StringUtil.get(vHeader.value) + '\n\n\nRequest:\n' + StringUtil.get(vInput.value) @@ -9431,16 +9431,20 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea s += '\n\n#### 开放源码 ' + '\nAPIJSON 接口测试: https://github.com/TommyLemon/APIAuto ' + '\nAPIJSON 单元测试: https://github.com/TommyLemon/UnitAuto ' - + '\nAPIJSON 中文文档: https://github.com/vincentCheng/apijson-doc ' - + '\nAPIJSON 英文文档: https://github.com/ruoranw/APIJSONdocs ' + + '\nAPIJSON DB 测试: https://github.com/TommyLemon/SQLAuto ' + + '\nAPIJSON UI 测试: https://github.com/TommyLemon/AutoUI ' + + '\nAPIJSON CV 测试: https://github.com/TommyLemon/CVAuto ' + + '\nAPIJSON AI 测试: https://github.com/open-doubao-ai/OpenDoubao ' + '\nAPIJSON 官方网站: https://github.com/APIJSON/apijson.cn ' - + '\nAPIJSON -Java版: https://github.com/Tencent/APIJSON ' + + '\nAPIJSON 英语文档: https://github.com/ruoranw/APIJSONdocs ' + + '\nAPIJSON -Java版: https://github.com/APIJSON/APIJSON ' + '\nAPIJSON - C# 版: https://github.com/liaozb/APIJSON.NET ' + '\nAPIJSON - Go 版: https://github.com/glennliao/apijson-go ' + '\nAPIJSON - PHP版: https://github.com/kvnZero/hyperf-APIJSON ' + '\nAPIJSON -Node版: https://github.com/kevinaskin/apijson-node ' + + '\nAPIJSON -Rust版: https://github.com/APIJSON/apijson-rust ' + '\nAPIJSON -Python: https://github.com/zhangchunlin/uliweb-apijson ' - + '\n感谢热心的作者们的贡献,GitHub 右上角点 ⭐Star 支持下他们吧 ^_^'; + + '\n感谢热心的作者们的贡献,GitHub 右上角点亮 ⭐ Star 收藏/支持下他们吧 ^_^'; } return s; @@ -9472,11 +9476,11 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea + (this.isTestCaseShow ? '' : output) + ( '\n\n\n登录后点 ↑ 上方左侧最后图标按钮显示用例详情,- 移除、↑ 点 Tab 登录(红色)/退出(黑色)测试账号、+ 添加' + '\n点左上角 测试用例 可切换 远程在线 \| 场景串联 \| 本地历史,点它们右侧 (10\|50) 切换显示 分组 \| 用例' - + '\n## 文档 \n\n 通用文档见 [APIJSON通用文档](https://github.com/Tencent/APIJSON/blob/master/Document.md#3.2) \n### 数据字典\n自动查数据库表和字段属性来生成 \n\n' + d + + '\n## 文档 \n\n 通用文档见 [APIJSON通用文档](https://github.com/APIJSON/APIJSON/blob/main/Document.md#3.2) \n### 数据字典\n自动查数据库表和字段属性来生成 \n\n' + d + '

关于

' + '

APIAuto-机器学习 HTTP 接口工具' + '
机器学习零代码测试、生成代码与静态检查、生成文档与光标悬浮注释' - + '
由
APIAuto(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + + '
由 APIAuto(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + '
遵循 Apache-2.0 开源协议' + '
Copyright © 2017-' + new Date().getFullYear() + ' Tommy Lemon' + '
粤ICP备18005508号-1' @@ -13218,7 +13222,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea var testRecord = item.TestRecord = item.TestRecord || {} saveTextAs( - '# APIJSON自动化回归测试-前\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-前\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n返回结果: \n' + JSON.stringify(parseJSON(testRecord.response || '{}'), null, ' ') , '测试:' + document.name + '-前.txt' @@ -13235,7 +13239,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea var accountIdStr = String(curAccount.isLoggedIn ? curAccount.id || '' : '') var tests = App.tests[accountIdStr] || {} saveTextAs( - '# APIJSON自动化回归测试-后\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-后\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n返回结果: \n' + JSON.stringify(tests[document.id][isRandom ? random.id : 0] || {}, null, ' ') , '测试:' + document.name + '-后.txt' @@ -13245,7 +13249,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea if (StringUtil.isEmpty(testRecord.standard, true) == false) { setTimeout(function () { saveTextAs( - '# APIJSON自动化回归测试-标准\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-标准\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n测试结果: \n' + JSON.stringify(testRecord.compare || '{}', null, ' ') + '\n测试标准: \n' + JSON.stringify(parseJSON(testRecord.standard || '{}'), null, ' ') diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/README.md b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/README.md index 6e21476d..091ae769 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/README.md +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/README.md @@ -192,7 +192,7 @@ https://github.com/TommyLemon/APIAuto/issues/9 #### 2.没有生成文档 右上角设置项与数据库实际配置不一致 等
-https://github.com/Tencent/APIJSON/issues/85 +https://github.com/APIJSON/APIJSON/issues/85 #### 3.托管服务器访问不了 不能代理接口、不能展示文档、不能对断言结果纠错 等
@@ -218,13 +218,13 @@ https://github.com/TommyLemon/APIAuto/issues ![TommyLemon-GItHub](https://github.com/user-attachments/assets/4c2d9e75-01f7-4072-bed3-cfbd10076512) 如果有什么问题或建议可以 [去 APIAuto 提 issue](https://github.com/TommyLemon/APIAuto/issues),交流技术,分享经验。
-如果你解决了某些 bug,或者新增了一些功能,欢迎 [提 PR 贡献代码](https://github.com/Tencent/APIJSON/blob/master/CONTRIBUTING.md),感激不尽。 +如果你解决了某些 bug,或者新增了一些功能,欢迎 [提 PR 贡献代码](https://github.com/APIJSON/APIJSON/blob/main/CONTRIBUTING.md),感激不尽。

### 生态项目 -[APIJSON](https://github.com/Tencent/APIJSON) 🏆 腾讯实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 +[APIJSON](https://github.com/APIJSON/APIJSON) 🏆 腾讯实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 [APIAuto](https://github.com/TommyLemon/APIAuto) ☔ 敏捷开发最强大易用的接口工具,零代码测试与 AI 问答、生成代码与静态检查、生成文档与光标悬浮注释,腾讯、华为、SHEIN、传音、工行等使用 diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/index.html b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/index.html index f4c3fca5..0de0a9af 100644 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/index.html +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/index.html @@ -101,9 +101,9 @@

- - - + + + diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/js/main.js b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/js/main.js index ba017ed6..a57f9835 100644 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/js/main.js +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/au/js/main.js @@ -667,7 +667,7 @@ https://github.com/TommyLemon/APIAuto/issues 如果是请求 APIJSON 后端服务,则使用以下链接: -https://github.com/Tencent/APIJSON/issues +https://github.com/APIJSON/APIJSON/issues There may be something wrong, you can follow by the steps: 1. Check whether the network connection is available, you can open the address with a browser: https://www.google.com/search?q=%22APIJSON%22 @@ -683,7 +683,7 @@ There may be something wrong, you can follow by the steps: https://github.com/TommyLemon/APIAuto/issues If you are requesting an APIJSON backend service, use the following link: -https://github.com/Tencent/APIJSON/issues +https://github.com/APIJSON/APIJSON/issues @@ -2969,7 +2969,7 @@ https://github.com/Tencent/APIJSON/issues if (this.isExportRemote == false) { //下载到本地 if (this.isTestCaseShow) { //文档 - saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\nBASE_URL: ' + this.getBaseUrl() + '\n\n\n## 测试用例(Markdown格式,可用工具预览) \n\n' + this.getDoc4TestCase() + '\n\n\n\n\n\n\n\n## 文档(Markdown格式,可用工具预览) \n\n' + doc @@ -3014,7 +3014,7 @@ https://github.com/Tencent/APIJSON/issues break; } - saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\n\nURL: ' + StringUtil.get(vUrl.value) + '\n\n\nHeader:\n' + StringUtil.get(vHeader.value) + '\n\n\nRequest:\n' + StringUtil.get(vInput.value) @@ -10190,7 +10190,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea + '\nAPIJSON 中文文档: https://github.com/vincentCheng/apijson-doc ' + '\nAPIJSON 英文文档: https://github.com/ruoranw/APIJSONdocs ' + '\nAPIJSON 官方网站: https://github.com/APIJSON/apijson.cn ' - + '\nAPIJSON -Java版: https://github.com/Tencent/APIJSON ' + + '\nAPIJSON -Java版: https://github.com/APIJSON/APIJSON ' + '\nAPIJSON - C# 版: https://github.com/liaozb/APIJSON.NET ' + '\nAPIJSON - Go 版: https://github.com/glennliao/apijson-go ' + '\nAPIJSON - PHP版: https://github.com/kvnZero/hyperf-APIJSON ' @@ -10226,11 +10226,11 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea } vOutput.value = (StringUtil.isEmpty(url, true) ? (StringUtil.isEmpty(html, true) ? '' : StringUtil.trim(html) + '
') : '
') + (this.isTestCaseShow ? '' : output) + ( - '\n\n\n## 文档 \n\n 通用文档见 [APIJSON通用文档](https://github.com/Tencent/APIJSON/blob/master/Flow.md#3.2) \n### 数据字典\n自动查数据库表和字段属性来生成 \n\n' + d + '\n\n\n## 文档 \n\n 通用文档见 [APIJSON通用文档](https://github.com/APIJSON/APIJSON/blob/main/Flow.md#3.2) \n### 数据字典\n自动查数据库表和字段属性来生成 \n\n' + d + '

关于

' + '

AutoUI - 📱 零代码快准稳 UI 智能录制回放平台' + '
🚀 自动兼容任意宽高比分辨率屏幕,自动精准等待网络请求,录制回放快、准、稳!' - + '
由
AutoUI(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + + '
由 AutoUI(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + '
遵循 Apache-2.0 开源协议' + '
Copyright © 2019-' + new Date().getFullYear() + ' Tommy Lemon' + '
粤ICP备18005508号-1' @@ -13026,7 +13026,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea var testRecord = item.TestRecord = item.TestRecord || {} saveTextAs( - '# APIJSON自动化回归测试-前\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-前\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n返回结果: \n' + JSON.stringify(parseJSON(testRecord.response || '{}'), null, ' ') , '测试:' + document.name + '-前.txt' @@ -13041,7 +13041,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea setTimeout(function () { var tests = App.tests[String(App.currentAccountIndex)] || {} saveTextAs( - '# APIJSON自动化回归测试-后\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-后\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n返回结果: \n' + JSON.stringify(tests[document.id][isRandom ? random.id : 0] || {}, null, ' ') , '测试:' + document.name + '-后.txt' @@ -13051,7 +13051,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea if (StringUtil.isEmpty(testRecord.standard, true) == false) { setTimeout(function () { saveTextAs( - '# APIJSON自动化回归测试-标准\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-标准\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n测试结果: \n' + JSON.stringify(testRecord.compare || '{}', null, ' ') + '\n测试标准: \n' + JSON.stringify(parseJSON(testRecord.standard || '{}'), null, ' ') diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/README.md b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/README.md index 7539f3fc..f237d237 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/README.md +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/README.md @@ -182,7 +182,7 @@ https://github.com/TommyLemon/APIAuto/issues/9 #### 2.没有生成文档 右上角设置项与数据库实际配置不一致 等
-https://github.com/Tencent/APIJSON/issues/85 +https://github.com/APIJSON/APIJSON/issues/85 #### 3.托管服务器访问不了 不能代理接口、不能展示文档、不能对断言结果纠错 等
@@ -208,13 +208,13 @@ https://github.com/TommyLemon/APIAuto/issues ![TommyLemon-GItHub](https://github.com/user-attachments/assets/4c2d9e75-01f7-4072-bed3-cfbd10076512) 如果有什么问题或建议可以 [去 APIAuto 提 issue](https://github.com/TommyLemon/APIAuto/issues),交流技术,分享经验。
-如果你解决了某些 bug,或者新增了一些功能,欢迎 [提 PR 贡献代码](https://github.com/Tencent/APIJSON/blob/master/CONTRIBUTING.md),感激不尽。 +如果你解决了某些 bug,或者新增了一些功能,欢迎 [提 PR 贡献代码](https://github.com/APIJSON/APIJSON/blob/main/CONTRIBUTING.md),感激不尽。

### 生态项目 -[APIJSON](https://github.com/Tencent/APIJSON) 🏆 腾讯实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 +[APIJSON](https://github.com/APIJSON/APIJSON) 🏆 腾讯实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 [APIAuto](https://github.com/TommyLemon/APIAuto) ☔ 敏捷开发最强大易用的接口工具,零代码测试与 AI 问答、生成代码与静态检查、生成文档与光标悬浮注释,腾讯、华为、SHEIN、传音、工行等使用 diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/index.html b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/index.html index db29fc76..aa6e9430 100644 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/index.html +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/index.html @@ -101,9 +101,9 @@

- - - + + + diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/js/main.js b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/js/main.js index 209c08dc..55825c81 100644 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/js/main.js +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/cv/js/main.js @@ -661,7 +661,7 @@ https://github.com/TommyLemon/APIAuto/issues 如果是请求 APIJSON 后端服务,则使用以下链接: -https://github.com/Tencent/APIJSON/issues +https://github.com/APIJSON/APIJSON/issues There may be something wrong, you can follow by the steps: 1. Check whether the network connection is available, you can open the address with a browser: https://www.google.com/search?q=%22APIJSON%22 @@ -677,7 +677,7 @@ There may be something wrong, you can follow by the steps: https://github.com/TommyLemon/APIAuto/issues If you are requesting an APIJSON backend service, use the following link: -https://github.com/Tencent/APIJSON/issues +https://github.com/APIJSON/APIJSON/issues `; @@ -2941,7 +2941,7 @@ https://github.com/Tencent/APIJSON/issues if (this.isExportRemote == false) { //下载到本地 if (this.isTestCaseShow) { //文档 - saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\nBASE_URL: ' + this.getBaseUrl() + '\n\n\n## 测试用例(Markdown格式,可用工具预览) \n\n' + this.getDoc4TestCase() + '\n\n\n\n\n\n\n\n## 文档(Markdown格式,可用工具预览) \n\n' + doc @@ -3050,7 +3050,7 @@ https://github.com/Tencent/APIJSON/issues break; } - saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\n\nURL: ' + StringUtil.get(vUrl.value) + '\n\n\nHeader:\n' + StringUtil.get(vHeader.value) + '\n\n\nRequest:\n' + StringUtil.get(vInput.value) @@ -9392,7 +9392,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea + '\nAPIJSON 中文文档: https://github.com/vincentCheng/apijson-doc ' + '\nAPIJSON 英文文档: https://github.com/ruoranw/APIJSONdocs ' + '\nAPIJSON 官方网站: https://github.com/APIJSON/apijson.cn ' - + '\nAPIJSON -Java版: https://github.com/Tencent/APIJSON ' + + '\nAPIJSON -Java版: https://github.com/APIJSON/APIJSON ' + '\nAPIJSON - C# 版: https://github.com/liaozb/APIJSON.NET ' + '\nAPIJSON - Go 版: https://github.com/glennliao/apijson-go ' + '\nAPIJSON - PHP版: https://github.com/kvnZero/hyperf-APIJSON ' @@ -9428,11 +9428,11 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea } vOutput.value = (StringUtil.isEmpty(url, true) ? (StringUtil.isEmpty(html, true) ? '' : StringUtil.trim(html) + '
') : '
') + (this.isTestCaseShow ? '' : output) + ( - '\n\n\n## 文档 \n\n 通用文档见 [APIJSON通用文档](https://github.com/Tencent/APIJSON/blob/master/Document.md#3.2) \n### 数据字典\n自动查数据库表和字段属性来生成 \n\n' + d + '\n\n\n## 文档 \n\n 通用文档见 [APIJSON通用文档](https://github.com/APIJSON/APIJSON/blob/main/Document.md#3.2) \n### 数据字典\n自动查数据库表和字段属性来生成 \n\n' + d + '

关于

' + '

APIAuto-机器学习 HTTP 接口工具' + '
机器学习零代码测试、生成代码与静态检查、生成文档与光标悬浮注释' - + '
由
APIAuto(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + + '
由 APIAuto(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + '
遵循 Apache-2.0 开源协议' + '
Copyright © 2017-' + new Date().getFullYear() + ' Tommy Lemon' + '
粤ICP备18005508号-1' @@ -12731,7 +12731,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea var testRecord = item.TestRecord = item.TestRecord || {} saveTextAs( - '# APIJSON自动化回归测试-前\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-前\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n返回结果: \n' + JSON.stringify(parseJSON(testRecord.response || '{}'), null, ' ') , '测试:' + document.name + '-前.txt' @@ -12746,7 +12746,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea setTimeout(function () { var tests = App.tests[String(App.currentAccountIndex)] || {} saveTextAs( - '# APIJSON自动化回归测试-后\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-后\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n返回结果: \n' + JSON.stringify(tests[document.id][isRandom ? random.id : 0] || {}, null, ' ') , '测试:' + document.name + '-后.txt' @@ -12756,7 +12756,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea if (StringUtil.isEmpty(testRecord.standard, true) == false) { setTimeout(function () { saveTextAs( - '# APIJSON自动化回归测试-标准\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-标准\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n测试结果: \n' + JSON.stringify(testRecord.compare || '{}', null, ' ') + '\n测试标准: \n' + JSON.stringify(parseJSON(testRecord.standard || '{}'), null, ' ') diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/index.html b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/index.html index 2f9c740c..d629f4a2 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/index.html +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/index.html @@ -1,12 +1,12 @@ - 腾讯 APIJSON.cn-零代码接口和文档 JSON 协议 与 ORM 库 + APIJSON.cn-零代码接口和文档 JSON 协议 与 ORM 库 -

腾讯 APIJSON.cn - 零代码接口和文档 JSON 协议 与 ORM 库
+
腾讯 APIJSON.cn - 零代码接口和文档 JSON 协议 与 ORM 库

接口 APIAuto 测试(5s 后自动跳转): https://github.com/TommyLemon/APIAuto

单元 UnitAuto 测试: https://github.com/TommyLemon/UnitAuto

diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/README.md b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/README.md index 1ec4f95e..17d0a22a 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/README.md +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/README.md @@ -127,7 +127,7 @@ https://github.com/TommyLemon/APIAuto/issues/9 #### 2.没有生成文档 右上角设置项与数据库实际配置不一致 等
-https://github.com/Tencent/APIJSON/issues/85 +https://github.com/APIJSON/APIJSON/issues/85 #### 3.托管服务器访问不了 不能代理接口、不能展示文档、不能对断言结果纠错 等
@@ -153,13 +153,13 @@ https://github.com/TommyLemon/APIAuto/issues 如果有什么问题或建议可以 [去 APIAuto 提 issue](https://github.com/TommyLemon/APIAuto/issues),交流技术,分享经验。
-如果你解决了某些 bug,或者新增了一些功能,欢迎 [提 PR 贡献代码](https://github.com/Tencent/APIJSON/blob/master/CONTRIBUTING.md),感激不尽。 +如果你解决了某些 bug,或者新增了一些功能,欢迎 [提 PR 贡献代码](https://github.com/APIJSON/APIJSON/blob/main/CONTRIBUTING.md),感激不尽。

### 生态项目 -[APIJSON](https://github.com/Tencent/APIJSON) 🏆 腾讯实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 +[APIJSON](https://github.com/APIJSON/APIJSON) 🏆 腾讯实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 [APIAuto](https://github.com/TommyLemon/APIAuto) 敏捷开发最强大易用的 HTTP 接口工具,机器学习零代码测试、生成代码与静态检查、生成文档与光标悬浮注释,集 文档、测试、Mock、调试、管理 于一体的一站式体验 diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/index.html b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/index.html index 519bce6e..59669938 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/index.html +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/index.html @@ -78,15 +78,15 @@
- - - + + + diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/js/main.js b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/js/main.js index 2485cc7e..33a1e7ae 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/js/main.js +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/sql/js/main.js @@ -478,7 +478,7 @@ https://github.com/TommyLemon/APIAuto/issues 如果是请求 APIJSON 后端服务,则使用以下链接: -https://github.com/Tencent/APIJSON/issues +https://github.com/APIJSON/APIJSON/issues There may be something wrong, you can follow by the steps: 1. Check whether the network connection is available, you can open the address with a browser: https://www.google.com/search?q=%22APIJSON%22 @@ -494,7 +494,7 @@ There may be something wrong, you can follow by the steps: https://github.com/TommyLemon/APIAuto/issues If you are requesting an APIJSON backend service, use the following link: -https://github.com/Tencent/APIJSON/issues +https://github.com/APIJSON/APIJSON/issues `; @@ -2045,7 +2045,7 @@ https://github.com/Tencent/APIJSON/issues if (this.isExportRemote == false) { //下载到本地 if (this.isTestCaseShow) { //文档 - saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\nBASE_URL: ' + this.getBaseUrl() + '\n\n\n## 测试用例(Markdown格式,可用工具预览) \n\n' + this.getDoc4TestCase() + (this.view != 'markdown' ? '' : '\n\n\n\n\n\n\n\n## 文档(Markdown格式,可用工具预览) \n\n' + doc) @@ -2146,7 +2146,7 @@ https://github.com/Tencent/APIJSON/issues break; } - saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\n\nURL: ' + StringUtil.get(vUrl.value) + '\n\n\nHeader:\n' + StringUtil.get(vHeader.value) + '\n\n\nRequest:\n' + StringUtil.get(vInput.value) @@ -5995,7 +5995,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea + '\nAPIJSON 中文文档: https://github.com/vincentCheng/apijson-doc ' + '\nAPIJSON 英文文档: https://github.com/ruoranw/APIJSONdocs ' + '\nAPIJSON 官方网站: https://github.com/APIJSON/apijson.cn ' - + '\nAPIJSON -Java版: https://github.com/Tencent/APIJSON ' + + '\nAPIJSON -Java版: https://github.com/APIJSON/APIJSON ' + '\nAPIJSON - C# 版: https://github.com/liaozb/APIJSON.NET ' + '\nAPIJSON - Go 版: https://github.com/glennliao/apijson-go ' + '\nAPIJSON - PHP版: https://github.com/kvnZero/hyperf-APIJSON ' @@ -6017,11 +6017,11 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea } doc = d; vOutput.value = (this.isTestCaseShow ? '' : output) + ( - '\n\n\n## 文档 \n\n 通用文档见 [APIJSON通用文档](https://github.com/Tencent/APIJSON/blob/master/Document.md#3.2) \n### 数据字典\n自动查数据库表和字段属性来生成 \n\n' + d + '\n\n\n## 文档 \n\n 通用文档见 [APIJSON通用文档](https://github.com/APIJSON/APIJSON/blob/main/Document.md#3.2) \n### 数据字典\n自动查数据库表和字段属性来生成 \n\n' + d + '

关于

' + '

SQLAuto-智能零代码数据库测试工具' + '
机器学习零代码测试、任意模板变量增删改查、一键批量生成测试数据' - + '
由
SQLAuto(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + + '
由 SQLAuto(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + '
遵循 Apache-2.0 开源协议' + '
Copyright © 2022-' + new Date().getFullYear() + ' Tommy Lemon' + '
粤ICP备18005508号-1' @@ -8699,7 +8699,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea var testRecord = item.TestRecord = item.TestRecord || {} saveTextAs( - '# APIJSON自动化回归测试-前\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-前\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n返回结果: \n' + JSON.stringify(parseJSON(testRecord.response || '{}'), null, ' ') , '测试:' + document.name + '-前.txt' @@ -8714,7 +8714,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea setTimeout(function () { var tests = App.tests[String(App.currentAccountIndex)] || {} saveTextAs( - '# APIJSON自动化回归测试-后\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-后\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n返回结果: \n' + JSON.stringify(tests[document.id][isRandom ? random.id : 0] || {}, null, ' ') , '测试:' + document.name + '-后.txt' @@ -8724,7 +8724,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea if (StringUtil.isEmpty(testRecord.standard, true) == false) { setTimeout(function () { saveTextAs( - '# APIJSON自动化回归测试-标准\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-标准\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + (document.version > 0 ? 'V' + document.version : 'V*') + ' ' + document.name + '\n测试结果: \n' + JSON.stringify(testRecord.compare || '{}', null, ' ') + '\n测试标准: \n' + JSON.stringify(parseJSON(testRecord.standard || '{}'), null, ' ') diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/ui/index.html b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/ui/index.html index 7f804499..4a9f7085 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/ui/index.html +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/ui/index.html @@ -76,15 +76,15 @@

- - - + + + diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/ui/js/main.js b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/ui/js/main.js index 93405367..6bb03dd0 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/ui/js/main.js +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/ui/js/main.js @@ -1298,7 +1298,7 @@ if (App.isExportRemote == false) { //下载到本地 if (App.isTestCaseShow) { //文档 - saveTextAs('# ' + App.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + App.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\nBASE_URL: ' + this.getBaseUrl() + '\n\n\n## 测试用例(Markdown格式,可用工具预览) \n\n' + App.getDoc4TestCase() + '\n\n\n\n\n\n\n\n## 文档(Markdown格式,可用工具预览) \n\n' + doc @@ -1399,7 +1399,7 @@ break; } - saveTextAs('# ' + App.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + App.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\n\nURL: ' + StringUtil.get(vUrl.value) + '\n\n\nHeader:\n' + StringUtil.get(vHeader.value) + '\n\n\nRequest:\n' + StringUtil.get(vInput.value) @@ -2893,7 +2893,7 @@ + '\nAPIJSON 官方文档: https://github.com/vincentCheng/apijson-doc ' + '\nAPIJSON 英文文档: https://github.com/ruoranw/APIJSONdocs ' + '\nAPIJSON 官方网站: https://github.com/APIJSON/apijson.org ' - + '\nAPIJSON -Java版: https://github.com/Tencent/APIJSON ' + + '\nAPIJSON -Java版: https://github.com/APIJSON/APIJSON ' + '\nAPIJSON - Go 版: https://github.com/glennliao/apijson-go ' + '\nAPIJSON - C# 版: https://github.com/liaozb/APIJSON.NET ' + '\nAPIJSON - PHP版: https://github.com/xianglong111/APIJSON-php ' @@ -2919,7 +2919,7 @@ + '

关于

' + '

UIGO - 📱 零代码快准稳 UI 智能录制回放平台' + '
🚀 自动兼容任意宽高比分辨率屏幕,自动精准等待网络请求,录制回放快、准、稳!' - + '
由
UIGO(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + + '
由 UIGO(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + '
遵循 Apache-2.0 开源协议' + '
Copyright © 2019-' + new Date().getFullYear() + ' Tommy Lemon' + '
粤ICP备18005508号-1' @@ -4396,7 +4396,7 @@ var testRecord = item.Output = item.Output || {} saveTextAs( - '# APIJSON自动化回归测试-前\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-前\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + document.name + '\n返回结果: \n' + JSON.stringify(parseJSON(testRecord.response || '{}'), null, ' ') , '测试:' + document.name + '-前.txt' @@ -4411,7 +4411,7 @@ setTimeout(function () { var tests = App.tests[String(App.currentAccountIndex)] || {} saveTextAs( - '# APIJSON自动化回归测试-后\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-后\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + document.name + '\n返回结果: \n' + JSON.stringify(tests[document.id][isRandom ? random.id : 0] || {}, null, ' ') , '测试:' + document.name + '-后.txt' @@ -4421,7 +4421,7 @@ if (StringUtil.isEmpty(testRecord.standard, true) == false) { setTimeout(function () { saveTextAs( - '# APIJSON自动化回归测试-标准\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-标准\n主页: https://github.com/APIJSON/APIJSON' + '\n\n接口名称: \n' + document.name + '\n测试结果: \n' + JSON.stringify(testRecord.compare || '{}', null, ' ') + '\n测试标准: \n' + JSON.stringify(parseJSON(testRecord.standard || '{}'), null, ' ') diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/unit/index.html b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/unit/index.html index b3c0fbb1..ead40d71 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/unit/index.html +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/unit/index.html @@ -76,15 +76,15 @@

- - - + + + diff --git a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/unit/js/main.js b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/unit/js/main.js index 8061ab95..87d5381b 100755 --- a/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/unit/js/main.js +++ b/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/unit/js/main.js @@ -478,7 +478,7 @@ https://github.com/TommyLemon/APIAuto/issues 如果是请求 APIJSON 后端服务,则使用以下链接: -https://github.com/Tencent/APIJSON/issues +https://github.com/APIJSON/APIJSON/issues There may be something wrong, you can follow by the steps: 1. Check whether the network connection is available, you can open the address with a browser: https://www.google.com/search?q=%22APIJSON%22 @@ -494,7 +494,7 @@ There may be something wrong, you can follow by the steps: https://github.com/TommyLemon/APIAuto/issues If you are requesting an APIJSON backend service, use the following link: -https://github.com/Tencent/APIJSON/issues +https://github.com/APIJSON/APIJSON/issues `; @@ -2252,7 +2252,7 @@ https://github.com/Tencent/APIJSON/issues if (this.isExportRemote == false) { //下载到本地 if (this.isTestCaseShow) { //文档 - saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\nBASE_URL: ' + this.getBaseUrl() + '\n\n\n## 测试用例(Markdown格式,可用工具预览) \n\n' + this.getDoc4TestCase() + '\n\n\n\n\n\n\n\n## 文档(Markdown格式,可用工具预览) \n\n' + doc @@ -2357,7 +2357,7 @@ https://github.com/Tencent/APIJSON/issues break; } - saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/Tencent/APIJSON' + saveTextAs('# ' + this.exTxt.name + '\n主页: https://github.com/APIJSON/APIJSON' + '\n\n\nURL: ' + StringUtil.get(vUrl.value) + '\n\n\nHeader:\n' + StringUtil.get(vHeader.value) + '\n\n\nRequest:\n' + StringUtil.get(vInput.value) @@ -6177,7 +6177,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea + '\nAPIJSON 中文文档: https://github.com/vincentCheng/apijson-doc ' + '\nAPIJSON 英文文档: https://github.com/ruoranw/APIJSONdocs ' + '\nAPIJSON 官方网站: https://github.com/APIJSON/apijson.cn ' - + '\nAPIJSON -Java版: https://github.com/Tencent/APIJSON ' + + '\nAPIJSON -Java版: https://github.com/APIJSON/APIJSON ' + '\nAPIJSON - C# 版: https://github.com/liaozb/APIJSON.NET ' + '\nAPIJSON - Go 版: https://github.com/glennliao/apijson-go ' + '\nAPIJSON - PHP版: https://github.com/kvnZero/hyperf-APIJSON ' @@ -6218,7 +6218,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea + '

关于

' + '

UnitAuto-零代码单元测试' + '
机器学习自动化测试、一键导入单元测试用例、自动生成复杂参数组合' - + '
由
UnitAuto-Admin(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + + '
由 UnitAuto-Admin(前端网页工具), APIJSON(后端接口服务) 等提供技术支持' + '
遵循 Apache-2.0 开源协议' + '
Copyright © 2020-' + new Date().getFullYear() + ' Tommy Lemon' + '
粤ICP备18005508号-1' @@ -9276,7 +9276,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea var testRecord = item.TestRecord = item.TestRecord || {} saveTextAs( - '# APIJSON自动化回归测试-前\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-前\n主页: https://github.com/APIJSON/APIJSON' + '\n\n方法名称: \n' + document.method + '\n返回结果: \n' + JSON.stringify(parseJSON(testRecord.response || '{}'), null, ' ') , '测试:' + document.method + '-前.txt' @@ -9291,7 +9291,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea setTimeout(function () { var tests = App.tests[String(App.currentAccountIndex)] || {} saveTextAs( - '# APIJSON自动化回归测试-后\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-后\n主页: https://github.com/APIJSON/APIJSON' + '\n\n方法名称: \n' + document.method + '\n返回结果: \n' + JSON.stringify(tests[document.id][isRandom ? random.id : 0] || {}, null, ' ') , '测试:' + document.method + '-后.txt' @@ -9301,7 +9301,7 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea if (StringUtil.isEmpty(testRecord.standard, true) == false) { setTimeout(function () { saveTextAs( - '# APIJSON自动化回归测试-标准\n主页: https://github.com/Tencent/APIJSON' + '# APIJSON自动化回归测试-标准\n主页: https://github.com/APIJSON/APIJSON' + '\n\n方法名称: \n' + document.method + '\n测试结果: \n' + JSON.stringify(testRecord.compare || '{}', null, ' ') + '\n测试标准: \n' + JSON.stringify(parseJSON(testRecord.standard || '{}'), null, ' ') diff --git a/README.md b/README.md index 36a88031..1a821be3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # APIJSON-Demo -[APIJSON](https://github.com/Tencent/APIJSON) 各种语言(Java, Swift, JavaScript, Python 等)、各种框架(SpringBoot, JFinal 等)、各种客户端(Web, Android, iOS 等) 的 使用示例项目、上手文档、测试数据 SQL 文件 等。
-Demo projects with document and SQL files for [APIJSON](https://github.com/Tencent/APIJSON) with different programming languages, different frameworks and different clients. +[APIJSON](https://github.com/APIJSON/APIJSON) 各种语言(Java, Swift, JavaScript, Python 等)、各种框架(SpringBoot, JFinal 等)、各种客户端(Web, Android, iOS 等) 的 使用示例项目、上手文档、测试数据 SQL 文件 等。
+Demo projects with document and SQL files for [APIJSON](https://github.com/APIJSON/APIJSON) with different programming languages, different frameworks and different clients.
@@ -15,8 +15,8 @@ Demo projects with document and SQL files for [APIJSON](https://github.com/Tence 可以跳过这个步骤,直接用 APIJSON 官网服务器地址 apijson.cn:8080 来测试接口。
You can skip this step and use 'apijson.cn:8080'.
-见  [APIJSON 后端上手 - Java](https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server)
-See https://github.com/APIJSON/APIJSON-Demo/blob/master/APIJSON-Java-Server/README-English.md
+见  [APIJSON 后端上手 - Java](/APIJSON-Java-Server)
+See [Java Server](/APIJSON-Java-Server/README-English.md)
#### 2.前端上手 @@ -25,8 +25,8 @@ See https://github.com/APIJSON/APIJSON-Demo/blob/master/APIJSON-Java-Server/READ 可以跳过这个步骤,直接使用 [APIAuto-机器学习 HTTP 接口工具](https://github.com/TommyLemon/APIAuto) 或 下载客户端 App。
You can skip this step and use [APIAuto](https://github.com/TommyLemon/APIAuto) or download App.
-见  [Android](https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Android)  或  [iOS](https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-iOS)  或  [JavaScript](https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-JavaScript)
-See [Android](https://github.com/APIJSON/APIJSON-Demo/blob/master/APIJSON-Android/README-English.md), [iOS](https://github.com/APIJSON/APIJSON-Demo/blob/master/APIJSON-iOS/README-English.md) or [JavaScript](https://github.com/APIJSON/APIJSON-Demo/blob/master/APIJSON-JavaScript/README-English.md)
+见  [Android](/APIJSON-Android)  或  [iOS](/APIJSON-iOS)  或  [JavaScript](/APIJSON-JavaScript)
+See [Android](/APIJSON-Android/README-English.md), [iOS](/APIJSON-iOS/README-English.md) or [JavaScript](/APIJSON-JavaScript/README-English.md)
#### 下载客户端 App #### Download App @@ -41,9 +41,9 @@ Complex production App like Twitter tweets


-有问题可以去 Tencent/APIJSON 提 issue
-If you have any question, please create a issue on Tencent/APIJSON
-https://github.com/Tencent/APIJSON/issues +有问题可以去 APIJSON 主项目提 issue
+If you have any question, please create a issue on the APIJSON core project
+https://github.com/APIJSON/APIJSON/issues ### 贡献者 ### Contributors @@ -51,3 +51,7 @@ https://github.com/Tencent/APIJSON/issues 2 个腾讯工程师、1 个字节跳动工程师、1 个平安科技工程师、Solon 框架作者 等,感谢大家的贡献~
2 Tencent engineers, 1 ByteDance engineer, 1 Ping An engineer、the author of Solon, etc. Thank you all~
https://github.com/APIJSON/APIJSON-Demo/graphs/contributors + +#### 创作不易、坚持更难,右上角点亮 ⭐Star 收藏/支持一下,谢谢 ^_^ +#### Please ⭐Star this project ^_^ +https://github.com/APIJSON/APIJSON-Demo