基于 SpringBoot+VueJS 助農生鮮銷售系統設計與實現7000字論文實現

摘要

本論文設計并實現了一個基于 SpringBoot 和 VueJS 的助農生鮮銷售系統。系統采用前后端分離架構,前端使用 VueJS 框架實現用戶界面,后端使用 SpringBoot 框架構建服務,通過 MyBatis 實現數據持久化。系統實現了農產品展示、在線購物、訂單管理、支付結算、物流跟蹤、農戶管理等功能,為農戶和消費者之間搭建了一個便捷的生鮮銷售平臺。實驗結果表明,該系統能夠有效解決農產品銷售難的問題,提高農戶收入,促進農村經濟發展。

1 引言

1.1 研究背景與意義

隨著互聯網技術的快速發展和電子商務的普及,網絡購物已經成為人們日常生活中不可或缺的一部分。生鮮農產品作為人們日常生活的必需品,其在線銷售市場也呈現出快速增長的態勢。然而,目前我國生鮮農產品電商發展仍面臨一些問題,如農產品標準化程度低、物流配送難度大、品牌建設不足等。特別是在農村地區,由于信息不對稱、銷售渠道有限等原因,農產品滯銷現象時有發生,給農戶帶來了巨大的經濟損失。

因此,開發一個基于 SpringBoot 和 VueJS 的助農生鮮銷售系統具有重要的現實意義。該系統可以為農戶和消費者之間搭建一個便捷的生鮮銷售平臺,解決農產品銷售難的問題,提高農戶收入,促進農村經濟發展。同時,系統還可以提高生鮮農產品的標準化程度和品牌建設水平,推動我國生鮮農產品電商行業的健康發展。

1.2 國內外研究現狀

在國外,生鮮電商發展已經相對成熟。許多國際知名電商平臺,如亞馬遜、沃爾瑪等,都已經開展了生鮮電商業務。這些平臺利用先進的信息技術和物流配送體系,為消費者提供了便捷、高效的生鮮購物體驗。同時,國外的生鮮電商平臺還注重農產品的標準化和品牌建設,通過嚴格的質量控制和品牌營銷,提高了農產品的附加值和市場競爭力。

在國內,生鮮電商市場也呈現出快速增長的態勢。許多國內知名電商平臺,如淘寶、京東、拼多多等,都已經開展了生鮮電商業務。同時,一些專注于生鮮電商的平臺,如盒馬鮮生、每日優鮮、美團買菜等,也在市場上取得了一定的成績。然而,目前我國生鮮電商發展仍面臨一些問題,如農產品標準化程度低、物流配送難度大、品牌建設不足等。特別是在農村地區,由于信息不對稱、銷售渠道有限等原因,農產品滯銷現象時有發生,給農戶帶來了巨大的經濟損失。

1.3 研究內容與方法

本論文的研究內容主要包括以下幾個方面:

  1. 助農生鮮銷售系統的需求分析,包括功能需求、性能需求和安全需求。
  2. 系統的總體設計,包括架構設計、功能模塊設計和數據庫設計。
  3. 系統的詳細設計與實現,包括前端設計與實現、后端設計與實現、數據庫設計與實現等。
  4. 系統的測試與優化,包括功能測試、性能測試和用戶體驗測試等。
  5. 系統的部署與應用,包括系統的部署環境、部署流程和應用效果等。

本論文采用的研究方法主要包括以下幾種:

  1. 文獻研究法:通過查閱相關文獻,了解國內外生鮮電商發展現狀和趨勢,為系統的設計和實現提供理論支持。
  2. 需求分析法:通過問卷調查、用戶訪談等方式,了解農戶和消費者對助農生鮮銷售系統的需求和期望,為系統的功能設計提供依據。
  3. 系統設計法:采用面向對象的設計方法,對系統進行總體設計和詳細設計,確保系統的可擴展性和可維護性。
  4. 實驗研究法:通過實際測試和實驗,驗證系統的功能和性能,對系統進行優化和改進。

2 系統需求分析

2.1 功能需求

基于 SpringBoot+VueJS 的助農生鮮銷售系統的功能需求主要包括以下幾個方面:

  1. 用戶管理:支持用戶注冊、登錄、個人信息管理等功能,包括農戶用戶和消費者用戶。
  2. 農產品管理:支持農戶上傳農產品信息,包括農產品名稱、圖片、價格、描述、產地等,支持農產品的編輯和刪除。
  3. 購物車管理:支持消費者將感興趣的農產品加入購物車,支持購物車中農產品的數量修改和刪除。
  4. 訂單管理:支持消費者創建訂單、支付訂單、查看訂單詳情和訂單狀態,支持農戶查看訂單、處理訂單和發貨。
  5. 支付結算:支持多種支付方式,如微信支付、支付寶等,支持訂單的支付和退款。
  6. 物流跟蹤:支持消費者查看訂單的物流狀態和物流信息。
  7. 評價管理:支持消費者對購買的農產品進行評價,支持農戶查看和回復評價。
  8. 農戶管理:支持管理員對農戶信息進行審核和管理,包括農戶的基本信息、資質信息等。
  9. 數據分析:支持管理員對系統的運營數據進行分析,包括銷售額、銷售量、用戶數量等。

2.2 性能需求

基于 SpringBoot+VueJS 的助農生鮮銷售系統的性能需求主要包括以下幾個方面:

  1. 響應時間:系統的平均響應時間應不超過 3 秒,最大響應時間應不超過 10 秒。
  2. 并發用戶數:系統應支持至少 1000 個并發用戶同時在線操作。
  3. 數據處理能力:系統應能夠高效處理大量的農產品信息、訂單信息和用戶信息,保證數據的實時性和準確性。
  4. 系統可用性:系統的可用性應不低于 99.9%,保證系統在大部分時間內都能正常運行。

2.3 安全需求

基于 SpringBoot+VueJS 的助農生鮮銷售系統的安全需求主要包括以下幾個方面:

  1. 用戶信息安全:保護用戶的個人信息和賬戶信息不被泄露,采用加密技術對用戶密碼和敏感數據進行加密存儲。
  2. 數據傳輸安全:保證用戶在進行數據傳輸時的安全性,采用 HTTPS 協議進行數據傳輸,防止數據被竊取和篡改。
  3. 支付安全:保證用戶在進行支付時的安全性,采用安全的支付接口和加密技術,防止用戶支付信息被泄露和盜用。
  4. 防攻擊:采用防火墻、入侵檢測等技術,防止系統被惡意攻擊和入侵。

