using BBWYB.Client.APIServices; using BBWYB.Client.Models; using BBWYB.Client.ViewModels; using BBWYB.Client.Views.PackPurchaseTaska; using BBWYB.Client.Views.WebB; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Messaging; using Microsoft.Extensions.DependencyInjection; using Newtonsoft.Json; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Windows; namespace BBWYB.Client { [ClassInterface(ClassInterfaceType.AutoDual)] [ComVisible(true)] public class GlobalContext : ObservableObject { public GlobalContext() { BBWYBApiVersion = "10025"; } private User user; public User User { get => user; set { SetProperty(ref user, value); } } public string UserToken { get; set; } public IList LogisticsResponseList { get; set; } /// /// JD客户端 /// //public IJdClient JdClient { get; set; } #region APIHost public string BBWYApiHost { get; set; } public string MDSApiHost { get; set; } public string BBWYCApiHost { get; set; } public string QKApiHost { get; set; } public string BBWYBApiVersion { get; set; } #endregion #region Web public string GetUserString() { return JsonConvert.SerializeObject(User); } public string GetClientApiVersion() { return BBWYBApiVersion; } /// /// 对web版提供的修改打包任务方法 /// /// 订单sku归属的来源sku(JD) /// 订单Id /// sku图片 /// sku标题 /// 订单来源店铺名称 public void OpenUpdatePurchaseTask(string belongSkuId, string orderId, string skuLogo, string skuTitle, string originShopName) { var app = App.Current as App; var sp = app.ServiceProvider; PackPurchaseTaskService packPurchaseTaskService = null; using (var s = sp.CreateScope()) { packPurchaseTaskService = s.ServiceProvider.GetRequiredService(); } var orderSku = new OrderSku() { OrderId = orderId, BelongSkuId = belongSkuId, Title = skuTitle, Logo = skuLogo, }; var res = packPurchaseTaskService.GetOrderTask(orderSku.BelongSkuId, orderSku.OrderId); if (res == null || !res.Success) { MessageBox.Show("网络异常!查不到任务"); return; } if (res.Data == null) { MessageBox.Show("打包任务,不存在或已被删除,请重新发起任务!"); return; } UpdatePurchaseTaskWindow packTask = new(res.Data, originShopName, orderSku); if (!packTask.IsClosed) packTask.Show(); WeakReferenceMessenger.Default.Send(new Message_WebB_RefreshPack(null)); // } #endregion } }