This commit is contained in:
njdaoyehu 2025-04-23 11:00:11 +08:00
parent ef1a0c8121
commit c89d26d177
13 changed files with 53 additions and 33 deletions

View File

@ -15,8 +15,8 @@ public class DeviceClientSocket : TcpClient, IDeviceClient
public DeviceClientSocket(string address, int port = 13000) : base(address, port) public DeviceClientSocket(string address, int port = 13000) : base(address, port)
{ {
OptionSendBufferSize = 1024 * 1024 * 2; OptionSendBufferSize = 1024 * 1024 * 64;
OptionReceiveBufferSize = 1024 * 1024 * 2; OptionReceiveBufferSize = 1024 * 1024 * 64;
} }
public bool Connected() public bool Connected()

View File

@ -1 +0,0 @@
var O=Object.defineProperty,j=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var m=Object.getOwnPropertySymbols;var b=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable;var h=(e,t,a)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,n=(e,t)=>{for(var a in t||(t={}))b.call(t,a)&&h(e,a,t[a]);if(m)for(var a of m(t))F.call(t,a)&&h(e,a,t[a]);return e},I=(e,t)=>j(e,L(t));var _=(e,t)=>{var a={};for(var s in e)b.call(e,s)&&t.indexOf(s)<0&&(a[s]=e[s]);if(e!=null&&m)for(var s of m(e))t.indexOf(s)<0&&F.call(e,s)&&(a[s]=e[s]);return a};var x=(e,t,a)=>new Promise((s,i)=>{var f=r=>{try{d(a.next(r))}catch(p){i(p)}},v=r=>{try{d(a.throw(r))}catch(p){i(p)}},d=r=>r.done?s(r.value):Promise.resolve(r.value).then(f,v);d((a=a.apply(e,t)).next())});import{u as U,B as N}from"./useForm-baba730a.js";import{a as z,B as G}from"./index-679d8a0a.js";import{a as W,u as Z}from"./deviceApi-260fcde9.js";import{d as $,f as M,c as E,u as l,Z as H,a4 as J,a5 as K,k as Q,a9 as X}from"./vue-72a104e4.js";import{_ as ee}from"./index.js";const c={xs:{span:24},sm:{span:24},lg:{span:6}},te={span:24},u={model:"Device",viewInPage:!1,properties:[{field:"id",label:"ID系统自动生成",defaultValue:void 0,form:{componentProps:{allowClear:!1,placeholder:"ID系统自动生成"},colProps:c,component:"InputNumber",rules:[{required:!0,message:"请输入ID系统自动生成"}]},table:{}},{field:"name",label:"设备名称",defaultValue:void 0,form:{componentProps:{allowClear:!1,placeholder:"设备名称"},colProps:c,component:"Input",rules:[{required:!0,message:"请输入设备名称!"}]},table:{}},{field:"deviceSn",label:"设备序列号",defaultValue:void 0,form:{componentProps:{allowClear:!0,placeholder:"设备序列号"},colProps:c,component:"Input"},table:{}},{field:"deviceIp",label:"设备IP地址",defaultValue:void 0,form:{componentProps:{allowClear:!0,placeholder:"设备IP地址"},colProps:c,component:"Input"},table:{}},{field:"createTime",label:"创建时间",defaultValue:void 0,form:{colProps:c,componentProps:{allowClear:!1,placeholder:["开始时间","结束时间"],format:"YYYY-MM-DD",valueFormat:"YYYY-MM-DD",showTime:!1},component:"RangePicker",rules:[{required:!0,message:"请输入CreateTime"}]},table:{}},{field:"updateTime",label:"更新时间",defaultValue:void 0,form:{colProps:c,componentProps:{allowClear:!1,placeholder:["开始时间","结束时间"],format:"YYYY-MM-DD",valueFormat:"YYYY-MM-DD",showTime:!1},component:"RangePicker",rules:[{required:!0,message:"请输入UpdateTime"}]},table:{}}]},B=["name","deviceSn","deviceIp"],T=["name","deviceSn","deviceIp"],C=["name","deviceSn","deviceIp","createTime","updateTime"],V=["name","deviceSn","deviceIp","createTime","updateTime"],P=new Map(B.map((e,t)=>[e,t])),pe=u.properties.filter(e=>B.includes(e.field)).map(s=>{var{field:e,label:t,form:i}=s,a=_(i,[]);return I(n({field:e,label:t,defaultValue:void 0},a),{required:!1,rules:[{required:!1}]})}).sort((e,t)=>{const a=P.get(e.field),s=P.get(t.field);return a-s}),Y=new Map(T.map((e,t)=>[e,t])),ae=u.properties.filter(e=>T.includes(e.field)).map(({field:e,label:t,defaultValue:a,form:s})=>I(n({field:e,label:t,defaultValue:a},s),{colProps:te})).sort((e,t)=>{const a=Y.get(e.field),s=Y.get(t.field);return a-s}),S=new Map(C.map((e,t)=>[e,t])),me=u.properties.filter(e=>C.includes(e.field)).map(({field:e,label:t,table:a})=>n({dataIndex:e,title:t},a)).sort((e,t)=>{const a=S.get(e.dataIndex),s=S.get(t.dataIndex);return a-s}),y=new Map(V.map((e,t)=>[e,t]));u.properties.filter(e=>V.includes(e.field)).map(({field:e,label:t,table:a})=>n({dataIndex:e,title:t},a)).sort((e,t)=>{const a=y.get(e.dataIndex),s=y.get(t.dataIndex);return a-s});const se=$({__name:"drawer",emits:["success","register"],setup(e,{emit:t}){const a=t,s=M(!0),i=M(),[f,{resetFields:v,setFieldsValue:d,validate:r}]=U({labelWidth:100,schemas:ae,showActionButtonGroup:!1}),[p,{setDrawerProps:g,closeDrawer:q}]=z(o=>x(this,null,function*(){yield v(),g({confirmLoading:!1}),s.value=!!(o!=null&&o.isUpdate),i.value=o==null?void 0:o.record,l(s)&&(yield d(n({},o.record)))})),k=E(()=>l(s)?"编辑":"新增");function R(){return x(this,null,function*(){try{const o=yield r();g({confirmLoading:!0});const w=_(o,[]),A=l(s)?Z:W,D=l(s)?Object.assign({},n(n({},l(i)),w)):n({},w);yield A(D),DeviceClientService.refreshDeviceClientBySn(D.deviceSn),q(),a("success")}catch(o){}finally{g({confirmLoading:!1})}})}return(o,w)=>(H(),J(l(G),X(o.$attrs,{onRegister:l(p),showFooter:"",title:k.value,width:"600px",onOk:R}),{default:K(()=>[Q(l(N),{onRegister:l(f)},null,8,["onRegister"])]),_:1},16,["onRegister","title"]))}});const oe=ee(se,[["__scopeId","data-v-0394e0d0"]]),ue=Object.freeze(Object.defineProperty({__proto__:null,default:oe},Symbol.toStringTag,{value:"Module"}));export{oe as D,me as c,ue as d,pe as s};