3 系統總體設計

3.1 系統架構設計

基于 SpringBoot+VueJS 的助農生鮮銷售系統采用前后端分離的架構設計,主要包括以下幾個層次:

  1. 前端展示層:負責與用戶進行交互,展示系統的用戶界面,接收用戶的輸入和操作。前端采用 VueJS 框架實現,使用 ElementUI 組件庫提高開發效率。
  2. 后端服務層:負責處理業務邏輯,提供 API 接口供前端調用。后端采用 SpringBoot 框架實現,使用 Spring Security 實現用戶認證和授權,使用 MyBatis 實現數據持久化。
  3. 數據存儲層:負責存儲系統的數據,包括用戶信息、農產品信息、訂單信息、物流信息等。數據存儲層采用 MySQL 數據庫和 Redis 緩存相結合的方式,提高系統的數據訪問效率。
  4. 中間件層:負責提供系統的基礎服務,包括消息隊列、緩存、文件存儲等。中間件層采用 RabbitMQ 消息隊列、Redis 緩存和 MinIO 文件存儲系統。

系統架構圖如下所示:

3.2 功能模塊設計

基于 SpringBoot+VueJS 的助農生鮮銷售系統的功能模塊設計如下:

  1. 用戶管理模塊:負責用戶的注冊、登錄、個人信息管理等功能,包括農戶用戶和消費者用戶。
  2. 農產品管理模塊:負責農產品信息的上傳、編輯、刪除等功能,包括農產品名稱、圖片、價格、描述、產地等。
  3. 購物車管理模塊:負責購物車的管理,包括添加商品、修改數量、刪除商品等功能。
  4. 訂單管理模塊:負責訂單的創建、支付、發貨、收貨等功能,包括訂單狀態的跟蹤和管理。
  5. 支付結算模塊:負責訂單的支付和退款功能,支持多種支付方式,如微信支付、支付寶等。
  6. 物流跟蹤模塊:負責訂單的物流狀態和物流信息的查詢和展示。
  7. 評價管理模塊:負責消費者對購買的農產品進行評價,以及農戶對評價的回復和管理。
  8. 農戶管理模塊:負責農戶信息的審核和管理,包括農戶的基本信息、資質信息等。
  9. 數據分析模塊:負責對系統的運營數據進行分析,包括銷售額、銷售量、用戶數量等。

3.3 數據庫設計

基于 SpringBoot+VueJS 的助農生鮮銷售系統的數據庫設計主要包括以下幾個表:

  1. 用戶表(user):存儲用戶的基本信息,包括用戶 ID、用戶名、密碼、郵箱、手機號、用戶類型等字段。

sql

CREATE TABLE `user` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用戶ID',`username` varchar(50) NOT NULL COMMENT '用戶名',`password` varchar(100) NOT NULL COMMENT '密碼',`email` varchar(50) DEFAULT NULL COMMENT '郵箱',`phone` varchar(20) DEFAULT NULL COMMENT '手機號',`user_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '用戶類型(1:消費者,2:農戶,3:管理員)',`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '狀態(0:禁用,1:啟用)',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',PRIMARY KEY (`id`),UNIQUE KEY `idx_username` (`username`),UNIQUE KEY `idx_email` (`email`),UNIQUE KEY `idx_phone` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用戶表';

  1. 農戶表(farmer):存儲農戶的基本信息,包括農戶 ID、用戶 ID、真實姓名、身份證號、身份證圖片、營業執照號、營業執照圖片、銀行賬戶等字段。

sql

CREATE TABLE `farmer` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '農戶ID',`user_id` bigint(20) NOT NULL COMMENT '用戶ID',`real_name` varchar(50) NOT NULL COMMENT '真實姓名',`id_card` varchar(20) NOT NULL COMMENT '身份證號',`id_card_front` varchar(255) NOT NULL COMMENT '身份證正面圖片',`id_card_back` varchar(255) NOT NULL COMMENT '身份證背面圖片',`business_license` varchar(50) DEFAULT NULL COMMENT '營業執照號',`business_license_img` varchar(255) DEFAULT NULL COMMENT '營業執照圖片',`bank_account` varchar(50) NOT NULL COMMENT '銀行賬戶',`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '狀態(0:待審核,1:已通過,2:已拒絕)',`audit_time` datetime DEFAULT NULL COMMENT '審核時間',`audit_user` bigint(20) DEFAULT NULL COMMENT '審核人',`audit_reason` varchar(255) DEFAULT NULL COMMENT '審核原因',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',PRIMARY KEY (`id`),UNIQUE KEY `idx_user_id` (`user_id`),FOREIGN KEY (`user_id`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='農戶表';

  1. 農產品分類表(product_category):存儲農產品的分類信息,包括分類 ID、分類名稱、父分類 ID 等字段。

sql

CREATE TABLE `product_category` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '分類ID',`name` varchar(50) NOT NULL COMMENT '分類名稱',`parent_id` bigint(20) DEFAULT NULL COMMENT '父分類ID',`level` int(11) NOT NULL DEFAULT '1' COMMENT '分類層級',`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '狀態(0:禁用,1:啟用)',`sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',PRIMARY KEY (`id`),KEY `idx_parent_id` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='農產品分類表';

  1. 農產品表(product):存儲農產品的基本信息,包括農產品 ID、農戶 ID、分類 ID、農產品名稱、圖片、價格、庫存、描述、產地、上架狀態等字段。

sql

CREATE TABLE `product` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '農產品ID',`farmer_id` bigint(20) NOT NULL COMMENT '農戶ID',`category_id` bigint(20) NOT NULL COMMENT '分類ID',`name` varchar(100) NOT NULL COMMENT '農產品名稱',`main_image` varchar(255) NOT NULL COMMENT '主圖片',`sub_images` text COMMENT '子圖片',`price` decimal(10,2) NOT NULL COMMENT '價格',`original_price` decimal(10,2) DEFAULT NULL COMMENT '原價',`stock` int(11) NOT NULL DEFAULT '0' COMMENT '庫存',`description` text COMMENT '描述',`origin` varchar(100) DEFAULT NULL COMMENT '產地',`is_on_sale` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否上架(0:下架,1:上架)',`sales_volume` int(11) NOT NULL DEFAULT '0' COMMENT '銷量',`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '狀態(0:禁用,1:啟用)',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',PRIMARY KEY (`id`),KEY `idx_farmer_id` (`farmer_id`),KEY `idx_category_id` (`category_id`),KEY `idx_is_on_sale` (`is_on_sale`),FOREIGN KEY (`farmer_id`) REFERENCES `farmer` (`id`),FOREIGN KEY (`category_id`) REFERENCES `product_category` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='農產品表';

  1. 購物車表(shopping_cart):存儲用戶的購物車信息,包括購物車 ID、用戶 ID、農產品 ID、數量等字段。

