使用快递鸟电子面单api 和 C-Lodop 打印订单 发货电子面单模板

2019-12-23 14:25:47 阅读:2804

大体流程1、本地安装C-Lodop云打印控件,下载安装即可,下载地址http://www.lodop.net/download.html,安装后需要定义IP端口默认8000,若你的项目使用了https可用8443,记录并保存端口如下2、html模板中与C-lodop建立连接如下获取保存的IP端口并组成连接地址映射到模板模板中引入js并初始化lodopfuncs.js如下varCreatedOKLodop7766=null;//====判断是否需要安装CLodop云打印服务器:====functionneedCLodop(){try{varua=navigator.userAgent;if(ua.match(/Windows\sPhone/i)!=null)returntrue;if(ua.match(/iPhone|iPod/i)!=null)returntrue;if(ua.match(/Android/i)!=null)returntrue;if(ua.match(/Edge\D?\d+/i)!=null)returntrue;if(ua.match(/QQBrowser/i)!=null)returnfalse;varverTrident=ua.match(/Trident\D?\d+/i);varverIE=ua.match(/MSIE\D?\d+/i);varverOPR=ua.match(/OPR\D?\d+/i);varverFF=ua.match(/Firefox\D?\d+/i);varx64=ua.match(/x64/i);if((verTrident==null)&&(verIE==null)&&(x64!==null))returntrue;elseif(verFF!==null){verFF=verFF[0].match(/\d+/);if(verFF[0]>=42)returntrue;}elseif(verOPR!==null){verOPR=verOPR[0].match(/\d+/);if(verOPR[0]>=32)returntrue;}elseif((verTrident==null)&&(verIE==null)){varverChrome=ua.match(/Chrome\D?\d+/i);if(verChrome!==null){verChrome=verChrome[0].match(/\d+/);if(verChrome[0]>=42)returntrue;};};returnfalse;}catch(err){returntrue;};};//====页面引用CLodop云打印必须的JS文件:====//if(needCLodop()){////让其它电脑的浏览器通过本机打印(适用例子)://oscript=document.createElement("script");//oscript.src="/CLodopfuncs.js";//varhead=document.head||document.getElementsByTagName("head")[0]||document.documentElement;//head.insertBefore(oscript,head.firstChild);////让本机浏览器打印(更优先)://varoscript=document.createElement("script");//oscript.src="http://localhost:8000/CLodopfuncs.js?priority=1";//varhead=document.head||document.getElementsByTagName("head")[0]||document.documentElement;//head.insertBefore(oscript,head.firstChild);//};//====获取LODOP对象的主过程:====functiongetLodop(oOBJECT,oEMBED){varstrHtmInstall="打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入。";varstrHtmUpdate="打印控件需要升级!点击这里执行升级,升级后请重新进入。";varstrHtm64_Install="打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入。";varstrHtm64_Update="打印控件需要升级!点击这里执行升级,升级后请重新进入。";varstrHtmFireFox="(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)";varstrHtmChrome="(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)";varstrCLodopInstall="CLodop云打印服务(localhost本地)未安装启动!点击这里执行安装,安装后请刷新页面。";varstrCLodopUpdate="CLodop云打印服务需升级!点击这里执行升级,升级后请刷新页面。";varLODOP;try{varisIE=(navigator.userAgent.indexOf('MSIE')>=0)||(navigator.userAgent.indexOf('Trident')>=0);if(needCLodop()){try{LODOP=getCLodop();}catch(err){};if(!LODOP&&document.readyState!=="complete"){alert("C-Lodop没准备好,请稍后再试!");return;};if(!LODOP){if(isIE)document.write(strCLodopInstall);elsedocument.documentElement.innerHTML=strCLodopInstall+document.documentElement.innerHTML;return;}else{if(CLODOP.CVERSION=0);//=====如果页面有Lodop就直接使用,没有则新建:==========if(oOBJECT!=undefined||oEMBED!=undefined){if(isIE)LODOP=oOBJECT;elseLODOP=oEMBED;}elseif(CreatedOKLodop7766==null){LODOP=document.createElement("object");LODOP.setAttribute("width",0);LODOP.setAttribute("height",0);LODOP.setAttribute("style","position:absolute;left:0px;top:-100px;width:0px;height:0px;");if(isIE)LODOP.setAttribute("classid","clsid:2105C259-1E0C-4534-8141-A753534CB4CA");elseLODOP.setAttribute("type","application/x-print-lodop");document.documentElement.appendChild(LODOP);CreatedOKLodop7766=LODOP;}elseLODOP=CreatedOKLodop7766;//=====Lodop插件未安装时提示下载地址:==========if((LODOP==null)||(typeof(LODOP.VERSION)=="undefined")){if(navigator.userAgent.indexOf('Chrome')>=0)document.documentElement.innerHTML=strHtmChrome+document.documentElement.innerHTML;if(navigator.userAgent.indexOf('Firefox')>=0)document.documentElement.innerHTML=strHtmFireFox+document.documentElement.innerHTML;if(is64IE)document.write(strHtm64_Install);elseif(isIE)document.write(strHtmInstall);elsedocument.documentElement.innerHTML=strHtmInstall+document.documentElement.innerHTML;returnLODOP;};};if(LODOP.VERSION

