找回密码
 立即注册

QQ登录

只需一步,快速开始

qygy

最新发帖
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-7-19 09:49:13
13#
感谢!
回复 使用道具 举报
谢厅讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2018-7-23 08:55:58
14#
xrczld 发表于 2018-7-19 07:35
既然贴出来了。就发代码上来,让大家用一下呗?

         var USER = "434465***@qq.com";//必填,飞鹅云 http://admin.feieyun.com/ 管理后台注册的账号名
         var UKEY = "MsmhK5z******wa";//必填,飞鹅云后台注册账号后生成的UKEY
         var SN = '81*****75';//必填,打印机编号,打印机必须要在管理后台先添加

         //以下URL参数不需要修改
         var HOST = "api.feieyun.cn";     //域名
         var PORT = "80";            //端口
         var PATH = "/Api/Open/";         //接口路径
         var STIME = new Date().getTime();//请求时间,当前时间的秒数
         var SIG = hex_sha1(USER + UKEY + STIME);//获取签名

        //标签说明:
        //单标签:
        //"<BR>"为换行,"<CUT>"为切刀指令(主动切纸,仅限切刀打印机使用才有效果)
        //"<LOGO>"为打印LOGO指令(前提是预先在机器内置LOGO图片),"<PLUGIN>"为钱箱或者外置音响指令
        //成对标签:
        //"<CB></CB>"为居中放大一倍,"<B></B>"为放大一倍,"<C></C>"为居中,<L></L>字体变高一倍
        //<W></W>字体变宽一倍,"<QR></QR>"为二维码,"<BOLD></BOLD>"为字体加粗,"<RIGHT></RIGHT>"为右对齐
        //拼凑订单内容时可参考如下格式
        //根据打印纸张的宽度,自行调整内容的格式,可参考下面的样例格式

        var orderInfo;
        orderInfo = '<CB>悍匠/希悦/印象德普</CB><BR>';
        orderInfo += '<CB>匠心所作 让世界读懂您的美</CB><BR>';
        orderInfo += '----------------------------------------------------------<BR>';
        orderInfo += '名称:真皮沙发/软床/小件<BR>';               
        orderInfo += '编号:'+'H' + Forguncy.Page.getCell("order").getValue() + Forguncy.Page.getCell("kuanshi").getValue()+'<BR>';
        orderInfo += '款式:'+Forguncy.Page.getCell("kuanshi").getValue()+'<BR>';
        orderInfo += '规格:'+Forguncy.Page.getCell("guige").getValue()+'<BR>';
        orderInfo += '颜色:'+Forguncy.Page.getCell("yanse").getValue()+'<BR>';
        //orderInfo += '制作说明:'+Forguncy.Page.getCell("shuoming").getValue()+'<BR>';
        orderInfo += '质检: 003<BR>';
        orderInfo += '验收码:'+Forguncy.Page.getCell("num").getValue()+'<BR>';
        orderInfo += '----------------------------------------------------------<BR>';
        //orderInfo +=  'H' + Forguncy.Page.getCell("order").getValue() + Forguncy.Page.getCell("kuanshi").getValue();
        //orderInfo += '<QR>http://www.dzist.com</QR>';//把二维码字符串用标签套上即可自动生成二维码

        //***接口返回值说明***
        //正确例子:{"msg":"ok","ret":0,"data":"316500004_20160823165104_1853029628","serverExecutedTime":6}
        //错误:{"msg":"错误信息.","ret":非零错误码,"data":null,"serverExecutedTime":5}
        // console.log(orderInfo);
        //打开注释可测试
        print_r(SN,orderInfo,1);

        var hexcase = 0;
        var chrsz = 8;
        function hex_sha1(s) {
          return binb2hex(core_sha1(AlignSHA1(s)));
        }
        function core_sha1(blockArray) {
          var x = blockArray;
          var w = Array(80);
          var a = 1732584193;
          var b = -271733879;
          var c = -1732584194;
          var d = 271733878;
          var e = -1009589776;
          for (var i = 0; i < x.length; i += 16)
          {
            var olda = a;
            var oldb = b;
            var oldc = c;
            var oldd = d;
            var olde = e;
            for (var j = 0; j < 80; j++)
            {
              if (j < 16)
                w[j] = x[i + j];
              else
                w[j] = rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);
              var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)), safe_add(safe_add(e, w[j]), sha1_kt(j)));
              e = d;
              d = c;
              c = rol(b, 30);
              b = a;
              a = t;
            }
            a = safe_add(a, olda);
            b = safe_add(b, oldb);
            c = safe_add(c, oldc);
            d = safe_add(d, oldd);
            e = safe_add(e, olde);
          }
          return new Array(a, b, c, d, e);
        }

        function sha1_ft(t, b, c, d) {
          if (t < 20)
            return (b & c) | ((~b) & d);
          if (t < 40)
            return b ^ c ^ d;
          if (t < 60)
            return (b & c) | (b & d) | (c & d);
          return b ^ c ^ d;
        }

        function sha1_kt(t) {
          return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 : (t < 60) ? -1894007588 : -899497514;
        }

        function safe_add(x, y) {
          var lsw = (x & 0xFFFF) + (y & 0xFFFF);
          var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
          return (msw << 16) | (lsw & 0xFFFF);
        }

        function rol(num, cnt) {
          return (num << cnt) | (num >>> (32 - cnt));
        }

        function AlignSHA1(str) {
          var nblk = ((str.length + 8) >> 6) + 1,
            blks = new Array(nblk * 16);
          for (var i = 0; i < nblk * 16; i++)
            blks = 0;
          for (i = 0; i < str.length; i++)
            blks[i >> 2] |= str.charCodeAt(i) << (24 - (i & 3) * 8);
          blks[i >> 2] |= 0x80 << (24 - (i & 3) * 8);
          blks[nblk * 16 - 1] = str.length * 8;
          return blks;
        }

        function binb2hex(binarray) {
          var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
          var str = "";
          for (var i = 0; i < binarray.length * 4; i++) {
            str += hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8 + 4)) & 0xF) +
              hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8)) & 0xF);
          }
          return str;
        }

        /*
        *  打印订单方法:Open_printMsg
        */
        function print_r(SN, orderInfo, TIMES)
        {
            var url = 'http://' + HOST + ':' + PORT + PATH;
            var dzb = "user=" + USER + "&stime=" + STIME + "&sig=" + SIG+ "&apiname=Open_printMsg&sn=" + SN+ "&content=" + orderInfo+ "&times=" + TIMES;
            send(dzb,url);
            function send(arg,url) {
              CreateXMLHttpRequest();
              xmlhttp.onreadystatechange = callhandle;
              xmlhttp.open("POST", url, true);
              xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
              xmlhttp.send(arg);
            }
            function CreateXMLHttpRequest() {
              if (window.ActiveXObject) {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
              }else if (window.XMLHttpRequest) {
                xmlhttp = new XMLHttpRequest();
              }
            }
            function callhandle() {
              if (xmlhttp.readyState == 4) {
                if (xmlhttp.status == 200) {
                  console.log(xmlhttp.responseText);
                }
              }
            }
        }