sql

CREATE TABLE `shopping_cart` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '購物車ID',`user_id` bigint(20) NOT NULL COMMENT '用戶ID',`product_id` bigint(20) NOT NULL COMMENT '農產品ID',`quantity` int(11) NOT NULL DEFAULT '1' COMMENT '數量',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',PRIMARY KEY (`id`),UNIQUE KEY `idx_user_id_product_id` (`user_id`,`product_id`),FOREIGN KEY (`user_id`) REFERENCES `user` (`id`),FOREIGN KEY (`product_id`) REFERENCES `product` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='購物車表';

  1. 訂單表(order):存儲訂單的基本信息,包括訂單 ID、用戶 ID、訂單編號、訂單金額、支付方式、支付狀態、物流狀態、收貨地址等字段。

sql

CREATE TABLE `order` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '訂單ID',`user_id` bigint(20) NOT NULL COMMENT '用戶ID',`order_no` varchar(50) NOT NULL COMMENT '訂單編號',`total_amount` decimal(10,2) NOT NULL COMMENT '訂單金額',`payment_method` tinyint(4) NOT NULL DEFAULT '1' COMMENT '支付方式(1:微信支付,2:支付寶)',`payment_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '支付狀態(0:未支付,1:已支付,2:已退款)',`payment_time` datetime DEFAULT NULL COMMENT '支付時間',`logistics_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '物流狀態(0:未發貨,1:已發貨,2:已收貨)',`logistics_company` varchar(50) DEFAULT NULL COMMENT '物流公司',`logistics_no` varchar(50) DEFAULT NULL COMMENT '物流單號',`shipping_time` datetime DEFAULT NULL COMMENT '發貨時間',`receive_time` datetime DEFAULT NULL COMMENT '收貨時間',`receiver_name` varchar(50) NOT NULL COMMENT '收貨人姓名',`receiver_phone` varchar(20) NOT NULL COMMENT '收貨人電話',`receiver_address` varchar(255) NOT NULL COMMENT '收貨地址',`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '訂單狀態(0:已取消,1:待支付,2:待發貨,3:待收貨,4:已完成)',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',PRIMARY KEY (`id`),UNIQUE KEY `idx_order_no` (`order_no`),KEY `idx_user_id` (`user_id`),KEY `idx_payment_status` (`payment_status`),KEY `idx_logistics_status` (`logistics_status`),KEY `idx_status` (`status`),FOREIGN KEY (`user_id`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='訂單表';

  1. 訂單詳情表(order_detail):存儲訂單的詳細信息,包括訂單詳情 ID、訂單 ID、農產品 ID、數量、單價等字段。

sql

CREATE TABLE `order_detail` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '訂單詳情ID',`order_id` bigint(20) NOT NULL COMMENT '訂單ID',`product_id` bigint(20) NOT NULL COMMENT '農產品ID',`quantity` int(11) NOT NULL COMMENT '數量',`price` decimal(10,2) NOT NULL COMMENT '單價',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',PRIMARY KEY (`id`),KEY `idx_order_id` (`order_id`),KEY `idx_product_id` (`product_id`),FOREIGN KEY (`order_id`) REFERENCES `order` (`id`),FOREIGN KEY (`product_id`) REFERENCES `product` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='訂單詳情表';

  1. 評價表(review):存儲用戶對農產品的評價信息,包括評價 ID、訂單詳情 ID、用戶 ID、農產品 ID、評價內容、評分、評價時間等字段。

sql

CREATE TABLE `review` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '評價ID',`order_detail_id` bigint(20) NOT NULL COMMENT '訂單詳情ID',`user_id` bigint(20) NOT NULL COMMENT '用戶ID',`product_id` bigint(20) NOT NULL COMMENT '農產品ID',`content` text NOT NULL COMMENT '評價內容',`rating` tinyint(4) NOT NULL COMMENT '評分(1-5分)',`images` text COMMENT '評價圖片',`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '狀態(0:禁用,1:啟用)',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '評價時間',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',PRIMARY KEY (`id`),UNIQUE KEY `idx_order_detail_id` (`order_detail_id`),KEY `idx_user_id` (`user_id`),KEY `idx_product_id` (`product_id`),FOREIGN KEY (`order_detail_id`) REFERENCES `order_detail` (`id`),FOREIGN KEY (`user_id`) REFERENCES `user` (`id`),FOREIGN KEY (`product_id`) REFERENCES `product` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='評價表';

  1. 物流信息表(logistics):存儲訂單的物流信息,包括物流 ID、訂單 ID、物流狀態、物流描述、物流時間等字段。

sql

CREATE TABLE `logistics` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '物流ID',`order_id` bigint(20) NOT NULL COMMENT '訂單ID',`status` varchar(50) NOT NULL COMMENT '物流狀態',`description` varchar(255) NOT NULL COMMENT '物流描述',`logistics_time` datetime NOT NULL COMMENT '物流時間',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',PRIMARY KEY (`id`),KEY `idx_order_id` (`order_id`),FOREIGN KEY (`order_id`) REFERENCES `order` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物流信息表';

4 系統詳細設計與實現

4.1 前端設計與實現

基于 SpringBoot+VueJS 的助農生鮮銷售系統的前端采用 VueJS 框架實現,使用 ElementUI 組件庫提高開發效率。前端主要包括以下幾個模塊:

  1. 用戶界面模塊:包括首頁、商品列表頁、商品詳情頁、購物車頁、結算頁、訂單頁、個人中心頁等。
  2. 農戶界面模塊:包括農戶首頁、農產品管理頁、訂單管理頁、評價管理頁、個人中心頁等。
  3. 管理界面模塊:包括管理員首頁、用戶管理頁、農戶管理頁、農產品管理頁、訂單管理頁、數據分析頁等。

下面是前端部分核心代碼示例:

javascript

