PCB CS架構(工程系統)實現單點登入方法

2022-02-10 13:39:01 字數 3026 閱讀 6431

社會的不斷進步發展,分工也越來越細了.而我們工作接觸的範圍也越來越狹小了,但這不是倒退了,而是分工之細讓人們在各個方面深耕細作。pcb企業軟體系統發展路線同樣也如此,隨著我們pcb企業發展不斷壯大,軟體系統也在不斷細分。目的只有乙個,讓專業的事情交給專業的系統去做。回想當初起公司用必有德erp,乙個erp能搞定pcb所有業務,從前端銷售管理(銷售訂單,合同評審,客戶資料管理),再到制前工程(mi資料,ecn,開料,鑽孔,排版) ,接著到生產管理(lot卡,投料,過數,mrb報廢),再到品質管理(來料檢查,入庫檢查,出庫檢查,提共大量統計報表,不良原因分析,iqc報表)等等。在當時確實是牛x的,但公司是向前不斷發展, 業務也變得越來越複雜多變,必有德erp無法支撐企業發展步伐啊,最終選擇放棄了。必有德erp的原功能模組被分解到各個新系統中去了。目前pcb企業管理系統被細分為9個系統:

有這麼多系統 ,每套系統都有自己獨立的使用者與許可權管理,那問題就來了。假如:乙個人如果擁有4個系統使用者許可權帳號,那麼這個使用者需要來來回回在4個系統都輸入一次帳號密碼。這樣使用者體驗肯定是差的。 為了得到改善,oa系統發起單點登入專案,oa作為統一使用者資料來源,使用者經過oa統一驗證 ,達到登入oa系統後,通過oa系統能直接啟動並進入其它系統主介面的目的。這裡介紹cs架構(工程系統)實現單點登入方法,即用網頁啟對本地exe的方法。

一.在本機註冊urlprotocol協議

1.手動登錄檔增加urlprotocol協議

可以執行regedit, 在hkey_classes_root節點按下圖操作:(eds名稱可以自己定)

1.增加協放名:eds           

2.預設值改為:url: eds protocol handler

3.增加名稱:url protocol   

資料值為:啟動的exe路徑

4.在command節點,預設資料改為:「啟動的exe路徑」 + 「%1」

2.**方式增加urlprotocol協議

///

///註冊協議

/// ///

根節點 ///

應用程式路徑

///應用程式開啟圖示,可選值

///public

else

//呼出處理程式

registrykey reg_command = reg_sjbs.createsubkey("

shell

").createsubkey("

open

").createsubkey("

command");

//%1 表示傳遞的引數,再次%1表示呼叫處顯示鏈結文字

reg_command.setvalue("", "

\"\" \"%1\"");

}return

true

; }

catch

finally

}

介面:

二.exe客戶端**修改

1.將main入口args引數(帳號密碼)傳給login登入視窗,用於接受瀏覽器傳入工廠,帳號,密碼等引數

2.更改環境變數的當前目錄按如下更改,

static

void main(string

args)

三.瀏覽器網頁開啟

本機網頁測試:引數改為登入系統的帳號密碼,即可點選標籤位址實現啟動本機exe並登入主介面.

在oa系統端使用:使用者登入到oa系統,可通過oa系統的使用者名稱與密碼,並加密後放在href位址中;使用者點選標籤位址即可開啟本地exe

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

meta

name

="author"

content

="name"

>

<

title

>啟動eds

title

>

<

style

>

style

>

head

>

<

body

>

<

a href

="eds://###factory###username###password###"

>啟動eds

a>

<

script

>

script

>

body

>

html

>

四.在本機刪除urlprotocol協議

1.登錄檔方式刪除urlprotocol協議  

執行regedit,如下hkey_classes_root節點下,找到需要刪除協義名

2.**方式刪除urlprotocol協議

///

///刪除協議

/// ///

根節點 ///

public

bool regeditdelete(string

root_key)

return

false

; }

catch

finally

}

介面:

RCP工程系統托盤功能

在開發rcp工程過程中,有時候在最小化視窗的時候希望將視窗託管在系統欄。新增 如下 public void postwindowopen private void hookminimize final iworkbenchwindow window trayitem.addlistener swt....

網路工程系統整合模型

在該模型的第一步,即使用者需求分析階段中,設計者將重點考慮使用者的需求 約束和目標。因為乙個好的網路設計者必須清楚使用者需求,並且將這些需求轉換為商業和技術目標,如可用性 可擴充套件性 可購買性 安全性和可管理性等。該過程包括明晰部門和使用者組的結構,明確網路將向誰提供服務,並從何處獲取有用資訊。如...

單點系統架構的優化

明明架構要求高可用,為何系統中還會存在單點?回答 單點master的設計,會大大簡化系統設計,何況有時候避免不了單點 在哪些場景中會存在單點?先來看一下乙個典型網際網路高可用架構。典型網際網路高可用架構 2 負載均衡層,nginx是整個服務端的入口,負責反向 與負載均衡工作 3 站點層,web se...