記錄搭建自己應用中心

記錄搭建自己應用中心

  • 應用架構
    • 主應用-管理中心
    • 系統文件系統
    • 子應用
  • 日志系統
    • 日志系統前端
    • 日志系統后端
  • 用戶系統
    • 接入使用
    • 暫未完成
  • 研發管理
    • 需求面板
    • 消息推送
    • 任務分配
    • 應用發布

應用架構

一直想做個試試,這是一個簡易版的,主要是整合下知識的,依賴包構建,微服務,微前端,等等。
目前是設計的這么多
在這里插入圖片描述

主應用-管理中心

主應用實現應用的管理。新建,logo,名稱等等。這里圖片換了資源,沒正常顯示。創建應用后,會獲取appId和登錄令牌。作為其他插件/依賴包的使用。
在這里插入圖片描述
目前只展示了用戶,后面計劃為,應用的分析,受歡迎頁面分析,來源分析,版本信息,迭代周期,以及應用告警等等。

系統文件系統

文件系統使用的是minio ,調用minio的簽署,獲取帶有時間的直傳鏈接,前端直接上傳。

子應用

所有的子應用由分支下的base分支基礎上開發。base分支完成了,除具體業務以外的功能,如登錄。所有子應用可單獨登錄,信息保持一致,因為統一id。

日志系統

日志系統 通過編寫依賴包的形式,實現應用快速接入。
目前的web依賴包為@dmhsq_monitor/web
后面可能會搞nodejs的

主要依賴下面三個包

在這里插入圖片描述
分別是核心庫,處理庫,工具庫。
使用rollup構建

處理庫是上報前的數據的一些處理,如
在這里插入圖片描述
在這里插入圖片描述
核心庫主要是 處理上報,初始化監控,停止監控,消息隊列處理,等等。
在這里插入圖片描述
使用腳步快速的構建和發布
在這里插入圖片描述

日志系統前端

構建一個微前端的子應用,處理當是微前端形式啟動的時候,隱藏菜單欄和頂部欄目,顯示的應用信息通過主應用的 共享過去。