// 商品列表頁組件
<template><div class="product-list"><!-- 導航欄 --><el-header><el-row :gutter="20"><el-col :span="4"><div class="logo">助農生鮮</div></el-col><el-col :span="12"><el-inputv-model="searchKeyword"placeholder="請輸入搜索關鍵詞"suffix-icon="el-icon-search"@keyup.enter.native="search"><el-button slot="append" @click="search">搜索</el-button></el-input></el-col><el-col :span="8"><el-menumode="horizontal":default-active="activeIndex"@select="handleSelect"><el-menu-item index="1">首頁</el-menu-item><el-menu-item index="2"><i class="el-icon-shopping-cart"></i>購物車<span class="cart-count" v-if="cartCount > 0">{{ cartCount }}</span></el-menu-item><el-menu-item index="3"><i class="el-icon-user"></i><span v-if="userInfo.id">個人中心</span><span v-else>登錄/注冊</span></el-menu-item></el-menu></el-col></el-row></el-header><!-- 分類導航 --><el-row class="category-nav"><el-col :span="24"><el-menumode="horizontal":default-active="categoryId + ''"@select="handleCategorySelect"><el-menu-item index="0">全部商品</el-menu-item><el-menu-item v-for="category in categories" :key="category.id" :index="category.id + ''">{{ category.name }}</el-menu-item></el-menu></el-col></el-row><!-- 篩選條件 --><el-row class="filter-row"><el-col :span="24"><el-card class="filter-card"><el-form :inline="true" :model="filterForm"><el-form-item label="價格區間"><el-input v-model="filterForm.minPrice" placeholder="最低價" style="width: 80px;"></el-input><span class="separator">-</span><el-input v-model="filterForm.maxPrice" placeholder="最高價" style="width: 80px;"></el-input></el-form-item><el-form-item label="排序方式"><el-radio-group v-model="filterForm.sortType"><el-radio-button label="default">默認</el-radio-button><el-radio-button label="priceAsc">價格從低到高</el-radio-button><el-radio-button label="priceDesc">價格從高到低</el-radio-button><el-radio-button label="sales">銷量優先</el-radio-button><el-radio-button label="newest">最新上架</el-radio-button></el-radio-group></el-form-item><el-form-item><el-button type="primary" @click="search">篩選</el-button><el-button @click="resetFilter">重置</el-button></el-form-item></el-form></el-card></el-col></el-row><!-- 商品列表 --><el-row class="product-grid" :gutter="20"><el-col :span="6" v-for="product in products" :key="product.id"><el-card class="product-card"><div class="product-image"><img :src="product.mainImage" alt="商品圖片" @click="goToProductDetail(product.id)"></div><div class="product-info"><div class="product-name" @click="goToProductDetail(product.id)">{{ product.name }}</div><div class="product-price">¥{{ product.price }}</div><div class="product-sales">銷量: {{ product.salesVolume }}</div><div class="product-origin">產地: {{ product.origin }}</div></div><div class="product-actions"><el-button size="mini" @click="addToCart(product.id)">加入購物車</el-button></div></el-card></el-col></el-row><!-- 分頁 --><el-row class="pagination-row"><el-col :span="24"><el-pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="currentPage":page-sizes="[12, 24, 36]":page-size="pageSize"layout="total, sizes, prev, pager, next, jumper":total="total"></el-pagination></el-col></el-row><!-- 頁腳 --><el-footer><div class="footer-content"><div class="footer-links"><a href="#">關于我們</a><a href="#">聯系我們</a><a href="#">幫助中心</a><a href="#">隱私政策</a></div><div class="footer-copyright">? 2023 助農生鮮銷售系統 版權所有</div></div></el-footer></div>
</template><script>
export default {data() {return {activeIndex: '1',userInfo: {},cartCount: 0,categories: [],categoryId: 0,searchKeyword: '',filterForm: {minPrice: '',maxPrice: '',sortType: 'default'},products: [],currentPage: 1,pageSize: 12,total: 0}},mounted() {this.getUserInfo();this.getCartCount();this.getCategories();this.loadProducts();},methods: {// 獲取用戶信息getUserInfo() {this.$axios.get('/api/user/info').then(response => {this.userInfo = response.data;}).catch(error => {console.error(error);});},// 獲取購物車數量getCartCount() {this.$axios.get('/api/cart/count').then(response => {this.cartCount = response.data;}).catch(error => {console.error(error);});},// 獲取商品分類getCategories() {this.$axios.get('/api/categories').then(response => {this.categories = response.data;}).catch(error => {console.error(error);});},// 加載商品列表loadProducts() {const params = {categoryId: this.categoryId,keyword: this.searchKeyword,minPrice: this.filterForm.minPrice,maxPrice: this.filterForm.maxPrice,sortType: this.filterForm.sortType,page: this.currentPage - 1,size: this.pageSize};this.$axios.get('/api/products', { params }).then(response => {this.products = response.data.content;this.total = response.data.totalElements;}).catch(error => {console.error(error);});},// 處理菜單選擇handleSelect(key) {this.activeIndex = key;if (key === '2') {this.$router.push('/cart');} else if (key === '3') {if (this.userInfo.id) {this.$router.push('/user');} else {this.$router.push('/login');}}},// 處理分類選擇handleCategorySelect(key) {this.categoryId = parseInt(key);this.currentPage = 1;this.loadProducts();},// 搜索商品search() {this.currentPage = 1;this.loadProducts();},// 重置篩選條件resetFilter() {this.filterForm = {minPrice: '',maxPrice: '',sortType: 'default'};this.search();},// 處理分頁大小變化handleSizeChange(size) {this.pageSize = size;this.loadProducts();},// 處理當前頁變化handleCurrentChange(page) {this.currentPage = page;this.loadProducts();},// 跳轉到商品詳情頁goToProductDetail(productId) {this.$router.push(`/product/${productId}`);},// 添加到購物車addToCart(productId) {if (!this.userInfo.id) {this.$message.info('請先登錄');this.$router.push('/login');return;}this.$axios.post(`/api/cart/add/${productId}`).then(response => {this.$message.success('添加成功');this.getCartCount();}).catch(error => {this.$message.error('添加失敗');console.error(error);});}}
}
</script><style scoped>
.product-list {min-height: 100vh;display: flex;flex-direction: column;
}.el-header {height: 80px !important;line-height: 80px !important;background-color: #fff;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);padding: 0 40px;
}.logo {font-size: 24px;font-weight: bold;color: #409EFF;
}.category-nav {margin-top: 20px;
}.filter-row {margin-top: 20px;
}.filter-card {padding: 15px;
}.separator {margin: 0 5px;
}.product-grid {margin-top: 20px;padding: 0 40px;
}.product-card {height: 350px;display: flex;flex-direction: column;
}.product-image {height: 200px;overflow: hidden;
}.product-image img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.3s;
}.product-image img:hover {transform: scale(1.05);
}.product-info {flex: 1;padding: 10px;display: flex;flex-direction: column;
}.product-name {font-size: 16px;font-weight: bold;margin-bottom: 5px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
}.product-price {font-size: 18px;color: #f56c6c;margin-bottom: 5px;
}.product-sales {font-size: 14px;color: #999;margin-bottom: 5px;
}.product-origin {font-size: 14px;color: #999;
}.product-actions {padding: 10px;text-align: center;
}.pagination-row {margin-top: 20px;padding: 0 40px;text-align: center;
}.el-footer {margin-top: 40px;background-color: #f5f5f5;padding: 20px 0;text-align: center;
}.footer-links {margin-bottom: 10px;
}.footer-links a {margin: 0 10px;color: #666;
}.footer-copyright {color: #999;font-size: 14px;
}.cart-count {position: absolute;top: 15px;right: 15px;background-color: #f56c6c;color: #fff;border-radius: 50%;width: 18px;height: 18px;line-height: 18px;text-align: center;font-size: 12px;
}
</style>

