CoreShop微信小程序商城框架开启多租户-添加一个WPF客户端以便进行上传产品信息和图片(6)

前几天已将基于开源CoreShop框架的微信小程序开启多租户功能,还开发了一个辅助客户端,已经完成了以下工作:

  1. 修改管理员表格,添加上所管理的店铺列表,两个产品信息表也全部加上所属店铺信息。
  2. 开发一个WPF客户端,能与服务器登录并能正常通信。尤其是添加了一个辅助类CoreHelper。

接下来,我们将继续完善WPF客户端,

一、将windows客户调整一下,将登录信息上移

<Window x:Class="WpfApp2.WindowImportExcel"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="导入EXCEL" Height="820" Width="1600" FontSize="16"Loaded="Window_Loaded"><Grid Margin="20"><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="*"/></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="*"/><ColumnDefinition Width="Auto"/><ColumnDefinition Width="780px"/></Grid.ColumnDefinitions><Label Grid.Row="0" Grid.Column="0" Content="管理后台网址:" VerticalAlignment="Center"/><TextBox Grid.Row="0" Grid.Column="1" x:Name="txtWebhost"  IsReadOnly="False" Margin="5"  Text="http://localhost:1987/"  /><Button Grid.Row="0" Grid.Column="2"  x:Name="btnLogin" Grid.RowSpan="2" Content="登录" Width="80" Margin="5" Click="BtnLogin_Click"/><!-- 用户密码--><Label Grid.Row="1" Grid.Column="0" Content="用户名:" VerticalAlignment="Center"  /><TextBox Grid.Row="1" Grid.Column="1" x:Name="txtUseName" IsReadOnly="False" Margin="5" Text="" /><Label Grid.Row="2" Grid.Column="0" Content="密码:" VerticalAlignment="Center" /><Grid Grid.Row="2" Grid.Column="1" Margin="5"><Grid.ColumnDefinitions><ColumnDefinition Width="89*"/><ColumnDefinition Width="377*"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><PasswordBox x:Name="txtPassword" Grid.Column="0" VerticalAlignment="Center" Grid.ColumnSpan="2"  Password=""/><CheckBox x:Name="chkRememberPassword" Content="保存密码" Grid.Column="2" Margin="5,0,0,0"VerticalAlignment="Center"/></Grid><!-- 选择Excel文件 --><Label Grid.Row="3" Grid.Column="0" Content="选择EXCEL文件:" VerticalAlignment="Center"/><TextBox Grid.Row="3" Grid.Column="1" x:Name="txtExcelPath" IsReadOnly="True" Margin="5"/><Button Grid.Row="3" Grid.Column="2" Content="浏览..." Width="80" Margin="5" Click="BtnBrowseExcel_Click"/><!-- 选择图片目录 --><Label Grid.Row="4" Grid.Column="0" Content="选择图片目录:" VerticalAlignment="Center"/><TextBox Grid.Row="4" Grid.Column="1" x:Name="txtImageDir"  Margin="5"/><Button Grid.Row="4" Grid.Column="2" Content="浏览..." Width="80" Margin="5,0,5,5" Click="BtnBrowseImageDir_Click" Height="25" VerticalAlignment="Bottom"/><!-- 选择店铺--><Label Grid.Row="6" Grid.Column="0" Content="店铺:" VerticalAlignment="Center"/><ComboBox Grid.Row="6" Grid.Column="1" x:Name="cmbStore" Margin="5" ></ComboBox><!-- 上传按钮 --><Button Grid.Row="7" Grid.Column="2" Content="正式上传" Width="120" Height="36" Margin="5" HorizontalAlignment="Left" Click="BtnUpload_Click"/><!-- 结果显示 --><TextBox Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="3" x:Name="txtResult" Margin="5" Height="100" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True"/><!-- SignalR消息列表 --><Label Grid.Row="0" Grid.Column="3" Content="信息列表:" VerticalAlignment="Center"/><ListBox Grid.Row="1" Grid.Column="3" Grid.RowSpan="4" x:Name="lstSignalRMessages" Margin="5"/></Grid>
</Window>

二、 在windows客户端上传商品信息

使用NPOI 读取EXCEL的文件内容