if (window.__POWERED_BY_WUJIE__) {let app: any;window.__WUJIE_MOUNT = () => {app = createApp(App);app.use(ElementPlus);app.use(pinia);app.use(router);app.mount("#app");const globalStore = useGlobalStore();globalStore.$reset();nextTick(() => {if (window.$wujie) {const { token, userInfo, nowApp, appList } = window.$wujie.props;// xxxx 處理主應用共享的數據}});};window.__WUJIE_UNMOUNT = () => {app.unmount();};window.__WUJIE.mount();
}`

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
查看上報的數據

  monitor.report({type: 'custom',name: 'userAction',data: { action: 'buttonClick', page: 'home' },});

在這里插入圖片描述

日志系統后端

數據存在mongodb。由于需要任何地方都可以掉,所以對上報接口放通了跨域。
在這里插入圖片描述

數據定義。

import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { Document } from 'mongoose';export type AppLogDocument = AppLog & Document;@Schema()
export class AppLog {@Prop({ required: true })appId: string;@Prop({ default: Date.now })createdAt?: Date;@Prop({ default: Date.now })updatedAt?: Date;@Prop({ default: false })isRead?: boolean;@Prop({ required: true })type: string;@Prop({ required: true })name: string;@Prop({ required: true })day: string;@Prop({ required: true })timestamp: number;@Prop({ required: true })id: string;@Prop({ type: Object })data: any;@Prop({ type: Object })sdk: any;@Prop({ type: Object })device: any;@Prop({ required: true })ip: string;@Prop({ type: Object })browser;@Prop({ required: true })sessionId: string;
}export const AppLogSchema = SchemaFactory.createForClass(AppLog);AppLogSchema.index({ appId: 1, timestamp: 1, type: 1, day: 1, name: 1 });

在這里插入圖片描述

用戶系統

接入使用

快速的接入微信掃碼登錄。
使用依賴包,@dmhsq_app/vue

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

然后查詢登錄狀態,做輪詢。
在這里插入圖片描述

掃碼后會顯示具體的應用的logo的名稱,以及提示登錄。
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
換個賬號登錄。用戶的頭像默認和應用頭像一致。
在這里插入圖片描述
在這里插入圖片描述
這里的用戶會新增。

暫未完成

后端服務已經完成了,注銷,踢下線,暫時沒想到別的管理,用戶還是應該交由具體應用具體使用。后續用戶管理的依賴包,會整合后端服務,比如修改用戶信息,注銷,踢人下線等等。

研發管理

需求面板

還沒開始,主要是參考jira的設計,實現面板管理,拖動,消息推送。

消息推送

實現為調用應用設置的推送接口url。

任務分配

其實也是一個消息推送。

應用發布

結合面板,面板上線后,可選更新版本,大版本,迭代版本,補丁版本,來更新版本號。結合git來實現標簽tag的創建,方便回滾,應用發布分,構建,發布兩個步驟。工作流形式。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78343.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78343.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78343.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【網工第6版】第5章 網絡互聯⑦

目錄 ▲ 路由協議OSPF ◎ OSPF簡介 ◎ OSPF特點 本章重要程度:☆☆☆☆☆ ▲ 路由協議OSPF ◎ OSPF簡介 OSPF(Open Shortest Path First,開放式最短路徑優先協議)是目前應用最廣泛的路由協議。 OSPF是一種內部網關協議IGP,也是鏈路狀態路由協議&am…

5.3 Dify:低代碼平臺,適用于企業快速部署合規AI應用

Dify作為一款開源低代碼平臺,已成為企業快速構建和部署合規AI應用的首選工具。Dify通過整合后端即服務(Backend-as-a-Service, BaaS)、大型語言模型操作(LLMOps)以及直觀的視覺化界面,顯著降低了AI應用開發…

AI 編程工具:Augment Code

Meet Augment Agent: Your AI pair programmer that deeply understands your codebase, and learns as you work Augment 是開發人員AI平臺,它可以幫助您理解代碼、調試問題,并更快地發布,因為它了解您的代碼庫。使用聊天、Next Edit和Augme…

vc++ 如何調用poco庫

1. 下載并安裝 Poco 庫 你可以從 Poco 的官方網站(POCO C Libraries - Simplify C Development )下載其源代碼壓縮包。下載完成后,按照下面的步驟進行編譯和安裝: 解壓源代碼:把下載的壓縮包解壓到指定目錄。配置編譯…

淺談OpenAIClaude LLM Tools的額外配置

前言 https://platform.openai.com/docs/guides/function-calling?api-modechat&strict-modedisabled#additional-configurationshttps://docs.anthropic.com/en/docs/build-with-claude/tool-use/overview#forcing-tool-use tool_choice “none” 就是不用tools&#x…

SystemWeaver詳解:從入門到精通的深度實戰指南

SystemWeaver詳解:從入門到精通的深度實戰指南 文章目錄 SystemWeaver詳解:從入門到精通的深度實戰指南一、SystemWeaver環境搭建與基礎配置1.1 多平臺安裝全流程 二、新手必學的十大核心操作2.1 項目創建全流程2.2 建模工具箱深度解析 三、需求工程與系…

力扣DAY68 | 熱100 | 尋找兩個正序數組的中位數

前言 困難 ○ 這題搞了3天實在太難了,本質就是每次排除k/2個數,直到找到第k個數。 題目 給定兩個大小分別為 m 和 n 的正序(從小到大)數組 nums1 和 nums2。請你找出并返回這兩個正序數組的 中位數 。 算法的時間復雜度應該為…

Linux常見故障:排查思路與錯誤分析指南

引言 當Linux系統"生病"時,它不會說話但卻會通過各種癥狀"求救"🆘!本文將帶你建立系統化的故障排查思維,從磁盤到內存,從網絡到服務,全方位掌握Linux系統的"把脈問診"技巧。…

深度解析:從12306看混合云架構下的高并發系統設計

作為曾參與12306余票查詢系統高并發升級的技術從業者,筆者注意到公眾對于12306底層技術常存在認知盲區。為破解這一迷思,特此分享十年前的架構解密文獻(該技術之前名叫 gemfire 現已晉升為Apache頂級項目Geode,代碼庫詳見&#xf…

華為Pura X的智控鍵:讓折疊機體驗更上一層樓的設計

還記得Mate 70系列剛出那會,我體驗了下智控鍵,那時候就覺得這個“把快捷方式做進電源鍵”的交互方式非常驚艷,沒想到在Pura X上,這種便捷體驗感更上了一層樓。 智控鍵:折疊屏手機的天選快捷方式? 傳統折疊…

springboot如何管理多數據源?

靜態多數據源管理 配置多個數據源 :創建多個數據源的配置類,通常使用 @ConfigurationProperties 注解來綁定配置文件中的數據源屬性,并通過 @Bean 注解定義多個 DataSource Bean 。例如: 配置類: @Configuration public class DataSourceConfig {@Bean(name = "prima…

谷歌終止新冠疫情時期結構化數據支持:SEO影響與應對策略

2025年4月,谷歌悄然宣布將于7月31日起停止支持新冠疫情時期的“特殊公告”(SpecialAnnouncement)結構化數據。這一舉措標志著谷歌正式結束一項在疫情期間推出的實驗性功能,對依賴該結構化數據的網站管理員和SEO從業者來說&#xf…

常見游戲引擎介紹與對比

Unreal Engine (UE4/UE5) 主語言:C Unreal Engine 主要使用 C 作為開發語言。C 提供了高性能的底層控制,適用于需要精細調優的 AAA 級游戲。C 在 Unreal 中用于開發核心游戲邏輯、物理引擎等性能要求較高的部分。 腳本語言:藍圖(B…

【C++】繼承----下篇

文章目錄 前言一、實現一個不能繼承的類二、友元與繼承三、繼承與靜態成員四、多繼承以及菱形繼承問題1.繼承模型:2.菱形繼承的問題3.虛擬繼承解決數據冗余和二義性的原理4.虛擬繼承的原理 五、繼承的總結和反思1.繼承和組合 總結 前言 各位好呀!今天呢我們接著講繼…

洛谷 B3647:【模板】Floyd 算法

【題目來源】 https://www.luogu.com.cn/problem/B3647 【題目描述】 給出一張由 n 個點 m 條邊組成的無向圖。 求出所有點對 (i,j) 之間的最短路徑。 【輸入格式】 第一行為兩個整數 n,m,分別代表點的個數和邊的條數。 接下來 m 行,每行三…

netlist

在電子設計自動化(EDA)中,網表(Netlist) 是描述電路設計連接關系的核心數據結構,本質上是電路元件(如邏輯門、晶體管、模塊)及其互連關系的 文本化或結構化表示。它是從抽象設計&…

Cadence學習筆記之---原理圖設計基本操作

目錄 01 | 引 言 02 | 環境描述 03 | 原理圖工具介紹 04 | 原理圖設計基本操作 05 | 生成頁間引用 06 | 元件自動編號 07 | 結 尾 01 | 引 言 書接上回,在前文中講述了怎樣制作常用的庫元件,如電阻、二極管,IC器件,以及怎…

【華為HCIP | 華為數通工程師】821—多選解析—第十七頁

多選835、IS-IS協議所使用的NSAP地址主要由哪幾個部分構成? A、AREA ID B、SEL C、DSCp D、SYSTEM ID 解析:NSAP地址:網絡服務訪問點(Network Service Access Point)是 OSI 協議中用于定位資源的地址。NSAP 的地址結構如圖所示,它由 IDP(Initial Domain …

Linux系統中命令設定臨時IP

1.查看ip ---ifconfig 進入指定的網絡接口 ifconfig ens160 建立服務器臨時IP ifconfig ens160 ip地址 network 系統進行重啟后,臨時IP將會消失 ip address add ip地址 dev 服務器 ---添加臨時ip ip address delete ip地址 dev 服務器 ---刪除臨時ip 設置ip&a…

深度學習之卷積神經網絡入門

一、引言 在深度學習蓬勃發展的今天,卷積神經網絡(Convolutional Neural Network,簡稱 CNN)憑借其在圖像識別、計算機視覺等領域的卓越表現,成為了人工智能領域的核心技術之一。從手寫數字識別到復雜的醫學影像分析&a…