4.2 后端設計與實現

基于 SpringBoot+VueJS 的助農生鮮銷售系統的后端采用 SpringBoot 框架實現,使用 Spring Security 實現用戶認證和授權,使用 MyBatis 實現數據持久化。后端主要包括以下幾個模塊:

  1. 用戶服務模塊:負責用戶的注冊、登錄、個人信息管理等功能。
  2. 農產品服務模塊:負責農產品信息的上傳、編輯、刪除等功能。
  3. 購物車服務模塊:負責購物車的管理,包括添加商品、修改數量、刪除商品等功能。
  4. 訂單服務模塊:負責訂單的創建、支付、發貨、收貨等功能。
  5. 支付服務模塊:負責訂單的支付和退款功能,支持多種支付方式。
  6. 物流服務模塊:負責訂單的物流狀態和物流信息的管理。
  7. 評價服務模塊:負責消費者對購買的農產品進行評價,以及農戶對評價的回復和管理。
  8. 農戶服務模塊:負責農戶信息的審核和管理。
  9. 數據分析服務模塊:負責對系統的運營數據進行分析。

下面是后端部分核心代碼示例:

java

// 訂單服務接口
public interface OrderService {/*** 創建訂單* @param userId 用戶ID* @param cartIds 購物車ID列表* @param addressId 收貨地址ID* @return 訂單信息*/Order createOrder(Long userId, List<Long> cartIds, Long addressId);/*** 獲取訂單列表* @param userId 用戶ID* @param status 訂單狀態* @param page 頁碼* @param size 每頁數量* @return 訂單列表*/Page<Order> getOrders(Long userId, Integer status, Integer page, Integer size);/*** 獲取訂單詳情* @param orderId 訂單ID* @return 訂單詳情*/OrderDetail getOrderDetail(Long orderId);/*** 支付訂單* @param orderId 訂單ID* @param paymentMethod 支付方式* @return 支付結果*/PaymentResult payOrder(Long orderId, Integer paymentMethod);/*** 取消訂單* @param orderId 訂單ID* @param reason 取消原因* @return 取消結果*/boolean cancelOrder(Long orderId, String reason);/*** 確認收貨* @param orderId 訂單ID* @return 確認結果*/boolean confirmReceipt(Long orderId);/*** 農戶發貨* @param orderId 訂單ID* @param logisticsCompany 物流公司* @param logisticsNo 物流單號* @return 發貨結果*/boolean shipOrder(Long orderId, String logisticsCompany, String logisticsNo);/*** 添加物流信息* @param orderId 訂單ID* @param status 物流狀態* @param description 物流描述* @return 添加結果*/boolean addLogisticsInfo(Long orderId, String status, String description);
}// 訂單服務實現類
@Service
public class OrderServiceImpl implements OrderService {@Autowiredprivate OrderMapper orderMapper;@Autowiredprivate OrderDetailMapper orderDetailMapper;@Autowiredprivate CartService cartService;@Autowiredprivate ProductService productService;@Autowiredprivate UserAddressService userAddressService;@Autowiredprivate PaymentService paymentService;@Autowiredprivate LogisticsService logisticsService;@Overridepublic Order createOrder(Long userId, List<Long> cartIds, Long addressId) {// 獲取購物車商品List<Cart> carts = cartService.getCartsByIds(cartIds);if (carts == null || carts.isEmpty()) {throw new BusinessException("購物車為空");}// 獲取收貨地址UserAddress address = userAddressService.getAddressById(addressId);if (address == null) {throw new BusinessException("收貨地址不存在");}// 創建訂單Order order = new Order();order.setUserId(userId);order.setOrderNo(generateOrderNo());order.setReceiverName(address.getReceiverName());order.setReceiverPhone(address.getReceiverPhone());order.setReceiverAddress(address.getFullAddress());order.setStatus(OrderStatus.PENDING_PAYMENT.getCode());order.setCreateTime(new Date());// 計算訂單總金額BigDecimal totalAmount = BigDecimal.ZERO;List<OrderDetail> orderDetails = new ArrayList<>();for (Cart cart : carts) {Product product = productService.getProductById(cart.getProductId());if (product == null || product.getIsOnSale() == 0) {throw new BusinessException("商品不存在或已下架");}if (product.getStock() < cart.getQuantity()) {throw new BusinessException("商品庫存不足");}// 創建訂單詳情OrderDetail orderDetail = new OrderDetail();orderDetail.setOrderId(order.getId());orderDetail.setProductId(product.getId());orderDetail.setProductName(product.getName());orderDetail.setProductImage(product.getMainImage());orderDetail.setQuantity(cart.getQuantity());orderDetail.setPrice(product.getPrice());orderDetail.setCreateTime(new Date());orderDetails.add(orderDetail);// 計算總金額totalAmount = totalAmount.add(product.getPrice().multiply(new BigDecimal(cart.getQuantity())));// 扣減庫存productService.reduceStock(product.getId(), cart.getQuantity());}order.setTotalAmount(totalAmount);// 保存訂單orderMapper.insert(order);// 保存訂單詳情for (OrderDetail orderDetail : orderDetails) {orderDetail.setOrderId(order.getId());orderDetailMapper.insert(orderDetail);}// 刪除購物車商品cartService.deleteCarts(cartIds);return order;}@Overridepublic Page<Order> getOrders(Long userId, Integer status, Integer page, Integer size) {PageHelper.startPage(page, size);List<Order> orders = orderMapper.getOrdersByUserIdAndStatus(userId, status);return new PageInfo<>(orders).toPage();}@Overridepublic OrderDetail getOrderDetail(Long orderId) {OrderDetail orderDetail = orderDetailMapper.getOrderDetailByOrderId(orderId);if (orderDetail == null) {throw new BusinessException("訂單詳情不存在");}// 獲取物流信息List<Logistics> logisticsList = logisticsService.getLogisticsByOrderId(orderId);orderDetail.setLogisticsList(logisticsList);return orderDetail;}@Overridepublic PaymentResult payOrder(Long orderId, Integer paymentMethod) {Order order = orderMapper.selectByPrimaryKey(orderId);if (order == null) {throw new BusinessException("訂單不存在");}if (order.getStatus() != OrderStatus.PENDING_PAYMENT.getCode()) {throw new BusinessException("訂單狀態不正確");}// 調用支付服務進行支付PaymentResult result = paymentService.pay(orderId, order.getTotalAmount(), paymentMethod);if (result.isSuccess()) {// 更新訂單狀態order.setStatus(OrderStatus.PENDING_SHIPMENT.getCode());order.setPaymentMethod(paymentMethod);order.setPaymentStatus(PaymentStatus.PAID.getCode());order.setPaymentTime(new Date());orderMapper.updateByPrimaryKeySelective(order);}return result;}@Overridepublic boolean cancelOrder(Long orderId, String reason) {Order order = orderMapper.selectByPrimaryKey(orderId);if (order == null) {throw new BusinessException("訂單不存在");}if (order.getStatus() != OrderStatus.PENDING_PAYMENT.getCode() && order.getStatus() != OrderStatus.PENDING_SHIPMENT.getCode()) {throw new BusinessException("訂單狀態不正確,無法取消");}// 更新訂單狀態order.setStatus(OrderStatus.CANCELED.getCode());order.setCancelReason(reason);order.setCancelTime(new Date());int result = orderMapper.updateByPrimaryKeySelective(order);// 如果訂單已支付,需要退款if (order.getPaymentStatus() == PaymentStatus.PAID.getCode()) {paymentService.refund(orderId, order.getTotalAmount());}// 如果訂單已發貨,需要恢復庫存if (order.getStatus() == OrderStatus.SHIPPED.getCode()) {List<OrderDetail> orderDetails = orderDetailMapper.getOrderDetailsByOrderId(orderId);for (OrderDetail orderDetail : orderDetails) {productService.increaseStock(orderDetail.getProductId(), orderDetail.getQuantity());}}return result > 0;}@Overridepublic boolean confirmReceipt(Long orderId) {Order order = orderMapper.selectByPrimaryKey(orderId);if (order == null) {throw new BusinessException("訂單不存在");}if (order.getStatus() != OrderStatus.SHIPPED.getCode()) {throw new BusinessException("訂單狀態不正確,無法確認收貨");}// 更新訂單狀態order.setStatus(OrderStatus.COMPLETED.getCode());order.setReceiveTime(new Date());int result = orderMapper.updateByPrimaryKeySelective(order);return result > 0;}@Overridepublic boolean shipOrder(Long orderId, String logisticsCompany, String logisticsNo) {Order order = orderMapper.selectByPrimaryKey(orderId);if (order == null) {throw new BusinessException("訂單不存在");}if (order.getStatus() != OrderStatus.PENDING_SHIPMENT.getCode()) {throw new BusinessException("訂單狀態不正確,無法發貨");}// 更新訂單狀態order.setStatus(OrderStatus.SHIPPED.getCode());order.setLogisticsCompany(logisticsCompany);order.setLogisticsNo(logisticsNo);order.setShippingTime(new Date());int result = orderMapper.updateByPrimaryKeySelective(order);// 添加物流信息logisticsService.addLogisticsInfo(orderId, "已發貨", "商品已發出,正在運輸中");return result > 0;}@Overridepublic boolean addLogisticsInfo(Long orderId, String status, String description) {Order order = orderMapper.selectByPrimaryKey(orderId);if (order == null) {throw new BusinessException("訂單不存在");}if (order.getStatus() != OrderStatus.SHIPPED.getCode()) {throw new BusinessException("訂單狀態不正確,無法添加物流信息");}// 添加物流信息Logistics logistics = new Logistics();logistics.setOrderId(orderId);logistics.setStatus(status);logistics.setDescription(description);logistics.setLogisticsTime(new Date());logistics.setCreateTime(new Date());return logisticsService.addLogistics(logistics);}/*** 生成訂單號* @return 訂單號*/private String generateOrderNo() {// 生成規則:年月日時分秒+隨機數SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");String dateStr = sdf.format(new Date());String randomStr = String.format("%04d", new Random().nextInt(10000));return dateStr + randomStr;}
}

4.3 系統部署設計

基于 SpringBoot+VueJS 的助農生鮮銷售系統的部署設計采用 Docker 容器化技術和 Kubernetes 編排工具,主要包括以下幾個部分:

