• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 蘋果教程教程 > 詳細頁面

        初試vue-cli使用HBuilderx打包app的坑_vue.js

        初試vue-cli使用HBuilderx打包app的坑_vue.js

        更新時間:2024-04-13 文章作者:未知 信息來源:網絡 閱讀次數:

        微信授權登錄提示code-2appid和appsecret應該是移動應用,而非網頁應用微信授權登錄提示code:-100/自定義基座無法微信登錄和分享開發者賬號配置的應用簽名應該是md5加密后的值,...

        微信授權登錄提示code-2

        appid和appsecret應該是移動應用,而非網頁應用

        微信授權登錄提示code:-100/自定義基座無法微信登錄和分享

        開發者賬號配置的應用簽名應該是md5加密后的值,而不是原字符串

        生產環境proxyTable不生效,導致接口500

        兩種解決辦法:
        ①入口文件使用網絡地址,且和接口在同一域名下
        ②(推薦)

        入口文件依舊是index.html

        在config/prod.env和config/dev.env下添加API_ROOT

        'use strict'
        module.exports = {
         NODE_ENV: '"production"',
         API_ROOT: '"http://cross.precision-wechat.com"'
        }
        

        在main.js里設置baseUrl

        axios.defaults.baseURL = process.env.API_ROOT

        css內背景圖片使用相對路徑,打包測試不出現

        修改config/index,js內的這一行

        // Paths
          assetsRoot: path.resolve(__dirname, '../dist'),
          assetsSubDirectory: 'static',
          assetsPublicPath: './',
        

        import進來的樣式表沒有被lib-flexible轉為rem

        轉換寫法,改為<style scoped src='../../assets/css/formReset.css'></style>

        ApplePay沙盒測試登錄app store失敗

        不能直接登錄app store,需要在點擊付款時登錄沙盒賬號

        微博分享閃退

        Dcloud的鍋,在授權失敗時授權層會閃現閃退,授權失敗有兩種情況,1網絡問題授權失敗2你沒安裝新浪微博,要再加一層判斷,如果授權失敗則進行提示。

        plus.share.getServices(function(s){
              s.forEach(function(item) {
               if(item.id === 'sinaweibo') {
                $this.shares = item;
               }
              });
              if($this.shares.authenticated) {
               // 已授權
               $this.shares.send($this.sinashareMsg, function() {
                plus.nativeUI.toast($this.langs.SHARE_SUCCESS);
               }, function(e) {
                plus.nativeUI.toast($this.langs.SHARE_FAIL);
               })
              }else {
               // 未授權
               $this.shares.authorize(function() {
                $this.shares.send($this.sinashareMsg, function() {
                 plus.nativeUI.toast($this.langs.SHARE_SUCCESS);
                }, function(e) {
                 plus.nativeUI.toast($this.langs.SHARE_FAIL);
                })
               }, function(e) {
                // 授權失敗
                plus.nativeUI.toast($this.langs.SHARE_FAIL);
               })
              }
             }, function(e){
              plus.nativeUI.toast(e.message);
             });
        

        IOS真機測試,el-input光標全滿,輸入時錯位

        設置line-height=字體大小

        iPhone X底部有個安全區,導致fixed+bottom的導航沒有保持在最底部

        打包后在index.html`

        <meta name="viewport" content="width=device-width,initial-scale=1.0">`的content里加一句`viewport-fit=cover`

        使用plus.createWebview創建webview打開第三方鏈接出現的諸多問題

        ①在打開的連接中執行一段腳本

        $this.payw.evalJS(script);

        安卓測試無錯,iPhone不執行

        解決:

        將evalJS代碼放在loaded里

        $this.payw.addEventListener('loaded',function () {
            $this.payw.evalJS(string);
           });
        

        ②loaded內代碼執行了兩次,導致頁面跳轉兩次

        Dcloud的鍋,解決辦法:

        var isLoaded = false;
           $this.payw.addEventListener('loaded',function () {
            if(isLoaded){return true}
            isLoaded=true;
            $this.payw.evalJS(string);
           });
        

        ③使用loading監聽頁面跳轉,跳轉到執行成功頁面即close當前webview,但IOS下監聽無效

        Dcloud的鍋,loading中webview.getUrl獲取的永遠是上一步的url,而不是當前頁面的真正url

        一開始想更換loaded,后來發現在IOS上loaded有些webview只執行一次,有些則能每次跳轉都執行,不太穩定,最終決定使用progressChanged

        解決方案:使用loaded來evalJS,progressChanged來對比地址

        var isLoaded = false;
        payw.addEventListener('loaded',function () {
          if(isLoaded){return true}
          isLoaded=true;
          payw.evalJS(string);
        })
        payw.addEventListener('progressChanged',function () {
          // 監聽是否成功
          console.log(payw.getURL())
          var callbacklink = payw.getURL().split('?')[0];
          // if(callbacklink === successUrl) {
          //  plus.webview.close(payw)
          //  console.log('success');
          // }
          // if(callbacklink === failUrl) {
          //  // 支付失敗
          //  plus.webview.close(payw);
          //  console.log('fail');
          // }
          // if(callbacklink === cancelUrl) {
          //  plus.webview.close(payw)
          //  console.log('cancel');
          // }
        })
        

        ④progressChanged也會引發執行多次的問題

        可以在判斷成功后remove掉事件

        $this.fbsharew.addEventListener('progressChanged', handlePChange );
         function handlePChange (e) {
         if($this.fbsharew.getURL().split('?')[0] === finishlink) {
          $this.fbsharew.removeEventListener('progressChanged', handlePChange );
         }
        }
        

        處理安卓返回鍵,使返回時關閉所有webview

        // 寫在mounted內
        // 處理安卓返回鍵問題
          plus.key.removeEventListener('backbutton', handleBack );
          plus.key.addEventListener('backbutton', handleBack )
          function handleBack() {
           var wvs=plus.webview.all();
           for(var i=0;i<wvs.length;i++){
            if(wvs[i].getURL() !== plus.webview.currentWebview().getURL()) {
             plus.webview.close(wvs[i]);
             $this.switchUrl();// 判斷是后退還是回到其他頁面的方法
            }
           }
          }
        
        

        動態添加的HTML節點如何綁定事件

        有這個需求是因為有多語言版本,文本從后臺讀取。

        比如

        By creating your account, you agree to the Terms of Use and Privacy Policy of this site.

        放在底部,點擊其他地方無反應,但點擊Terms of Use或者Privacy Policy則要出現條款浮層

        解決辦法:

        后臺添加語言僅修改文字,不要刪除標簽

        <p>By creating your account, you agree to the<span data-id="0"> Terms of Use </span>and<span data-id="1"> Privacy Policy </span>of this site.</p>
        

        這段html標簽寫為:

        <div class="terms" @click="popup($event)" v-html="langs.REGISTER_FOOTER"></div>
        

        事件處理:

        popup (event) {
         let id = event.target.getAttribute('data-id')
         if(id === '0') {
          console.log('Terms of Use')
         }
         if(id === '1') {
          console.log('Privacy Policy')
         }
        }
        

        只有一個點擊范圍的可以直接使用<span>標簽,通過event.target.nodeName來判斷

        以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

        您可能感興趣的文章:
        • 淺談vue項目利用Hbuilder打包成APP流程,以及遇到的坑
        • vue-cli或vue項目利用HBuilder打包成移動端app操作
        • vue項目中使用Hbuilder打包app 設置沉浸式狀態欄的方法
        • 利用HBuilder打包前端開發webapp為apk的方法
        • HBuilder打包App方法(圖文教程)
        • 手把手教你學會HBuilder打包APP


        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 免费成人午夜视频| 免费看国产精品麻豆| 亚洲成a人片在线观看中文动漫| 国产精品自拍亚洲| 四虎AV永久在线精品免费观看| 在线aⅴ亚洲中文字幕| 色婷婷7777免费视频在线观看| 亚洲人成人77777在线播放| 国产福利在线观看免费第一福利| 亚洲国产成人资源在线软件| 免费看成人AA片无码视频羞羞网| 亚洲一卡二卡三卡四卡无卡麻豆| 免费观看黄网站在线播放| 亚洲精品国产综合久久久久紧| 免费看a级黄色片| 看Aⅴ免费毛片手机播放| 亚洲精品无码专区2| 成人无码视频97免费| 久久久亚洲欧洲日产国码农村| **毛片免费观看久久精品| 亚洲色大成网站www永久男同 | a级毛片毛片免费观看永久| 久久久久亚洲av无码尤物| 亚洲w码欧洲s码免费| 亚洲精品永久在线观看| 亚洲欧洲国产成人综合在线观看 | 亚洲AV人无码激艳猛片| 99久久99这里只有免费费精品 | 国产精品亚洲а∨无码播放麻豆| 亚洲精品专区在线观看| 国产拍拍拍无码视频免费| 亚洲人妖女同在线播放| 亚洲成a人无码av波多野按摩| 怡红院免费的全部视频| avtt天堂网手机版亚洲| 亚洲电影日韩精品| 人妻无码久久一区二区三区免费| 亚洲色成人网站WWW永久四虎 | 一级做a毛片免费视频| 亚洲精品熟女国产| 免费**毛片在线播放直播 |