From 0344bea488eb043de9e87e4d277beca77901b0c7 Mon Sep 17 00:00:00 2001
From: Kings <963987632@qq.com>
Date: Thu, 30 Nov 2023 18:54:05 +0800
Subject: [PATCH] 2023.2.3
---
docs/.vuepress/config.ts | 8 +-
.../baidu_verify_codeva-OWrPlOc2wg.html | 2 +-
docs/.vuepress/theme.ts | 20 +--
docs/en/guide/features/README.md | 2 +-
.../features/markdownDocTemplateConfig.md | 68 +++++----
docs/en/guide/features/postmanSync.md | 15 +-
docs/en/guide/history.md | 8 +-
docs/en/guide/whatsnew.md | 3 +-
docs/guide/features/README.md | 2 +-
.../features/markdownDocTemplateConfig.md | 132 +++++++++---------
docs/guide/features/postmanSync.md | 13 ++
docs/guide/history.md | 8 +-
docs/guide/whatsnew.md | 5 +-
weichartGroup.png | Bin 112137 -> 0 bytes
14 files changed, 154 insertions(+), 132 deletions(-)
delete mode 100644 weichartGroup.png
diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts
index 74569ae42..d456203d6 100644
--- a/docs/.vuepress/config.ts
+++ b/docs/.vuepress/config.ts
@@ -18,7 +18,7 @@ export default defineUserConfig({
href: "/img/fastRequest.svg",
},
],
- ["script", { src: "//at.alicdn.com/t/c/font_2601581_sern1eshb.js" }],
+ ["script", { src: "//at.alicdn.com/t/c/font_2601581_144d8yxi3ht.js" }],
["script", { src: "/js/baidu.js" }],
// ["script", { src: "https://cdn.wwads.cn/js/makemoney.js" }],
],
@@ -64,9 +64,9 @@ export default defineUserConfig({
},
},
}),
- sitemapPlugin({
- hostname: "https://api-buddy.cn",
- }),
+ sitemapPlugin({
+ hostname: "https://api-buddy.cn",
+ }),
],
pagePatterns: ["**/*.md", "!*.snippet.md", "!.vuepress", "!node_modules"],
diff --git a/docs/.vuepress/public/baidu_verify_codeva-OWrPlOc2wg.html b/docs/.vuepress/public/baidu_verify_codeva-OWrPlOc2wg.html
index 9e315702d..2949d3dee 100644
--- a/docs/.vuepress/public/baidu_verify_codeva-OWrPlOc2wg.html
+++ b/docs/.vuepress/public/baidu_verify_codeva-OWrPlOc2wg.html
@@ -1 +1 @@
-10ffbdc05854598c3624fb8df88be459
\ No newline at end of file
+10ffbdc05854598c3624fb8df88be459
diff --git a/docs/.vuepress/theme.ts b/docs/.vuepress/theme.ts
index 949245167..67c0fe9b2 100644
--- a/docs/.vuepress/theme.ts
+++ b/docs/.vuepress/theme.ts
@@ -20,7 +20,7 @@ export default hopeTheme(
darkmode: "enable",
- iconAssets: "//at.alicdn.com/t/c/font_2601581_dhvis4jtn7m.css",
+ iconAssets: "//at.alicdn.com/t/c/font_2601581_144d8yxi3ht.css",
locales: {
"/": {
@@ -55,33 +55,33 @@ export default hopeTheme(
notice: [
{
path: "/",
- title: "将在2023.2.2推出",
+ title: "将在2023.2.3推出",
content:
- '
',
+ '- API同步至Postman
- Environment重构
',
actions: [
{
text: "了解详情→",
- link: "/guide/history.html#_2023-2-2",
+ link: "/guide/history.html#_2023-2-3",
type: "primary",
},
],
showOnce: false,
- key: "2023.2.2",
+ key: "2023.2.3",
},
{
path: "/en",
- title: "Coming in 2023.2.2",
+ title: "Coming in 2023.2.3",
content:
- '- Markdown doc template config
- JSON5 support
',
+ '- Sync API to Postman
- Environment refactoring
',
actions: [
{
text: "Learn more→",
- link: "/en/guide/history.html#_2023-2-2",
+ link: "/en/guide/history.html#_2023-2-3",
type: "primary",
},
],
showOnce: true,
- key: "2023.2.2",
+ key: "2023.2.3",
},
],
},
@@ -107,5 +107,5 @@ export default hopeTheme(
},
},
},
- { custom: true }
+ { custom: true },
);
diff --git a/docs/en/guide/features/README.md b/docs/en/guide/features/README.md
index 59c3677c5..6490e50c0 100644
--- a/docs/en/guide/features/README.md
+++ b/docs/en/guide/features/README.md
@@ -26,7 +26,7 @@ The icon in the document corresponds to the button icon in the plugin
- [ Save API group](./apiGroup.md)
- [ Temporary request](./tempRequest.md)
- [ Re generate](./regenerate.md)
-- [ Postman sync](./postmanSync.md)
+- [ Postman sync](./postmanSync.md)
- [ Clear](./clear.md)
- [ cURL import](./curlImport.md)
- [ cURL copy](./copyCurl.md)
diff --git a/docs/en/guide/features/markdownDocTemplateConfig.md b/docs/en/guide/features/markdownDocTemplateConfig.md
index 550dd787e..1ee96b429 100644
--- a/docs/en/guide/features/markdownDocTemplateConfig.md
+++ b/docs/en/guide/features/markdownDocTemplateConfig.md
@@ -14,7 +14,7 @@ Provides a custom format for local markdown and [Online API](./apiDocSync.md) do
### Content variable
| Key | Parameter type | Description |
-|:-----------------------|:------------------------------|:-------------------------------------------------------------------------------------------------------------------|
+| :--------------------- | :---------------------------- | :----------------------------------------------------------------------------------------------------------------- |
| url | String | Final url |
| originUrl | String | Origin url, contains the name of the original path variable |
| namingPolicy | String | API namingPolicy, fixed value[1.byMethodName:by java method name 2.byDoc:by JavaDoc or Swagger method description] |
@@ -34,7 +34,7 @@ Provides a custom format for local markdown and [Online API](./apiDocSync.md) do
### Syntax variables
| Key | Description |
-|:----|:----------------|
+| :-- | :-------------- |
| H1 | Markdown # |
| H2 | Markdown ## |
| H3 | Markdown ### |
@@ -47,7 +47,7 @@ Provides a custom format for local markdown and [Online API](./apiDocSync.md) do
### Header
| Key | Parameter type | Description |
-|:--------|:---------------|:----------------|
+| :------ | :------------- | :-------------- |
| enabled | Boolean | Enable flag |
| type | String | Key of Header |
| value | String | Value of Header |
@@ -55,7 +55,7 @@ Provides a custom format for local markdown and [Online API](./apiDocSync.md) do
### KeyValue
| Key | Parameter type | Description |
-|:--------|:---------------|:-----------------------------------------------------------------|
+| :------ | :------------- | :--------------------------------------------------------------- |
| enabled | Boolean | Enable flag |
| key | String | Parameter key |
| type | String | Parameter type, fixed value [Object Array String Number Boolean] |
@@ -64,98 +64,96 @@ Provides a custom format for local markdown and [Online API](./apiDocSync.md) do
## Default template
-```velocity
+````velocity
#if (${namingPolicy}=='byDoc')
$H1 ${methodDescription}
#else
$H1 $!{methodName}
-
+
$H3 Method description
-
+
```
$!{methodDescription}
```
#end
-
+
> URL: $!{url}
>
> Origin Url: $!{originUrl}
>
> Type: $!{methodType}
-
-
+
+
$H3 Request headers
-
+
|Header Name| Header Value|
|---------|------|
#foreach( $h in ${headerList})
|$h.type|$h.value|
#end
-
+
$H3 Parameters
-
+
$H5 Path parameters
-
+
| Parameter | Type | Value | Description |
|---------|------|------|------------|
#foreach( $node in ${pathKeyValueList})
|$node.key|$!{node.type}|$!{node.value}|$!{node.comment}|
#end
-
-
+
+
$H5 URL parameters
-
+
|Required| Parameter | Type | Value | Description |
|---------|---------|------|------|------------|
#foreach( $node in ${urlParamsKeyValueList})
|$!{node.enabled}|$!{node.key}|$!{node.type}|$!{node.value}|$!{node.comment}|
#end
-
-
+
+
$H5 Body parameters
-
+
$H6 JSON
-
+
```
${jsonParam}
```
-
+
$H6 JSON document
-
+
```
${jsonParamDocument}
```
-
-
+
+
$H5 Form URL-Encoded
|Required| Parameter | Type | Value | Description |
|---------|---------|------|------|------------|
#foreach( $node in ${urlEncodedKeyValueList})
|$!{node.enabled}|$!{node.key}|$!{node.type}|$!{node.value}|$!{node.comment}|
#end
-
-
+
+
$H5 Multipart
|Required | Parameter | Type | Value | Description |
|---------|---------|------|------|------------|
#foreach( $node in ${multipartKeyValueList})
|$!{node.enabled}|$!{node.key}|$!{node.type}|$!{node.value}|$!{node.comment}|
#end
-
-
+
+
$H3 Response
-
+
$H5 Response example
-
+
```
$!{responseExample}
```
-
+
$H5 Response document
```
$!{returnDocument}
```
-```
-
-
+````
diff --git a/docs/en/guide/features/postmanSync.md b/docs/en/guide/features/postmanSync.md
index a1efad552..f39903da2 100644
--- a/docs/en/guide/features/postmanSync.md
+++ b/docs/en/guide/features/postmanSync.md
@@ -5,9 +5,12 @@ Version required:
::: tip
To improve the data synchronized to postman, it is recommended to select `sync after api save` option in the postman config of the plugin
then trigger the synchronization by save the api.
+
+It is also recommended to use this function to synchronize the API instead of exporting
:::
## Api key
+
API key is used to perform manual actions using the Postman Online API. These actions include **creating collections**, **creating directories**, **creating requests**, and more.
Open [https://postman.co/settings/me/api-keys](https://postman.co/settings/me/api-keys) and login, and then generate an API key. It is recommended to create an API key without an expiration date.
@@ -18,7 +21,6 @@ Open [https://postman.co/settings/me/api-keys](https://postman.co/settings/me/ap
The Workspace ID is the identifier for a Postman workspace. There are 2 strategies to create a workspace.
-
1. Create one workspace for each project.(Recommended)
2. Create one workspace to represent a company, and use different collections to represent different projects within the company.
@@ -39,6 +41,7 @@ The Workspace ID is the identifier for a Postman workspace. There are 2 strategi
![workspaceInfo](/img/2023.2.3/workspaceInfo.png)
## Initial value & Current value
+
Variable in Environment contains **Initial value** and **Current value**,**Initial value** is shared with your team,but **Current value** only store in your local.
Request will finally use **Current value**.
@@ -46,14 +49,22 @@ Request will finally use **Current value**.
So, if the environment values are updated in the plugin and sync successfully to Postman,
when executing a request, Postman will not immediately use the synchronized values.
-Instead, you will need to manually replace the values in the environment tab
+Instead, you will need to manually replace the values in the environment tab
or perform a complete replacement by clicking on "Reset All".
![workspaceInfo](/img/2023.2.3/resetEnvironmentValue.png)
## Pre and Post script
+
Due to language differences, the plugin does not synchronize pre-request and post-request scripts.
Therefore, when using the plugin, it is recommended to write common scripts in the [project-level config](./projectValueConfig.md).
This way, after synchronizing with Postman, you only need to write pre-request and post-request scripts at the collection level in Postman.
![postmanScript](/img/2023.2.3/postmanScript.png)
+
+## Note
+
+1. It is recommended to check the option "Sync to Postman after saving". If not checked, you need to save manually before triggering and then click on the Sync button.
+2. For teamwork, if multiple identical collections appear in the same workspace, you only need to manually replace the collection ID in the configuration with one of them.
+3. For teamwork, if multiple identical folders appear in the same collection, you can use the `pmFolderId` property in the `.fastRequest/collections/ROOT/moduleName/className/directory.json` file from one of them.
+4. For teamwork, if the same API exists twice in Postman, you can ensure consistency by modifying the `pmRequestId` and `pmResponseId` of one of the data. You can use [ Navigate current method stored data](./navigateCurrentMethodJson.md) to locate the stored file. The best way is to use Git to manage and commit the `rapi` files to keep the underlying storage data consistent.
diff --git a/docs/en/guide/history.md b/docs/en/guide/history.md
index 2b926051b..5ed2da478 100644
--- a/docs/en/guide/history.md
+++ b/docs/en/guide/history.md
@@ -31,28 +31,30 @@ and some plug-in versions are rendering components under specific systems (such
:::
## 2023.2.3
+
-
-
::: tip Sync API to Postman
You only need to configure the token of Postman and the ID of the workspace to upload the API to Postman.Enjoy what fast request do not support.
-To improve the data synchronized to postman, it is recommended to select `sync after api save` option in the postman config of the plugin
+To improve the data synchronized to postman, it is recommended to select `sync after api save` option in the postman config of the plugin
then trigger the synchronization by save the api.
More details please refer [Postman sync](./features/postmanSync.md)
:::
:::info Environment refactoring
-Environment contains Current value and Initial value. Initial value can be shared by submitting config fine in `.fastRequest/config/fastRequestCurrentProjectEnvironment.json`.
+Environment contains Current value and Initial value. Initial value can be shared by submitting config fine in `.fastRequest/config/fastRequestCurrentProjectEnvironment.json`.
![environment](/img/2023.2.3/environment_en.png)
:::
## 2023.2.2
+
-
-
--
+-
-
::: tip Markdown doc template config
diff --git a/docs/en/guide/whatsnew.md b/docs/en/guide/whatsnew.md
index 267229465..b5b0e036a 100644
--- a/docs/en/guide/whatsnew.md
+++ b/docs/en/guide/whatsnew.md
@@ -28,17 +28,18 @@ Because developing version is still in development, the documentation of develop
[**More detail ---------------->**](./history.md)
## 2023.2.3
+
-
-
## 2023.2.2
+
-
-
-
-
-
-
## 2023.2.1.1
-
diff --git a/docs/guide/features/README.md b/docs/guide/features/README.md
index 7ac74fd6b..d5ddb75e3 100644
--- a/docs/guide/features/README.md
+++ b/docs/guide/features/README.md
@@ -25,7 +25,7 @@ icon: featuresNew
- [ 保存请求](./saveRequest.md)
- [ API 分组保存](./apiGroup.md)
- [ 临时请求](./tempRequest.md)
-- [ Postman同步](./postmanSync.md)
+- [ Postman同步](./postmanSync.md)
- [ 重新生成请求](./regenerate.md)
- [ 清除](./clear.md)
- [ cURL 导入](./curlImport.md)
diff --git a/docs/guide/features/markdownDocTemplateConfig.md b/docs/guide/features/markdownDocTemplateConfig.md
index 7e0f3caa3..9d491f5d5 100644
--- a/docs/guide/features/markdownDocTemplateConfig.md
+++ b/docs/guide/features/markdownDocTemplateConfig.md
@@ -13,149 +13,147 @@
### 内容变量
-| 变量 | 参数类型 | 说明 |
-|:-----------------------|:------------------------------|:--------------------------------------------------------------|
-| url | String | 最终url |
-| originUrl | String | 原始url,包含路径原值变量名 |
+| 变量 | 参数类型 | 说明 |
+| :--------------------- | :---------------------------- | :-------------------------------------------------------------------------------- |
+| url | String | 最终url |
+| originUrl | String | 原始url,包含路径原值变量名 |
| namingPolicy | String | 命名策略,固定值[1.byMethodName:根据方法名 2.byDoc:根据JavaDoc或者Swagger方法描述] |
-| methodName | String | Java方法名 |
-| methodDescription | String | 方法描述,来源javadoc或者Swagger方法描述 |
-| methodType | String | 方法类型,例如Get,Post,Put,Delete,Patch |
-| headerList | List\<[Header](#header)\> | 头参数 |
-| pathKeyValueList | List\<[KeyValue](#keyvalue)\> | Url路径参数 |
-| urlParamsKeyValueList | List\<[KeyValue](#keyvalue)\> | Url Query参数 |
-| multipartKeyValueList | List\<[KeyValue](#keyvalue)\> | Multipart参数 |
-| urlEncodedKeyValueList | List\<[KeyValue](#keyvalue)\> | Form Url-Encoded参数 |
-| jsonParam | String | Json参数 |
-| jsonParamDocument | String | Json参数文档 |
-| responseExample | String | 响应 |
-| returnDocument | String | 响应参数文档 |
+| methodName | String | Java方法名 |
+| methodDescription | String | 方法描述,来源javadoc或者Swagger方法描述 |
+| methodType | String | 方法类型,例如Get,Post,Put,Delete,Patch |
+| headerList | List\<[Header](#header)\> | 头参数 |
+| pathKeyValueList | List\<[KeyValue](#keyvalue)\> | Url路径参数 |
+| urlParamsKeyValueList | List\<[KeyValue](#keyvalue)\> | Url Query参数 |
+| multipartKeyValueList | List\<[KeyValue](#keyvalue)\> | Multipart参数 |
+| urlEncodedKeyValueList | List\<[KeyValue](#keyvalue)\> | Form Url-Encoded参数 |
+| jsonParam | String | Json参数 |
+| jsonParamDocument | String | Json参数文档 |
+| responseExample | String | 响应 |
+| returnDocument | String | 响应参数文档 |
### 语法变量
-| 变量 | 说明 |
-|:---|:----------------|
-| H1 | Markdown # |
-| H2 | Markdown ## |
-| H3 | Markdown ### |
-| H4 | Markdown #### |
-| H5 | Markdown ##### |
-| H6 | Markdown ###### |
+| 变量 | 说明 |
+| :--- | :-------------- |
+| H1 | Markdown # |
+| H2 | Markdown ## |
+| H3 | Markdown ### |
+| H4 | Markdown #### |
+| H5 | Markdown ##### |
+| H6 | Markdown ###### |
## 参数类型
### Header
-| 变量 | 参数类型 | 说明 |
-|:--------|:--------|:--------------|
-| enabled | Boolean | 是否启用 |
-| type | String | Header的key值 |
-| value | String | Header的value值 |
+| 变量 | 参数类型 | 说明 |
+| :------ | :------- | :-------------- |
+| enabled | Boolean | 是否启用 |
+| type | String | Header的key值 |
+| value | String | Header的value值 |
### KeyValue
-| 变量 | 参数类型 | 说明 |
-|:--------|:--------|:----------------------------------------------|
-| enabled | Boolean | 是否启用 |
-| key | String | 参数Key |
-| type | String | 参数类型,固定格式[Object Array String Number Boolean] |
-| value | Object | 参数Value |
-| comment | String | 参数备注 |
+| 变量 | 参数类型 | 说明 |
+| :------ | :------- | :---------------------------------------------------- |
+| enabled | Boolean | 是否启用 |
+| key | String | 参数Key |
+| type | String | 参数类型,固定格式[Object Array String Number Boolean] |
+| value | Object | 参数Value |
+| comment | String | 参数备注 |
## 默认模板
-```velocity
+````velocity
#if (${namingPolicy}=='byDoc')
$H1 ${methodDescription}
#else
$H1 $!{methodName}
-
+
$H3 Method description
-
+
```
$!{methodDescription}
```
#end
-
+
> URL: $!{url}
>
> Origin Url: $!{originUrl}
>
> Type: $!{methodType}
-
-
+
+
$H3 Request headers
-
+
|Header Name| Header Value|
|---------|------|
#foreach( $h in ${headerList})
|$h.type|$h.value|
#end
-
+
$H3 Parameters
-
+
$H5 Path parameters
-
+
| Parameter | Type | Value | Description |
|---------|------|------|------------|
#foreach( $node in ${pathKeyValueList})
|$node.key|$!{node.type}|$!{node.value}|$!{node.comment}|
#end
-
-
+
+
$H5 URL parameters
-
+
|Required| Parameter | Type | Value | Description |
|---------|---------|------|------|------------|
#foreach( $node in ${urlParamsKeyValueList})
|$!{node.enabled}|$!{node.key}|$!{node.type}|$!{node.value}|$!{node.comment}|
#end
-
-
+
+
$H5 Body parameters
-
+
$H6 JSON
-
+
```
${jsonParam}
```
-
+
$H6 JSON document
-
+
```
${jsonParamDocument}
```
-
-
+
+
$H5 Form URL-Encoded
|Required| Parameter | Type | Value | Description |
|---------|---------|------|------|------------|
#foreach( $node in ${urlEncodedKeyValueList})
|$!{node.enabled}|$!{node.key}|$!{node.type}|$!{node.value}|$!{node.comment}|
#end
-
-
+
+
$H5 Multipart
|Required | Parameter | Type | Value | Description |
|---------|---------|------|------|------------|
#foreach( $node in ${multipartKeyValueList})
|$!{node.enabled}|$!{node.key}|$!{node.type}|$!{node.value}|$!{node.comment}|
#end
-
-
+
+
$H3 Response
-
+
$H5 Response example
-
+
```
$!{responseExample}
```
-
+
$H5 Response document
```
$!{returnDocument}
```
-```
-
-
+````
diff --git a/docs/guide/features/postmanSync.md b/docs/guide/features/postmanSync.md
index aa33cce88..a6c01f2a1 100644
--- a/docs/guide/features/postmanSync.md
+++ b/docs/guide/features/postmanSync.md
@@ -5,9 +5,12 @@
:::tip
由于历史原因,历史保存的持久化数据丢失了一部分字段,为了能够将同步至postman的数据更完善,
建议在插件postman配置中勾上`保存后同步`postman选项,通过保存操作来触发同步.
+
+同时推荐使用该功能来同步api而不是导出
:::
## Api key
+
Api key 用于使用 Postman 在线 API 执行一些手工行为.例如**创建Collection**、**创建目录**、**创建 Request** 等行为.
打开 [https://postman.co/settings/me/api-keys](https://postman.co/settings/me/api-keys) 并登录,并执行创建.注意最好是创建一个没有有效期的Api key.
@@ -15,6 +18,7 @@ Api key 用于使用 Postman 在线 API 执行一些手工行为.例如**创建C
![postmanApiKey](/img/2023.2.3/postmanApiKey.png)
## WorkspaceId
+
Workspace id 是 Postman 工作空间的Id. 有2中策略来创建Workspace
1. 每个项目来区分创建1个Workspace(推荐)
@@ -37,6 +41,7 @@ c.复制得到Workspace id
![workspaceInfo](/img/2023.2.3/workspaceInfo.png)
## Initial value 与 Current value
+
Environment 中变量的值包含 **Initial value** 和 **Current value**,**Initial value**是云端共享的,与之对应的**Current value**仅保留在本地.
Postman中实际Request使用的是**Current value**.
@@ -48,7 +53,15 @@ Postman中实际Request使用的是**Current value**.
![workspaceInfo](/img/2023.2.3/resetEnvironmentValue.png)
## 前后置脚本
+
因为语言的不同,插件并不会同步前后置脚本.所以在使用插件的时候最好把一些共用的脚本写在[项目级别配置](./projectValueConfig.md)中的前后置脚本,这样子也只需要在同步到Postman以后,
在Postman中的Collection级别下写前后置脚本.
![postmanScript](/img/2023.2.3/postmanScript.png)
+
+## 注意事项
+
+1. 推荐勾选保存后即同步到Postman,如果没有勾选,则在手动触发的时候需要先保存,再点击同步
+2. 多方协作,如果发现同一个workspace出现多个相同的collection,只需使用其中一方的collection id在配置中手动替换即可
+3. 多方协作,如果发现同一个collection出现多个相同的folder,只需使用其中一方的`.fastRequest/collections/ROOT/模块名/类名/directory.json`中的`pmFolderId`属性即可
+4. 多方协作,如果发现同一个api在postman上有2份,则可以通过修改其中一份数据的`pmRequestId`和`pmResponseId`来是他们保持统一,可以通过[ 导航当前方法存储数据](./navigateCurrentMethodJson.md)来定位存储的文件.最好的方式是通过git管理提交`rapi`文件使api底层存储数据保持一致
diff --git a/docs/guide/history.md b/docs/guide/history.md
index a84ade395..0c0580bef 100644
--- a/docs/guide/history.md
+++ b/docs/guide/history.md
@@ -30,6 +30,7 @@ feat:
:::
## 2023.2.3
+
-
-
@@ -50,15 +51,13 @@ Initial value可以通过提交 `.fastRequest/config/fastRequestCurrentProjectEn
![environment](/img/2023.2.3/environment.png)
:::
-
-
## 2023.2.2
+
-
-
--
+-
-
-
::: tip Markdown文档模板配置
提供了导出文档和[Api在线文档](./features/apiDocSync.md)的自定义格式实现.查看[更多详情](./features/markdownDocTemplateConfig.md)
:::
@@ -69,7 +68,6 @@ Initial value可以通过提交 `.fastRequest/config/fastRequestCurrentProjectEn
![json5](/img/2023.2.2/json5.png)
:::
-
## 2023.2.1.1
-
diff --git a/docs/guide/whatsnew.md b/docs/guide/whatsnew.md
index d40a028ec..d7c9a4c20 100644
--- a/docs/guide/whatsnew.md
+++ b/docs/guide/whatsnew.md
@@ -28,16 +28,17 @@ feat:
[**务必查看变更详情----------------->**](./history.md)
## 2023.2.3
+
-
-
## 2023.2.2
+
-
-
--
+-
-
-
## 2023.2.1.1
-
diff --git a/weichartGroup.png b/weichartGroup.png
deleted file mode 100644
index a8de78ced7d9286cbccd877c2d9b407f59e5fa5f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 112137
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