  1. 前端部署:將前端代碼打包成 Docker 鏡像,部署到 Kubernetes 集群中。
  2. 后端服務部署:將后端各個微服務打包成 Docker 鏡像,部署到 Kubernetes 集群中。
  3. 數據庫部署:使用 Docker 容器部署 MySQL 數據庫,使用 Persistent Volume Claim 確保數據持久化。
  4. 緩存部署:使用 Docker 容器部署 Redis 緩存,提高系統的響應速度。
  5. 消息隊列部署:使用 Docker 容器部署 RabbitMQ 消息隊列,實現系統間的異步通信。
  6. 負載均衡部署:使用 Nginx 作為負載均衡器,分發用戶請求。
  7. 監控系統部署:部署 Prometheus 和 Grafana 監控系統,監控系統的運行狀態。

系統部署圖如下所示:

5 系統測試與優化

5.1 系統測試

為了驗證基于 SpringBoot+VueJS 的助農生鮮銷售系統的功能和性能,進行了以下測試:

  1. 功能測試:對系統的各項功能進行測試,包括用戶注冊、登錄、農產品瀏覽、購物車管理、訂單創建、支付、物流跟蹤、評價等功能,確保功能正常運行。
  2. 性能測試:使用 JMeter 工具對系統的性能進行測試,模擬大量用戶并發訪問,測試系統的響應時間、吞吐量等性能指標。
  3. 安全測試:對系統的安全性進行測試,包括用戶信息安全、數據傳輸安全、支付安全等方面,確保系統的安全性。
  4. 兼容性測試:對系統在不同瀏覽器、不同設備上的兼容性進行測試,確保系統在各種環境下都能正常運行。

5.2 系統優化

在系統測試過程中,發現了一些性能瓶頸和問題,進行了以下優化:

