初试vue-cli使用HBuilderx打包应用的坑

  

<强>微信授权登录提示代码2
  

  

appid和appsecret应该是移动应用,而非网页应用

  

<强>微信授权登录提示代码:-100/自定义基座无法微信登录和分享
  

  

开发者账号配置的应用签名应该是md5加密后的值,而不是原字符串

  

<强>生产环境proxyTable不生效,导致接口500
  

  

两种解决办法:
  ①入口文件使用网络地址,且和接口在同一域名下
  ②(推荐)
  

  

入口文件依旧是index . html

  

在配置/prod.env和配置/dev。env下添加API_ROOT
  

        使用严格的   模块。出口={   NODE_ENV:“生产”,   API_ROOT:““http://cross.precision-wechat.com””   }   之前      

在主要。js里设置baseUrl
  

        axios.defaults.baseURL=process.env.API_ROOT      

<强> css内背景图片使用相对路径,打包测试不出现
  

  

修改配置/索引,js内的这一行

     //路径   assetsRoot:路径。解决(__dirname“. ./dist”),   assetsSubDirectory:“静态”,   assetsPublicPath:“。/?   之前      

<强>导入进来的样式表没有被lib-flexible转为快速眼动
  

  

转换写法,改为& lt;风格范围src=" https://www.yisu.com/assets/css/formReset.css "祝辞& lt;/style>

  

<强> ApplePay沙盒测试登录app store失败
  

  

不能直接登录app store,需要在点击付款时登录沙盒账号

  

<强>微博分享闪退
  

  

Dcloud的锅,在授权失败时授权层会闪现闪退,授权失败有两种情况,1网络问题授权失败2你没安装新浪微博,要再加一层判断,如果授权失败则进行提示。

        plus.share.getServices(函数(s) {   s.forEach(函数(项){   如果项目。id===sinaweibo) {   这一美元。股票=项目;   }   });   如果(this.shares.authenticated美元){//已授权   (this.shares.send美元。sinashareMsg函数(){   plus.nativeUI.toast ($ this.langs.SHARE_SUCCESS);   }、功能(e) {   plus.nativeUI.toast ($ this.langs.SHARE_FAIL);   })   其他}{//未授权   this.shares.authorize美元(函数(){   (this.shares.send美元。sinashareMsg函数(){   plus.nativeUI.toast ($ this.langs.SHARE_SUCCESS);   }、功能(e) {   plus.nativeUI.toast ($ this.langs.SHARE_FAIL);   })   }、功能(e) {//授权失败   plus.nativeUI.toast ($ this.langs.SHARE_FAIL);   })   }   }、功能(e) {   plus.nativeUI.toast (e.message);   });   之前      

<强> IOS真机测试,el-input光标全满,输入时错位
  

  

设置行高=字体大小

  

<强> iPhone X底部有个安全区,导致固定+底部的导航没有保持在最底部
  

  

打包后在index . html”

  

& lt; meta name=" viewport "内容=翱矶?设备宽度,初始=1.0”在“的内容里加一句“viewport-fit=封面'
  

  

<强>使用。createWebview创建webview打开第三方链接出现的诸多问题
  

  

①在打开的连接中执行一段脚本

        美元this.payw.evalJS(脚本);      

安卓测试无错,iPhone不执行
  

  

解决:
  

  

将evalJS代码放在加载里

        this.payw美元。addEventListener(“加载”功能(){   美元this.payw.evalJS(字符串);   });   之前      

②加载内代码执行了两次,导致页面跳转两次
  

  

Dcloud的锅,解决办法:

        var isLoaded=false;   this.payw美元。addEventListener(“加载”功能(){   如果(isLoaded){返回true}   isLoaded=true;   美元this.payw.evalJS(字符串);   });   之前      

③使用加载监听页面跳转,跳转到执行成功页面即关闭当前webview,但IOS下监听无效
  

  

Dcloud的锅,加载中webview。getUrl获取的永远是上一步的url,而不是当前页面的真正的url
  

  

一开始想更换加载,后来发现在IOS上加载有些webview只执行一次,有些则能每次跳转都执行,不太稳定,最终决定使用progressChanged
  

  

解决方案:使用加载来evalJS, progressChanged来对比地址

初试vue-cli使用HBuilderx打包应用的坑