using NPOI.HSSF.UserModel;
using NPOI.OpenXml4Net.Exceptions;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.IO;
using System.Windows;namespace ExcelReaderApp
{/// <summary>/// Excel 读取工具类/// </summary>public static class ExcelReader{/// <summary>/// 读取 Excel 文件到 DataTable(自动检测工作表)/// </summary>public static DataTable ReadExcelToDataTable(string filePath){return ReadExcelToDataTable(filePath, readFirstSheetOnly: true, sheetIndex: 0);}/// <summary>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95396.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW虚拟实验平台设计

​为突破实物实验教学的时空限制&#xff0c;解决实验设备不足、操作风险高等问题&#xff0c;设计基于专业软件的虚拟实验平台&#xff0c;以 “信号与系统” 无失真传输实验为实例&#xff0c;融合仿真与网络技术&#xff0c;适配高校工科实验教学&#xff0c;提升教学质量与…

PHP Composer 依赖管理完整指南 入门到精通

PHP Composer 依赖管理完整指南 入门到精通 Composer 改变了整个 PHP 开发生态&#xff0c;我用了 10 年&#xff0c;可以说它是 PHP 生态里最重要的工具&#xff0c;没有之一。不过我和 Composer 的关系一开始并不顺利——从刚接触时的一脸懵逼&#xff0c;到后来真正理解它的…

【开题答辩全过程】以 基于SpringBoot的校园一卡通管理系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

深度学习中常用的激活函数

参考文章&#xff1a; Activation Functions — All You Need To Know! | by Sukanya Bag | Analytics Vidhya | Medium 深度学习笔记&#xff1a;如何理解激活函数&#xff1f;&#xff08;附常用激活函数&#xff09; - 知乎 part-0_13.pdf 机器学习中的数学——激活函数&…

无恶意软件勒索:Storm-0501如何转向云原生攻击

Storm-0501基于云的勒索攻击链概览 | 图片来源&#xff1a;微软微软威胁情报部门最新研究显示&#xff0c;以经济利益为目的的威胁组织Storm-0501已将其勒索软件攻击模式从传统本地部署系统显著转向云原生攻击。报告警告称&#xff0c;该组织"持续优化攻击活动&#xff0c…

k8s--etcd

目录 静态pod 使用步骤&#xff1a; 关键特性说明&#xff1a; 常见使用场景&#xff1a; 案例&#xff1a; 环境变量 配置全景解析 实操&#xff1a;​​ 查看etcd集群节点信息 查看集群健康状态 数据库操作命令 增加(put) 查询(get) 删除(del) 租约命令 添加…

PowerPoint和WPS演示如何在放映PPT时用鼠标划重点

在播放PPT的时候&#xff0c;可以在屏幕上右键&#xff0c;在WPS演示中设置“墨迹画笔”为鼠标以外的其他笔形&#xff0c;在PowerPoint中设置指针选项为其他笔形&#xff0c;然后点击鼠标左键即可对屏幕上的内容进行标记。如果要退出&#xff0c;同样的路径操作取消鼠标形状即…

销售事业十年规划,并附上一套能帮助销售成长的「软件工具组合」

销售事业十年规划&#xff0c;并附上一套能帮助销售成长的 软件工具组合。这样你既有职业发展的路线图&#xff0c;也有日常可用的工具支撑。&#x1f51f; 年销售事业规划 第1-2年&#xff1a;打基础目标&#xff1a;掌握销售流程&#xff0c;建立第一个客户池。重点&#xff…

如何在赛中完整的呈现数学建模模型

数模的完备性一直是国赛中评审的重点&#xff0c;也是大家赛中最容易失分的点。具体来讲&#xff0c;2023年C题国一使用了ARIMA,很多省三论文也是ARIMA。二者之所以出现这种巨大的等级差异不是因为模型问题&#xff0c;而是后者模型并不完备&#xff0c;缺少很多模型必要元素。…

蜂窝物联网模组:电动两轮车新国标实施下的关乎安全与智能化支撑

蜂窝物联网模组正成为电动两轮车新国标实施后不可或缺的关键部件&#xff0c;这一转变源于新国标对电动自行车安全性和智能化的强制性要求 。2025年9月1日起正式实施的GB17761—2024《电动自行车安全技术规范》不仅强化了防火阻燃、防篡改等安全标准&#xff0c;还首次将北斗定…

DevOps篇之利用Jenkins实现多K8S集群的版本发布

重点说明 在 Jenkins 中实现多 K8s 集群的版本发布与版本控制&#xff0c;核心在于解决集群身份认证、配置隔离、发布策略协调、版本统一追溯四大问题。以下是具体实现方案&#xff0c;结合工具链集成与流水线设计&#xff0c;确保多集群环境下的发布一致性与可控性。 一、核心…

Day16_【机器学习—KNN算法】

一、KNN 简介KNN&#xff1a;K-近邻算法 &#xff08;K Nearest Neighbor&#xff09;算法思想&#xff1a;一个样本最相似的 k 个样本中的大多数属于某一个类别&#xff0c;则该样本也属于这个类别距离计算&#xff1a;欧氏距离二、KNN 解决两类问题分类问题与回归问题分类流程…

《架构师手记:SpringCloud整合Nacos实战·一》

《架构师手记&#xff1a;SpringCloud整合Nacos实战一》 &#x1f308; 第一章&#xff1a;SpringCloud与Nacos的初识之旅 引言 在微服务架构的浪潮中&#xff0c;服务发现和配置管理成为了每个架构师必须面对的挑战。今天&#xff0c;我们将开启一段SpringCloud与Nacos的探…

卷积神经网络训练全攻略:从理论到实战

卷积神经网络&#xff08;Convolutional Neural Networks, CNN&#xff09;作为深度学习的重要分支&#xff0c;已成为计算机视觉领域的核心技术。从图像分类到目标检测&#xff0c;从人脸识别到医学影像分析&#xff0c;CNN 展现出了强大的特征提取和模式识别能力。本文将全面…

从零开始学习n8n-定时器+HTTP+飞书多维表格(上)

概述零基础也能把自动化玩明白&#xff1a;本篇将从“为什么要做自动化”出发&#xff0c;带你在 n8n 里新建第一个工作流&#xff0c;只用两个核心节点——Schedule Trigger&#xff08;定时器&#xff09; 与 HTTP Request。你会学会如何按固定频率触发流程、向接口发起请求、…

小白成长之路-k8s原理(二)

文章目录一、Service原理1.1概述1.2为什么需要service1.3service1.4service类型1.5service组件协同二、configMap原理2.1概述2.2命令2.3类型三、volume2.1emptydir2.2hostPath2.3pv/pvc2.4storageClass四、调度管理3.1概念3.2特点3.3亲和性3.4容忍和污点3.5固定节点调度五、etc…

2025 数字化转型期,值得关注的 10 项高价值证书解析

2025 年&#xff0c;数字化转型已迈入深度渗透阶段&#xff0c;大数据、人工智能、云计算等技术重塑各行业格局&#xff0c;相关领域人才缺口持续扩大。对于职场人突破瓶颈、大学生抢占就业先机而言&#xff0c;适配转型需求的专业证书已成为核心竞争力。本文结合行业经验&…

STM32 入门教程:从零基础到项目实战

STM32 微控制器凭借其高性能、低功耗、丰富外设以及庞大的生态系统&#xff0c;成为工程师和开发者的首选。对于刚接触 STM32 的新手来说&#xff0c;面对复杂的芯片架构和开发流程&#xff0c;往往会感到无从下手。本文将以通俗易懂的语言&#xff0c;结合实际案例&#xff0c…

ros、slam、激光雷达、自动驾驶相关学习内容和计划

明白 ✅。你现在做的是 LHD自动驾驶&#xff0c;核心技术是 SLAM、LiDAR、ROS、感知与规划控制。这类项目涉及“工程落地 学术算法 安全规范”三大方面。我给你一个循序渐进的学习方案&#xff08;从基础到应用&#xff09;&#xff0c;并附带开源项目推荐&#xff0c;方便你…

Flutter 完全组件化的项目结构设计实践

Flutter 完全组件化的项目结构设计实践 在做 Flutter 项目的时候&#xff0c;随着业务不断扩展&#xff0c;如果所有代码都堆在 lib/ 目录里&#xff0c;后期维护会越来越痛苦。组件化&#xff08;Componentization&#xff09; 是一种常见的解决方案&#xff0c;它能让项目更清…