  1. 數據庫優化:對數據庫進行索引優化、查詢優化,提高數據庫的查詢性能。
  2. 緩存優化:使用 Redis 緩存熱門數據,減少數據庫訪問壓力。
  3. 代碼優化:對系統的代碼進行優化,提高代碼的執行效率。
  4. 分布式部署:將系統部署到多臺服務器上,實現負載均衡,提高系統的并發處理能力。
  5. 異步處理:使用 RabbitMQ 消息隊列實現異步處理,提高系統的響應速度。
  6. 圖片優化:對系統中的圖片進行壓縮和優化,減少圖片加載時間。

6 結論與展望

6.1 研究成果總結

本論文設計并實現了一個基于 SpringBoot 和 VueJS 的助農生鮮銷售系統。系統采用前后端分離架構,前端使用 VueJS 框架實現用戶界面,后端使用 SpringBoot 框架構建服務,通過 MyBatis 實現數據持久化。系統實現了農產品展示、在線購物、訂單管理、支付結算、物流跟蹤、農戶管理等功能,為農戶和消費者之間搭建了一個便捷的生鮮銷售平臺。實驗結果表明,該系統能夠有效解決農產品銷售難的問題,提高農戶收入,促進農村經濟發展。

6.2 研究不足與展望

本論文的研究工作雖然取得了一定的成果,但仍存在一些不足之處:

  1. 系統的推薦算法還可以進一步優化,提高推薦的準確性和個性化程度。
  2. 系統的物流配送模塊還可以進一步完善,提高物流配送效率和服務質量。
  3. 系統的移動端體驗還可以進一步優化,提高用戶在移動設備上的使用體驗。
  4. 系統的國際化支持還可以進一步加強,拓展國際市場。

未來的研究工作將主要集中在以下幾個方面:

