Browse Source

新增从磨刀石快捷启动登录

master
С·æ 4 years ago
parent
commit
6e61d90724
  1. 1
      src/Coldairarrow.Api/05.Coldairarrow.Api.csproj
  2. 10
      src/Coldairarrow.Api/Controllers/HuiYan/itemlabelsController.cs
  3. 25
      src/Coldairarrow.Business/HuiYan/itemlabelsBusiness.cs
  4. 2
      src/Coldairarrow.IBusiness/HuiYan/IitemlabelsBusiness.cs
  5. 48
      客户端/齐越慧眼/齐越慧眼/ApiHelper.cs
  6. 2
      客户端/齐越慧眼/齐越慧眼/App.xaml
  7. 4
      客户端/齐越慧眼/齐越慧眼/App.xaml.cs
  8. 4
      客户端/齐越慧眼/齐越慧眼/MainWindow.xaml
  9. 6
      客户端/齐越慧眼/齐越慧眼/MainWindow.xaml.cs
  10. 64
      客户端/齐越慧眼/齐越慧眼/MemoryHelper.cs
  11. 2
      客户端/齐越慧眼/齐越慧眼/UserControls/CatControl.xaml
  12. 4
      客户端/齐越慧眼/齐越慧眼/UserControls/CatControl.xaml.cs
  13. 4
      客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/cats/Index.vue
  14. 4
      客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/items/Index.vue
  15. 2
      客户端/齐越慧眼/齐越慧眼/vuepage/dist/js/app.js
  16. 2
      客户端/齐越慧眼/齐越慧眼/vuepage/dist/js/app.js.map
  17. 4
      客户端/齐越慧眼/齐越慧眼/齐越慧眼.csproj

1
src/Coldairarrow.Api/05.Coldairarrow.Api.csproj

@ -6,6 +6,7 @@
<TargetFramework>net5.0</TargetFramework>
<RootNamespace>Coldairarrow.Api</RootNamespace>
<AssemblyName>Coldairarrow.Api</AssemblyName>
<UserSecretsId>262e42ce-473e-4bde-80ea-3ddb9576cad2</UserSecretsId>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

10
src/Coldairarrow.Api/Controllers/HuiYan/itemlabelsController.cs

@ -109,5 +109,15 @@ namespace Coldairarrow.Api.Controllers.HuiYan
{
return _itemlabelsBus.SetAlbbCooperation(shopId);
}
/// <summary>
/// 获取竞品相关商品列表
/// </summary>
/// <returns></returns>
[HttpGet]
public AjaxResult GetItemsByJpLabels(int type)
{
return _itemlabelsBus.GetItemsByJpLabels(type);
}
}
}

25
src/Coldairarrow.Business/HuiYan/itemlabelsBusiness.cs

@ -313,5 +313,30 @@ namespace Coldairarrow.Business.HuiYan
return Error();
}
}
public AjaxResult GetItemsByJpLabels(int type)
{
Expression<Func<itemlabels, items, ItemlabelInfoDto>> select = (a, b) => new ItemlabelInfoDto
{
GoodsId = b.GoodsId,
HasFilter = b.HasFilter,
Platform = b.Platform
};
select = select.BuildExtendSelectExpre();
var q_titem = GetIQueryable();
var q = from a in q_titem.AsExpandable()
join b in Db.GetIQueryable<items>() on a.ItemsId equals b.Id into ab
from b in ab.DefaultIfEmpty()
select @select.Invoke(a, b);
var where = LinqHelper.True<ItemlabelInfoDto>().And(c => c.Platform == (int)ItemPlatform.Jd && c.TeamId == _operator.TeamId && c.IsCompeting == true);
var list = q.Where(where).ToListAsync();
return Success(list);
}
}
}

2
src/Coldairarrow.IBusiness/HuiYan/IitemlabelsBusiness.cs