评分

参与人数 1金币 +66 收起 理由
Eric.Liang + 66 很给力!

查看全部评分

回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-7-23 10:25:53
15#
谢厅 发表于 2018-7-23 08:55
var USER = "434465***@qq.com";//必填,飞鹅云 http://admin.feieyun.com/ 管理后台注册的账号 ...

厉害
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-7-28 21:12:41
18#
xrczld 发表于 2018-7-28 13:46
牛逼啊。这么复杂。我也看不懂!

慢慢来,这都是有第三方接口API的。
回复 使用道具 举报
mfkpie8
银牌会员   /  发表于:2019-5-20 12:27:38
19#
有没有现成的解决这个问题了呢!请问!
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-5-20 15:21:52
20#
人家给你的解决方案就是人家现在自己已经在用的方案啊。
回复 使用道具 举报
kukuzhangxiang
初级会员   /  发表于:2021-5-7 09:25:41
21#
meteor 发表于 2018-7-16 13:56
活字格的打印似乎是通过生成PDF后利用pdf的打印功能实现的,用作标签连续打印似乎不太方便。(没研究过pdf ...

你好,你这个第二个方法有没有具体的方案和代码,我之前没有学过编程语言,所以要怎么用。
回复 使用道具 举报
Lucas.Su讲师达人认证 悬赏达人认证 活字格认证
葡萄城公司职员   /  发表于:2021-5-7 18:43:21
22#
您好,该帖问题已结,如果您有疑问,欢迎发新帖求助哈~
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部