  1. 引入人工智能算法,優化系統的推薦算法,提高推薦的準確性和個性化程度。
  2. 加強與物流企業的合作,完善系統的物流配送模塊,提高物流配送效率和服務質量。
  3. 進一步優化系統的移動端體驗,開發專門的移動應用,提高用戶在移動設備上的使用體驗。
  4. 加強系統的國際化支持,支持多語言、多貨幣,拓展國際市場。
  5. 引入區塊鏈技術,提高農產品溯源的可信度和透明度。

通過以上研究工作的開展,相信基于 SpringBoot+VueJS 的助農生鮮銷售系統將能夠更好地滿足農戶和消費者的需求,為農村經濟發展做出更大的貢獻。

參考文獻

??? 博主介紹:碩士研究生,專注于信息化技術領域開發與管理,會使用java、標準c/c++等開發語言,以及畢業項目實戰?

?????? 從事基于java BS架構、CS架構、c/c++ 編程工作近16年,擁有近12年的管理工作經驗,擁有較豐富的技術架構思想、較扎實的技術功底和資深的項目管理經驗。

?????? 先后擔任過技術總監、部門經理、項目經理、開發組長、java高級工程師及c++工程師等職位,在工業互聯網、國家標識解析體系、物聯網、分布式集群架構、大數據通道處理、接口開發、遠程教育、辦公OA、財務軟件(工資、記賬、決策、分析、報表統計等方面)、企業內部管理軟件(ERP、CRM等)、arggis地圖等信息化建設領域有較豐富的實戰工作經驗;擁有BS分布式架構集群、數據庫負載集群架構、大數據存儲集群架構,以及高并發分布式集群架構的設計、開發和部署實戰經驗;擁有大并發訪問、大數據存儲、即時消息等瓶頸解決方案和實戰經驗。

?????? 擁有產品研發和發明專利申請相關工作經驗,完成發明專利構思、設計、編寫、申請等工作,并獲得發明專利1枚。

-----------------------------------------------------------------------------------

????? 大家在畢設選題、項目升級、論文寫作,就業畢業等相關問題都可以給我留言咨詢,非常樂意幫助更多的人或加w 908925859。

相關博客地址:

csdn專業技術博客:https://blog.csdn.net/mr_lili_1986?type=blog

Iteye博客:??????? https://www.iteye.com/blog/user/mr-lili-1986-163-com

門戶:http://www.petsqi.cn

七、其他案例:?

?

??

?

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

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

相關文章

Pytest 測試發現機制詳解:自動識別測試函數與模塊

概述 在編寫自動化測試時,如何讓 Pytest 自動找到你的測試代碼 是一個非常基礎但重要的問題。Pytest 通過其強大的 測試發現(Test Discovery)機制,能夠自動掃描項目目錄、識別測試模塊和測試函數,從而大大簡化了測試流程。 本文將為你詳細講解 Pytest 的測試發現機制,包…

MySQL 時間日期函數

時間日期類型 MySQL中主要支持以下幾種時間日期類型&#xff1a; DATE - 日期類型 格式&#xff1a;YYYY-MM-DD范圍&#xff1a;1000-01-01 到 9999-12-31示例&#xff1a;2023-05-20 TIME - 時間類型 格式&#xff1a;HH:MM:SS范圍&#xff1a;-838:59:59 到 838:59:59示例&…

408第三季part2 - 計算機網絡 - 物理層

理解 這里有8個波形&#xff0c;每個波形代表一個馬原&#xff0c;一個馬原代表多個比特&#xff0c;這里3個比特 求波特率就直接2W 求比特率就要乘log2V 這塊記兩公式就行&#xff0c;一個下面一個上面 題目 4個相位加4種幅度就是有16種波形 這里無噪聲就是奈奎斯特定理 這…

iOS 集成RN Installing glog (0.3.5)報錯的解決方案

在集成執行RN bundle exec pod install 命令到Installing glog (0.3.5)時報錯,報錯信息如下: Installing glog (0.3.5) [!] /bin/bash -c set -e #!/bin/bash # Copyright (c) Facebook, Inc. and its affiliates. # # This source code is licensed under the MIT license …

【進階篇-消息隊列】——MQTT協議如何支持海量的在線IoT設備

目錄 一、什么是IoT二、MQTT 和其他消息隊列的傳輸協議有什么不同三、如何選擇 MQTT 產品四、MQTT 集群如何支持海量在線的 IoT 設備五、總結本文來源:極客時間vip課程筆記 一、什么是IoT IoT,也就是物聯網,物聯網這個詞兒,它的含義還不那么直觀,但你看它的英文:IoT,也就…

Chat Model API

聊天模型API為開發人員提供了將人工智能聊天完成功能集成到應用程序中的能力。它利用預訓練的語言模型&#xff0c;如GPT&#xff08;生成預訓練轉換器&#xff09;&#xff0c;以自然語言對用戶輸入生成類似人類的響應。 API通常通過向人工智能模型發送提示或部分對話來工作&…

【黑群暉】自組硬件/舊電腦nas改造(三)——使用Jellyfin創建家庭影音庫

一、打開套件中心安裝Jellyfin套件 如果找不到Jellyfin套件&#xff0c;需要手動添加三方套件源&#xff1a; 《群暉NAS必學技能&#xff1a;一鍵解鎖三方套件源&#xff0c;PT下載影音播放全搞定&#xff01;》 二、配置Jellyfin 訪問http://群暉IP:8096 進入Jellyfin初始化界…

泰山派編譯debian報錯 lb config: unrecognized option ‘--debootstrap-options‘

簡介 最近在編譯泰山派 編譯buildroot系統正常&#xff0c;但是編譯debian時總是報錯說lb 找不到一些參數&#xff0c;如下圖所示&#xff0c;應該當前的版本較低 不支持這些參數&#xff0c;我試了很多方法 升級次版本 但是提示的是最新的&#xff0c;最后經過一番搜索 在官方…

跨境證券交易系統合規升級白皮書:全鏈路微秒風控+開源替代,護航7月程序化交易新規落地

1 行業變革&#xff1a;四重驅動力重塑證券交易系統 當前全球證券行業正處于深刻變革期&#xff0c;跨境金融活動面臨前所未有的機遇與挑戰。今日央行開展的1310億元7天期逆回購操作&#xff0c;以及國家外匯管理局向合格境內機構投資者(QDII)新增發放30.8億美元投資額度等政策…

Node.js核心API(fs篇)

前言&#xff1a;在Node.js生態系統中&#xff0c;文件系統操作是后端開發不可或缺的一部分。fs模塊作為Node.js核心API的重要組成部分&#xff0c;提供了與文件系統交互的能力&#xff0c;涵蓋了從基礎的文件讀寫到復雜的目錄操作等功能。現代JavaScript開發中&#xff0c;處理…

HarmonyOS學習2---Stage模型

1、工程目錄結構 1.1、入口 UIAbility 1.2、入口page 1.3、配置文件 1、配置文件 1&#xff09;應用級配置文件 --- app.json5 2&#xff09;模塊級配置文件 --- module.json5 3、oh-package.json5 4、資源文件 1&#xff09;element目錄 2&#xff09;media目錄 3&#xff09…

【軟件工程】軟件復刻項目的完整流程指南

軟件復刻項目的完整流程指南 第一章、概述 一、前期準備&#xff1a;明確目標與合規性 1. 法律風險評估 版權排查&#xff1a;確認目標軟件的 UI 設計、代碼、商標是否受保護&#xff08;如界面元素、核心算法是否申請專利&#xff09;。規避侵權&#xff1a;避免直接復制 …

淺談Python 中的當前工作目錄與腳本目錄

Python 中的 os.path.exists() 和 __file__ 使用陷阱&#xff1a;工作目錄 ≠ 腳本目錄 在使用 os.path.exists() 或 open() 等函數操作文件路徑時&#xff0c;筆者常常忽略一個關鍵概念&#xff1a;當前運行目錄&#xff08;Current Working Directory, CWD&#xff09;并不等…

iOS檢測并阻止騷擾電話的方法

檢測并阻止騷擾電話 你可以在 iPhone 上使用“將未知來電者設置為靜音”或第三方 App 來阻止騷擾電話。 打開“將未知來電者設置為靜音” 在 iOS 13 及更高版本中&#xff0c;你可以打開“靜音未知來電”&#xff0c;以免接到陌生人的來電。這一功能可以阻止那些你從未聯系過…

TensorFlow源碼深度閱讀指南

TensorFlow源碼深度閱讀指南 本文基于《TensorFlow內核剖析》附錄A的代碼閱讀方法論&#xff0c;結合實例解析核心源碼閱讀技巧&#xff08;含關鍵圖示&#xff09;&#xff1a;一、源碼閱讀的四個維度 1. 分層切入策略&#xff08;圖A-1&#xff09; #mermaid-svg-ooLMzaWU5ky…

設計模式-責任鏈模式、策略模式

責任鏈模式 Chain of Responsibility&#xff08;職責鏈&#xff09;—對象行為型模式定義&#xff1a;使多個對象都有機會處理請求&#xff0c;從而避免了請求的發送者和接受者之間的耦合關系。將這些對象連成一條鏈&#xff0c;并沿著這條鏈傳遞該請求&#xff0c;直到有對象…

泛微e-cology remarkOperate遠程命令執行漏洞

【高危】泛微e-cology remarkOperate遠程命令執行漏洞 漏洞描述 泛微e-cology是泛微公司開發的協同管理應用平臺。 受影響版本中&#xff0c;接口 /api/workflow/reqform/remarkOperate 存在 SQL 注入漏洞&#xff0c;multipart 類型參數 requestid 直接拼接進 SQL 語句&…

Redis常用操作

1&#xff1a;redis常用操作&#xff1a; package com.shunaier.hhhh.biz.utils;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.shunaier.hhhh.common.enums.SystemErrorEnum; import com.shunaier.hhhh.common.exception.SNEB…

mybatis-plus-01-環境初始化及簡單應用

文章目錄 【README】【1】springboot集成mybatis-plus配置【1.1】目錄結構【相關說明】 【1.2】代碼示例【pom.xml】【application.properties】【MybatisPlusNoteController】【UserAppService】【UserMapper】【UserPO】【建表語句】 【2】演示 【README】 本文代碼參見&…

VR小鼠解剖虛擬仿真:開啟生命科學教育新視野?

VR 小鼠解剖虛擬仿真&#xff0c;是一項將虛擬現實(VR)技術深度融入小鼠解剖學習與研究過程的創新應用&#xff0c;即 VR 小鼠解剖虛擬仿真。其核心原理在于&#xff0c;借助 VR 技術所構建的高度逼真的虛擬環境&#xff0c;突破了傳統小鼠解剖在時間、空間以及實體操作上的諸多…