狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Sdcb Chats 開發(fā)指南

freeflydom
2024年12月16日 9:55 本文熱度 433

歡迎使用 Chats!在我上一篇博客 https://www.cnblogs.com/sdcb/p/18597030/sdcb-chats-intro 中,我介紹了 Chats 的各種功能,但所有功能都是用代碼一行一行寫出來的。

在這個(gè)指南中,我將幫助您快速上手開發(fā),了解如何在開發(fā)階段使用和配置 Chats 項(xiàng)目。Chats 在開發(fā)階段采用前后端分離的模式,但在生產(chǎn)環(huán)境中前后端會(huì)合并為一個(gè)發(fā)布包。

技術(shù)基礎(chǔ)

  • 后端: 使用 C#/ASP.NET Core 開發(fā)。

  • 前端: 使用 Next.js/React/TypeScript 開發(fā)。

  • CSS: 使用 Tailwind CSS。

環(huán)境需求

  • Git

  • .NET SDK 8.0

  • Node.js >= 20

  • Visual Studio Code

  • Visual Studio 2022(可選但推薦)

獲取代碼

首先,克隆 Chats 的代碼倉庫:

git clone https://github.com/sdcb/chats.git

前后端共同開發(fā)

后端開發(fā)指南

  1. 使用 Visual Studio 打開解決方案:

    在根目錄下找到 chats/Chats.sln 解決方案文件并打開。在 Visual Studio 中,您將看到一個(gè)名為 Chats.BE 的網(wǎng)站項(xiàng)目。

  2. 運(yùn)行項(xiàng)目:

    • 按 F5 運(yùn)行項(xiàng)目。默認(rèn)配置會(huì)檢查 SQLite 數(shù)據(jù)庫文件 chats.db 是否存在,如果不存在,會(huì)自動(dòng)創(chuàng)建在 ./AppData 目錄并初始化數(shù)據(jù)庫。

    • 服務(wù)將在 http://localhost:5146 上運(yùn)行,并提供 API 服務(wù)。如果在開發(fā)模式下運(yùn)行 (ASPNETCORE_ENVIRONMENT=Development),Swagger UI 將在 http://localhost:5146/swagger 上可用。

  3. 配置文件說明:

    默認(rèn)配置在 appsettings.json 中,但強(qiáng)烈建議使用 userSecrets.json 管理敏感信息。這可以避免在代碼庫中泄露敏感的開發(fā)配置。

    默認(rèn)配置結(jié)構(gòu)如下:

    {
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft.AspNetCore": "Warning"
        }
      },
      "AllowedHosts": "*",
      "FE_URL": "http://localhost:3001",
      "ENCRYPTION_PASSWORD": "this is used for encrypt auto increment int id, please set as a random string.",
      "DBType": "sqlite",
      "ConnectionStrings": {
        "ChatsDB": "Data Source=./AppData/chats.db"
      }}

    配置選項(xiàng)解釋:

    為什么使用整數(shù)+加密而非 GUID?

    在 Chats 項(xiàng)目初期,我們確實(shí)是使用的GUID,但是由于下列2個(gè)原因并經(jīng)過慎重考慮,我換成了自增整數(shù)Id:

    管理敏感配置:

    不建議在 appsettings.json 中直接修改配置項(xiàng)。可以通過 Visual Studio 使用 userSecrets.json

    這可以避免在提交代碼時(shí)不小心將敏感信息上傳。

    • Visual Studio: 右鍵點(diǎn)擊 Chats.BE 項(xiàng)目 -> 管理用戶機(jī)密

    • CLI: 使用以下命令管理用戶機(jī)密。

      dotnet user-secrets init
      dotnet user-secrets set "key" "value"dotnet user-secrets list
    • GUID 字段較大,占用更多空間;

    • GUID 作為聚集索引會(huì)導(dǎo)致索引碎片,影響性能;

    • Logging: 管理日志級(jí)別,默認(rèn)記錄信息級(jí)別的日志。

    • AllowedHosts: 配置允許訪問的主機(jī)名,* 表示接受所有。

    • FE_URL: 前端的URL,默認(rèn)指向 http://localhost:3001。前端可以通過 CORS 跨域訪問后端。默認(rèn)3000端口無需額外配置。

    • DBType: 數(shù)據(jù)庫類型,支持 sqlite(默認(rèn))、mssql 和 postgresql

    • ConnectionStrings:ChatsDB: 數(shù)據(jù)庫 ADO.NET 連接字符串,隨 DBType 而變。

    • ENCRYPTION_PASSWORD: 用于加密自增 ID。生產(chǎn)環(huán)境中應(yīng)設(shè)置為隨機(jī)字符串,避免直接暴露 ID。

  4. 不使用 Visual Studio 的運(yùn)行方式:

    進(jìn)入后端目錄:

    cd ./chats/src/BE
    dotnet run

