From fce9a89fb5ad93277b95c699e892af1bb28aba88 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 02 八月 2022 19:30:15 +0800
Subject: [PATCH] 车间综合看板接口调整,报工控制

---
 VueWebApi/obj/Release/Package/PackageTmp/Grid/grwebapp.js |  499 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 499 insertions(+), 0 deletions(-)

diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Grid/grwebapp.js b/VueWebApi/obj/Release/Package/PackageTmp/Grid/grwebapp.js
new file mode 100644
index 0000000..e15e0f2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Grid/grwebapp.js
@@ -0,0 +1,499 @@
+//鍙橀噺 _grwebapp_url 鎸囧畾WEB鎶ヨ〃瀹㈡埛绔畨瑁呯▼搴忕殑涓嬭浇URL锛屽綋閫氳繃WebSocket閫氳涓嶆垚鍔熸椂锛屾彁绀虹敤鎴风敤姝RL涓嬭浇绋嬪簭杩涜瀹夎銆�
+//鎴栫敤浜庤嚜鍔ㄦ洿鏂癢EB鎶ヨ〃瀹㈡埛绔椂涓嬭浇鏂扮増鏈紝寮�鍙戣�呭簲灏� _grwebapp_url 鏀逛负鑷繁鏈嶅姟鍣ㄧ殑URL锛屾柟渚跨敤鎴蜂粠鍙闂殑WEB鏈嶅姟鍣ㄤ笅杞�
+//鍙橀噺 _grwebapp_version 鎸囧畾鑷姩鏇存柊鏃讹紝瀹㈡埛绔▼搴忛渶瑕佺殑鐗堟湰鍙凤紝濡傛灉灏忎簬姝ょ増鏈彿锛屽垯鑷姩杩涜鏇存柊
+var _grwebapp_websocket = null,
+    _grwebapp_url = "http://www.rubylong.cn/download/gridreport6-webapp.exe",
+    _grwebapp_version = "6.8.2.0", 
+    webapp_onmessage ; //濡傛灉闇�瑕佸搷搴旀墽琛屼换鍔″悗鐨勬秷鎭搷搴旓紝搴旇鍐欎竴涓悕绉颁负 webapp_onmessage 鐨� function
+
+function webapp_url_method_valid(url, method) {
+    if (!method) {
+        if (typeof url == "object") {
+            method = url.method;
+            url = url.url;
+        }
+        if (!method) {
+            method = /.grf|.txt|.xml|.json/.test(url) ? "GET" : "POST";
+        }
+    }
+    return method;
+}
+
+//姝ゅ嚱鏁扮敤浜庡垽鏂竴涓彉閲忔槸鍚︿负URL瀛楃涓诧紝濡傛灉绫诲瀷涓哄瓧绗︿覆涓旈涓潪绌虹櫧瀛楃涓嶄负鈥�<鈥濅笌鈥渰鈥濆嵆鍒ゅ畾涓篣RL
+//濡傛灉鍙傛暟鏄竴涓猳bject瀵硅薄锛屼笖鍏跺叿鏈夆�渦rl鈥濆睘鎬э紝鍒欏叾鏄疕TTPParam瀵硅薄锛屾槸涓�涓猽rl鍙傛暟
+var webapp_is_url = function (p) {
+    var index = 0,
+        len = p.length,
+        ch;
+
+    //瀵硅薄濡傛灉鏈塽rl灞炴�э紝鍒ゅ畾涓簎rl
+    if (typeof p == "object") {
+        return !!p.url;
+    }
+
+    if (typeof p != "string") {
+        return 0;
+    }
+
+    //棣栧厛鎵惧埌绗竴涓潪绌虹櫧瀛楃
+    while (index < len) {
+        ch = p[index];
+        if (!/\s/g.test(ch))
+            break;
+        index++;
+    }
+
+    //濡傛灉涓嶆槸xml鎴杍son鏂囨湰涓诧紝鍒欏垽瀹氫负url
+    return (ch != "{") && (ch != "<") && (p.substr(index, 4) != "_WR_");
+};
+
+function webapp_ajax(method, url, callback, cbthis, params) {
+    var xmlhttp = new XMLHttpRequest(),
+        headers;
+
+    xmlhttp.onreadystatechange = function () {
+        if (xmlhttp.readyState == 4 && xmlhttp.status > 0) {
+            callback.call(cbthis, xmlhttp, xmlhttp.status == 200);
+        }
+    }
+
+    xmlhttp.onerror = function () {
+        callback.call(cbthis, xmlhttp, 0);
+    }
+
+    if (typeof url == "object") {
+        headers = url.headers;
+        if (typeof headers == "string") {
+            headers = JSON.parse(headers)
+        }
+
+        if (!method) {
+            method = url.method;
+        }
+
+        if (!params) {
+            params = url.data;
+        }
+
+        url = url.url;
+    }
+
+    xmlhttp.open(webapp_url_method_valid(url, method), url, true); //寮傛璇锋眰鏁版嵁
+
+    if (headers && typeof headers == "object") {
+        for (var key in headers) {
+            xmlhttp.setRequestHeader(key, headers[key]);
+        }
+    }
+
+    xmlhttp.send(params);  //POST 鎴� PUT 鍙互浼犻�掑弬鏁�
+}
+
+/////////////////////////////////////////////////////////////////////////////
+//鍒涘缓鍚姩WEB鎶ヨ〃瀹㈡埛绔殑URL鍗忚鍙傛暟
+function _gr_up_href(args) {
+    return "grwebapp://" + (args ? JSON.stringify(args) : "");
+}
+
+//閫氳繃URL鍗忚鍚姩WEB鎶ヨ〃瀹㈡埛绔▼搴�
+//鍙傛暟 appUpdate 鎸囧畾鏄惁鑷姩鏇存柊WEB鎶ヨ〃瀹㈡埛绔▼搴忥紝鏍规嵁_grwebapp_version涓庡凡缁忓畨瑁呯殑绋嬪簭鐗堟湰杩涜姣旇緝锛屾寜闇�杩涜鑷姩鍗囩骇
+function webapp_urlprotocol_startup(appUpdate) {
+    var arg = appUpdate ? {
+        type: "update",
+        url: _grwebapp_url,
+        ver: _grwebapp_version
+    } : 0;
+    window.location.href = _gr_up_href(arg);
+}
+
+//濡傛灉WEB鎶ヨ〃瀹㈡埛绔▼搴忔湭杩愯锛屽厛閫氳繃URL鍗忚鍚姩WEB鎶ヨ〃瀹㈡埛绔▼搴�
+//閫氱煡WEB鎶ヨ〃瀹㈡埛绔▼搴忔牴鎹ā鏉夸笌鏁版嵁鐨刄RL锛屼互鍙婄敓鎴愮被鍨嬬瓑鐩稿叧鍙傛暟杩涜鎶ヨ〃鐢熸垚锛�
+function webapp_urlprotocol_run(args, report_url, data_url) {
+    if (report_url) {
+        args.report = report_url;
+    }
+    if (data_url) {
+        args.data = data_url;
+    }
+
+    window.location.href = _gr_up_href(args);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+//妫�鏌ebSocket鏄惁宸茬粡鍒涘缓骞堕�氳杩炴帴鎴愬姛
+function webapp_ws_check(slience) {
+    if (!slience) {
+        if (!_grwebapp_websocket) {
+            alert("WebSocket娌℃湁鍒涘缓锛屾棤娉曞彂閫佹暟鎹紒");
+        }
+        else if (_grwebapp_websocket.readyState != 1) {
+            alert("WebSocket姝e湪杩炴帴涓紝鏆備笉鑳藉彂閫佹暟鎹紒");
+        }
+    }
+    return _grwebapp_websocket && (_grwebapp_websocket.readyState === 1);
+}
+
+//鍒涘缓骞堕�氳杩炴帴WebSocket
+function webapp_ws_create(onopen) {
+    //濡傛灉宸茬粡鍒涘缓锛屼笖杩炴帴姝e父锛屽垯涓嶈鍐嶆鍒涘缓
+    if (_grwebapp_websocket && _grwebapp_websocket.readyState === 1) {
+        return;
+    }
+
+    //鍒ゆ柇褰撳墠娴忚鍣ㄦ槸鍚︽敮鎸乄ebSocket
+    if ('WebSocket' in window) {
+        _grwebapp_websocket = new WebSocket("ws://127.0.0.1:22333");
+
+        //杩炴帴鎴愬姛寤虹珛鐨勫洖璋冩柟娉�
+        if (onopen) {
+            _grwebapp_websocket.onopen = function () {
+                //alert("_grwebapp_websocket.onopen");
+                onopen();
+            }
+        }
+        debugger;
+        //鎺ユ敹鍒版秷鎭殑鍥炶皟鏂规硶
+        if (window.webapp_onmessage) {
+            _grwebapp_websocket.onmessage = function (event) {
+                window.webapp_onmessage(event);
+            }
+        }
+
+        _grwebapp_websocket.onerror = function () {
+            var children = document.body.children,
+                childrenLen = children.length,
+                referNode = childrenLen ? children[0] : null,
+                newNode = document.createElement("h3");
+
+            _grwebapp_websocket = null;
+
+            //寮瑰嚭alert鎻愮ず淇℃伅锛屽彲淇敼涓烘洿閫傚悎鐨勮〃杩�
+            //alert("鍒涘缓WebSocket澶辫触锛屽彲鑳芥槸鈥榃EB鎶ヨ〃瀹㈡埛绔▼搴忊�欏湪鏈満娌℃湁瀹夎锛屾垨鍦ㄦ姤琛ㄧ綉椤靛姞杞芥椂娌℃湁璋冪敤鈥榳ebapp_urlprotocol_startup鈥欏嚱鏁拌繘琛屽惎鍔ㄣ��");
+            alert("鍒涘缓WebSocket澶辫触锛屽彲鑳芥槸WEB鎶ヨ〃瀹㈡埛绔▼搴忔病鏈夊惎鍔紝鎴栧叾鍦ㄦ湰鏈烘病鏈夊畨瑁咃紝璇锋牴鎹綉椤甸《閮ㄧ殑鎻愮ず杩涜鐩稿簲鐨勬搷浣溿��");
+
+            //鍦ㄧ綉椤垫渶鍓嶉潰鍔犱笂鎻愮ず涓嬭浇鐨勬枃瀛楋紝鍙慨鏀逛负鏇撮�傚悎鐨勮〃杩颁笌鐣岄潰褰㈠紡
+            //newNode.innerHTML = '鐗瑰埆鎻愮ず锛�<a href="' + _grwebapp_url + '">鐐瑰嚮涓嬭浇WEB鎶ヨ〃瀹㈡埛绔▼搴�</a>锛屼笅杞藉悗鍙屽嚮涓嬭浇鐨勬枃浠惰繘琛屽畨瑁咃紝瀹夎瀹屾垚鍚庨噸鏂版墦寮�褰撳墠缃戦〉銆�';
+            newNode.innerHTML = '鐗瑰埆鎻愮ず锛氬皾璇�<a href="javascript:webapp_urlprotocol_startup();">鍚姩WEB鎶ヨ〃瀹㈡埛绔▼搴�</a>銆傛垨<a href="' + _grwebapp_url + '">鐐瑰嚮涓嬭浇WEB鎶ヨ〃瀹㈡埛绔▼搴�</a>锛屼笅杞藉悗鍙屽嚮涓嬭浇鐨勬枃浠惰繘琛屽畨瑁咃紝瀹夎瀹屾垚鍚庨噸鏂版墦寮�褰撳墠缃戦〉銆�';
+            document.body.insertBefore(newNode, referNode);
+        };
+
+        //杩炴帴鍏抽棴鐨勫洖璋冩柟娉�
+        _grwebapp_websocket.onclose = function () {
+            _grwebapp_websocket = null;
+        }
+
+        //鎰熻杩欓儴鍒嗗彲浠ヤ笉瑕�
+        //鐩戝惉绐楀彛鍏抽棴浜嬩欢锛屽綋绐楀彛鍏抽棴鏃讹紝涓诲姩鍘诲叧闂璤grwebapp_websocket杩炴帴锛岄槻姝㈣繛鎺ヨ繕娌℃柇寮�灏卞叧闂獥鍙o紝server绔細鎶涘紓甯搞��
+        //window.onbeforeunload = function () {
+        //    if (_grwebapp_websocket) {
+        //        _grwebapp_websocket.close();
+        //    }
+        //}
+    }
+    else {
+        alert('褰撳墠娴忚鍣ㄤ笉鏀寔HTML5鐨刉ebSocket锛岃閫夌敤鏇存柊鐗堟湰鐨勬祻瑙堝櫒锛�')
+    }
+}
+
+function webapp_build_one(pack, report, report_method, data, data_method, callback_fun, dataParams) {
+    if (!report) {
+        alert("鍦ㄥ弬鏁颁腑娌℃湁瀹氫箟鎶ヨ〃妯℃澘鐨剈rl锛屾姤琛ㄤ笉鑳界敓鎴愶紒");
+        return;
+    }
+
+    if (data) {
+        if (webapp_is_url(data)) {
+            webapp_ajax(data_method, data, function (xmlhttp, success) {
+                if (success) {
+                    pack.data = xmlhttp.responseText;
+                    callback_fun();
+                }
+                else {
+                    //alert("杞藉叆鎶ヨ〃鏁版嵁澶辫触锛屽搷搴旀秷鎭細" + xmlhttp.responseText);
+                    window.open(data, "blank");
+                }
+            }, undefined, dataParams);
+        }
+        else {
+            pack.data = (typeof data == "object") ? JSON.stringify(data) : data;
+            callback_fun();
+        }
+    }
+    else {
+        pack.data = "";
+    }
+
+    if (webapp_is_url(report)) {
+        webapp_ajax(report_method, report, function (xmlhttp, success) {
+            if (success) {
+                pack.report = xmlhttp.responseText;
+                callback_fun();
+            }
+            else {
+                //alert("杞藉叆鎶ヨ〃妯℃澘澶辫触锛屽搷搴旀秷鎭細" + xmlhttp.responseText);
+                window.open(report, "blank");
+            }
+        });
+    }
+    else {
+        pack.report = (typeof report == "object") ? JSON.stringify(report) : report;
+        callback_fun();
+    }
+}
+
+//灏嗗弬鏁伴�氳繃WebSocket鍙戦�佺粰WEB鎶ヨ〃瀹㈡埛绔紝WEB鎶ヨ〃瀹㈡埛绔墽琛屽搴旂殑浠诲姟
+//鍙傛暟璇存槑锛�
+//args锛�
+//  鎶ヨ〃鐢熸垚鐩稿叧鐨勫弬鏁帮紝涓轰竴涓粨鏋勪綋瀵硅薄鎴栫粨鏋勪綋瀵硅薄鏁扮粍銆�
+//  褰撳弬鏁颁负鏁扮粍鏃讹紝琛ㄧず鏄墽琛屾壒閲忎换鍔°�傛鏃跺悗闈㈢殑 report 涓� data 鍙傛暟涓嶄細琚敤鍒般��
+//  缁撴瀯浣撳璞$殑鍚勪釜鏁版嵁椤硅鏄庤鍙傝�冨府鍔╀腑鈥淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃瀹㈡埛绔�->鍚姩鍙傛暟璇存槑鈥濋儴鍒�
+//report锛�
+//  鎶ヨ〃妯℃澘鏂囨湰锛屾姤琛ㄥ畾涔夋牸寮忓繀椤讳负JSON鏍煎紡銆傛鍙傛暟鍙┖锛屼负绌鸿〃绀烘墽琛岄潪鎶ヨ〃鐢熸垚浠诲姟锛屾垨WEB鎶ヨ〃瀹㈡埛绔�氳繃URL鑾峰彇鎶ヨ〃妯℃澘銆�
+//data锛�
+//  鎶ヨ〃鏁版嵁鏂囨湰锛屾鍙傛暟鍙┖锛屾姤琛ㄦ棤闇�鎻愪緵鏁版嵁锛屾垨WEB鎶ヨ〃瀹㈡埛绔�氳繃URL鑾峰彇鎶ヨ〃鏁版嵁銆�
+//
+//  鎶ヨ〃鏁版嵁瀵瑰簲鐨� XML 鎴� JSON 鏂囨湰锛岃鍙傝�冨府鍔┾�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃鏁版嵁鈥濅腑鐨勮鏄庛�� 
+function webapp_ws_run(variant_args, report, data) {
+    function run_one(args, reportText, dataText) {
+        var msg;
+
+        if (webapp_ws_check()) {
+            if (typeof args === "string") {
+                args = {
+                    type: args
+                };
+            }
+            msg = JSON.stringify(args);
+
+            if (reportText) {
+                if (reportText.substr(0, 4) === "_WR_") {
+                    msg += reportText.length;
+                }
+                msg += reportText;
+
+                if (dataText) {
+                    msg += dataText;
+                }
+            }
+
+            _grwebapp_websocket.send(msg);
+        }
+    } //end of run_one
+
+    if (!webapp_ws_check(1)) {
+        //濡傛灉WebSocket娌℃湁杩炴帴锛屽垯棣栧厛鍒涘缓骞惰繛鎺ebSocket锛屽苟鍦╫nopen浜嬩欢涓墽琛岀浉鍏崇殑浠诲姟
+        webapp_ws_create(function () {
+            webapp_ws_run(variant_args, report, data);
+        });
+        return;
+    }
+
+    if (Array.isArray(variant_args)) {
+        variant_args.forEach(function (args) {
+            run_one(args);
+        })
+    }
+    else {
+        run_one(variant_args, report, data);
+    }
+}
+
+//閫氳繃 ajax 鏂瑰紡鑾峰彇鎶ヨ〃妯℃澘涓庢姤琛ㄦ暟鎹紝鐒跺悗閫氳繃 WebSocket 鍙戦�佺浉鍏虫暟鎹粰WEB鎶ヨ〃瀹㈡埛绔苟鐢熸垚鎶ヨ〃
+//鍙傛暟鏃㈠彲浠ユ槸鍗曚釜缁撴瀯浣撳璞★紝涔熷彲浠ユ槸缁撴瀯浣撳璞℃暟缁勩�傚鏋滄槸鏁扮粍锛岃〃绀烘垚鎵圭敓鎴愬涓姤琛ㄣ��
+//缁撴瀯浣撳璞$殑鍚勪釜鏁版嵁椤硅鏄庤鍙傝�冨府鍔╀腑鈥淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃瀹㈡埛绔�->鍚姩鍙傛暟璇存槑鈥濋儴鍒嗐��
+function webapp_ws_ajax_run(variant_args) {
+    function run_one(args) {
+        var report = args.report,
+        data = args.data,
+        report_method = args.report_method,
+        data_method = args.data_method,
+        dataUrlParams = args.dataUrlParams,
+        pack = {};
+
+        function run() {
+            //鍙湁褰搑eport涓巇ata閮借祴鍊间箣鍚庢墠杩愯锛屽嵆鍚慦EB鎶ヨ〃瀹㈡埛绔▼搴忓彂閫佹暟鎹�
+            if (pack.report && pack.data !== undefined) {
+                webapp_ws_run(args, pack.report, pack.data);
+            }
+        }
+
+        //鍥犱负args闇�瑕佷紶閫掔粰WEBAPP锛宺eport涓巇ata鐨剈rl鐩稿叧鐨勫弬鏁颁笉闇�瑕佷紶閫掞紝鎵�浠ュ皢鍏跺垹闄ゆ帀
+        delete args.report;
+        delete args.data;
+        delete args.report_method;
+        delete args.data_method;
+        delete args.dataUrlParams;
+
+        webapp_build_one(pack, report, report_method, data, data_method, run, dataUrlParams);
+    } //end of run_one
+
+    if (!webapp_ws_check(1)) {
+        //濡傛灉WebSocket娌℃湁杩炴帴锛屽垯棣栧厛鍒涘缓骞惰繛鎺ebSocket锛屽苟鍦╫nopen浜嬩欢涓墽琛岀浉鍏崇殑浠诲姟
+        webapp_ws_create(function () {
+            webapp_ws_ajax_run(variant_args);
+        });
+        return;
+    }
+
+    if (Array.isArray(variant_args)) {
+        variant_args.forEach(function (args) {
+            run_one(args);
+        });
+    }
+    else {
+        run_one(variant_args);
+    }
+}
+
+//閫氳繃 ajax 鏂瑰紡鑾峰彇澶氫釜鎶ヨ〃鐨勬ā鏉夸笌鏁版嵁锛岀劧鍚庣敤 WebSocket 灏嗘暟鎹竴娆℃�у彂閫佺粰WEB鎶ヨ〃瀹㈡埛绔▼搴忋��
+//瀹炵幇澶氫釜鎶ヨ〃鍚屾椂鐢熸垚鍦ㄤ竴涓换鍔′腑(搴旂敤Grid++Report鐨勭嫭绔嬪瓙鎶ヨ〃鍔熻兘瀹炵幇)锛岃揪鍒板涓姤琛ㄥ悓鏃堕瑙堛�佹墦鍗颁笌鏁版嵁瀵煎嚭
+function webapp_ws_ajax_together(args, reports) {
+    var reportCount = reports.length,
+        reportPacks = [],
+        gettedCount = 0; //鎸囩ず宸茬粡鑾峰彇鍒版暟鎹殑鎶ヨ〃涓暟
+
+    function ajaxRequestOne(arg, index) {
+        var report = arg.report,
+        data = arg.data,
+        report_method = arg.report_method,
+        data_method = arg.data_method,
+        dataUrlParams = arg.dataUrlParams,
+        pack = reportPacks[index];
+
+        function try_ws_send() {
+            var msg,
+                dataMsg = "",
+                lengths = [];
+
+            if (pack.report && pack.data !== undefined) {
+                if (++gettedCount >= reportCount) { //鍙湁褰撳叏閮ㄦ姤琛ㄧ殑妯℃澘涓庢暟鎹兘宸茬粡鑾峰彇鍒颁箣鍚庯紝鎵嶄細鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹暟鎹�
+                    msg = JSON.stringify(args);
+
+                    reportPacks.forEach(function (item) {
+                        var report = item.report,
+                            data = item.data,
+                            reportLen = report.length,
+                            reportLenText = "";
+
+                        if (report.substr(0, 4) === "_WR_") {
+                            reportLenText += reportLen;
+                            dataMsg += reportLenText;
+                            reportLen += reportLenText.length;
+                        }
+                        dataMsg += report;
+
+                        if (data) {
+                            dataMsg += data;
+                        }
+
+                        lengths.push(reportLen + data.length);
+                    });
+
+                    msg += JSON.stringify(lengths);
+                    msg += dataMsg;
+
+                    _grwebapp_websocket.send(msg);
+                }
+            }
+        }
+
+        webapp_build_one(pack, report, report_method, data, data_method, try_ws_send, dataUrlParams);
+    } //end of ajaxRequestOne
+
+    if (!webapp_ws_check(1)) {
+        //濡傛灉WebSocket娌℃湁杩炴帴锛屽垯棣栧厛鍒涘缓骞惰繛鎺ebSocket锛屽苟鍦╫nopen浜嬩欢涓墽琛岀浉鍏崇殑浠诲姟
+        webapp_ws_create(function () {
+            webapp_ws_ajax_together(args, reports);
+        });
+        return;
+    }
+
+    reports.forEach(function (report, index) {
+        reportPacks.push({});
+        ajaxRequestOne(report, index);
+    });
+}
+
+/////////////////////////////////////////////////////////////////////////////
+//閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹灇涓惧嚭褰撳墠鐢佃剳鐨勬墍鏈夋墦鍗版満淇℃伅鐨勬寚浠�
+//鍦ㄧ綉椤电殑 webapp_onmessage 鍑芥暟涓帴鏀禬EB鎶ヨ〃瀹㈡埛绔繑鍥炵殑缁撴灉锛屽叿浣撹鍙傝�冧緥瀛愩��
+function webapp_ws_fun_Printers() {
+    webapp_ws_run({
+        type: "fun",
+        fun: "Printers"
+    });
+}
+
+//閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹灇涓惧嚭褰撳墠鐢佃剳鐨勬寚瀹氭墦鍗版満鐨勫叏閮ㄥ彲鐢ㄧ焊寮犵殑鎸囦护
+//鍦ㄧ綉椤电殑 webapp_onmessage 鍑芥暟涓帴鏀禬EB鎶ヨ〃瀹㈡埛绔繑鍥炵殑缁撴灉锛屽叿浣撹鍙傝�冧緥瀛�
+function webapp_ws_fun_PrinterPapers(printer) {
+    webapp_ws_run({
+        type: "fun",
+        fun: "PrinterPapers",
+        printer: printer
+    });
+}
+
+//閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佸仠姝㈠綋鍓嶆姤琛ㄩ瑙堝苟鍏抽棴棰勮绐楀彛鐨勬寚浠�
+function webapp_ws_fun_StopPreview() {
+    webapp_ws_run({
+        type: "fun",
+        fun: "StopPreview"
+    });
+}
+
+/////////////////////////////////////////////////////////////////////////////
+//閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹秷鎭繘琛岃嚜鍔ㄦ洿鏂版鏌ュ鐞�
+function webapp_ws_autoupdate() {
+    webapp_ws_run({
+        type: "update",
+        url: _grwebapp_url,
+        ver: _grwebapp_version
+    });
+}
+
+/////////////////////////////////////////////////////////////////////////////
+//涓篣RL杩藉姞涓�涓悕涓篿d鐨勯殢鏈烘暟鍙傛暟锛岀敤浜庨槻姝㈡祻瑙堝櫒缂撳瓨銆�
+//鎶ヨ〃妯℃澘閲嶆柊璁捐鍚庯紝鍥犱负娴忚鍣ㄧ紦瀛樿�岃鎶ヨ〃鐢熸垚涓嶈兘鍙嶆槧鍑烘柊淇敼鐨勮璁$粨鏋滐紝URL鍚庤拷鍔犱竴涓殢鏈烘暟鍙傛暟鍙互閬垮厤杩欐牱鐨勯棶棰�
+//鍙傛暟url蹇呴』鏄潤鎬佺殑URL锛屽叾鍚庢湰韬棤浠讳綍鍙傛暟
+//濡傛灉妯℃澘鍑犱箮涓嶆�庝箞淇敼锛屽彲浠ュ幓鎺夊鏈嚱鏁扮殑璋冪敤
+function urlAddRandomNo(url) {
+    return url + "?id=" + Math.floor(Math.random() * 10000);
+}
+
+//鏍规嵁褰撳墠缃戦〉URL鑾峰彇鍒板綋鍓峎EB鏈嶅姟鍣ㄧ殑鏍筓RL锛屽苟璁板綍鍦� window.rootURL 涓�
+function gr_extractRootURL() {
+    var path = window.location.pathname,
+        index = path.lastIndexOf("/");
+
+    window.rootURL = window.location.protocol + "//" + window.location.host;
+    if (index >= 0) {
+        path = path.substr(0, index);
+
+        //demmo鐨勬牴鐩綍鍦ㄥ綋鍓嶉〉闈㈢殑1绾х洰褰曚箣涓�
+        index = path.lastIndexOf("/");
+        if (index >= 0) {
+            path = path.substr(0, index);
+        }
+
+        window.rootURL += path;
+    }
+    window.rootURL += "/";
+}
+
+//vue涓娇鐢ㄥ皢涓嬪垪娉ㄩ噴寮�鏀�
+//export { 
+//    webapp_url_method_valid, 
+//    webapp_urlprotocol_startup, 
+//    webapp_ajax, 
+//    webapp_ws_ajax_run, 
+//    webapp_urlprotocol_run, 
+//    urlAddRandomNo, 
+//    webapp_onmessage, 
+//    webapp_ws_fun_StopPreview, 
+//    webapp_ws_fun_PrinterPapers, 
+//    webapp_ws_fun_Printers, 
+//    webapp_ws_ajax_together, 
+//    webapp_ws_autoupdate, 
+//    gr_extractRootURL 
+//}
\ No newline at end of file

--
Gitblit v1.9.3