@ -18,5 +18,7 @@ namespace Coldairarrow.Business.HuiYan
AjaxResult GetLabelByItemIds(List<string> ids, ItemPlatform platform);
AjaxResult GetAlbbLabelByShopIds(List<string> ids);
AjaxResult SetAlbbCooperation(string shopId);
AjaxResult GetItemsByJpLabels(int type);
}
}

48
客户端/齐越慧眼/齐越慧眼/ApiHelper.cs

@ -4,16 +4,55 @@ using System.Net.Http;
using System.Text;
using System.Threading;
using System.Windows;
using Utils;
using .Models;
namespace
{
public class ApiHelper
{
public static string ApiBase { get; set; } = "http://localhost:5000";
//public static string ApiBase { get; set; } = "http://hyapi.qiyue666.com";
//public static string ApiBase { get; set; } = "http://localhost:5000";
public static string ApiBase { get; set; } = "http://hyapi.qiyue666.com";
public static string JwtToken { get; set; }
static string jwtToken;
public static string JwtToken {
get
{
if (string.IsNullOrEmpty(jwtToken))
{
jwtToken = GetMemoryToken();
}
return jwtToken;
}
}
public static string GetMemoryToken()
{
string memoryName=string.Empty;
string[] args = Environment.GetCommandLineArgs();
foreach (var arg in args)
{
if (arg.StartsWith("uid:"))
{
memoryName = arg;
}
}
var result= MemoryHelper.ReadMMF(memoryName);
if (result.isOk)
{
return result.content;
}
else {
WpfNoticeMsg.NoticeMessage.Show("小程序登录失败!");
System.Environment.Exit(0);
return string.Empty;
}
}
/// <summary>
/// 登录
@ -38,7 +77,7 @@ namespace 齐越慧眼
return (false, msg);
}
JwtToken = msg;
jwtToken = msg;
return (true, data.Msg ?? "");
}
@ -200,6 +239,7 @@ namespace 齐越慧眼
if (res.StatusCode == System.Net.HttpStatusCode.Unauthorized)
{
WpfNoticeMsg.NoticeMessage.Show("登录状态失败!");
return string.Empty;
}
else

2
客户端/齐越慧眼/齐越慧眼/App.xaml

@ -3,7 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:齐越慧眼"
xmlns:conver="clr-namespace:WPF.Converters"
StartupUri="LoginWindow.xaml">
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary >
<ResourceDictionary.MergedDictionaries>

4
客户端/齐越慧眼/齐越慧眼/App.xaml.cs

@ -19,6 +19,8 @@ namespace 齐越慧眼
public partial class App : Application
{
public App() {
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var settings = new CefSettings()
{
@ -47,6 +49,8 @@ namespace 齐越慧眼
SchemeHandlerFactory = new ResourceSchemeHandlerFactory()
});
// ...
Cef.Initialize(settings, performDependencyCheck: true, browserProcessHandler: null);
}

4
客户端/齐越慧眼/齐越慧眼/MainWindow.xaml

@ -17,7 +17,9 @@
<Border Padding="0 10" Background="#EEEEEE">
<hc:TabControl IsAnimationEnabled="True" IsTabFillEnabled="False" TabItemWidth="150" Name="tab" SelectionChanged="tab_SelectionChanged">
<hc:TabItem IsSelected="True" Header="品类词库">
<uc:CatControl></uc:CatControl>
<Grid x:Name="gridCat">
</Grid>
</hc:TabItem>
<hc:TabItem Header="产品库">
<uc:ItemControl></uc:ItemControl>

6
客户端/齐越慧眼/齐越慧眼/MainWindow.xaml.cs

@ -39,7 +39,13 @@ namespace 齐越慧眼
{
InitializeComponent();
Main = this;
Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
UserControls.CatControl catControl = new UserControls.CatControl();
gridCat.Children.Add(catControl);
}
public void ChangeTab(string keyWord,int type)

64
客户端/齐越慧眼/齐越慧眼/MemoryHelper.cs