View File

@ -0,0 +1 @@
var O=Object.defineProperty,j=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var m=Object.getOwnPropertySymbols;var b=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable;var h=(e,t,a)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,n=(e,t)=>{for(var a in t||(t={}))b.call(t,a)&&h(e,a,t[a]);if(m)for(var a of m(t))F.call(t,a)&&h(e,a,t[a]);return e},I=(e,t)=>j(e,L(t));var _=(e,t)=>{var a={};for(var s in e)b.call(e,s)&&t.indexOf(s)<0&&(a[s]=e[s]);if(e!=null&&m)for(var s of m(e))t.indexOf(s)<0&&F.call(e,s)&&(a[s]=e[s]);return a};var x=(e,t,a)=>new Promise((s,i)=>{var f=o=>{try{d(a.next(o))}catch(p){i(p)}},v=o=>{try{d(a.throw(o))}catch(p){i(p)}},d=o=>o.done?s(o.value):Promise.resolve(o.value).then(f,v);d((a=a.apply(e,t)).next())});import{u as U,B as N}from"./useForm-baba730a.js";import{a as z,B as G}from"./index-679d8a0a.js";import{a as W,u as Z}from"./deviceApi-260fcde9.js";import{d as $,f as M,c as E,u as l,Z as H,a4 as J,a5 as K,k as Q,a9 as X}from"./vue-72a104e4.js";import{_ as ee}from"./index.js";const c={xs:{span:24},sm:{span:24},lg:{span:6}},te={span:24},u={model:"Device",viewInPage:!1,properties:[{field:"id",label:"ID系统自动生成",defaultValue:void 0,form:{componentProps:{allowClear:!1,placeholder:"ID系统自动生成"},colProps:c,component:"InputNumber",rules:[{required:!0,message:"请输入ID系统自动生成"}]},table:{}},{field:"name",label:"设备名称",defaultValue:void 0,form:{componentProps:{allowClear:!1,placeholder:"设备名称"},colProps:c,component:"Input",rules:[{required:!0,message:"请输入设备名称!"}]},table:{}},{field:"deviceSn",label:"设备序列号",defaultValue:void 0,form:{componentProps:{allowClear:!0,placeholder:"设备序列号"},colProps:c,component:"Input",rules:[{required:!0,message:"请输入设备序列号!"}]},table:{}},{field:"deviceIp",label:"设备IP地址",defaultValue:void 0,form:{componentProps:{allowClear:!0,placeholder:"设备IP地址"},colProps:c,component:"Input"},table:{}},{field:"createTime",label:"创建时间",defaultValue:void 0,form:{colProps:c,componentProps:{allowClear:!1,placeholder:["开始时间","结束时间"],format:"YYYY-MM-DD",valueFormat:"YYYY-MM-DD",showTime:!1},component:"RangePicker",rules:[{required:!0,message:"请输入CreateTime"}]},table:{}},{field:"updateTime",label:"更新时间",defaultValue:void 0,form:{colProps:c,componentProps:{allowClear:!1,placeholder:["开始时间","结束时间"],format:"YYYY-MM-DD",valueFormat:"YYYY-MM-DD",showTime:!1},component:"RangePicker",rules:[{required:!0,message:"请输入UpdateTime"}]},table:{}}]},B=["name","deviceSn","deviceIp"],T=["name","deviceSn","deviceIp"],C=["name","deviceSn","deviceIp","createTime","updateTime"],q=["name","deviceSn","deviceIp","createTime","updateTime"],P=new Map(B.map((e,t)=>[e,t])),pe=u.properties.filter(e=>B.includes(e.field)).map(s=>{var{field:e,label:t,form:i}=s,a=_(i,[]);return I(n({field:e,label:t,defaultValue:void 0},a),{required:!1,rules:[{required:!1}]})}).sort((e,t)=>{const a=P.get(e.field),s=P.get(t.field);return a-s}),Y=new Map(T.map((e,t)=>[e,t])),ae=u.properties.filter(e=>T.includes(e.field)).map(({field:e,label:t,defaultValue:a,form:s})=>I(n({field:e,label:t,defaultValue:a},s),{colProps:te})).sort((e,t)=>{const a=Y.get(e.field),s=Y.get(t.field);return a-s}),S=new Map(C.map((e,t)=>[e,t])),me=u.properties.filter(e=>C.includes(e.field)).map(({field:e,label:t,table:a})=>n({dataIndex:e,title:t},a)).sort((e,t)=>{const a=S.get(e.dataIndex),s=S.get(t.dataIndex);return a-s}),y=new Map(q.map((e,t)=>[e,t]));u.properties.filter(e=>q.includes(e.field)).map(({field:e,label:t,table:a})=>n({dataIndex:e,title:t},a)).sort((e,t)=>{const a=y.get(e.dataIndex),s=y.get(t.dataIndex);return a-s});const se=$({__name:"drawer",emits:["success","register"],setup(e,{emit:t}){const a=t,s=M(!0),i=M(),[f,{resetFields:v,setFieldsValue:d,validate:o}]=U({labelWidth:100,schemas:ae,showActionButtonGroup:!1}),[p,{setDrawerProps:g,closeDrawer:V}]=z(r=>x(this,null,function*(){yield v(),g({confirmLoading:!1}),s.value=!!(r!=null&&r.isUpdate),i.value=r==null?void 0:r.record,l(s)&&(yield d(n({},r.record)))})),k=E(()=>l(s)?"编辑":"新增");function R(){return x(this,null,function*(){try{const r=yield o();g({confirmLoading:!0});const w=_(r,[]),A=l(s)?Z:W,D=l(s)?Object.assign({},n(n({},l(i)),w)):n({},w);yield A(D),DeviceClientService.refreshDeviceClientBySn(D.deviceSn),V(),a("success")}catch(r){}finally{g({confirmLoading:!1})}})}return(r,w)=>(H(),J(l(G),X(r.$attrs,{onRegister:l(p),showFooter:"",title:k.value,width:"600px",onOk:R}),{default:K(()=>[Q(l(N),{onRegister:l(f)},null,8,["onRegister"])]),_:1},16,["onRegister","title"]))}});const re=ee(se,[["__scopeId","data-v-0394e0d0"]]),ue=Object.freeze(Object.defineProperty({__proto__:null,default:re},Symbol.toStringTag,{value:"Module"}));export{re as D,me as c,ue as d,pe as s};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
var D=Object.getOwnPropertySymbols;var R=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable;var x=(a,d)=>{var i={};for(var e in a)R.call(a,e)&&d.indexOf(e)<0&&(i[e]=a[e]);if(a!=null&&D)for(var e of D(a))d.indexOf(e)<0&&N.call(a,e)&&(i[e]=a[e]);return i};import{u as P,B as $}from"./useTable-e949a6b7.js";import{T as j}from"./useForm-baba730a.js";import{S as O,j as V,_ as A}from"./index.js";import{N as H,j as h}from"./antd-0679333d.js";import{r as z,s as E}from"./deviceApi-260fcde9.js";import{u as F}from"./index-679d8a0a.js";import{D as K,c as U,s as C}from"./drawer-7740e10f.js";import{d as W,o as G,a6 as L,Z as S,_ as Z,$ as Y,k as p,u as c,a5 as b,l as q,G as J,a4 as Q,a8 as X}from"./vue-72a104e4.js";import"./index-8a6826ba.js";import"./useWindowSizeFn-1db11f4f.js";import"./onMountedOrActivated-ee461833.js";import"./sortable.esm-15c0a34e.js";import"./copyTextToClipboard-3ca69a78.js";const ee={class:"header"},te=W({__name:"index",setup(a){const[d,{openDrawer:i}]=F(),[e,{reload:v}]=P({api:t=>E(w(t)),columns:U,formConfig:{labelWidth:0,schemas:C,showAdvancedButton:!1},useSearchForm:!0,showTableSetting:!1,bordered:!0,showIndexColumn:!1,canResize:!1,rowKey:t=>t.id,actionColumn:{width:180,title:"操作",dataIndex:"action",fixed:void 0}});G(()=>{WebViewService.setIsLoading(!1).then(()=>{})});const w=t=>{const g=t,{pageNum:n,pageSize:u,field:f="id",order:m="descend"}=g,I=x(g,["pageNum","pageSize","field","order"]),s={pageNum:n,pageSize:u,orderByClause:`${f} ${m==="descend"?"desc":"asc"}`};return Object.keys(I).forEach(_=>{const l=C.find(M=>M.field===_),o=t[_],r=_;l?o!==void 0&&o!==""&&(l.component==="Input"?s[r]=`%${o.trim()}%`:["Select","ApiSelect","ApiTreeSelect"].includes(l.component)?s[r]=V(o)?o.value:o:l.component==="RangePicker"?(s[`${r}From`]=h(o[0]).startOf("d").format("YYYY-MM-DD HH:mm:ss"),s[`${r}To`]=h(o[1]).endOf("d").format("YYYY-MM-DD HH:mm:ss")):l.component==="DatePicker"?s[r]=h(o).format(l.componentProps.format||"YYYY-MM-DD"):s[r]=o):s[r]=o}),s},y=()=>{i(!0,{isUpdate:!1})},T=t=>{i(!0,{record:t,isUpdate:!0})},k=t=>{z(t.id).then(n=>{v()})},B=()=>{v()};return(t,n)=>{const u=L("a-button");return S(),Z("div",null,[Y("div",ee,[p(c(O),{size:"19",name:"list"}),n[0]||(n[0]=Y("div",{class:"title"},"设备列表",-1))]),p(c($),{onRegister:c(e)},{toolbar:b(()=>[p(u,{type:"primary",onClick:y,icon:q(c(H))},{default:b(()=>n[1]||(n[1]=[J("新增")])),_:1},8,["icon"])]),bodyCell:b(({column:f,record:m})=>[f.dataIndex==="action"?(S(),Q(c(j),{key:0,actions:[{label:"编辑",icon:"clarity:note-edit-line",onClick:T.bind(null,m),divider:!0},{label:"删除",icon:"ant-design:delete-outlined",color:"error",popConfirm:{title:"是否确认删除",confirm:k.bind(null,m),placement:"topRight"}}]},null,8,["actions"])):X("",!0)]),_:1},8,["onRegister"]),p(K,{onRegister:c(d),onSuccess:B},null,8,["onRegister"])])}}});const he=A(te,[["__scopeId","data-v-56d2e6a3"]]);export{he as default}; var D=Object.getOwnPropertySymbols;var R=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable;var x=(a,d)=>{var i={};for(var e in a)R.call(a,e)&&d.indexOf(e)<0&&(i[e]=a[e]);if(a!=null&&D)for(var e of D(a))d.indexOf(e)<0&&N.call(a,e)&&(i[e]=a[e]);return i};import{u as P,B as $}from"./useTable-e949a6b7.js";import{T as j}from"./useForm-baba730a.js";import{S as O,j as V,_ as A}from"./index.js";import{N as H,j as h}from"./antd-0679333d.js";import{r as z,s as E}from"./deviceApi-260fcde9.js";import{u as F}from"./index-679d8a0a.js";import{D as K,c as U,s as C}from"./drawer-8318451d.js";import{d as W,o as G,a6 as L,Z as S,_ as Z,$ as Y,k as p,u as c,a5 as b,l as q,G as J,a4 as Q,a8 as X}from"./vue-72a104e4.js";import"./index-8a6826ba.js";import"./useWindowSizeFn-1db11f4f.js";import"./onMountedOrActivated-ee461833.js";import"./sortable.esm-15c0a34e.js";import"./copyTextToClipboard-3ca69a78.js";const ee={class:"header"},te=W({__name:"index",setup(a){const[d,{openDrawer:i}]=F(),[e,{reload:v}]=P({api:t=>E(w(t)),columns:U,formConfig:{labelWidth:0,schemas:C,showAdvancedButton:!1},useSearchForm:!0,showTableSetting:!1,bordered:!0,showIndexColumn:!1,canResize:!1,rowKey:t=>t.id,actionColumn:{width:180,title:"操作",dataIndex:"action",fixed:void 0}});G(()=>{WebViewService.setIsLoading(!1).then(()=>{})});const w=t=>{const g=t,{pageNum:n,pageSize:u,field:f="id",order:m="descend"}=g,I=x(g,["pageNum","pageSize","field","order"]),s={pageNum:n,pageSize:u,orderByClause:`${f} ${m==="descend"?"desc":"asc"}`};return Object.keys(I).forEach(_=>{const l=C.find(M=>M.field===_),o=t[_],r=_;l?o!==void 0&&o!==""&&(l.component==="Input"?s[r]=`%${o.trim()}%`:["Select","ApiSelect","ApiTreeSelect"].includes(l.component)?s[r]=V(o)?o.value:o:l.component==="RangePicker"?(s[`${r}From`]=h(o[0]).startOf("d").format("YYYY-MM-DD HH:mm:ss"),s[`${r}To`]=h(o[1]).endOf("d").format("YYYY-MM-DD HH:mm:ss")):l.component==="DatePicker"?s[r]=h(o).format(l.componentProps.format||"YYYY-MM-DD"):s[r]=o):s[r]=o}),s},y=()=>{i(!0,{isUpdate:!1})},T=t=>{i(!0,{record:t,isUpdate:!0})},k=t=>{z(t.id).then(n=>{v()})},B=()=>{v()};return(t,n)=>{const u=L("a-button");return S(),Z("div",null,[Y("div",ee,[p(c(O),{size:"19",name:"list"}),n[0]||(n[0]=Y("div",{class:"title"},"设备列表",-1))]),p(c($),{onRegister:c(e)},{toolbar:b(()=>[p(u,{type:"primary",onClick:y,icon:q(c(H))},{default:b(()=>n[1]||(n[1]=[J("新增")])),_:1},8,["icon"])]),bodyCell:b(({column:f,record:m})=>[f.dataIndex==="action"?(S(),Q(c(j),{key:0,actions:[{label:"编辑",icon:"clarity:note-edit-line",onClick:T.bind(null,m),divider:!0},{label:"删除",icon:"ant-design:delete-outlined",color:"error",popConfirm:{title:"是否确认删除",confirm:k.bind(null,m),placement:"topRight"}}]},null,8,["actions"])):X("",!0)]),_:1},8,["onRegister"]),p(K,{onRegister:c(d),onSuccess:B},null,8,["onRegister"])])}}});const he=A(te,[["__scopeId","data-v-56d2e6a3"]]);export{he as default};