PHP后端如何整合接入七牛云+腾讯云直播

2019-12-06 09:07:12 阅读:3529

PHP后端如何整合接入七牛云+腾讯云直播七牛云相关1.对象存储创建一个存储空间请选择华东区域(配合代码内已写上传域名)参见文档对象存储>产品手册>存储区域并记录存储空间名称2.创建存储空间后绑定融合CDN加速域名(解析域名为CHAME)并记录域名3.进入个人中心->密钥管理创建密钥并记录AccessKey/SecretKey4.产品短视频SDK->授权管理购买授权(开发阶段可优先购买试用版关键是免费)5.产品短视频SDK->应用管理创建应用选择对应的授权根据安卓和IOS创建俩应用(谨慎填写应用包名)腾讯云相关(重头戏)1.需要用到的产品(云直播【域名管理直播SDK】即时通讯IM访问密钥云服务器【直播专用镜像】直播流量套餐包【直播SDK免费1年一年后需购买流量包获取SDK使用权】)1.小直播前端(参考文档https://cloud.tencent.com/document/product/454/38625)step1.1开通视频直播服务登录腾讯云官网,进入云直播管理控制台,如果服务还没有开通,单击【申请开通】。step1.2绑定直播域名按照相关政策要求,您需要添加自有的已备案域名才能使用腾讯云的CDN播放功能,请参见域名管理和CNAME配置进行配置。(推流拉流)step1.3获取SDK的测试License“小直播”是基于腾讯云LiteAVSDK实现推流和播放功能的,但您需要提前绑定License才能使用其提供的推流功能,您可以先按照如下步骤获取“小直播”所需要的测试License:1.在云直播管理控制台中单击进入移动直播License页面。2.填写【PackageName】为Android的包名,【BundleId】为iOS的BundleId。3.单击【免费创建】,创建成功后,页面会显示生成的License信息。请记录Key和LicenseUrl,便于在SDK初始化时使用。step1.4在应用管理中添加一个新的应用“小直播”基于腾讯云TIMSDK实现了文字聊天室和弹幕消息等互动功能,需要您先创建一个IM应用才能使用其提供的聊天室功能,您可以先按照如下步骤获取“小直播”所需要的SDKAppID和SecretKey两个重要信息:进入【云直播控制台】>【直播SDK】>【应用管理】,单击【创建应用】,待应用创建完成后,记录其SDKAppID信息。单击目标应用的SDKAppID,进入应用详情页面。选择【应用管理】页签,单击【编辑】,输入一个管理员名称(例如“admin”),单击【添加】按钮,之后再单击【确定】按钮。单击【查看密钥】,复制保存密钥信息SecretKey。2.小直播后台(参考官网文档https://cloud.tencent.com/document/product/454/15187)如何快速搭建一个后台?接下来我们将介绍如何用腾讯云的CVM云服务器搭建一个“小直播”后台,由于“小直播”后台的功能非常简单,所以一台简单的云服务就能解决问题,这大概需要花费您1小时的时间和大概67.5元的测试金。1.安装“小直播”的CVM镜像step1.1创建虚拟主机进入CVM控制台,单击【新建】开始创建云服务器。选择【自定义配置】选择符合您需求的虚拟主机,在镜像提供栏选择【镜像市场】,并单击【从镜像市场选择】进服务市场选取镜像。选中图中的【小直播镜像】,您可以直接在搜索栏中搜索。step1.2设置云服务器配置云服务器的访问密码,设置安全组。注意:安全组一定要放开80、443服务端口请妥善保管root密码,该密码将用于后续修改云服务器配置信息操作。step1.3查看云服务器信息付款后生成云服务器。请记录外网IP地址,将用于后续配置录制回调和终端集成操作。4.修改云服务器配置信息step4.1准备配置文件将以下内容粘贴到文本编辑器(如记事本),按照下方脚本中的注释填写各项内容,其中xxxx的部分在本地快速跑通“小直播”及本文前半部分均能找到对应的值#!/bin/bash echo"

小程序红包开发注意事项

2019-09-30 09:03:44 阅读:2887

前期准备:1.商户平台开通小程序红包功能。操作路径:【登录微信支付商户平台——>产品中心——>小程序红包——>开通】。开通要求:新申请商户号需满足:入驻时间超过90天、连续正常交易30天。2.下载API证书。微信商户平台所有牵扯资金流出的接口基本都需要带证书操作3.使用过程中确保商户平台资金充足4.获取用户openid。小程序红包只支持向指定openid发放指定金额红包5.红包参数设置。商户平台->产品中心->小程序红包->产品设置。此处可以设置红包使用场景及发放金额额度区间。(注:红包额度默认区间为1~200,如若使用更少0~1或者200元以上额度,需要申请审核)开发流程:1.服务器拿到用户openid,随机生成红包金额,通过调用发放红包接口获取红包参数2.前端请求获取到红包参数,调用领取红包接口,此时前端会弹出领取红包页面注意事项:若用户未领取,资金将会在24小时后退回商户的微信支付账户中。目前小程序红包仅支持用户微信扫码打开小程序,进行红包领取。(场景值1011,1025,1047,1124)开发源码:1.获取小程序进入场景值varoptions=wx.getLaunchOptionsSync();varscene=options.scene;2.在想要发放红包的接口处添加场景值参数,以方便后端能根据此参数值判断是否满足发送红包条件3.条件满足的前提下开始调用发放红包(此处我是先判断此用户是否存在发放记录,如有记录则不发放,如果需求没有要求每个用户只领一次则自己根据条件更改)4.根据上述请求返回的红包的参数调用领取接口即可小程序红包发放的接口返回存在多种可能情况,在状态码为正常,业务结果为失败情况下也有可能发放成功,具体的处理方式可以参考商户平台的文档。此处我是把所有异常的情况全都归为发放失败处理了。部分源码内容: //获取红包方法 functiongetRedPacket($openid){ //订单号 $order_no=date("YmdHis").rand(1000,9999); $money=1;//发放金额可为1~200内随机数,如为其他金额需要申请 $data=[ "nonce_str"=>getNonceStr(), "mch_billno"=>$order_no, "mch_id"=>"商户号id", "wxappid"=>"公众平台id", "send_name"=>"发放名称", "re_openid"=>$openid, "total_amount"=>$money*100, "total_num"=>1, "wishing"=>"恭喜发财", "act_name"=>"新用户红包", "remark"=>"购买优惠多多", "notify_way"=>"MINI_PROGRAM_JSAPI", //"scene_id"=>"PRODUCT_1"//当金额不在1~200内时,场景值为必传值 ]; $data['sign']=makeSign($data); //此处记录发放记录 pdo_insert("tiny_wmall_redpacket",[ "min_openid"=>$openid, "money"=>$money, "status"=>0, "create_time"=>time(), "order_no"=>$order_no ]); $post_xml=array2xml($data); $xml=postXmlCurl($post_xml,'https://api.mch.weixin.qq.com/mmpaymkttransfers/sendminiprogramhb',true); $arr=xml2array($xml); $res=[ "code"=>0, "data"=>[], "msg"=>$xml ]; if($arr['return_code']=="SUCCESS"){ if($arr["result_code"]=="SUCCESS"){ //业务结果成功,此次发放成功 $package=$arr['package']; //生成前端调用参数 $sign_data=[ "appId"=>$data["wxappid"], "timeStamp"=>(string)time(), "nonceStr"=>getNonceStr(), "package"=>urlencode($package) ]; $sign_data['paySign']=makeSign($sign_data,0); $sign_data["signType"]="MD5"; $res['code']=1; $res['data']=$sign_data; //更新发放状态 //pdo_update("tiny_wmall_redpacket",["status"=>1,"packet"=>$sign_data['package'],'send_time'=>time()],["order_no"=>$order_no]); }else{ //发放失败 //pdo_update("tiny_wmall_redpacket",["status"=>-1],["order_no"=>$order_no]); } }else{ //发放失败 //pdo_update("tiny_wmall_redpacket",["status"=>-1],["order_no"=>$order_no]); } return$res; } functiongetNonceStr($length=32){ $chars="abcdefghijklmnopqrstuvwxyz0123456789"; $str=""; for($i=0;$i$v){ if($k!="sign"&&$v!=""&&!is_array($v)){ $buff.=$k."=".$v."&"; } } $buff=trim($buff,"&"); return$buff; } /** *生成签名 *签名,本函数不覆盖sign成员变量,如要设置签名需要调用SetSign方法赋值 */ functionmakeSign($data,$is_upper=1) { ksort($data); $string=toUrlParams($data); $string=$string."&key="."23oqzgcin5jfjywvlto0aapmmmoq4kfk"; $string=md5($string); if($is_upper){ $result=strtoupper($string); }else{ $result=$string; } return$result; } functionpostXmlCurl($xml,$url,$useCert=false,$second=30) { $ch=curl_init(); //设置超时 curl_setopt($ch,CURLOPT_TIMEOUT,$second); curl_setopt($ch,CURLOPT_URL,$url); if(stripos($url,"https://")!==FALSE){ curl_setopt($ch,CURLOPT_SSLVERSION,CURL_SSLVERSION_TLSv1); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE); }else{ curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验 } //设置header curl_setopt($ch,CURLOPT_HEADER,FALSE); //要求结果为字符串且输出到屏幕上 curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); if($useCert==true){ //设置证书 //使用证书:cert与key分别属于两个.pem文件 curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM'); curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM'); curl_setopt($ch,CURLOPT_SSLCERT,__DIR__.'/apiclient_cert.pem'); curl_setopt($ch,CURLOPT_SSLKEY,__DIR__.'/apiclient_key.pem'); } //post提交方式 curl_setopt($ch,CURLOPT_POST,TRUE); curl_setopt($ch,CURLOPT_POSTFIELDS,$xml); //运行curl $data=curl_exec($ch); //返回结果 if($data){ curl_close($ch); return$data; }else{ $error=curl_errno($ch); curl_close($ch); return$error; } }

安装云锁 Linux服务器端安装说明

2019-09-21 15:25:23 阅读:2335

http://help.yunsuo.com.cn/guide/Lin_inst.html需要安装wgetyuminstallwgetLinux服务器端安装说明注意:安装前需要保证服务器端与云锁云中心的443端口通信保持畅通,可以通过命令telnetapiv3.yusnuo.com.cn443检查是否连通,连通则按照下面步骤进行安装;如不通则检查防火墙规则或云主机安全策略,将入站的443端口放开。PS:提示telnet未安装可通过百度查询安装方法。检查并关闭selinux,否则无法安装云锁;如已关闭则忽略此步骤。1)检查selinux状态#getenforce##如果显示参数为disabled则为成功关闭2)关闭selinux。修改/etc/sysconfig/selinux文件,将enforcing改为disabled,重启服务器。如已经是disabled则直接重启服务器。#vim/etc/sysconfig/selinux安装云锁注意:如曾经下载过云锁安装包,则将旧的云锁安装包及安装目录删除(rm-rfyunsuo_*)后再安装。快速安装x86:wgethttp://download.yunsuo.com.cn/v3/yunsuo_agent_32bit.tar.gz&&tarxvzfyunsuo_agent_32bit.tar.gz&&chmod+xyunsuo_install/install&&yunsuo_install/installx64:wgethttp://download.yunsuo.com.cn/v3/yunsuo_agent_64bit.tar.gz&&tarxvzfyunsuo_agent_64bit.tar.gz&&chmod+xyunsuo_install/install&&yunsuo_install/install分步安装下载云锁安装包。x86:wgethttp://download.yunsuo.com.cn/v3/yunsuo_agent_32bit.tar.gzx64:wgethttp://download.yunsuo.com.cn/v3/yunsuo_agent_64bit.tar.gz解压文件,得到安装包文件。x86:tarzxvfyunsuo_agent_32bit.tar.gzx64:tarzxvfyunsuo_agent_64bit.tar.gz给云锁安装文件赋予可执行权限。chmod+xyunsuo_install/install执行安装,直到提示“InstallYunsuoSuccess.”安装完成。yunsuo_install/install添加服务器到云中心。/usr/local/yunsuo_agent/agnet_smart_tool.sh-ucloud_name-pcloud_passwd说明:cloud_name:云中心账户名;cloud_passwd:云中心登录密码安装完成后通过PC端进行管理。查看云锁是否运行ps-ef|grepyunsuo_agent云锁服务相关命令云锁启动/停止/重启/状态serviceyunsuostart/stop/restart/status /etc/init.d/yunsuostart/stop/restart/status卸载云锁/usr/local/yunsuo_agent/uninstall

小程序审核严卡登录规范下如何审核通过

2019-09-09 10:46:52 阅读:3021

9月1日开始,微信小程序开始严卡审核登录规范,登录方式不仅是授权登录,像手机+验证码或账号+密码等均包含在内。要求所有在这日期后上架的小程序必须符合其规范才允许上架。那么我们的小程序应该如何设计才能通过审核。参考微信官方文档《小程序内用户帐号登录规范调整和优化建议》,地址为https://developers.weixin.qq.com/community/operate/doc/000640bb8441b82900e89f48351401目前只接触过两类小程序的授权更改:一、服务范围开放的小程序个人理解为,这类小程序面向服务的是所有人,任何人都能使用这个小程序,像是最常见的商城类小程序。这类小程序,切忌不要在进入就弹窗或者跳转登录,强制用户进行登录。拿一个社区团购的小程序为例,如下图:四个菜单页面,若未登录也可正常访问,尤其我的或会员中心这个页面一定要提供未登录也可访问,若未登录,提供按钮,如上图的点击登录字样。若此页面有一些必须登录才能使用的功能,可以在未登录时进行隐藏,登录后再显示即可,像这个页面在未登录时隐藏了团长申请入口。未登录使用过程中,进行下步操作必须使用登录信息时,可以弹出或跳转登录页,但登录一定要提供,取消登录的功能,不能弹出登录用户就必须进行登录,如下图登录页面,需要讲清楚为什么要登录,已及登录会发生什么,和可以取消登录,取消登录后还可继续使用该小小程序二、服务范围特定的小程序这类小程序,仅服务于部分人,即若想使用这个小程序必须登录验证或注册之后满足条件才能使用,这种可以直接引导用户注册或登录,如下最好可以提供一个引导页,讲明为什么需要登录或注册,登录注册页最好有用户协议、隐私政策等。还有在提交审核过程中,在微信开发者工具提交审核时,需要填写版本号以及项目备注。一定要在备注中给微信审核人员提供测试账号。审核人员可以通过你提供的账号进入小程序,对小程序内的内容进行审核。若不提供,审核人员仅能看到一个登陆页,百分百过不了暂时只接触过这两种小程序,在官方文档中还有一类是仅提供注册功能小程序可以看看官方文档按要求应该也不会特别困难最后:提交审核时一定要事先补充好内容,切勿出现测试数据字样、若有商品商品价格需要是实际价格勿是一分两分、也不要出现和小程序的服务类目不符的内容,这些都会影响小程序审核

上报错误