bruce

仓管费

1 +package com.cjs.site.action.user.fund;
2 +
3 +import com.cjs.site.biz.user.pick.PickPayBiz;
4 +import org.springframework.beans.factory.annotation.Autowired;
5 +import org.springframework.stereotype.Controller;
6 +import org.springframework.web.bind.annotation.RequestMapping;
7 +import org.springframework.web.bind.annotation.RequestMethod;
8 +import org.springframework.web.bind.annotation.ResponseBody;
9 +
10 +import javax.servlet.http.HttpServletRequest;
11 +
12 +/**
13 + * Created by bruce on 2019-05-14 13:41
14 + */
15 +@Controller
16 +@RequestMapping("/pick/pay")
17 +public class PickPayAction {
18 +
19 + @Autowired
20 + private PickPayBiz pickPayBiz;
21 +
22 + //创建订单
23 + @RequestMapping(value = "/createOrder", method = RequestMethod.GET)
24 + @ResponseBody
25 + public Object createOrder() {
26 + return pickPayBiz.createOrder();
27 + }
28 +
29 + //支付通知
30 + @RequestMapping(value = "notify", method = RequestMethod.POST)
31 + public String notify(HttpServletRequest request) {
32 + pickPayBiz.isValidNotify(request);
33 + return "/jsp/payResult.jsp";
34 + }
35 +
36 +}
...@@ -92,7 +92,7 @@ public class PickAction { ...@@ -92,7 +92,7 @@ public class PickAction {
92 } 92 }
93 93
94 /**自提*/ 94 /**自提*/
95 - @RequestMapping("self") 95 + @RequestMapping("self")//todo 自提方式重定向页面应跳转到待支付页面
96 public String selfPick(OutpropApplyPickInfo pickInfo, Model model, 96 public String selfPick(OutpropApplyPickInfo pickInfo, Model model,
97 RedirectAttributes attributes) { 97 RedirectAttributes attributes) {
98 ResultInfo resultInfo = pickBiz.selfPick(pickInfo); 98 ResultInfo resultInfo = pickBiz.selfPick(pickInfo);
...@@ -101,7 +101,7 @@ public class PickAction { ...@@ -101,7 +101,7 @@ public class PickAction {
101 if (resultInfo.getCode() == 0) { 101 if (resultInfo.getCode() == 0) {
102 return "user/pick/self.jsp"; 102 return "user/pick/self.jsp";
103 } 103 }
104 - return "redirect:/user/pick/success?pickType=self"; 104 + return "redirect:/user/pick/payInfo?pickType=2";
105 } 105 }
106 106
107 /**网点自提*/ 107 /**网点自提*/
...@@ -115,7 +115,7 @@ public class PickAction { ...@@ -115,7 +115,7 @@ public class PickAction {
115 } 115 }
116 attributes.addFlashAttribute("warehouse", 116 attributes.addFlashAttribute("warehouse",
117 warehouseDao.queryByCode(pickInfo.getWarehouseCode())); 117 warehouseDao.queryByCode(pickInfo.getWarehouseCode()));
118 - return "redirect:/user/pick/success?pickType=self"; 118 + return "redirect:/user/pick/payInfo?pickType=2";
119 } 119 }
120 120
121 /**顺丰到付*/ 121 /**顺丰到付*/
...@@ -134,7 +134,7 @@ public class PickAction { ...@@ -134,7 +134,7 @@ public class PickAction {
134 } 134 }
135 135
136 /**转赵涌在线拍卖*/ 136 /**转赵涌在线拍卖*/
137 - @RequestMapping("zhaoonline") 137 + @RequestMapping("zhaoonline")//todo `转赵涌在线拍卖跳转
138 public String zhaoonlinePick(OutpropApplyPickInfo pickInfo, Model model, 138 public String zhaoonlinePick(OutpropApplyPickInfo pickInfo, Model model,
139 RedirectAttributes attributes) { 139 RedirectAttributes attributes) {
140 ResultInfo resultInfo = pickBiz.zhaoonlinePick(pickInfo); 140 ResultInfo resultInfo = pickBiz.zhaoonlinePick(pickInfo);
...@@ -180,7 +180,7 @@ public class PickAction { ...@@ -180,7 +180,7 @@ public class PickAction {
180 pickTotal += apply.getOccurAmount(); 180 pickTotal += apply.getOccurAmount();
181 } 181 }
182 Double totoalAmount = 0.01D * DateUtil.getTrustCycle() * pickTotal; 182 Double totoalAmount = 0.01D * DateUtil.getTrustCycle() * pickTotal;
183 - model.addAttribute("pickType",pickType); 183 + model.addAttribute("pickType", pickType);
184 model.addAttribute("applyList", applyList); 184 model.addAttribute("applyList", applyList);
185 model.addAttribute("warehousingCharges", totoalAmount); 185 model.addAttribute("warehousingCharges", totoalAmount);
186 model.addAttribute("totalAmount", totoalAmount + 6D); 186 model.addAttribute("totalAmount", totoalAmount + 6D);
......
...@@ -529,7 +529,7 @@ public class PickBiz { ...@@ -529,7 +529,7 @@ public class PickBiz {
529 } 529 }
530 530
531 /**生成订单号*/ 531 /**生成订单号*/
532 - private String createPickNo() { 532 + public String createPickNo() {
533 String pickNo = DateUtil.getNow(DateEnum.UNSIGNED_DATE); 533 String pickNo = DateUtil.getNow(DateEnum.UNSIGNED_DATE);
534 String sequence = jedisTemplate.incr(pickNo).toString(); 534 String sequence = jedisTemplate.incr(pickNo).toString();
535 sequence = StringUtils.leftPad(sequence, 4, "0"); 535 sequence = StringUtils.leftPad(sequence, 4, "0");
......
1 +package com.cjs.site.biz.user.pick;
2 +
3 +import com.cjs.site.dao.user.pick.OutpropApplyPayDao;
4 +import com.cjs.site.dao.user.pick.PickPackDao;
5 +import com.cjs.site.model.union.CreateQrCode;
6 +import com.cjs.site.model.union.UnionResponse;
7 +import com.cjs.site.model.user.pick.OutpropApplyPayInfo;
8 +import com.cjs.site.model.user.pick.PickPackInfo;
9 +import com.cjs.site.util.lang.DateEnum;
10 +import com.cjs.site.util.lang.DateUtil;
11 +import com.cjs.site.util.lang.JsonUtil;
12 +import com.cjs.site.util.union.UnionConstants;
13 +import com.cjs.site.util.union.UnionPayUtil;
14 +import com.cjs.site.util.web.ActionUtil;
15 +import org.springframework.beans.factory.annotation.Autowired;
16 +import org.springframework.beans.factory.annotation.Qualifier;
17 +import org.springframework.jdbc.datasource.DataSourceTransactionManager;
18 +import org.springframework.stereotype.Service;
19 +import org.springframework.transaction.TransactionDefinition;
20 +import org.springframework.transaction.TransactionStatus;
21 +import org.springframework.transaction.support.DefaultTransactionDefinition;
22 +
23 +import javax.servlet.http.HttpServletRequest;
24 +import java.util.HashMap;
25 +import java.util.List;
26 +import java.util.Map;
27 +
28 +/**
29 + * Created by bruce on 2019-05-06 17:22
30 + */
31 +@Service
32 +public class PickPayBiz {
33 +
34 + @Autowired
35 + private OutpropApplyPayDao outpropApplyPayDao;
36 + @Autowired
37 + private PickPackDao pickPackDao;
38 + @Autowired
39 + private PickBiz pickBiz;
40 + @Autowired
41 + @Qualifier("transactionManagerOracle")
42 + private DataSourceTransactionManager transactionManager;
43 +
44 + public Map<String, Object> createOrder() {
45 + Map<String, Object> result = new HashMap<String, Object>();
46 + result.put("code", true);
47 +
48 + String userId = ActionUtil.getUser().getUserId();
49 + List<PickPackInfo> applyList = pickPackDao.queryUserPosition(userId);
50 + int pickTotal = 0;
51 + for (PickPackInfo apply : applyList) {
52 + pickTotal += apply.getCurrentAmount();
53 + }
54 + Double totalAmount = (0.01D * DateUtil.getTrustCycle() * pickTotal) + 6D;
55 + result.put("totalAmount", totalAmount);
56 + String pickNo = pickBiz.createPickNo();
57 + try {
58 + CreateQrCode createQrCode = new CreateQrCode();
59 + createQrCode.setBillNo(UnionPayUtil.getOrderNo());
60 + createQrCode.setTotalAmount(totalAmount.toString());
61 + createQrCode.setRequestTimestamp(DateUtil.getNow());
62 + createQrCode.setBillDate(DateUtil.getNow(DateEnum.DATE));
63 + createQrCode.setSrcReserve(pickNo);
64 + @SuppressWarnings("unchecked")
65 + Map<String, String> mapTypes = JsonUtil.fromJson(JsonUtil.toJson(createQrCode), Map.class);
66 + String json = UnionPayUtil.sendPost(UnionConstants.CREATE_ORDER, mapTypes);
67 + UnionResponse response = JsonUtil.fromJson(json, UnionResponse.class);
68 + if (response != null && response.getErrCode().equals(UnionConstants.SUCCESS_CODE)) {
69 + result.put("qrCode", UnionPayUtil.createQrCode(createQrCode.getBillNo()));
70 + insertPickPay(userId, createQrCode.getBillNo(), pickNo);
71 + } else {
72 + result.put("code", false);
73 + result.put("msg", response.getErrMsg());
74 + }
75 + } catch (Exception e) {
76 + result.put("code", false);
77 + result.put("msg", e.getMessage());
78 + }
79 + return result;
80 + }
81 +
82 + public Boolean isValidNotify(HttpServletRequest request) {
83 + Map<String, String> result = UnionPayUtil.getRequestParams(request);
84 + if (UnionPayUtil.checkSign(result)) {
85 + DefaultTransactionDefinition def = new DefaultTransactionDefinition();
86 + def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
87 + TransactionStatus status = transactionManager.getTransaction(def);
88 + try {
89 + OutpropApplyPayInfo info = outpropApplyPayDao.selectByTradeNo(result.get("billNo"));
90 + if (!info.getStatus().equals("2")) {
91 + OutpropApplyPayInfo update = new OutpropApplyPayInfo();
92 + update.setTradeNo(result.get("srcReserve"));
93 + update.setStatus("2");
94 + outpropApplyPayDao.update(update);
95 +
96 + //todo 更新库存,生成提货单<包含提货类型,提货人,提货日期,保价费>
97 + }
98 + transactionManager.commit(status);
99 + return true;
100 + } catch (Exception e) {
101 + transactionManager.rollback(status);
102 + }
103 + }
104 + return false;
105 + }
106 +
107 + private void insertPickPay(String clientId, String tradeNo, String applyNo) {
108 + OutpropApplyPayInfo insert = new OutpropApplyPayInfo();
109 + insert.setCreatedAt(DateUtil.getNow());
110 + insert.setClientId(clientId);
111 + insert.setStatus("1");
112 + insert.setTradeNo(tradeNo);
113 + insert.setApplyNo(applyNo);
114 + outpropApplyPayDao.insert(insert);
115 + }
116 +
117 +}
1 +package com.cjs.site.dao.user.pick;
2 +
3 +import com.cjs.site.model.user.pick.OutpropApplyPayInfo;
4 +import org.springframework.stereotype.Repository;
5 +
6 +/**
7 + * Created by bruce on 2019-05-06 16:22
8 + */
9 +@Repository
10 +public interface OutpropApplyPayDao {
11 +
12 + void insert(OutpropApplyPayInfo entity);
13 +
14 + void update(OutpropApplyPayInfo entity);
15 +
16 + OutpropApplyPayInfo selectByTradeNo(String tradeNo);
17 +
18 +}
1 +package com.cjs.site.model.union;
2 +
3 +import com.cjs.site.util.union.UnionConstants;
4 +
5 +import java.io.Serializable;
6 +
7 +/**
8 + * Created by bruce on 2019-05-14 11:00
9 + */
10 +public class CreateQrCode implements Serializable {
11 +
12 + private static final long serialVersionUID = 4945657951041450816L;
13 +
14 + private String msgSrc = "赵涌牛";
15 + private String msgType = "bills.getQRCode";
16 + private String requestTimestamp;
17 + private String srcReserve;
18 + private String mid = UnionConstants.MID;
19 + private String tid = UnionConstants.TID;
20 + private String instMid = "QRPAYDEFAULT";
21 + private String billNo;
22 + private String billDate;
23 + private String totalAmount;
24 +
25 + public String getMsgSrc() {
26 + return msgSrc;
27 + }
28 +
29 + public void setMsgSrc(String msgSrc) {
30 + this.msgSrc = msgSrc;
31 + }
32 +
33 + public String getMsgType() {
34 + return msgType;
35 + }
36 +
37 + public void setMsgType(String msgType) {
38 + this.msgType = msgType;
39 + }
40 +
41 + public String getRequestTimestamp() {
42 + return requestTimestamp;
43 + }
44 +
45 + public void setRequestTimestamp(String requestTimestamp) {
46 + this.requestTimestamp = requestTimestamp;
47 + }
48 +
49 + public String getSrcReserve() {
50 + return srcReserve;
51 + }
52 +
53 + public void setSrcReserve(String srcReserve) {
54 + this.srcReserve = srcReserve;
55 + }
56 +
57 + public String getMid() {
58 + return mid;
59 + }
60 +
61 + public void setMid(String mid) {
62 + this.mid = mid;
63 + }
64 +
65 + public String getTid() {
66 + return tid;
67 + }
68 +
69 + public void setTid(String tid) {
70 + this.tid = tid;
71 + }
72 +
73 + public String getInstMid() {
74 + return instMid;
75 + }
76 +
77 + public void setInstMid(String instMid) {
78 + this.instMid = instMid;
79 + }
80 +
81 + public String getBillNo() {
82 + return billNo;
83 + }
84 +
85 + public void setBillNo(String billNo) {
86 + this.billNo = billNo;
87 + }
88 +
89 + public String getBillDate() {
90 + return billDate;
91 + }
92 +
93 + public void setBillDate(String billDate) {
94 + this.billDate = billDate;
95 + }
96 +
97 + public String getTotalAmount() {
98 + return totalAmount;
99 + }
100 +
101 + public void setTotalAmount(String totalAmount) {
102 + this.totalAmount = totalAmount;
103 + }
104 +}
1 +package com.cjs.site.model.union;
2 +
3 +import java.io.Serializable;
4 +
5 +/**
6 + * Created by bruce on 2019-05-14 10:59
7 + */
8 +public class UnionResponse implements Serializable {
9 +
10 + private static final long serialVersionUID = 890856890563059584L;
11 +
12 + private String errCode;
13 + private String errMsg;
14 + private String msgSrc;
15 + private String responseTimestamp;
16 + private String srcReserve;
17 + private String sign;
18 +
19 + public String getErrCode() {
20 + return errCode;
21 + }
22 +
23 + public void setErrCode(String errCode) {
24 + this.errCode = errCode;
25 + }
26 +
27 + public String getErrMsg() {
28 + return errMsg;
29 + }
30 +
31 + public void setErrMsg(String errMsg) {
32 + this.errMsg = errMsg;
33 + }
34 +
35 + public String getMsgSrc() {
36 + return msgSrc;
37 + }
38 +
39 + public void setMsgSrc(String msgSrc) {
40 + this.msgSrc = msgSrc;
41 + }
42 +
43 + public String getResponseTimestamp() {
44 + return responseTimestamp;
45 + }
46 +
47 + public void setResponseTimestamp(String responseTimestamp) {
48 + this.responseTimestamp = responseTimestamp;
49 + }
50 +
51 + public String getSrcReserve() {
52 + return srcReserve;
53 + }
54 +
55 + public void setSrcReserve(String srcReserve) {
56 + this.srcReserve = srcReserve;
57 + }
58 +
59 + public String getSign() {
60 + return sign;
61 + }
62 +
63 + public void setSign(String sign) {
64 + this.sign = sign;
65 + }
66 +}
1 +package com.cjs.site.model.user.pick;
2 +
3 +import com.cjs.site.model.BaseInfo;
4 +
5 +/**
6 + * Created by bruce on 2019-05-06 16:25
7 + */
8 +public class OutpropApplyPayInfo extends BaseInfo {
9 +
10 + private static final long serialVersionUID = 6737890770319470632L;
11 +
12 + private String tradeNo;
13 + private String clientId;
14 + private String applyNo;
15 + private String status;//1待支付;2已支付;3支付失败
16 + private String payAt;
17 + private String createdAt;
18 + private String updatedAt;
19 +
20 + public String getTradeNo() {
21 + return tradeNo;
22 + }
23 +
24 + public void setTradeNo(String tradeNo) {
25 + this.tradeNo = tradeNo;
26 + }
27 +
28 + public String getClientId() {
29 + return clientId;
30 + }
31 +
32 + public void setClientId(String clientId) {
33 + this.clientId = clientId;
34 + }
35 +
36 + public String getApplyNo() {
37 + return applyNo;
38 + }
39 +
40 + public void setApplyNo(String applyNo) {
41 + this.applyNo = applyNo;
42 + }
43 +
44 + public String getStatus() {
45 + return status;
46 + }
47 +
48 + public void setStatus(String status) {
49 + this.status = status;
50 + }
51 +
52 + public String getPayAt() {
53 + return payAt;
54 + }
55 +
56 + public void setPayAt(String payAt) {
57 + this.payAt = payAt;
58 + }
59 +
60 + public String getCreatedAt() {
61 + return createdAt;
62 + }
63 +
64 + public void setCreatedAt(String createdAt) {
65 + this.createdAt = createdAt;
66 + }
67 +
68 + public String getUpdatedAt() {
69 + return updatedAt;
70 + }
71 +
72 + public void setUpdatedAt(String updatedAt) {
73 + this.updatedAt = updatedAt;
74 + }
75 +}
...@@ -30,8 +30,10 @@ public enum DateEnum { ...@@ -30,8 +30,10 @@ public enum DateEnum {
30 DATETIME("yyyy-MM-dd HH:mm:ss"), 30 DATETIME("yyyy-MM-dd HH:mm:ss"),
31 31
32 /** yyyy-MM-dd HH:mm */ 32 /** yyyy-MM-dd HH:mm */
33 - DATETIME2("yyyy-MM-dd HH:mm"); 33 + DATETIME2("yyyy-MM-dd HH:mm"),
34 34
35 + //yyyyMMddmmHHssSSS
36 + UNSIGNED_DATE_TIME_MILLS("yyyyMMddmmHHssSSS");
35 private String value; 37 private String value;
36 38
37 private DateEnum(String value) { 39 private DateEnum(String value) {
......
...@@ -86,7 +86,7 @@ public final class DateUtil { ...@@ -86,7 +86,7 @@ public final class DateUtil {
86 Date targetDate; 86 Date targetDate;
87 Date currentDate; 87 Date currentDate;
88 try { 88 try {
89 - targetDate = sdf.parse("2019-04-18"); 89 + targetDate = sdf.parse("2019-05-01");
90 currentDate = new Date(); 90 currentDate = new Date();
91 result =(int)((currentDate.getTime()-targetDate.getTime())/(24*60*60*1000)); 91 result =(int)((currentDate.getTime()-targetDate.getTime())/(24*60*60*1000));
92 } catch (ParseException e) { 92 } catch (ParseException e) {
......
...@@ -95,7 +95,6 @@ public class SandPayUtil { ...@@ -95,7 +95,6 @@ public class SandPayUtil {
95 e.printStackTrace(); 95 e.printStackTrace();
96 return "转码出错"; 96 return "转码出错";
97 } 97 }
98 -
99 } 98 }
100 99
101 private static String getReqTime() { 100 private static String getReqTime() {
...@@ -136,7 +135,7 @@ public class SandPayUtil { ...@@ -136,7 +135,7 @@ public class SandPayUtil {
136 return result; 135 return result;
137 } 136 }
138 137
139 - private static String map2String(Map<String, String> params) { 138 + public static String map2String(Map<String, String> params) {
140 List<String> keys = new ArrayList<String>(params.keySet()); 139 List<String> keys = new ArrayList<String>(params.keySet());
141 Collections.sort(keys); 140 Collections.sort(keys);
142 StringBuilder prestr = new StringBuilder(); 141 StringBuilder prestr = new StringBuilder();
......
1 +package com.cjs.site.util.union;
2 +
3 +/**
4 + * Created by bruce on 2019-05-14 10:11
5 + */
6 +public class UnionConstants {
7 +
8 + /**
9 + * 银联商务支付网关
10 + */
11 + private static final String BASE_URL = "https://qr-test2.chinaums.com";
12 + /**
13 + * 银联商务发起订单请求url
14 + */
15 + public static final String CREATE_ORDER = BASE_URL + "/netpay-route-server/api/";
16 + /**
17 + * 银联商务生成二维码的url
18 + */
19 + public static final String QRCODE_URL = BASE_URL + "/bills/qrCode.do?id=";
20 + /**
21 + * 银联商务分配的来源编号
22 + */
23 + public static final String MSG_ID = "0001";
24 + /**
25 + * 银联商务分配的商户号
26 + */
27 + public static final String MID = "98632165101";
28 + /**
29 + * 终端号,默认赋值
30 + */
31 + public static final String TID = "A00000001";
32 + /**
33 + * 银联商务分配的密钥
34 + */
35 + public static final String MD5_KEY = "SFASDGSDDFERQRSADFAYTJRGJGFH";
36 + /**
37 + * 银联商务response返回正确的状态码
38 + */
39 + public static final String SUCCESS_CODE = "BAD_REQUEST";
40 +
41 +}
1 +package com.cjs.site.util.union;
2 +
3 +import com.cjs.site.model.union.CreateQrCode;
4 +import com.cjs.site.model.union.UnionResponse;
5 +import com.cjs.site.util.lang.DateEnum;
6 +import com.cjs.site.util.lang.DateUtil;
7 +import com.cjs.site.util.lang.JsonUtil;
8 +import com.cjs.site.util.sand.SandPayUtil;
9 +import org.apache.commons.codec.digest.DigestUtils;
10 +import org.apache.commons.lang3.RandomStringUtils;
11 +import org.apache.commons.lang3.StringUtils;
12 +
13 +import javax.servlet.http.HttpServletRequest;
14 +import java.io.*;
15 +import java.net.URL;
16 +import java.net.URLConnection;
17 +import java.net.URLDecoder;
18 +import java.util.Date;
19 +import java.util.HashMap;
20 +import java.util.Map;
21 +
22 +/**
23 + * Created by bruce on 2019-05-14 10:07
24 + */
25 +public class UnionPayUtil {
26 +
27 + public static String createQrCode(String qrCodeId) {
28 + return UnionConstants.QRCODE_URL + qrCodeId;
29 + }
30 +
31 + private static String makeSign(Map<String, String> params) {
32 + String preStr = SandPayUtil.map2String(params);
33 + String text = preStr + UnionConstants.MD5_KEY;
34 + return DigestUtils.md5Hex(getContentBytes(text)).toUpperCase();
35 + }
36 +
37 + public static Boolean checkSign(Map<String, String> params) {
38 + String sign = params.get("sign");
39 + if (StringUtils.isBlank(sign)) {
40 + return false;
41 + }
42 + String signV = makeSign(params);
43 + return StringUtils.equalsIgnoreCase(sign, signV);
44 + }
45 +
46 + public static String getOrderNo() {
47 + String date = DateUtil.parseDate(new Date(), DateEnum.UNSIGNED_DATE_TIME_MILLS);
48 + String rand = RandomStringUtils.randomNumeric(7);
49 + return UnionConstants.MSG_ID + date + rand;
50 + }
51 +
52 + private static byte[] getContentBytes(String content) {
53 + try {
54 + return content.getBytes("UTF-8");
55 + } catch (UnsupportedEncodingException e) {
56 + throw new RuntimeException("签名过程中出现错误");
57 + }
58 + }
59 +
60 + public static Map<String, String> getRequestParams(HttpServletRequest request) {
61 + Map<String, String[]> params = request.getParameterMap();
62 + Map<String, String> params2 = new HashMap<String, String>();
63 + for (String key : params.keySet()) {
64 + String[] values = params.get(key);
65 + if (values.length > 0) {
66 + params2.put(key, values[0]);
67 + }
68 + }
69 + return params2;
70 + }
71 +
72 + @SuppressWarnings("unchecked")
73 + public static void main(String[] args) {
74 + CreateQrCode createQrCode = new CreateQrCode();
75 + createQrCode.setBillNo(getOrderNo());
76 + createQrCode.setTotalAmount("1D");
77 + createQrCode.setRequestTimestamp(DateUtil.getNow());
78 + createQrCode.setBillDate(DateUtil.getNow(DateEnum.DATE));
79 + createQrCode.setSrcReserve("201905140001");
80 + Map<String, String> mapTypes = JsonUtil.fromJson(JsonUtil.toJson(createQrCode), Map.class);
81 + String json = sendPost(UnionConstants.CREATE_ORDER, mapTypes);
82 + UnionResponse response = JsonUtil.fromJson(json, UnionResponse.class);
83 + System.out.println(JsonUtil.toJson(response));
84 + }
85 +
86 + public static String sendPost(String url, Map<String, String> data) {
87 + PrintWriter out = null;
88 + BufferedReader in = null;
89 + StringBuilder result = new StringBuilder();
90 +
91 + Map<String, String> params = new HashMap<String, String>();
92 + params.put("sign", makeSign(data));
93 +
94 + try {
95 + URL realUrl = new URL(url);
96 + URLConnection conn = realUrl.openConnection();
97 + conn.setRequestProperty("accept", "*/*");
98 + conn.setRequestProperty("connection", "Keep-Alive");
99 + conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
100 + conn.setDoOutput(true);
101 + conn.setDoInput(true);
102 + out = new PrintWriter(conn.getOutputStream());
103 + out.print(SandPayUtil.map2String(params));
104 + out.flush();
105 + in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
106 + String line;
107 + while ((line = in.readLine()) != null) {
108 + result.append(line);
109 + }
110 + } catch (Exception e) {
111 + e.printStackTrace();
112 + result.append(e.getMessage());
113 + } finally {
114 + try {
115 + if (out != null) {
116 + out.close();
117 + }
118 + if (in != null) {
119 + in.close();
120 + }
121 + } catch (IOException ex) {
122 + ex.printStackTrace();
123 + }
124 + }
125 + try {
126 + return URLDecoder.decode(result.toString(), "utf-8");
127 + } catch (UnsupportedEncodingException e) {
128 + e.printStackTrace();
129 + return "转码出错";
130 + }
131 + }
132 +
133 +}
1 +/*! layer-v3.1.1 Web弹层组件 MIT License http://layer.layui.com/ By 贤心 */
2 + ;!function(e,t){"use strict";var i,n,a=e.layui&&layui.define,o={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,i=t.length-1,n=i;n>0;n--)if("interactive"===t[n].readyState){e=t[n].src;break}return e||t[i].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],type:["dialog","page","iframe","loading","tips"],getStyle:function(t,i){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](i)},link:function(t,i,n){if(r.path){var a=document.getElementsByTagName("head")[0],s=document.createElement("link");"string"==typeof i&&(n=i);var l=(n||t).replace(/\.|\//g,""),f="layuicss-"+l,c=0;s.rel="stylesheet",s.href=r.path+t,s.id=f,document.getElementById(f)||a.appendChild(s),"function"==typeof i&&!function u(){return++c>80?e.console&&console.error("layer.css: Invalid"):void(1989===parseInt(o.getStyle(document.getElementById(f),"width"))?i():setTimeout(u,100))}()}}},r={v:"3.1.1",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||"ActiveXObject"in e)&&((t.match(/msie\s(\d+)/)||[])[1]||"11")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,"string"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss("modules/layer/"+e.extend):o.link("theme/"+e.extend),this):this},ready:function(e){var t="layer",i="",n=(a?"modules/layer/":"theme/")+"default/layer.css?v="+r.v+i;return a?layui.addcss(n,e,t):o.link(n,e,t),this},alert:function(e,t,n){var a="function"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s="function"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s="function"==typeof n,f=o.config.skin,c=(f?f+" "+f+"-msg":"")||"layui-layer-msg",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+" layui-layer-hui",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+" "+(n.skin||"layui-layer-hui")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:210},n))}},s=function(e){var t=this;t.index=++r.index,t.config=i.extend({},t.config,o.config,e),document.body?t.creat():setTimeout(function(){t.creat()},30)};s.pt=s.prototype;var l=["layui-layer",".layui-layer-title",".layui-layer-main",".layui-layer-dialog","layui-layer-iframe","layui-layer-content","layui-layer-btn","layui-layer-close"];l.anim=["layer-anim-00","layer-anim-01","layer-anim-02","layer-anim-03","layer-anim-04","layer-anim-05","layer-anim-06"],s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:"&#x4FE1;&#x606F;",offset:"auto",area:"auto",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f="object"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'<div class="layui-layer-title" style="'+(f?r.title[1]:"")+'">'+(f?r.title[0]:r.title)+"</div>":"";return r.zIndex=s,t([r.shade?'<div class="layui-layer-shade" id="layui-layer-shade'+a+'" times="'+a+'" style="'+("z-index:"+(s-1)+"; ")+'"></div>':"",'<div class="'+l[0]+(" layui-layer-"+o.type[r.type])+(0!=r.type&&2!=r.type||r.shade?"":" layui-layer-border")+" "+(r.skin||"")+'" id="'+l[0]+a+'" type="'+o.type[r.type]+'" times="'+a+'" showtime="'+r.time+'" conType="'+(e?"object":"string")+'" style="z-index: '+s+"; width:"+r.area[0]+";height:"+r.area[1]+(r.fixed?"":";position:absolute;")+'">'+(e&&2!=r.type?"":u)+'<div id="'+(r.id||"")+'" class="layui-layer-content'+(0==r.type&&r.icon!==-1?" layui-layer-padding":"")+(3==r.type?" layui-layer-loading"+r.icon:"")+'">'+(0==r.type&&r.icon!==-1?'<i class="layui-layer-ico layui-layer-ico'+r.icon+'"></i>':"")+(1==r.type&&e?"":r.content||"")+'</div><span class="layui-layer-setwin">'+function(){var e=c?'<a class="layui-layer-min" href="javascript:;"><cite></cite></a><a class="layui-layer-ico layui-layer-max" href="javascript:;"></a>':"";return r.closeBtn&&(e+='<a class="layui-layer-ico '+l[7]+" "+l[7]+(r.title?r.closeBtn:4==r.type?"1":"2")+'" href="javascript:;"></a>'),e}()+"</span>"+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t<i;t++)e+='<a class="'+l[6]+t+'">'+r.btn[t]+"</a>";return'<div class="'+l[6]+" layui-layer-btn-"+(r.btnAlign||"")+'">'+e+"</div>"}():"")+(r.resize?'<span class="layui-layer-resize"></span>':"")+"</div>"],u,i('<div class="layui-layer-move"></div>')),n},s.pt.creat=function(){var e=this,t=e.config,a=e.index,s=t.content,f="object"==typeof s,c=i("body");if(!t.id||!i("#"+t.id)[0]){switch("string"==typeof t.area&&(t.area="auto"===t.area?["",""]:[t.area,""]),t.shift&&(t.anim=t.shift),6==r.ie&&(t.fixed=!1),t.type){case 0:t.btn="btn"in t?t.btn:o.btn[0],r.closeAll("dialog");break;case 2:var s=t.content=f?t.content:[t.content||"http://layer.layui.com","auto"];t.content='<iframe scrolling="'+(t.content[1]||"auto")+'" allowtransparency="true" id="'+l[4]+a+'" name="'+l[4]+a+'" onload="this.className=\'\';" class="layui-layer-load" frameborder="0" src="'+t.content[0]+'"></iframe>';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll("loading");break;case 4:f||(t.content=[t.content,"body"]),t.follow=t.content[1],t.content=t.content[0]+'<i class="layui-layer-TipsG"></i>',delete t.title,t.tips="object"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll("tips")}if(e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i("body").append(n[1])}():function(){s.parents("."+l[0])[0]||(s.data("display",s.css("display")).show().addClass("layui-layer-wrap").wrap(n[1]),i("#"+l[0]+a).find("."+l[5]).before(r))}()}():c.append(n[1]),i(".layui-layer-move")[0]||c.append(o.moveElem=u),e.layero=i("#"+l[0]+a),t.scrollbar||l.html.css("overflow","hidden").attr("layer-full",a)}).auto(a),i("#layui-layer-shade"+e.index).css({"background-color":t.shade[1]||"#000",opacity:t.shade[0]||t.shade}),2==t.type&&6==r.ie&&e.layero.find("iframe").attr("src",s[0]),4==t.type?e.tips():e.offset(),t.fixed&&n.on("resize",function(){e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]){var u="layer-anim "+l.anim[t.anim];e.layero.addClass(u).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){i(this).removeClass(u)})}t.isOutAnim&&e.layero.data("isOutAnim",!0)}},s.pt.auto=function(e){var t=this,a=t.config,o=i("#"+l[0]+e);""===a.area[0]&&a.maxWidth>0&&(r.ie&&r.ie<8&&a.btn&&o.width(o.innerWidth()),o.outerWidth()>a.maxWidth&&o.width(a.maxWidth));var s=[o.innerWidth(),o.innerHeight()],f=o.find(l[1]).outerHeight()||0,c=o.find("."+l[6]).outerHeight()||0,u=function(e){e=o.find(e),e.height(s[1]-f-c-2*(0|parseFloat(e.css("padding-top"))))};switch(a.type){case 2:u("iframe");break;default:""===a.area[1]?a.maxHeight>0&&o.outerHeight()>a.maxHeight?(s[1]=a.maxHeight,u("."+l[5])):a.fixed&&s[1]>=n.height()&&(s[1]=n.height(),u("."+l[5])):u("."+l[5])}return t},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o="object"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=n.width()-a[0]:"b"===t.offset?e.offsetTop=n.height()-a[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):"rb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr("minLeft")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i("body"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(".layui-layer-TipsG"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:"auto"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find("."+l[5]).css({"background-color":t.tips[1],"padding-right":t.closeBtn?"30px":""}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(".layui-layer-resize"),c={};return t.move&&l.css("cursor","move"),l.on("mousedown",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css("left")),e.clientY-parseFloat(s.css("top"))],o.moveElem.css("cursor","move").show())}),f.on("mousedown",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css("cursor","se-resize").show()}),a.on("mousemove",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l="fixed"===s.css("position");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;a<c.stX&&(a=c.stX),a>f&&(a=f),o<c.stY&&(o=c.stY),o>u&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on("mouseup",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find("iframe").on("load",function(){a.success(n,t.index)}):a.success(n,t.index)),6==r.ie&&t.IE6(n),n.find("."+l[6]).children("a").on("click",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a["btn"+(e+1)]&&a["btn"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find("."+l[7]).on("click",e),a.shadeClose&&i("#layui-layer-shade"+t.index).on("click",function(){r.close(t.index)}),n.find(".layui-layer-min").on("click",function(){var e=a.min&&a.min(n);e===!1||r.min(t.index,a)}),n.find(".layui-layer-max").on("click",function(){i(this).hasClass("layui-layer-maxmin")?(r.restore(t.index),a.restore&&a.restore(n)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i("select"),function(e,t){var n=i(this);n.parents("."+l[0])[0]||1==n.attr("layer")&&i("."+l[0]).length<1&&n.removeAttr("layer").show(),n=null})},s.pt.IE6=function(e){i("select").each(function(e,t){var n=i(this);n.parents("."+l[0])[0]||"none"===n.css("display")||n.attr({layer:"1"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css("z-index",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr("layer-full")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty("overflow"):l.html[0].style.removeAttribute("overflow"),l.html.removeAttr("layer-full"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i("."+l[4]).attr("times"),i("#"+l[0]+t).find("iframe").contents().find(e)},r.getFrameIndex=function(e){return i("#"+e).parents("."+l[4]).attr("times")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame("html",e).outerHeight(),n=i("#"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find("."+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find("iframe").css({height:t})}},r.iframeSrc=function(e,t){i("#"+l[0]+e).find("iframe").attr("src",t)},r.style=function(e,t,n){var a=i("#"+l[0]+e),r=a.find(".layui-layer-content"),s=a.attr("type"),f=a.find(l[1]).outerHeight()||0,c=a.find("."+l[6]).outerHeight()||0;a.attr("minLeft");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find("."+l[6]).outerHeight(),s===o.type[2]?a.find("iframe").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom"))}))},r.min=function(e,t){var a=i("#"+l[0]+e),s=a.find(l[1]).outerHeight()||0,f=a.attr("minLeft")||181*o.minIndex+"px",c=a.css("position");o.record(a),o.minLeft[0]&&(f=o.minLeft[0],o.minLeft.shift()),a.attr("position",c),r.style(e,{width:180,height:s,left:f,top:n.height()-s,position:"fixed",overflow:"hidden"},!0),a.find(".layui-layer-min").hide(),"page"===a.attr("type")&&a.find(l[4]).hide(),o.rescollbar(e),a.attr("minLeft")||o.minIndex++,a.attr("minLeft",f)},r.restore=function(e){var t=i("#"+l[0]+e),n=t.attr("area").split(",");t.attr("type");r.style(e,{width:parseFloat(n[0]),height:parseFloat(n[1]),top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===t.attr("type")&&t.find(l[4]).show(),o.rescollbar(e)},r.full=function(e){var t,a=i("#"+l[0]+e);o.record(a),l.html.attr("layer-full")||l.html.css("overflow","hidden").attr("layer-full",e),clearTimeout(t),t=setTimeout(function(){var t="fixed"===a.css("position");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(".layui-layer-min").hide()},100)},r.title=function(e,t){var n=i("#"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e){var t=i("#"+l[0]+e),n=t.attr("type"),a="layer-anim-close";if(t[0]){var s="layui-layer-wrap",f=function(){if(n===o.type[1]&&"object"===t.attr("conType")){t.children(":not(."+l[5]+")").remove();for(var a=t.find("."+s),r=0;r<2;r++)a.unwrap();a.css("display",a.data("display")).removeClass(s)}else{if(n===o.type[2])try{var f=i("#"+l[4]+e)[0];f.contentWindow.document.write(""),f.contentWindow.close(),t.find("."+l[5])[0].removeChild(f)}catch(c){}t[0].innerHTML="",t.remove()}"function"==typeof o.end[e]&&o.end[e](),delete o.end[e]};t.data("isOutAnim")&&t.addClass("layer-anim "+a),i("#layui-layer-moves, #layui-layer-shade"+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),t.attr("minLeft")&&(o.minIndex--,o.minLeft.push(t.attr("minLeft"))),r.ie&&r.ie<10||!t.data("isOutAnim")?f():setTimeout(function(){f()},200)}},r.closeAll=function(e){i.each(i("."+l[0]),function(){var t=i(this),n=e?t.attr("type")===e:1;n&&r.close(t.attr("times")),n=null})};var f=r.cache||{},c=function(e){return f.skin?" "+f.skin+" "+f.skin+"-"+e:""};r.prompt=function(e,t){var a="";if(e=e||{},"function"==typeof e&&(t=e),e.area){var o=e.area;a='style="width: '+o[0]+"; height: "+o[1]+';"',delete e.area}var s,l=2==e.formType?'<textarea class="layui-layer-input"'+a+">"+(e.value||"")+"</textarea>":function(){return'<input type="'+(1==e.formType?"password":"text")+'" class="layui-layer-input" value="'+(e.value||"")+'">'}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],content:l,skin:"layui-layer-prompt"+c("prompt"),maxWidth:n.width(),success:function(e){s=e.find(".layui-layer-input"),s.focus(),"function"==typeof f&&f(e)},resize:!1,yes:function(i){var n=s.val();""===n?s.focus():n.length>(e.maxlength||500)?r.tips("&#x6700;&#x591A;&#x8F93;&#x5165;"+(e.maxlength||500)+"&#x4E2A;&#x5B57;&#x6570;",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n="layui-this",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,i=1,a="";if(e>0)for(a='<span class="'+n+'">'+t[0].title+"</span>";i<e;i++)a+="<span>"+t[i].title+"</span>";return a}(),content:'<ul class="layui-layer-tabmain">'+function(){var e=t.length,i=1,a="";if(e>0)for(a='<li class="layui-layer-tabli '+n+'">'+(t[0].content||"no content")+"</li>";i<e;i++)a+='<li class="layui-layer-tabli">'+(t[i].content||"no content")+"</li>";return a}()+"</ul>",success:function(t){var o=t.find(".layui-layer-title").children(),r=t.find(".layui-layer-tabmain").children();o.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),"function"==typeof e.change&&e.change(o)}),"function"==typeof a&&a(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=t.photos.constructor===Object,f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||"img";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg("&#x6CA1;&#x6709;&#x56FE;&#x7247;")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr("layer-index",e),u.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(h(),0===u.length)return;if(n||p.on("click",t.img,function(){var e=i(this),n=e.attr("layer-index");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0),h()}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.hover(function(){s.imgsee.show()},function(){s.imgsee.hide()}),s.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),s.imgprev()}),s.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),s.imgnext()}),i(document).on("keyup",s.keyup)},s.loadi=r.load(1,{shade:!("shade"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),s.index=r.open(i.extend({type:1,id:"layui-layer-photos",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]<r[1]&&(a[0]=a[0]/r[1],a[1]=a[1]/r[1])}return[a[0]+"px",a[1]+"px"]}(),title:!1,shade:.9,shadeClose:!0,closeBtn:!1,move:".layui-layer-phimg img",moveType:1,scrollbar:!1,moveOut:!0,isOutAnim:!1,skin:"layui-layer-photos"+c("photos"),content:'<div class="layui-layer-phimg"><img src="'+u[d].src+'" alt="'+(u[d].alt||"")+'" layer-pid="'+u[d].pid+'"><div class="layui-layer-imgsee">'+(u.length>1?'<span class="layui-layer-imguide"><a href="javascript:;" class="layui-layer-iconext layui-layer-imgprev"></a><a href="javascript:;" class="layui-layer-iconext layui-layer-imgnext"></a></span>':"")+'<div class="layui-layer-imgbar" style="display:'+(a?"block":"")+'"><span class="layui-layer-imgtit"><a href="javascript:;">'+(u[d].alt||"")+"</a><em>"+s.imgIndex+"/"+u.length+"</em></span></div></div></div>",success:function(e,i){s.bigimg=e.find(".layui-layer-phimg"),s.imgsee=e.find(".layui-layer-imguide,.layui-layer-imgbar"),s.event(e),t.tab&&t.tab(u[d],e),"function"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off("keyup",s.keyup)}},t))},function(){r.close(s.loadi),r.msg("&#x5F53;&#x524D;&#x56FE;&#x7247;&#x5730;&#x5740;&#x5F02;&#x5E38;<br>&#x662F;&#x5426;&#x7EE7;&#x7EED;&#x67E5;&#x770B;&#x4E0B;&#x4E00;&#x5F20;&#xFF1F;",{time:3e4,btn:["&#x4E0B;&#x4E00;&#x5F20;","&#x4E0D;&#x770B;&#x4E86;"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i("html"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define("jquery",function(t){r.path=layui.cache.dir,o.run(layui.$),e.layer=r,t("layer",r)})):"function"==typeof define&&define.amd?define(["jquery"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window);
...\ No newline at end of file ...\ No newline at end of file
1 +/** layui-v2.2.5 MIT License By https://www.layui.com */
2 + ;!function(e){"use strict";var t=document,n={modules:{},status:{},timeout:10,event:{}},o=function(){this.v="2.2.5"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,n=t.scripts,o=n.length-1,r=o;r>0;r--)if("interactive"===n[r].readyState){e=n[r].src;break}return e||n[o].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),a=function(t){e.console&&console.error&&console.error("Layui hint: "+t)},i="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),u={layer:"modules-2.2.5/layer",laydate:"modules-2.2.5/laydate",laypage:"modules-2.2.5/laypage",laytpl:"modules-2.2.5/laytpl",layim:"modules-2.2.5/layim",layedit:"modules-2.2.5/layedit",form:"modules-2.2.5/form",upload:"modules-2.2.5/upload",tree:"modules-2.2.5/tree",table:"modules-2.2.5/table",element:"modules-2.2.5/element",util:"modules-2.2.5/util",flow:"modules-2.2.5/flow",carousel:"modules-2.2.5/carousel",code:"modules-2.2.5/code",jquery:"modules-2.2.5/jquery",mobile:"modules-2.2.5/mobile","layui.all":"../layui.all"};o.prototype.cache=n,o.prototype.define=function(e,t){var o=this,r="function"==typeof e,a=function(){var e=function(e,t){layui[e]=t,n.status[e]=!0};return"function"==typeof t&&t(function(o,r){e(o,r),n.callback[o]=function(){t(e)}}),this};return r&&(t=e,e=[]),layui["layui.all"]||!layui["layui.all"]&&layui["layui.mobile"]?a.call(o):(o.use(e,a),o)},o.prototype.use=function(e,o,l){function s(e,t){var o="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||o.test((e.currentTarget||e.srcElement).readyState))&&(n.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*n.timeout/4?a(f+" is not a valid module"):void(n.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),o,l):"function"==typeof o&&o.apply(layui,l)}var y=this,p=n.dir=n.dir?n.dir:r,d=t.getElementsByTagName("head")[0];e="string"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,n){"jquery"===n&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],n.host=n.host||(p.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===e.length||layui["layui.all"]&&u[f]||!layui["layui.all"]&&layui["layui.mobile"]&&u[f])return c(),y;if(n.modules[f])!function g(){return++m>1e3*n.timeout/4?a(f+" is not a valid module"):void("string"==typeof n.modules[f]&&n.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement("script"),h=(u[f]?p+"layui/":/^\{\/\}/.test(y.modules[f])?"":n.base||"")+(y.modules[f]||f)+".js";h=h.replace(/^\{\/\}/,""),v.async=!0,v.charset="utf-8",v.src=h+function(){var e=n.version===!0?n.v||(new Date).getTime():n.version||"";return e?"?v="+e:""}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf("[native code")<0||i?v.addEventListener("load",function(e){s(e,h)},!1):v.attachEvent("onreadystatechange",function(e){s(e,h)}),n.modules[f]=h}return y},o.prototype.getStyle=function(t,n){var o=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return o[o.getPropertyValue?"getPropertyValue":"getAttribute"](n)},o.prototype.link=function(e,o,r){var i=this,u=t.createElement("link"),l=t.getElementsByTagName("head")[0];"string"==typeof o&&(r=o);var s=(r||e).replace(/\.|\//g,""),c=u.id="layuicss-"+s,y=0;return u.rel="stylesheet",u.href=e+(n.debug?"?v="+(new Date).getTime():""),u.media="all",t.getElementById(c)||l.appendChild(u),"function"!=typeof o?i:(function p(){return++y>1e3*n.timeout/100?a(e+" timeout"):void(1989===parseInt(i.getStyle(t.getElementById(c),"width"))?function(){o()}():setTimeout(p,100))}(),i)},n.callback={},o.prototype.factory=function(e){if(layui[e])return"function"==typeof n.callback[e]?n.callback[e]:null},o.prototype.addcss=function(e,t,o){return layui.link("http://m.ytgrading.com/lib/css/layui/modules-2.2.5/"+e.substring(8),t,o)},o.prototype.img=function(e,t,n){var o=new Image;return o.src=e,o.complete?t(o):(o.onload=function(){o.onload=null,t(o)},void(o.onerror=function(e){o.onerror=null,n(e)}))},o.prototype.config=function(e){e=e||{};for(var t in e)n[t]=e[t];return this},o.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),o.prototype.extend=function(e){var t=this;e=e||{};for(var n in e)t[n]||t.modules[n]?a("模块名 "+n+" 已被占用"):t.modules[n]=e[n];return t},o.prototype.router=function(e){var t=this,e=e||location.hash,n={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(n.href=e=e.replace(/^#\//,""),e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),n.search[t[0]]=t[1]}():n.path.push(t)}),n):n},o.prototype.data=function(t,n,o){if(t=t||"layui",o=o||localStorage,e.JSON&&e.JSON.parse){if(null===n)return delete o[t];n="object"==typeof n?n:{key:n};try{var r=JSON.parse(o[t])}catch(a){var r={}}return"value"in n&&(r[n.key]=n.value),n.remove&&delete r[n.key],o[t]=JSON.stringify(r),n.key?r[n.key]:r}},o.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},o.prototype.device=function(t){var n=navigator.userAgent.toLowerCase(),o=function(e){var t=new RegExp(e+"/([^\\s\\_\\-]+)");return e=(n.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(n)?"windows":/linux/.test(n)?"linux":/iphone|ipod|ipad|ios/.test(n)?"ios":/mac/.test(n)?"mac":void 0}(),ie:function(){return!!(e.ActiveXObject||"ActiveXObject"in e)&&((n.match(/msie\s(\d+)/)||[])[1]||"11")}(),weixin:o("micromessenger")};return t&&!r[t]&&(r[t]=o(t)),r.android=/android/.test(n),r.ios="ios"===r.os,r},o.prototype.hint=function(){return{error:a}},o.prototype.each=function(e,t){var n,o=this;if("function"!=typeof t)return o;if(e=e||[],e.constructor===Object){for(n in e)if(t.call(e[n],n,e[n]))break}else for(n=0;n<e.length&&!t.call(e[n],n,e[n]);n++);return o},o.prototype.sort=function(e,t,n){var o=JSON.parse(JSON.stringify(e||[]));return t?(o.sort(function(e,n){var o=/^-?\d+$/,r=e[t],a=n[t];return o.test(r)&&(r=parseFloat(r)),o.test(a)&&(a=parseFloat(a)),r&&!a?1:!r&&a?-1:r>a?1:r<a?-1:0}),n&&o.reverse(),o):o},o.prototype.stope=function(t){t=t||e.event;try{t.stopPropagation()}catch(n){t.cancelBubble=!0}},o.prototype.onevent=function(e,t,n){return"string"!=typeof e||"function"!=typeof n?this:o.event(e,t,null,n)},o.prototype.event=o.event=function(e,t,o,r){var a=this,i=null,u=t.match(/\((.*)\)$/)||[],l=(e+"."+t).replace(u[0],""),s=u[1]||"",c=function(e,t){var n=t&&t.call(a,o);n===!1&&null===i&&(i=!1)};return r?(n.event[l]=n.event[l]||{},n.event[l][s]=[r],this):(layui.each(n.event[l],function(e,t){return"{*}"===s?void layui.each(t,c):(""===e&&layui.each(t,c),void(e===s&&layui.each(t,c)))}),i)},e.layui=new o}(window);
1 +/*! layer mobile-v2.0.0 Web弹层组件 MIT License http://layer.layui.com/mobile By 贤心 */
2 + ;!function(e){"use strict";var t=document,n="querySelectorAll",i="getElementsByClassName",a=function(e){return t[n](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var n in e)t[n]=e[n];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var r=0,o=["layui-m-layer"],c=function(e){var t=this;t.config=l.extend(e),t.view()};c.prototype.view=function(){var e=this,n=e.config,s=t.createElement("div");e.id=s.id=o[0]+r,s.setAttribute("class",o[0]+" "+o[0]+(n.type||0)),s.setAttribute("index",r);var l=function(){var e="object"==typeof n.title;return n.title?'<h3 style="'+(e?n.title[1]:"")+'">'+(e?n.title[0]:n.title)+"</h3>":""}(),c=function(){"string"==typeof n.btn&&(n.btn=[n.btn]);var e,t=(n.btn||[]).length;return 0!==t&&n.btn?(e='<span yes type="1">'+n.btn[0]+"</span>",2===t&&(e='<span no type="0">'+n.btn[1]+"</span>"+e),'<div class="layui-m-layerbtn">'+e+"</div>"):""}();if(n.fixed||(n.top=n.hasOwnProperty("top")?n.top:100,n.style=n.style||"",n.style+=" top:"+(t.body.scrollTop+n.top)+"px"),2===n.type&&(n.content='<i></i><i class="layui-m-layerload"></i><i></i><p>'+(n.content||"")+"</p>"),n.skin&&(n.anim="up"),"msg"===n.skin&&(n.shade=!1),s.innerHTML=(n.shade?"<div "+("string"==typeof n.shade?'style="'+n.shade+'"':"")+' class="layui-m-layershade"></div>':"")+'<div class="layui-m-layermain" '+(n.fixed?"":'style="position:static;"')+'><div class="layui-m-layersection"><div class="layui-m-layerchild '+(n.skin?"layui-m-layer-"+n.skin+" ":"")+(n.className?n.className:"")+" "+(n.anim?"layui-m-anim-"+n.anim:"")+'" '+(n.style?'style="'+n.style+'"':"")+">"+l+'<div class="layui-m-layercont">'+n.content+"</div>"+c+"</div></div></div>",!n.type||2===n.type){var d=t[i](o[0]+n.type),y=d.length;y>=1&&layer.close(d[0].getAttribute("index"))}document.body.appendChild(s);var u=e.elem=a("#"+e.id)[0];n.success&&n.success(u),e.index=r++,e.action(n,u)},c.prototype.action=function(e,t){var n=this;e.time&&(l.timer[n.index]=setTimeout(function(){layer.close(n.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),layer.close(n.index)):e.yes?e.yes(n.index):layer.close(n.index)};if(e.btn)for(var s=t[i]("layui-m-layerbtn")[0].children,r=s.length,o=0;o<r;o++)l.touch(s[o],a);if(e.shade&&e.shadeClose){var c=t[i]("layui-m-layershade")[0];l.touch(c,function(){layer.close(n.index,e.end)})}e.end&&(l.end[n.index]=e.end)},e.layer={v:"2.0",index:r,open:function(e){var t=new c(e||{});return t.index},close:function(e){var n=a("#"+o[0]+e)[0];n&&(n.innerHTML="",t.body.removeChild(n),clearTimeout(l.timer[e]),delete l.timer[e],"function"==typeof l.end[e]&&l.end[e](),delete l.end[e])},closeAll:function(){for(var e=t[i](o[0]),n=0,a=e.length;n<a;n++)layer.close(0|e[0].getAttribute("index"))}},"function"==typeof define?define(function(){return layer}):function(){var e=document.scripts,n=e[e.length-1],i=n.src,a=i.substring(0,i.lastIndexOf("/")+1);n.getAttribute("merge")||document.head.appendChild(function(){var e=t.createElement("link");return e.href=a+"need/layer.css?2.0",e.type="text/css",e.rel="styleSheet",e.id="layermcss",e}())}()}(window);
...\ No newline at end of file ...\ No newline at end of file
1 +.layui-m-layer{position:relative;z-index:19891014}.layui-m-layer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.layui-m-layermain,.layui-m-layershade{position:fixed;left:0;top:0;width:100%;height:100%}.layui-m-layershade{background-color:rgba(0,0,0,.7);pointer-events:auto}.layui-m-layermain{display:table;font-family:Helvetica,arial,sans-serif;pointer-events:none}.layui-m-layermain .layui-m-layersection{display:table-cell;vertical-align:middle;text-align:center}.layui-m-layerchild{position:relative;display:inline-block;text-align:left;background-color:#fff;font-size:14px;border-radius:5px;box-shadow:0 0 8px rgba(0,0,0,.1);pointer-events:auto;-webkit-overflow-scrolling:touch;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@-webkit-keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.layui-m-anim-scale{animation-name:layui-m-anim-scale;-webkit-animation-name:layui-m-anim-scale}@-webkit-keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.layui-m-anim-up{-webkit-animation-name:layui-m-anim-up;animation-name:layui-m-anim-up}.layui-m-layer0 .layui-m-layerchild{width:90%;max-width:640px}.layui-m-layer1 .layui-m-layerchild{border:none;border-radius:0}.layui-m-layer2 .layui-m-layerchild{width:auto;max-width:260px;min-width:40px;border:none;background:0 0;box-shadow:none;color:#fff}.layui-m-layerchild h3{padding:0 10px;height:60px;line-height:60px;font-size:16px;font-weight:400;border-radius:5px 5px 0 0;text-align:center}.layui-m-layerbtn span,.layui-m-layerchild h3{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-m-layercont{padding:50px 30px;line-height:22px;text-align:center}.layui-m-layer1 .layui-m-layercont{padding:0;text-align:left}.layui-m-layer2 .layui-m-layercont{text-align:center;padding:0;line-height:0}.layui-m-layer2 .layui-m-layercont i{width:25px;height:25px;margin-left:8px;display:inline-block;background-color:#fff;border-radius:100%;-webkit-animation:layui-m-anim-loading 1.4s infinite ease-in-out;animation:layui-m-anim-loading 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-m-layerbtn,.layui-m-layerbtn span{position:relative;text-align:center;border-radius:0 0 5px 5px}.layui-m-layer2 .layui-m-layercont p{margin-top:20px}@-webkit-keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}@keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.layui-m-layer2 .layui-m-layercont i:first-child{margin-left:0;-webkit-animation-delay:-.32s;animation-delay:-.32s}.layui-m-layer2 .layui-m-layercont i.layui-m-layerload{-webkit-animation-delay:-.16s;animation-delay:-.16s}.layui-m-layer2 .layui-m-layercont>div{line-height:22px;padding-top:7px;margin-bottom:20px;font-size:14px}.layui-m-layerbtn{display:box;display:-moz-box;display:-webkit-box;width:100%;height:50px;line-height:50px;font-size:0;border-top:1px solid #D0D0D0;background-color:#F2F2F2}.layui-m-layerbtn span{display:block;-moz-box-flex:1;box-flex:1;-webkit-box-flex:1;font-size:14px;cursor:pointer}.layui-m-layerbtn span[yes]{color:#40AFFE}.layui-m-layerbtn span[no]{border-right:1px solid #D0D0D0;border-radius:0 0 0 5px}.layui-m-layerbtn span:active{background-color:#F6F6F6}.layui-m-layerend{position:absolute;right:7px;top:10px;width:30px;height:30px;border:0;font-weight:400;background:0 0;cursor:pointer;-webkit-appearance:none;font-size:30px}.layui-m-layerend::after,.layui-m-layerend::before{position:absolute;left:5px;top:15px;content:'';width:18px;height:1px;background-color:#999;transform:rotate(45deg);-webkit-transform:rotate(45deg);border-radius:3px}.layui-m-layerend::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}body .layui-m-layer .layui-m-layer-footer{position:fixed;width:95%;max-width:100%;margin:0 auto;left:0;right:0;bottom:10px;background:0 0}.layui-m-layer-footer .layui-m-layercont{padding:20px;border-radius:5px 5px 0 0;background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn{display:block;height:auto;background:0 0;border-top:none}.layui-m-layer-footer .layui-m-layerbtn span{background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn span[no]{color:#FD482C;border-top:1px solid #c2c2c2;border-radius:0 0 5px 5px}.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top:10px;border-radius:5px}body .layui-m-layer .layui-m-layer-msg{width:auto;max-width:90%;margin:0 auto;bottom:-150px;background-color:rgba(0,0,0,.7);color:#fff}.layui-m-layer-msg .layui-m-layercont{padding:10px 20px}
...\ No newline at end of file ...\ No newline at end of file
1 +.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}
...\ No newline at end of file ...\ No newline at end of file
...@@ -13,15 +13,74 @@ ...@@ -13,15 +13,74 @@
13 <link href="${ctx }/resource/css/jquery-date/latoja.datepicker.css" rel="stylesheet" /> 13 <link href="${ctx }/resource/css/jquery-date/latoja.datepicker.css" rel="stylesheet" />
14 <link href="${ctx }/resource/css/detail.css" rel="stylesheet" type="text/css" /> 14 <link href="${ctx }/resource/css/detail.css" rel="stylesheet" type="text/css" />
15 <link href="${ctx }/resource/css/home.css" rel="stylesheet" type="text/css" /> 15 <link href="${ctx }/resource/css/home.css" rel="stylesheet" type="text/css" />
16 - <script type="text/javascript" src="${ctx }/resource/js/utils/jquery/jquery-ui-1.10.1.min.js"></script> 16 + <script type="text/javascript" src="${ctx }/resource/js/layer/jquery.min.js"></script>
17 - <script type="text/javascript" src="${ctx }/resource/js/utils/jquery/jquery.ui.datepicker-zh-cn.js"></script> 17 + <script type="text/javascript" src="${ctx }/resource/js/layer/layer.js"></script>
18 - <script type="text/javascript" src="${ctx }/resource/js/user/pick/pick.js"></script> 18 + <script type="text/javascript" src="${ctx }/resource/js/layer/layui-2.2.5.js"></script>
19 - <script type="text/javascript" src="${ctx }/resource/js/user/pick/self.js"></script> 19 + <%--<script type="text/javascript" src="${ctx }/resource/js/layer/qrcode.js"></script>--%>
20 + <script type="text/javascript" src="//cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
21 + <script type="text/javascript" src="//static.runoob.com/assets/qrcode/qrcode.min.js"></script>
22 +
20 <script type="text/javascript"> 23 <script type="text/javascript">
21 - var errorMessage = '${ resultInfo.message }'; 24 + $(function() {
22 - //最小提货日期(0:普通自提;1:封装自提) 25 + var Pay = {
23 - var minDate = '${sessionScope.pack}' == '1' ? '+7' : '+0'; 26 + init: function() {
27 + this.bind();
28 + this.render();
29 + },
30 + bind: function() {
31 + $(document).on('click', '#payBtn', this.showPayDialog);
32 + },
33 + render: function() {
34 + },
35 + showPayDialog: function(){
36 + $.ajax({
37 + type: "get",
38 + url: "/pick/pay/createOrder",
39 + success : function(data){
40 + if(data.code){
41 + var laytpl = layui.laytpl;
42 + layer.open({
43 + type: 1,
44 + title: '付款码',
45 + closeBtn: 1,
46 + area: ['800px;', '500px'],
47 + shade: 0.8,
48 + id: 'payDialogContent',
49 + skin: 'payDialogContent',
50 + btnAlign: 'c',
51 + moveType: 1,
52 + content: ''
53 + });
54 + var htmlStr = '';
55 + htmlStr += '<div style="width:100%;height:50px;font-size:16px;text-align:center;padding-top:30px;">'
56 + htmlStr += '请打开微信或支付宝app扫码进行支付'
57 + htmlStr += '</div>'
58 + htmlStr += '<div style="width:100%;height:60px;font-size:22px;text-align:center;color:#f20000;font-weight:bold;">'
59 + htmlStr += data.totalAmount + '元'
60 + htmlStr += '</div>'
61 + htmlStr += '<div style="width: 200px;height: 200px;margin: 0 auto;">'
62 + htmlStr += '<div style="width:100%;height:100%;" id="qrcode"></div>'
63 + htmlStr += '</div>'
64 + htmlStr += '<div style="width:100%;height:30px;font-size:16px;text-align:center;padding-top:30px;">'
65 + htmlStr += '付款码每2分钟刷新一次,请在规定时间内完成付款'
66 + htmlStr += '</div>'
67 + $('#payDialogContent').html(htmlStr);
68 + var qrcode = new QRCode(document.getElementById("qrcode"));
69 + qrcode.makeCode(data.qrCode);
70 + }else{
71 + layer.msg(data.msg, {icon: '2'});
72 + }
73 + }
74 + });
75 + }
76 + };
77 + window.Pay = Pay;
78 + Pay.init();
79 + });
24 </script> 80 </script>
81 + <style>
82 + #qrcode img { width: 100%; }
83 + </style>
25 </head> 84 </head>
26 <body> 85 <body>
27 <jsp:include page="${ctx }/view/common/header.jsp" /> 86 <jsp:include page="${ctx }/view/common/header.jsp" />
...@@ -151,7 +210,7 @@ ...@@ -151,7 +210,7 @@
151 <span id="spPickType"></span> 210 <span id="spPickType"></span>
152 <span id="spDelegateName"></span> 211 <span id="spDelegateName"></span>
153 <span id="spDelegateId" class="bold"></span> 212 <span id="spDelegateId" class="bold"></span>
154 - <a style="text-align: center;" class="red-btn">确认支付</a> 213 + <a id="payBtn" style="text-align: center;" class="red-btn">确认支付</a>
155 </p> 214 </p>
156 </div> 215 </div>
157 </div> 216 </div>
...@@ -159,6 +218,19 @@ ...@@ -159,6 +218,19 @@
159 </div> 218 </div>
160 </div> 219 </div>
161 <div class="clear"></div> 220 <div class="clear"></div>
221 +<script type="text/html" id="payDialog">
222 + <div style="width: 600px;height: 500px;">
223 + <div style="width: 100%;height: 30px;line-height: 30px;text-align: center;font-size: 18px;font-weight: bold;">
224 + 付款码
225 + </div>
226 + <div>
227 + 请打开微信或支付宝app扫码进行支付
228 + </div>
229 + <div>
230 + 付款码每2分钟刷新一次,请在规定时间内完成付款
231 + </div>
232 + </div>
233 +</script>
162 <jsp:include page="${ctx }/view/common/bottom.jsp" /> 234 <jsp:include page="${ctx }/view/common/bottom.jsp" />
163 </body> 235 </body>
164 </html> 236 </html>
...\ No newline at end of file ...\ No newline at end of file
......