@ -0,0 +1,64 @@
using System;
using System.Collections.Generic;
using System.IO.MemoryMappedFiles;
using System.Text;
namespace Utils
{
public class MemoryHelper
{
/// <summary>
/// 写入映射文件
/// </summary>
/// <param name="mapname"></param>
/// <param name="content"></param>
public static bool WriteMMF(string mapname, string content)
{
MemoryMappedFile mmf = MemoryMappedFile.CreateOrOpen(mapname, 1000, MemoryMappedFileAccess.ReadWrite);
if (!string.IsNullOrEmpty(content))
{
using (var mmfStream = mmf.CreateViewStream())
{
using (var sw = new System.IO.StreamWriter(mmfStream))
{
sw.Write(content.Trim());
}
}
return true;
}
return false;
}
/// <summary>
/// 读取映射文件
/// </summary>
/// <param name="mapname"></param>
public static (bool isOk,string content) ReadMMF(string mapname)
{
try
{
MemoryMappedFile mmf = MemoryMappedFile.OpenExisting(mapname);
using (var mmfStream = mmf.CreateViewStream(0, 1000, MemoryMappedFileAccess.ReadWrite))
{
byte[] buffer = new byte[128];
int nLength = 0;
StringBuilder sb = new StringBuilder();
do
{
nLength = mmfStream.Read(buffer, 0, 128);
sb.AppendLine(System.Text.ASCIIEncoding.Default.GetString(buffer));
} while (nLength > 0);
return (true, sb.ToString().Replace("\0", null).TrimEnd());
}
}
catch (Exception ex)
{
return (false, null);
}
}
}
}

2
客户端/齐越慧眼/齐越慧眼/UserControls/CatControl.xaml

@ -7,7 +7,7 @@
xmlns:cef="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid x:Name="grid">
<Grid x:Name="grid" DockPanel.Dock="Bottom">
</Grid>
</UserControl>

4
客户端/齐越慧眼/齐越慧眼/UserControls/CatControl.xaml.cs

@ -24,7 +24,6 @@ namespace 齐越慧眼.UserControls
public CatControl()
{
InitializeComponent();
web = new ChromiumWebBrowser("nacollector://home")
{
BrowserSettings =
@ -42,11 +41,10 @@ namespace 齐越慧眼.UserControls
web.JavascriptObjectRepository.Settings.LegacyBindingEnabled = true;
web.JavascriptObjectRepository.Register("hyCoreModel", new CatsAsyncJS(), BindingOptions.DefaultBinder);
web.ExecuteScriptAsyncWhenPageLoaded(@$"localStorage.setItem('user', '{{""token"":""{ApiHelper.JwtToken}""}}');window.getDatas();");
}
private void Button_Click(object sender, RoutedEventArgs e)
private void Button_Click_1(object sender, RoutedEventArgs e)
{
web.ShowDevTools();
}

4
客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/cats/Index.vue

@ -102,6 +102,10 @@
},
mounted() {
window.getDatas = this.getDatas
this.getDatas()
},
activated() {
this.getDatas()
},
methods: {
getKeyColor(keyword)

4
客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/items/Index.vue

@ -229,6 +229,10 @@
},
mounted() {
window.getDatas = this.getDatas
this.getDatas(0)
},
activated() {
this.getDatas(0)
},
methods: {
changeTab(e) {

2
客户端/齐越慧眼/齐越慧眼/vuepage/dist/js/app.js

File diff suppressed because one or more lines are too long

2
客户端/齐越慧眼/齐越慧眼/vuepage/dist/js/app.js.map

File diff suppressed because one or more lines are too long

4
客户端/齐越慧眼/齐越慧眼/齐越慧眼.csproj

@ -5,7 +5,7 @@
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<Platforms>AnyCPU;x64</Platforms>
<Version>1.0.0.1</Version>
<Version>1.0.0.2</Version>
</PropertyGroup>
<ItemGroup>
@ -66,7 +66,7 @@
<PackageReference Include="HandyControl" Version="3.2.0" />
<PackageReference Include="MvvmLightLibsStd10" Version="5.4.1.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="5.0.0" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.7.0" />
</ItemGroup>
<ItemGroup>

Loading…
Cancel
Save