From 3b03f87a02458f719e2eb4bf112a13441b427d14 Mon Sep 17 00:00:00 2001
From: ‘chensiAb’ <‘chenchenco03@163.com’>
Date: Tue, 25 Mar 2025 13:54:34 +0800
Subject: [PATCH] Merge branch 'master' of ssh://dev.zhiheiot.com:29418/mob-components

---
 _cursor.ai/rules/fit-base-fetcher.mdc |   66 +++++++++++++++------------------
 1 files changed, 30 insertions(+), 36 deletions(-)

diff --git "a/_cursor.ai/201-\350\257\267\346\261\202\345\261\202\345\237\272\347\261\273Fetcher.md" b/_cursor.ai/rules/fit-base-fetcher.mdc
similarity index 78%
rename from "_cursor.ai/201-\350\257\267\346\261\202\345\261\202\345\237\272\347\261\273Fetcher.md"
rename to _cursor.ai/rules/fit-base-fetcher.mdc
index 5166145..20ee33f 100644
--- "a/_cursor.ai/201-\350\257\267\346\261\202\345\261\202\345\237\272\347\261\273Fetcher.md"
+++ b/_cursor.ai/rules/fit-base-fetcher.mdc
@@ -1,25 +1,10 @@
-# 请求层基类 Fetcher.js
+---
+description: 数据控制器基类,所有数据控制器都必须继承此类
+globs: 
+alwaysApply: false
+---
 
-- [请求层基类 Fetcher.js](#请求层基类-fetcherjs)
-  - [功能说明](#功能说明)
-  - [引用方法](#引用方法)
-  - [构造函数](#构造函数)
-  - [主要方法](#主要方法)
-    - [`spellURL(devSuffix, serSuffix)`](#spellurldevsuffix-sersuffix)
-    - [`get(url, data, options)`](#geturl-data-options)
-    - [`post(url, data, options)`](#posturl-data-options)
-    - [`query(type, url, data, options)`](#querytype-url-data-options)
-    - [`stringToCamel(str)`](#stringtocamelstr)
-    - [`stringToUnderline(str)`](#stringtounderlinestr)
-    - [`transKeyName(type, json)`](#transkeynametype-json)
-  - [请求的 options 配置](#请求的-options-配置)
-    - [`hostType` 主机类型](#hosttype-主机类型)
-    - [`silence` 静音请求](#silence-静音请求)
-  - [响应处理](#响应处理)
-    - [处理流程](#处理流程)
-    - [前端统一响应数据格式](#前端统一响应数据格式)
-    - [前端统一响应状态码](#前端统一响应状态码)
-  - [请求调用](#请求调用)
+# 请求层基类 Fetcher.js
 
 ## 功能说明
 
@@ -29,15 +14,14 @@
 ## 引用方法
 
 ```js
-import {
-    Fetcher
-} from '@components/bases/Fetcher';
+import { Fetcher } from '@components/bases/Fetcher';
 ```
 
 ## 构造函数
 
-构造函数接受一个配置对象 options 作为参数,包含如下属性:
-* **urlPrefix** 数组,包含两项,第一项为本地 Mock 的 URL 前缀,第二项为服务器接口的前缀
+构造函数接受一个配置对象作为参数,包含如下属性:
+
+- **urlPrefix** 数组,包含两项,第一项为本地 Mock 的 URL 前缀,第二项为服务器接口的前缀
 
 ```js
 class FCommon extends Fetcher {
@@ -133,7 +117,7 @@
 - `type` (String):请求类型(如 `'get'`、`'post'`)
 - `url` (String):请求的 URL 地址
 - `data` (Object,可选):请求参数
-- `options` (Object,可选):请求配置
+- `options` (Object,可选):请求配置(参照下文)
 
 **返回值**  
 - (Promise):返回请求结果的 Promise
@@ -195,7 +179,7 @@
 **注意事项**  
 - 支持嵌套对象的递归转换
 
-## 请求的 options 配置
+## 请求 query 的 options 配置
 
 ### `hostType` 主机类型
 
@@ -277,7 +261,7 @@
 }
 ```
 
-注意,为了保证接口数据的扩展性,data 只能接 Object 类型,禁止接其他类型
+注意,为了保证接口数据的扩展性,**data 只能接 Object 类型**,禁止接其他类型
 
 ### 前端统一响应状态码
 
@@ -294,23 +278,31 @@
 ```js
 import { Fetcher } from '@components/bases/Fetcher';
 
-class FCommon extends Fetcher {}
+// 请求集
+class FCommon extends Fetcher {
+    
+    getUserInfo(user) {
+        const url = this.spellURL('getUserInfo', 'User/info');
+        const send = {..user};
+        return this.post(url, send);
+    }
+
+}
 
 // 全局单例
 export const $fetchCommon = new FCommon();
 ```
 
 ```js
-import {
-    $fetchCommon
-} from '@fetchers/FCommon';
+import { $fetchCommon } from '@fetchers/FCommon';
 
-export class PPageName extends Pilot {
+// 数据控制器
+export class PUserDetail extends Pilot {
 
-    // 在数据控制层中,发请求示例
     onLoadUserInfo() {
         Taro.showLoading();
-        $fetchCommon.getUserInfo(this.userId)
+        // 调用请求集发请求示例
+        $fetchCommon.getUserInfo({uid: this.userId})
             .then(res => {
                 Taro.hideLoading();
                 if (!res) {
@@ -322,3 +314,5 @@
 
 }
 ```
+
+

--
Gitblit v1.9.1