PageSourceSearch

https://v.iotku.com/v3/js/SearchV3.js?4811a767-98c6-460b-ba79-6c4d826f25f3

js iotku.com collected 2026-10-08 12:00:44 UTC 11,829 bytes, 222 lines download raw bytes

1layui.use(['element', 'common', 'form'], function () {
2    var $ = layui.jquery, $common = layui.common, form = layui.form, element = layui.element;
3
4    $(".IKAPP").click(function (e) { AddSearchAppSel(this, $(this).data("id")); e.preventDefault(); });
5    $(".IKCLS").click(function (e) { AddSearchClsSel(this, $(this).data("id")); e.preventDefault(); });
6    InitMutilSearch();
7
8    var cxSelectApi;
9    $.cxSelect.defaults.emptyStyle = 'none';
10    $('#sAreaContainer').cxSelect({ selects: ['firstArea', 'secondArea'], url: "/js/pcJson.json", emptyStyle: "none", jsonName: 'label', jsonValue: 'label', jsonSub: 'children' }, function (api) { cxSelectApi = api; });
11    $(".firstArea").change(function () { $("#SearchAddr").val($(this).val()); $("#sAreaSubContainer").show(); console.log($(this).val()); });
12    $(".secondArea").change(function () { $("#SearchAddr").val($(this).val()); console.log($(this).val()); });
13    InitPC($("#SearchAddr").val(), cxSelectApi);
14    function InitPC(sVal, cxAreaSelectApi) {
15        try {
16            if (!sVal || sVal.length < 1) { return; }
17            $.getJSON("/js/pcJson.json", { "R": Math.random() }, function (j) {
18                var arr = QPC(sVal, j); console.log(arr);
19                if (!arr || arr.length < 1) { return; }
20                $(".firstArea").attr("data-value", arr[0]);
21                if (arr.length > 1) { $(".secondArea").attr("data-value", arr[1]); $("#sAreaSubContainer").show(); }
22                cxAreaSelectApi.attach();
23            });
24
25        } catch (e) { }
26    }
27
28    $("#MySearchSelAppIds").val(getQueryString("appIds"));
29    $("#MySearchSelClsIds").val(getQueryString("clsIdArr"));
30    RenderClsSel();
31    RenderAppSel();
32    function QChkVal(name) { var arr = []; $("input[name='" + name + "']:checked").each(function () { arr.push($(this).val()); }); return arr.join(","); }
33
34    var searchKey = "SEARCHSAVEKEY";
35    $("#btnULPageSearch").click(function () {
36        var k = $("#txtULPageSearchK").val(), clsId = $("#MySearchSelClsIds").val(), canAgent = $("#IKCanAgent").prop("checked") || false
37            , appIds = $("#MySearchSelAppIds").val(), addr = $("#SearchAddr").val(), bizBoardId = $("#BizBoardId").val();
38        var arr = [];
39        if (appIds && appIds.length > 0) { arr.push("appIds=" + appIds); }
40        if (clsId && clsId.length > 0) { arr.push("clsIdArr=" + encodeURIComponent(clsId)); }
41        if (k && k.length > 0) { setSessionStorage(searchKey, k); arr.push("k=" + encodeURIComponent(k)); }
42        if (addr && addr.length > 0) { arr.push("p=" + encodeURIComponent(addr)); }
43        if (canAgent === true) { arr.push("canAgent=1"); }
44        if (bizBoardId && parseFloat(bizBoardId) > 0) { arr.push("bizBoardId=" + bizBoardId); }
45        if (!arr || arr.length < 1) { layer.msg("请提供搜索条件!"); return false; }
46
47        var uid = $common.User.Info.UserId || 0;
48        var c = $("#hdnSearchPath").val(), uriPath = location.pathname.toLocaleLowerCase();
49        var uri = "/" + c + "/?" + arr.join("&");
50        if (uriPath == "/company/jlist") { uri = "/Company/JList?" + arr.join("&"); }
51        if (uriPath == "/biz/tender") { uri = '/biz/tender?' + arr.join("&"); }
52
53        $.getJSON("/Api/OpenAPI/IoTKuSearchLog", { "UserId": uid, "k": k, "URI": uri, "FromURI": encodeURI(location.pathname) });
54        if (arr.length == 1 && k.length > 0 && c == "Product") {
55            $.getJSON("https://www.iotku.com/app/AppClsAll", function (SEARCHCLSJSON) {
56                var isMatch = false;
57                SEARCHCLSJSON.forEach(function (item) { if (item.Name == k) { location.href = "/Product/" + item.Id; isMatch = true; return false; } });
58                if (isMatch === false) { location.href = uri; }
59            });
60        } else {
61            location.href = uri;
62        }
63        return false;
64    });
65});
66function InitMutilSearch() {
67    var uriPath = location.pathname.toLocaleLowerCase();
68    if (uriPath != "/company/jlist") { return; }
69    var totalNum = parseFloat($("#hdnTotalNum").val());
70    if (totalNum > 0) { return; }
71    let searchParams = new URLSearchParams(location.search);
72    var k = searchParams.get("k");
73    if (!k || k.length < 1) { return; }
74    var postParams = { "k": k, "pagesize": 1 };
75
76    $.post("https://api.iotku.com/Api/API/SolList", postParams, function (solRes) {
77        $.post("https://api.iotku.com/Api/API/ProList", postParams, function (proRes) {
78            var html = '<div class="dhTips">未查询到相关企业,已为你搜索到<div class="tips-li"><span>' + proRes.RowCount + '</span>条<a href="/Product/?k='
79                + k + '" target="_blank">' + k + '</a>产品</div><div class="tips-li"><span>' + solRes.RowCount + '</span>条<a href="/Sol/?k='
80                + k + '" target="_blank">' + k + '</a>方案</div></div>';
81            $(".enterpriseSeo").append(html);
82        }, "JSON");
83    }, "JSON");
84}
85function setSessionStorage(key, val) { sessionStorage.removeItem(key); if (!val) { return; } sessionStorage.setItem(key, val); }
86function ClearClsFilter(sender) { $("#SearchClsFilterContainer div").html(""); $("#MySearchSelClsIds").val(""); $("#SearchClsFilterContainer").hide(); }
87function SearchCls(sender) { $("#btnULPageSearch").click(); return false; }
88
89function AddSearchClsSel(sender, id) {
90    var sVal = $("#MySearchSelClsIds").val();
91    var arr = sVal && sVal.length > 0 ? sVal.split(',') : [], vArr = arr.map(Number);
92    if (arr && arr.length > 10) { alert("最多选10项!"); return; }
93    if ($.inArray(parseInt(id, 10), vArr) == -1) arr.push(id);
94    $("#MySearchSelClsIds").val(arr.join(','));
95    RenderClsSel();
96}
97function DelSearchClsSel(sender, val) {
98    var sVal = $("#MySearchSelClsIds").val();
99    if (!sVal || sVal.length < 1) { $("#SearchClsFilterContainer").hide(); $("#SearchClsFilterContainer>ul").html("您还没有选择"); return; }
100    var arr = sVal.split(','), vArr = [];
101    for (var i = 0; i < arr.length; i++) {
102        if (parseFloat(arr[i]) != parseFloat(val)) { vArr.push(arr[i]); }
103    }
104    $("#MySearchSelClsIds").val(vArr.join(","));
105    RenderClsSel();
106}
107function RenderClsSel() {
108    var sVal = $("#MySearchSelClsIds").val();
109    if (!sVal || sVal.length < 1) { $("#SearchClsFilterContainer").hide(); $("#SearchClsFilterContainer div").html(""); return; }
110    if (!clsJSON) { return; }
111    var nameArr = [], valArr = sVal.split(',');
112    for (var i = 0; i < valArr.length; i++) {
113        $("#ulSearchTechContainer a[data-id='" + valArr[i] + "']").addClass("cur");
114        var name = QSearchClsName(valArr[i]);
115        if (name && name.length > 1) nameArr.push('<div class="conditionsItem" onclick="DelSearchClsSel(this,' + valArr[i] + ')">' + name + '<span class="delIcon">X</span></div>');
116    }
117
118    $("#SearchClsFilterContainer").show();
119    $("#SearchClsFilterContainer div").html(nameArr.join(""));
120}
121
122function AddSearchAppSel(sender, id) {
123    var sVal = $("#MySearchSelAppIds").val();
124    var arr = sVal && sVal.length > 0 ? sVal.split(',') : [], vArr = arr.map(Number);
125    if (arr && arr.length > 10) { alert("最多选10项!"); return; }
126    if ($.inArray(parseInt(id, 10), vArr) == -1) arr.push(id);
127    $("#MySearchSelAppIds").val(arr.join(','));
128    RenderAppSel();
129}
130function DelSearchAppSel(sender, val) {
131    var sVal = $("#MySearchSelAppIds").val();
132    if (!sVal || sVal.length < 1) { $("#SearchAppFilterContainer").hide(); $("#SearchAppFilterContainer div").html(""); return; }
133    var arr = sVal.split(','), vArr = [];
134    for (var i = 0; i < arr.length; i++) { if (parseFloat(arr[i]) != parseFloat(val)) { vArr.push(arr[i]); } }
135    $("#MySearchSelAppIds").val(vArr.join(","));
136    RenderAppSel();
137}
138function RenderAppSel() {
139    var sVal = $("#MySearchSelAppIds").val();
140    if (!sVal || sVal.length < 1) { $("#SearchAppFilterContainer").hide(); $("#SearchAppFilterContainer div").html(""); return; }
141    if (!appClsJSON || appClsJSON.length < 1) { return; }
142    var nameArr = [], valArr = sVal.split(',');
143    for (var i = 0; i < valArr.length; i++) {
144        $("#ulSearchAppContainer a[data-id='" + valArr[i] + "']").addClass("cur");
145        var name = QSearchAppName(valArr[i]);
146        if (name && name.length > 1) nameArr.push('<div class="conditionsItem" onclick="DelSearchAppSel(this,' + valArr[i] + ')">' + name + '<span class="delIcon">X</span></div>');
147    }
148
149    $("#SearchAppFilterContainer").show();
150    $("#SearchAppFilterContainer div").html(nameArr.join(""));
151}
152
153function QPC(sVal, pcJSON) {
154    if (!sVal || sVal.length < 1 || !pcJSON || pcJSON.length < 1) { return null; }
155    for (var i = 0; i < pcJSON.length; i++) {
156        if (pcJSON[i].label == sVal) { return [pcJSON[i].label]; }
157        for (var j = 0; j < pcJSON[i].children.length; j++) {
158            if (pcJSON[i].children[j].label == sVal) return [pcJSON[i].label, pcJSON[i].children[j].label];
159        }
160    }
161    return null;
162}
163function QSearchClsName(sVal) {
164    if (!clsJSON || !sVal || sVal == "" || parseFloat(sVal) < 1) return null;
165    var qVal = parseFloat(sVal), QSearchClsName = null;
166
167    for (var i = 0; i < clsJSON.length; i++) {
168        if (parseFloat(clsJSON[i].value) == qVal) { QSearchClsName = clsJSON[i].label; break; }
169        for (var i2 = 0; i2 < clsJSON[i].children.length; i2++) {
170            if (parseFloat(clsJSON[i].children[i2].value) == qVal) { QSearchClsName = clsJSON[i].label + '->' + clsJSON[i].children[i2].label; break; }
171
172            for (var i3 = 0; i3 < clsJSON[i].children[i2].children.length; i3++) {
173                if (parseFloat(clsJSON[i].children[i2].children[i3].value) == qVal) { QSearchClsName = clsJSON[i].children[i2].label + '->' + clsJSON[i].children[i2].children[i3].label; break; }
174
175                for (var i4 = 0; i4 < clsJSON[i].children[i2].children[i3].children.length; i4++) {
176                    if (parseFloat(clsJSON[i].children[i2].children[i3].children[i4].value) == qVal) {
177                        QSearchClsName = clsJSON[i].children[i2].children[i3].label + '->' + clsJSON[i].children[i2].children[i3].children[i4].label;
178                        return QSearchClsName;
179                    }
180                }
181            }
182        }
183    }
184    return QSearchClsName;
185}
186function QSearchAppName(sVal) {
187    if (!appClsJSON || !sVal || sVal == "" || parseFloat(sVal) < 1) return null;
188    var qVal = parseFloat(sVal), QSearchClsName = null;
189    for (var i = 0; i < appClsJSON.length; i++) {
190        if (appClsJSON[i].Id == qVal) { return appClsJSON[i].ClsName; }
191    }
192    return "";
193}
194
195function AddressSearch(sender) { location.href = $("#hdnSearchPathURI").val() + "?p=" + encodeURI($(sender).data("name")); }
196$(function () {
197    var sAddr = $("#IsSearchAddr").val();
198    if (!sAddr || sAddr != "Y") { return; }
199
200    $.getJSON("https://v.iotku.com/v3/js/PCA.js", { "R": Math.random() }, function (res) {
201        if (!res || res.length < 1) { return; }
202        var arr = [];
203        res.forEach(function (item, idx) {
204            arr.push('<div class="cascade-item-short">');
205            arr.push('<a class="cascade-item cascade-most IKPCA" data-name="' + item.Name + '" onclick="AddressSearch(this)">' + item.Name + '</a>');
206            arr.push('<div class="cascade-detial2 clear">');
207            arr.push('<div class="cascade-item-short">');
208            arr.push('<div class="cascade-detial4 clear">');
209            arr.push('<div class="cascade-item-short">');
210            item.sub.forEach(function (sItem, sIdx) {
211                arr.push('<a class="cascade-item2 IKPCA" data-name="' + sItem.Name + '" onclick="AddressSearch(this)">' + sItem.Name + '</a>');
212            });
213            arr.push('</div>');
214            arr.push('</div>');
215            arr.push('</div>');
216            arr.push('</div>');
217
218            arr.push('</div>');
219        });
220        $("#IoTKuAddressEL").html(arr.join(""));
221    });
222});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.