File diff suppressed because one or more lines are too long

View File

@ -74,13 +74,15 @@ public class DeviceClientService
var eventService = Locator.Current.GetService<DetectDeviceService>()!; var eventService = Locator.Current.GetService<DetectDeviceService>()!;
return ConnectDevice(eventService.ListById(deviceId).Result!); return ConnectDevice(eventService.ListById(deviceId).Result!);
} }
public IDeviceClient? RefreshDeviceClientBySn(string deviceSn) public void RefreshDeviceClientBySn(string deviceSn)
{ {
var device = Locator.Current.GetService<DetectDeviceService>()!.ListBySn(deviceSn).Result!; var device = Locator.Current.GetService<DetectDeviceService>()!.ListBySn(deviceSn).Result!;
_deviceClients.TryGetValue(device.Id!.Value, out var deviceClient); _deviceClients.TryGetValue(device.Id!.Value, out var deviceClient);
deviceClient?.DisConnectAsync(); deviceClient?.DisConnectAsync();
return ConnectDevice(device); DeleteDeviceClientById(device.Id!.Value);
ConnectDevice(device);
Log.Information("重新连接设备【" + device.Name + "】【" + device.DeviceIp + "】");
} }
/// <summary> /// <summary>

View File

@ -86,7 +86,7 @@ public class OCRService
return new ApiResponse<string?>(0, "success", result); return new ApiResponse<string?>(0, "success", result);
} }
public Task<string> ImportByOCR(string base64ImageString) public Task<string> ImportByOCR(string base64ImageString, string? wallCode)
{ {
return Task.Run(() => return Task.Run(() =>
{ {
@ -100,11 +100,29 @@ public class OCRService
d.Index = index; d.Index = index;
return d; return d;
}).ToList(); }).ToList();
var tempList = resultList.Where(d => !string.IsNullOrEmpty(d.Text) && var items = resultList.Where(d => !string.IsNullOrEmpty(d.Text) && d.Text.ToUpper().Contains("定位信息表")).ToList();
(d.Text.ToUpper().Contains("PT") || if (items.Any() && !string.IsNullOrEmpty(items.First().Text))
d.Text.ToUpper().Contains("VBP") || {
d.Text.ToUpper().Contains("BSC"))) wallCode = items.First().Text!.Replace("定位信息表", "").Replace("预埋件", "").Replace("墙", "");
.ToList(); }
// var tempList = resultList.Where(d => !string.IsNullOrEmpty(d.Text) &&
// (d.Text.ToUpper().Contains("PT") ||
// d.Text.ToUpper().Contains("VBP") ||
// d.Text.ToUpper().Contains("BSC")))
// .ToList();
var tempList = new List<OCRResultEntity>();
if (wallCode != null)
{
tempList = resultList.Where(d => !string.IsNullOrEmpty(d.Text) && d.Text.ToUpper().Contains(wallCode.ToUpper())).ToList();
}
else
{
tempList = resultList.Where(d => !string.IsNullOrEmpty(d.Text) &&
(d.Text.ToUpper().Contains("P") ||
d.Text.ToUpper().Contains("VB") ||
d.Text.ToUpper().Contains("BS")))
.ToList();
}
var data = new List<dynamic>(); var data = new List<dynamic>();
foreach (var item in tempList) foreach (var item in tempList)
{ {
@ -122,8 +140,8 @@ public class OCRService
type = type.Split("-")[0]; type = type.Split("-")[0];
if (type.Contains('x', StringComparison.CurrentCultureIgnoreCase)) if (type.Contains('x', StringComparison.CurrentCultureIgnoreCase))
{ {
w = type.Split("x")[1]; w = type.Split("x")[0];
h = type.Split("x")[0]; h = type.Split("x")[1];
} }
else else
{ {
@ -133,7 +151,6 @@ public class OCRService
} }
else else
continue; continue;
// } // }
// else // else
// { // {

View File

@ -7,6 +7,7 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AControl_002Ecs_002Fl_003AC_0021_003FUsers_003FNick_0020Wang_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003Ff963a2a29ea2bb2d4ad8737293b45c4edbd94e55219dc42cf68343d6d91d9_003FControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AControl_002Ecs_002Fl_003AC_0021_003FUsers_003FNick_0020Wang_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003Ff963a2a29ea2bb2d4ad8737293b45c4edbd94e55219dc42cf68343d6d91d9_003FControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AControl_002Ecs_002Fl_003AC_0021_003FUsers_003Fxiongwei_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003Ff963a2a29ea2bb2d4ad8737293b45c4edbd94e55219dc42cf68343d6d91d9_003FControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AControl_002Ecs_002Fl_003AC_0021_003FUsers_003Fxiongwei_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003Ff963a2a29ea2bb2d4ad8737293b45c4edbd94e55219dc42cf68343d6d91d9_003FControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AConvert_002Ecs_002Fl_003AC_0021_003FUsers_003FNick_0020Wang_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb2b917c507d64d0980727dbdd83b6585c8f8a0_003Fae_003F21158426_003FConvert_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AConvert_002Ecs_002Fl_003AC_0021_003FUsers_003FNick_0020Wang_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb2b917c507d64d0980727dbdd83b6585c8f8a0_003Fae_003F21158426_003FConvert_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADbContext_002Ecs_002Fl_003AC_0021_003FUsers_003FNick_0020Wang_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003Faacc74311ca994f12b71cddb22241be9d6654c65e94f5985c5488dee396916f_003FDbContext_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADependencyResolverMixins_002Ecs_002Fl_003AC_0021_003FUsers_003FNick_0020Wang_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fca0d4592dc494bbaa872fd9db942335922638_003Ff9_003Fb0105fc3_003FDependencyResolverMixins_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADependencyResolverMixins_002Ecs_002Fl_003AC_0021_003FUsers_003FNick_0020Wang_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fca0d4592dc494bbaa872fd9db942335922638_003Ff9_003Fb0105fc3_003FDependencyResolverMixins_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADispatcher_002Ecs_002Fl_003AC_0021_003FUsers_003FNick_0020Wang_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F83e088d74274453eb3e41f7db5bccb291d1200_003F07_003F42bfa7d3_003FDispatcher_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADispatcher_002Ecs_002Fl_003AC_0021_003FUsers_003FNick_0020Wang_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F83e088d74274453eb3e41f7db5bccb291d1200_003F07_003F42bfa7d3_003FDispatcher_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADispatcher_002Ecs_002Fl_003AC_0021_003FUsers_003FNick_0020Wang_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003Fdca7348132fe2a808736081c225b26e395f2581aa576813f1316ca11ec2_003FDispatcher_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADispatcher_002Ecs_002Fl_003AC_0021_003FUsers_003FNick_0020Wang_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003Fdca7348132fe2a808736081c225b26e395f2581aa576813f1316ca11ec2_003FDispatcher_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>