From d01295c254063b3349a86a4474e04a62b284bd19 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 24 三月 2026 16:26:07 +0800
Subject: [PATCH] 一些配置
---
Code/WCS/CLAUDE.md | 183 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 183 insertions(+), 0 deletions(-)
diff --git a/Code/WCS/CLAUDE.md b/Code/WCS/CLAUDE.md
new file mode 100644
index 0000000..19fe0e5
--- /dev/null
+++ b/Code/WCS/CLAUDE.md
@@ -0,0 +1,183 @@
+# CLAUDE.md
+
+鏈枃浠朵负 Claude Code (claude.ai/code) 鍦ㄦ浠g爜搴撲腑宸ヤ綔鏃舵彁渚涙寚瀵笺��
+
+## 椤圭洰姒傝堪
+
+杩欐槸涓�涓� **WCS锛堜粨搴撴帶鍒剁郴缁燂級** - 閯編鏂拌兘婧愪粨搴撴帶鍒剁郴缁燂紝鍖呭惈锛�
+
+- **WIDESEAWCS_Client** - Vue 3 鍓嶇搴旂敤锛圗lement Plus UI锛�
+- **WIDESEAWCS_Server** - ASP.NET Core 6.0 鍚庣 API 鏈嶅姟鍣�
+
+绯荤粺绠$悊鑷姩鍖栦粨搴撲綔涓氾紝鍖呮嫭鍫嗗灈鏈恒�佽緭閫佺嚎銆佺┛姊溅鍜屾満姊版墜鐨勭墿鏂欐惉杩愪换鍔★紙缁勭洏銆佹崲鐩樸�佹媶鐩橈級銆�
+
+---
+
+## 甯哥敤鍛戒护
+
+### 鍓嶇 (WIDESEAWCS_Client)
+
+```bash
+# 瀹夎渚濊禆锛堝湪 Client 鐩綍涓級
+cd WIDESEAWCS_Client
+npm install
+
+# 寮�鍙戞湇鍔″櫒
+npm run serve
+
+# 鐢熶骇鏋勫缓
+npm run build
+
+# 浠g爜妫�鏌�
+npm run lint
+```
+
+**Node.js 18+ 娉ㄦ剰浜嬮」**锛氬鏋� `npm run serve` 鍥� OpenSSL 閿欒澶辫触锛宍package.json` 鑴氭湰宸插寘鍚� `SET NODE_OPTIONS=--openssl-legacy-provider` 瑙e喅鏂规銆�
+
+### 鍚庣 (WIDESEAWCS_Server)
+
+```bash
+# 鏋勫缓鏁翠釜瑙e喅鏂规
+cd WIDESEAWCS_Server
+dotnet build WIDESEAWCS_Server.sln
+
+# 杩愯鏈嶅姟鍣�
+dotnet run --project WIDESEAWCS_Server
+
+# 杩愯娴嬭瘯
+dotnet test WIDESEAWCS_Tests
+```
+
+**鏈嶅姟鍣ㄧ鍙�**锛欰PI 杩愯鍦� `http://*:9292`锛堝彲鍦� `appsettings.json` 涓厤缃級
+
+---
+
+## 鏋舵瀯
+
+### 鍓嶇鏋舵瀯 (Vue 3)
+
+**鎶�鏈爤**锛�
+- Vue 3 + Vite
+- Element Plus UI 妗嗘灦
+- Vue Router锛坔ash 妯″紡锛�
+- Vuex 鐘舵�佺鐞�
+- Axios HTTP 璇锋眰
+- SignalR 瀹炴椂閫氫俊锛堝彲閫夛級
+
+**鍏抽敭鐩綍**锛�
+- `src/views/` - 椤甸潰缁勪欢锛圚ome銆丩ogin銆乻ystem銆乥asicinfo銆乼askinfo銆乧harts锛�
+- `src/components/basic/` - 鍙鐢ㄧ粍浠讹紝鍖呮嫭 `ViewGrid`锛堟暟鎹〃鏍肩粍浠讹級
+- `src/api/` - HTTP 瀹㈡埛绔紙`http.js`锛夛紝甯︿护鐗岀鐞嗗拰鎷︽埅鍣�
+- `src/router/` - 璺敱瀹氫箟锛屽甫韬唤楠岃瘉瀹堝崼
+- `src/store/` - Vuex 瀛樺偍锛岀敤浜庣敤鎴蜂俊鎭拰鏉冮檺
+- `src/uitils/` - 宸ュ叿鍑芥暟
+
+**HTTP 瀹㈡埛绔�** (`src/api/http.js`)锛�
+- 鍩虹 URL 榛樿鍊硷細寮�鍙戠幆澧冿紙`http://127.0.0.1:9292/`锛夈�佺敓浜х幆澧冿紙`http://115.159.85.185:9292/`锛�
+- 鑷姩鍖呭惈 `Authorization: Bearer {token}` 璇锋眰澶�
+- 鏀跺埌 `wideseawcs_exp` 鍝嶅簲澶存椂鑷姩鍒锋柊浠ょ墝
+- 401 鑷姩閲嶅畾鍚戝埌鐧诲綍椤�
+- 瀵煎嚭鏂规硶锛歚post()`銆乣get()`銆乣download()`銆乣ajax()`
+
+**鍏ㄥ眬灞炴��**锛堝湪 `main.js` 涓寕杞斤級锛�
+- `this.$http` - HTTP 瀹㈡埛绔�
+- `this.base` - 閫氱敤宸ュ叿
+- `this.permission` - 鏉冮檺妫�鏌�
+- `this.$global` - 鍏ㄥ眬閰嶇疆锛圫ignalR 鍚敤鏍囧織銆佽〃鏍兼爣绛炬樉绀猴級
+
+### 鍚庣鏋舵瀯 (ASP.NET Core)
+
+**鎶�鏈爤**锛�
+- ASP.NET Core 6.0 Web API
+- Autofac DI锛屼娇鐢� `IDependency` 鏍囪鎺ュ彛瀹炵幇鑷姩娉ㄥ唽
+- Quartz.NET 瀹氭椂浠诲姟锛堣澶囬�氫俊寰幆锛�
+- SqlSugar ORM 鏁版嵁搴撹闂�
+- Redis锛堥�氳繃 `WIDESEAWCS_RedisService` 瀹炵幇 L1+L2 娣峰悎缂撳瓨锛�
+- TCP Socket 鏈嶅姟鍣紙绔彛 2000锛夌敤浜庡疄鏃惰澶囬�氫俊
+- HslCommunication 搴撶敤浜� PLC/纭欢閫氫俊
+
+**椤圭洰缁撴瀯**锛�
+```
+WIDESEAWCS_Server/ # 涓� API 鏈嶅姟鍣�
+WIDESEAWCS_Core/ # 鏍稿績鍩虹璁炬柦锛氬熀绫汇�丏I銆佹墿灞曘�佷腑闂翠欢
+WIDESEAWCS_Model/ # 鏁版嵁妯″瀷鍜� DTO
+WIDESEAWCS_Communicator/ # 纭欢閫氫俊椹卞姩锛堣タ闂ㄥ瓙銆佹濮嗛緳銆丮odbus 绛夛級
+WIDESEAWCS_QuartzJob/ # 浠诲姟璋冨害鍩虹璁炬柦鍜岃澶囨娊璞�
+WIDESEAWCS_Tasks/ # Quartz 浠诲姟瀹炵幇锛堣澶囬�氫俊寰幆锛�
+WIDESEAWCS_RedisService/ # Redis 鏈嶅姟锛氱紦瀛樸�侀攣銆佽鏁板櫒銆佸彂甯冭闃�
+WIDESEAWCS_*Repository/ # 鏁版嵁璁块棶灞傚疄鐜�
+WIDESEAWCS_*Service/ # 涓氬姟鏈嶅姟灞�
+WIDESEAWCS_Tests/ # 鍗曞厓娴嬭瘯
+```
+
+**渚濊禆娉ㄥ叆妯″紡**锛�
+- 瀹炵幇 `IDependency` 鏍囪鎺ュ彛鐨勬湇鍔$敱 Autofac **鑷姩娉ㄥ唽**
+- 浣嶄簬 `AutofacModuleRegister` 涓壂鎻忔墍鏈夌▼搴忛泦
+- 娣诲姞鍓嶄娇鐢� `services.Remove()` 瑕嗙洊鐜版湁娉ㄥ唽
+
+**缂撳瓨灞�** (`ICacheService`)锛�
+- L1锛堝唴瀛橈級+ L2锛圧edis锛夋贩鍚堢紦瀛�
+- 瀹炵幇锛歚MemoryCacheService`銆乣RedisCacheService`銆乣HybridCacheService`
+- 甯哥敤鏂规硶锛歚Add`銆乣Get<T>`銆乣Remove`銆乣RemoveByPrefix`銆乣GetOrAdd<T>`
+
+**璁惧閫氫俊**锛�
+- 浠诲姟缁ф壙 `JobBase` 骞跺疄鐜� `IJob`
+- 璁惧绫诲瀷锛歚IStackerCrane`锛堝爢鍨涙満锛夈�乣IConveyorLine`锛堣緭閫佺嚎锛夈�乣IShuttleCar`锛堢┛姊溅锛夈�乣IRobot`锛堟満姊版墜锛�
+- 閫氫俊鍣細`SiemensS7Communicator`銆乣OmronEtherNetCommunicator`銆乣ModbusTcpCommunicator`銆乣SerialPortCommunicator`
+- TCP Socket 鏈嶅姟鍣紙绔彛 2000锛夌敱 `SocketServerHostedService` 绠$悊
+
+---
+
+## 鍏抽敭闆嗘垚鐐�
+
+### 绯荤粺闆嗘垚 URL (BaseAPI 甯搁噺)
+- WMS锛歚http://localhost:9291/api/`
+- WCS锛堟湰鏈嶅姟鍣級锛歚http://localhost:9292/api/`
+- MES锛歚http://localhost:9293/api/`
+- ERP锛歚http://localhost:9294/api/`
+
+### 鏈烘鎵嬮�氫俊绯荤粺
+鏈烘鎵嬫帶鍒剁殑妯″潡鍖栨灦鏋勶細
+- `RobotClientManager` - TCP 瀹㈡埛绔繛鎺ョ鐞�
+- `RobotStateManager` - 绾跨▼瀹夊叏鐨勬満姊版墜鐘舵�佺紦瀛�
+- `RobotMessageHandler` - TCP 娑堟伅瑙f瀽
+- `RobotTaskProcessor` - 浠诲姟鎵ц鍜岀姸鎬佽浆鎹�
+- 浠诲姟绫诲瀷锛歚GroupPallet (500)` 缁勭洏銆乣ChangePallet (510)` 鎹㈢洏銆乣SplitPallet (520)` 鎷嗙洏
+
+### 閰嶇疆 (appsettings.json)
+鍏抽敭璁剧疆锛�
+- `"urls": "http://*:9292"` - 鏈嶅姟鍣ㄧ鍙�
+- `"QuartzJobAutoStart": true` - 鑷姩鍚姩瀹氭椂浠诲姟
+- `"SocketServer:Enabled": true` - 鍚敤 TCP 鏈嶅姟鍣�
+- `"RedisConfig:Enabled": true` - 鍚敤 Redis 缂撳瓨
+- `"DBType": "SqlServer"` - 鏁版嵁搴撶被鍨�
+
+---
+
+## 寮�鍙戞寚鍗�
+
+### 娣诲姞鏂板姛鑳�
+
+**鍚庣**锛�
+1. 鍦� `WIDESEAWCS_IService/` 涓垱寤烘湇鍔℃帴鍙�
+2. 鍦� `WIDESEAWCS_Service/` 涓垱寤烘湇鍔″疄鐜帮紝瀹炵幇 `IDependency`
+3. 鍦� `WIDESEAWCS_Tasks/` 涓垱寤轰换鍔★紝缁ф壙 `JobBase` 鍜� `IJob`
+4. 鍦� `WIDESEAWCS_QuartzJob/Device/` 涓坊鍔犺澶囩被鍨�
+
+**鍓嶇**锛�
+1. 鍦� `src/views/` 涓坊鍔犺鍥�
+2. 鍦� `src/router/index.js` 涓坊鍔犺矾鐢�
+3. 浣跨敤 `$http.post()` 鍜� `$http.get()` 杩涜 API 璋冪敤
+4. 浣跨敤 `ViewGrid` 缁勪欢鏄剧ず鏁版嵁琛ㄦ牸
+
+### 浠g爜椋庢牸
+- **C#**锛氱被鍨�/鏂规硶/灞炴�т娇鐢� PascalCase锛屽眬閮ㄥ彉閲�/鍙傛暟浣跨敤 camelCase銆�4 绌烘牸缂╄繘锛屽ぇ鎷彿鎹㈣銆�
+- **JavaScript/Vue**锛氶伒寰幇鏈夋ā寮忥紝鏂扮粍浠朵娇鐢� Vue 3 Composition API
+- **娉ㄩ噴**锛氫负鏂板/淇敼鐨勪唬鐮佹坊鍔犺缁嗙殑涓枃娉ㄩ噴锛堟柟娉曠洰鐨勩�佸弬鏁般�佽繑鍥炲�笺�侀�愯璇存槑銆佸紓甯稿鐞嗭級
+
+### 閲嶈璇存槑
+- 鍚庣浣跨敤 **CamelCase** JSON 搴忓垪鍖�
+- 鎵�鏈夋湇鍔¢�氳繃 Autofac 榛樿浣跨敤 **scoped** 鐢熷懡鍛ㄦ湡
+- Redis 杩炴帴鍦ㄩ娆¤闂椂寤惰繜鍒濆鍖�
+- 鍦ㄤ换鍔′腑浣跨敤 `ConsoleHelper.WriteSuccessLine()` / `WriteErrorLine()` 杩涜鎺у埗鍙拌緭鍑�
+- TCP Socket 鏈嶅姟鍣ㄧ嫭绔嬩簬 HTTP API 杩愯
--
Gitblit v1.9.3