前端開發(fā)指南

  1. 進(jìn)入前端目錄:

    cd ./chats/src/FE
  2. 創(chuàng)建 .env.local 文件并指定后端 URL:

    echo "API_URL=http://localhost:5146" > .env.local
  3. 安裝依賴并運(yùn)行開發(fā)服務(wù)器:

    npm i
    npm run dev

運(yùn)行后,前端服務(wù)將監(jiān)聽 http://localhost:3000。后端已有 CORS 配置支持無需額外配置。

僅前端開發(fā)

對(duì)于專注于前端開發(fā)的場(chǎng)景,我們提供了一個(gè)已經(jīng)部署好的后端開發(fā)環(huán)境:

  1. 克隆倉庫:

    git clone https://github.com/sdcb/chats.git
  2. 進(jìn)入前端目錄并指定遠(yuǎn)程后端:

    cd ./chats/src/FEecho "API_URL=https://chats-dev.starworks.cc:88" > .env.local

    這個(gè)環(huán)境已經(jīng)默認(rèn)允許了 http://localhost:3000 這個(gè)地址的跨域訪問行為。

  3. 安裝依賴并運(yùn)行:

    npm i
    npm run dev

注意事項(xiàng)

如果想模擬生產(chǎn)打包過程,請(qǐng)執(zhí)行:

npm run build

此命令會(huì)在當(dāng)前目錄生成 ./out 文件夾,其中包含所有必要的靜態(tài)文件。

僅后端開發(fā)

對(duì)于專注于后端開發(fā)的場(chǎng)景,可以使用打包好的前端文件:

  1. 克隆倉庫并進(jìn)入后端目錄:

    git clone https://github.com/sdcb/chats.gitcd ./chats/src/BE
  2. 下載并解壓前端靜態(tài)文件放置到 wwwroot

    Linux 下執(zhí)行:

    curl -O https://github.com/sdcb/chats/releases/latest/download/chats-fe.zip
    unzip chats-fe.zipcp -r chats-fe/* wwwroot/

    Windows 下執(zhí)行:

    Invoke-WebRequest -Uri "https://github.com/sdcb/chats/releases/latest/download/chats-fe.zip" -OutFile "chats-fe.zip"Expand-Archive -Path "chats-fe.zip" -DestinationPath "."Copy-Item -Path ".\chats-fe\*" -Destination ".\wwwroot" -Recurse -Force

    注意

    1. 我同時(shí)還將上述的 https://github.com/sdcb/chats/releases/latest/download/chats-fe.zip 地址上傳到了我個(gè)人的 Minio 文件服務(wù)器,地址為:https://io.starworks.cc:88/chats/latest/chats-fe.zip

      如果您直接從 Github 上下載速度太慢,可以換成這個(gè)地址。

    2. 這個(gè)地址對(duì)應(yīng)的 chats-fe.zip 附件是由 Github Actions 在代碼合入 main 分支時(shí)自動(dòng)生成來而,合入 dev 分支時(shí)并不會(huì)觸發(fā)更新這個(gè)文件。

  3. 運(yùn)行后端:

    dotnet run

    或者在 Visual Studio 中打開 Chats.sln 并運(yùn)行 Chats.BE 項(xiàng)目。

運(yùn)行后,訪問 http://localhost:5146/login 可以直接進(jìn)入 Chats 的登錄界面,實(shí)現(xiàn)前后端不分離的部署模式。

希望此指南可以幫助您順利開展 Chats 項(xiàng)目的開發(fā)工作。如有任何問題,請(qǐng)查看源碼中的文檔或在 https://github.com/sdcb/chats 中創(chuàng)建issue來獲得支持。

轉(zhuǎn)自https://www.cnblogs.com/sdcb/p/18604712/chats-development-instruction


該文章在 2024/12/16 9:55:20 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved