详细讲解HTML的BODY标记的内部参数

<body

bgcolor="#3366cc" ----------背景颜色

topmargin=0 leftmargin=0 ----------网页内容上/左边界为0

οncοntextmenu="return false" ----------鼠标右键限制

οndragstart="return false" ----------禁止移动

onselectstart="return false" ----------禁止选择

οncοpy="return false;" ---------- 禁止拷贝

οnpaste="return false" ---------- 禁止粘贴

oncut="return false;" ----------禁止剪切

scroll=no ----------网页滚动条限制

style="overflow:scroll;overflow-y:hidden;overflow-x:hidden;"----------定义滚动条的竖向横向掩藏。

style="cursor:move"> ----------网页鼠标样式选择

一般而言,鼠标以斜向上的箭头显示,移到文本上时变为有头的竖线,移到超级链接上变为手型。但用css可控制鼠标的显示效果,如可使鼠标移到普通文本上也显示成手型。用css控制的语法如下:

<span style="cursor:*">文本或其它页面元素</span>

注:其中的span可以是其他的标记,如:p、font、div等。

把 * 换成如下16个效果的一种:hand,text,wait等等。

下面是对这16种效果的解释。移动鼠标到解释上面,看看你的鼠标起了什么变化吧!

hand是手型

crosshair是十字型

text是移动到文本上的那种效果

wait是等待的那种效果

default是默认效果

help是问号

e-resize是向右的箭头

ne-resize是向右上的箭头

n-resize是向上的箭头

nw-resize是向左上的箭头

w-resize是向左的箭头

sw-resize是左下的箭头

s-resize是向下的箭头

se-resize是向右下的箭头

auto是由系统自动给出效果

move是移动时的效果

“*”还可以是鼠标图片的文件地址。

Step1,做个图标arrow_r.cur

Step2,CSS中BODY {cursor: url("arrow_r.cur"), url("arrow_r.cur"), default; }

Step3,页面中连接CSS<link rel="stylesheet" type="text/css" href="site.css"> 

发布了53 篇原创文章 · 获赞 2 · 访问量 22万+
展开阅读全文

微信 支付,{return_msg=mch_id参数格式错误, return_code=FAIL}

10-31

{return_msg=mch_id参数格式错误, return_code=FAIL} 这个错误是怎么犯的啊, 如何解决 ,求前辈们指教。在线等。。。。。 我的商户号对了好几遍,没有错误啊,不就是 申请成功后给的商户号吗。而且我把商户号这个参数去掉了,它还是报这个错误。 //发起微信支付请求 public static String httpsRequest(String requestUrl, String requestMethod, String outputStr) { try { URL url = new URL(requestUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); System.out.println(conn); conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); // 设置请求方式(GET/POST) conn.setRequestMethod(requestMethod); conn.setRequestProperty("content-type", "application/x-www-form-urlencoded"); // 当outputStr不为null时向输出流写数据 if (null != outputStr) { OutputStream outputStream = conn.getOutputStream(); // 注意编码格式 outputStream.write(outputStr.getBytes("UTF-8")); System.out.println("999999999999999999999"+outputStream); outputStream.close(); } System.out.println("!!!!!!!!!!"+conn); // 从输入流读取返回内容 InputStream inputStream = conn.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@"+inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str = null; StringBuffer buffer = new StringBuffer(); while ((str = bufferedReader.readLine()) != null) { System.out.println("121232"+str); buffer.append(str); } // 释放资源 bufferedReader.close(); inputStreamReader.close(); inputStream.close(); inputStream = null; conn.disconnect(); return buffer.toString(); } catch (ConnectException ce) { System.out.println("连接超时:{}"+ ce); } catch (Exception e) { System.out.println("https请求异常:{}"+ e); } return null; } //微信统一下单参数设置 public static String WXParamGenerate(String description,String out_trade_no,double total_fee,String product_id) throws Exception{ int fee = (int)(total_fee * 100.00); Map<String,String> param = new HashMap<String,String>(); param.put("appid",ConstantUtil.APP_ID); param.put("mch_id",ConstantUtil.MCH_ID); param.put("nonce_str",NonceStr()); //随机字符串 param.put("body",description); //商品描述 param.put("out_trade_no",out_trade_no); //商户订单号 param.put("total_fee",fee+""); //金额 param.put("spbill_create_ip",GetIp()); //获取Ip param.put("notify_url",ConstantUtil.WEIXIN_NOTIFY); //获取回调函数 param.put("trade_type","MWEB"); //支付类型 《H5支付》 param.put("product_id",product_id+""); //商品ID //获取签名 String sign = GetSign(param); param.put("sign", sign); /* StringBuffer d =new StringBuffer(); String dd =parseMapToXml(d,param); System.out.println("45645465465645465645"+dd);*/ return GetMapToXML(param); } 生成的xml <xml> <sign>![CDATA[861D4992EB4C8C1E044EE874DB241A84]]</sign> <body>![CDATA[sdfsdf]]</body> <mch_id>![CDATA[1236523159]]</mch_id> <product_id>![CDATA[1]]</product_id> <spbill_create_ip>![CDATA[10.100.1.20]]</spbill_create_ip> <total_fee>![CDATA[100]]</total_fee> <notify_url>![CDATA[http://www.weixin.com/mobile/weixin/weixin_pay_result.jsp]] </notify_url> <appid>![CDATA[wx6a1ed640f5a09b19]]</appid> <out_trade_no>![CDATA[1509506925f3981795-af0c-4931-af3a-3c8b7f732433]] </out_trade_no> <nonce_str>![CDATA[MC4zMjcxMzY1NDU1MjM1MDE3OjpXZW]]</nonce_str> <trade_type>![CDATA[MWEB]]</trade_type> </xml> 问答

调用支付JSAPI缺少参数:total_fee, 跪求大神解答

02-26

Map<String,String> map = new HashMap<>(); String suijishu = WXPayUtil.generateNonceStr(); String dindanhao = GetRandom.getRandomStringByLength(32); System.out.println("订单号:"+dindanhao); map.put("appid",payhospital.getAppid());// appid map.put("mch_id",payhospital.getMchid());// 商户号 map.put("sign_type","MD5"); map.put("nonce_str",suijishu);// 随机字符串 map.put("body","ceshizhifu");// 商品名称 map.put("notify_url","http://wxzf.yiruan01.com/zuul/user/payhospitalbyid/result"); // 回调地址 map.put("out_trade_no",dindanhao);// 订单号 map.put("spbill_create_ip","47.95.245.237");// 终端ip(调用微信支付API的机器IP)//47.95.245.237 map.put("total_fee","1");// 订单金额 现在默认写死,money map.put("trade_type","JSAPI"); // 交易类型交易类型 map.put("openid",openid);// openid //生成签名 //将集合M内非空参数值的参数按照参数名ASCII码从小到大排序 String paixu = GroupWeuxin.formatUrlMap(map,false,false); // 拼接key String SignTemp = paixu+"&key="+payhospital.getKeyy(); // MD5加密 并且转换为大写 String sign = Md5Util.getMD5String(SignTemp).toUpperCase(); map.put("sign",sign); // 将map转换为xml String xml = WXPayUtil.mapToXml(map); // 判断签名是否正确 Boolean boo = WXPayUtil.isSignatureValid(xml,payhospital.getKeyy()); System.out.println("判断第一次签名是否正确:"+boo); String url = "https://api.mch.weixin.qq.com/pay/unifiedorder"; ResponseEntity<String> responseEntity = restTemplate.postForEntity(url,xml,String.class); String res1 = responseEntity.getBody(); // 获取返回参数到此后台完成 Map map1 = WXPayUtil.xmlToMap(res1); // 准备前台需要的参数APPID timestamp nonceStr package signType paySign Map<String,String> map2 = new HashMap<>(); // 获取之前返回的prepay_id String prepay_id = (String)map1.get("prepay_id"); map2.put("appId",payhospital.getAppid()); map2.put("nonceStr",suijishu); map2.put("package","prepay_id="+prepay_id); map2.put("signType","MD5"); map2.put("timeStamp",String.valueOf(WXPayUtil.getCurrentTimestamp())); //生成签名 //将集合M内非空参数值的参数按照参数名ASCII码从小到大排序 String paixu2 = GroupWeuxin.formatUrlMap(map2,false,false); // 拼接key String SignTemp2 = paixu2+"&key="+payhospital.getKeyy(); // MD5加密 并且转换为大写 String sign2 = Md5Util.getMD5String(SignTemp2).toUpperCase(); map2.put("paySign",sign2); // 判断签名是否正确 Boolean bool = WXPayUtil.isSignatureValid(map2,payhospital.getKeyy(),WXPayConstants.SignType.MD5); System.out.println("第二次:"+bool); 第一次成功返回prepay_id第二次签名出错,调用支付JSAPI缺少参数:total_fee 求解答!!!!!!!!!!!!!! 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览