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

发布于:2025-09-03 ⋅ 阅读:(17) ⋅ 点赞:(0)

前几天已将基于开源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>
        

网站公告

今日签到

点亮在社区的每一天
去签到