<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Vue開發Html5微信公眾號的步驟

        來源:懂視網 責編:小采 時間:2020-11-27 21:58:59
        文檔

        Vue開發Html5微信公眾號的步驟

        Vue開發Html5微信公眾號的步驟:一、調起微信支付 在微信瀏覽器里面打開H5網頁中執行JS調起支付,WeixinJSBridge內置對象在其他瀏覽器中無效。具體參考官方文檔:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6 (1)大致流程: (
        推薦度:
        導讀Vue開發Html5微信公眾號的步驟:一、調起微信支付 在微信瀏覽器里面打開H5網頁中執行JS調起支付,WeixinJSBridge內置對象在其他瀏覽器中無效。具體參考官方文檔:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6 (1)大致流程: (
        具體參考官方文檔:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6

        (1)大致流程:

        (2)調用代碼示例:

        mounted(){
         if (typeof WeixinJSBridge == "undefined") {
         if (document.addEventListener) {
         document.addEventListener(
         "WeixinJSBridgeReady",
         this.onBridgeReady,
         false
         );
         } else if (document.attachEvent) {
         document.attachEvent(
         "WeixinJSBridgeReady",
         this.onBridgeReady
         );
         document.attachEvent(
         "onWeixinJSBridgeReady",
         this.onBridgeReady
         );
         }
         } else {
         this.onBridgeReady();
         }
        }
        methods:{
         // 調起微信支付
         onBridgeReady() {
         const pay_params = this.payInfo; //創建支付返回的簽名信息
         WeixinJSBridge.invoke(
         "getBrandWCPayRequest",
         {
         appId: pay_params.appId, //公眾號名稱,由商戶傳入
         timeStamp: pay_params.timeStamp, //時間戳,自1970年以來的秒數
         nonceStr: pay_params.nonceStr, //隨機串
         package: pay_params.package,
         signType: pay_params.signType, //微信簽名方式:
         paySign: pay_params.paySign //微信簽名
         },
         res => {
         if (res.err_msg == "get_brand_wcpay_request:ok") {
         // 校驗支付
         alert('支付成功');
         
         //do something...
         
         }else if(res.err_msg == "get_brand_wcpay_request:cancel"||res.err_msg == "get_brand_wcpay_request:fail"){
         alert('支付失敗');
         }
         }
         );
         },
        }

        二、實現Web簽名+截圖網頁+上傳截圖

        web簽名使用 jsignature 實現,由于jsignature 基于Jquery實現,需要引入Jquery。簽名完成后,使用 html2canvas 實現網頁全屏截圖。截圖成功后,由于Canvas的 toDataURL方法會根據簽名的復雜程度返回不同長短的Base64,過長的Base64傳到后臺會增加服務器負擔,所以需要轉成平時input type=file上傳的圖片格式

        代碼示例:

         import jSignature from "jSignature"; 
         import html2canvas from 'html2canvas';
         
         mounted() {
         //通過setTimeout把代碼丟到初始化最后執行
         this.Timer = setTimeout(() => {
         // Signature 簽名Dom容器
         this.$SignDom = $("#Signature").jSignature({
         height: "100%",//占容器100%
         width: "100%"
         });
         }, 0);
         },
         methods:{
         //清空簽名
         resetSign() {
         this.$SignDom && this.$SignDom.jSignature("reset");
         },
         // 獲取簽名
         async getSign() {
         if (!this.$SignDom) return;
         
         if (!this.$SignDom.jSignature("getData", "native").length) {
         alert("請填寫您的簽名!");
         return;
         }
         // jSignature - 獲取簽名Base64(注意:該Base64指簽名那一塊,不是整個頁面)
         
         // let datapair = this.$SignDom.jSignature("getData", "image");
         // let SignSrc = "data:" + datapair[0] + "," + datapair[1];
         
         // html2canvas截取整個頁面
         const HTML_CANVAS = await html2canvas(document.getElementById('app'));
         let SignSrc = HTML_CANVAS.toDataURL();
         
         // Base64 轉 Blob 實現提交圖片
         let uploadImg = this.dataURLtoFile(SignSrc);
         
         let param = new FormData(); //創建form對象
         param.append("file", uploadImg,'signImage.png'); 
         
         // send request...
         },
         // Base64轉Blob上傳圖片
         dataURLtoFile(dataurl) {
         var arr = dataurl.split(","),
         mime = arr[0].match(/:(.*?);/)[1],
         bstr = atob(arr[1]),
         n = bstr.length,
         u8arr = new Uint8Array(n);
         while (n--) {
         u8arr[n] = bstr.charCodeAt(n);
         }
         return new Blob([u8arr],{
         type: mime,
         });
         }
        
         },
         destroyed() {
         //清理setTimeout
         this.Timer && clearTimeout(this.Timer);
         }

        三、如何在npm run dev下,手機打開H5公眾號測試

        (1) 修改package.json,在dev 后面加上--host your IP

        示例:

        "scripts": {
         "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 192.167.1.99",
         },

        (2) dev跑起來之后,通過文件傳輸助手發給手機,在手機打開http://your IP:8080/即可

        (3) 打開后就可以在手機上測試支付或wx-js-sdk等功能啦!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Vue開發Html5微信公眾號的步驟

        Vue開發Html5微信公眾號的步驟:一、調起微信支付 在微信瀏覽器里面打開H5網頁中執行JS調起支付,WeixinJSBridge內置對象在其他瀏覽器中無效。具體參考官方文檔:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6 (1)大致流程: (
        推薦度:
        標簽: 微信的 方法 VUE
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 最近最新中文字幕完整版免费高清| 一出一进一爽一粗一大视频免费的| 人人玩人人添人人澡免费| 亚洲男人在线无码视频| 鲁啊鲁在线视频免费播放| 精品久久免费视频| 亚洲精品中文字幕| 国产女高清在线看免费观看| 日本免费xxxx| 亚洲成a人片在线观看中文app| 久久综合给合久久国产免费| 亚洲人成网站影音先锋播放| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 久久免费国产精品一区二区| 亚洲AV无码一区二区三区系列| 国产99视频精品免费专区| 精品亚洲成a人片在线观看少妇 | 亚洲综合色一区二区三区| 日韩吃奶摸下AA片免费观看| 亚洲精品宾馆在线精品酒店| 国产一区二区三区免费在线观看| 免费又黄又爽又猛大片午夜| 成人毛片免费观看视频大全| 亚洲av日韩av永久在线观看| 亚洲国产精品成人久久蜜臀| 丁香花在线观看免费观看图片 | 亚洲成AV人片在线观看无| 免费无码毛片一区二区APP| 亚洲国产av一区二区三区丶| 日本无卡码免费一区二区三区| 亚洲精品中文字幕乱码| 毛片免费观看的视频在线| 日韩在线视频免费| 亚洲综合在线观看视频| 成人午夜大片免费7777| xxxx日本在线播放免费不卡| 综合自拍亚洲综合图不卡区| 久久国产精品2020免费m3u8| 亚洲人精品亚洲人成在线| 亚洲国产成人久久精品99| 8x网站免费入口在线观看|