uniapp作为跨端的利器,可同时发布到安卓、ios、微信小程序、支付宝小程序、百度小程序、头条小程序、QQ小程序等8个平台。

如果是轻量级的应用,不涉及太多功能的话,或许可以直接打包移植,但涉及前后端各类交互多的项目,则需要注意很多的地方。

移植到各类平台,首先要避开那些在某平台上不生效或有差异的API,这时候可以用条件编译的方式,同时也要配置在该平台专属的一些参数,了解该平台的一些限制。

想做好跨端,建议先阅读下官方的一些指导:

条件编译及各端注意事项:https://uniapp.dcloud.io/platform

以下为app做好后移植一版微信小程序时的注意事项:

1、作用权限

如果用到了获取当前位置的API,需要在manifest.json中找到mp-weixin代码块,添加如下代码:

"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位
}
}

2、资源远程

另外微信小程序对代码包有大小限制,貌似才2M,这时候你不得不把图片等静态资源放到服务器上以减少体量,也可以使用分包化解,但刚接触分包这一块还是比较繁琐的。

对于图片采取服务器路径的形式,这里注意一下,使用  :src="$imgSrc + 'home/bg.png'"  这种域名拼接某张图片的形式编译到微信小程序开发工具可能是不行的,可以考虑用如下方式:

//main.js中挂载方法
//获取图片路径
Vue.prototype.getImgSrc = function(src){
return "http://www.服务器域名/" + src;
} //在vue文件中使用方式如下
<image mode="widthFix" :src="getImgSrc('home/home.png')"></image>

3、权限

   对于一些授权相关的,需要用按钮的开放能力来保证能够在用户拒绝后重新调起,比如保存相册和登录这些。

  微信小程序端的登录,openid是需要调用后台接口返回的,这时可以条件编译单独处理下。

  微信登录这里,app端和小程序端的账户信息要统一的话,判断标识应使用unionid,需要在微信开放平台把小程序主体号绑定过去。

4、微信支付

  一般微信小程序端只保留微信支付,同时要注意微信小程序的支付跟app是不一样的。

  官网支付api已有示例:https://uniapp.dcloud.io/api/plugins/payment?id=requestpayment

  如果报total_free或支付场景非法,或者“商户号该产品权限未开通,请前往商户平台>产品中心检查后重试”,千万不要慌,下面就是答案

  微信小程序支付后台注意事项:package的值为“prepay_id=”+实际预支付id ,trade_type为JSAPI,另外openid也要必填,另外要在商户号开通这个JSAPI支付通道。

  

uniapp发布到微信小程序整改摘要的更多相关文章

  1. uni-app - vue以及微信小程序

    uni-app结合了mpvue的优点以及微信小程序的优点 ,uni-app基于vue2.0的. 组件:https://uniapp.dcloud.io/component/README 接口:http ...

  2. egret项目发布为微信小程序

    1.更改游戏的缩放模式 因为微信小游戏不支持showAll,如果你使用了showAll模式.可以改成fixedWidth或fixedHeight.在index.html里修改,如下图 但这个又涉及到了 ...

  3. CocosCreator上的游戏(调试)发布到微信小程序

    1.下载CocosCreator,微信开发者工具 官网地址:http://www.cocos.com/download 官网下载:https://developers.weixin.qq.com/mi ...

  4. uniapp如何将微信小程序API封装为Promise

    var SYNC_API_RE = /requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$/; var CALL ...

  5. 使用uni-app开发微信小程序

    uni-app 开发微信小程序 前言 9月份,开始开发微信小程序,也曾调研过wepy/mpvue,考虑到后期跨端的需求,最终选择使用了uni-app,本文主要介绍如何使用uni-app搭建小程序项目, ...

  6. 【重点突破】—— UniApp 微信小程序开发官网学习One

    一.初步认识 uni-app官网:https://uniapp.dcloud.io/component/README HBuilderX官方IDE下载地址: http://www.dcloud.io/ ...

  7. 微信小程序首支视频广告片发布

    自2017年1月9日上线以来,微信小程序瞬间引爆网络,又迅速归于平静.对这个“无需安装.触手可及.用完即走.无需卸载”的小程序,微信从一开始就对它寄予了无限期望.在公布一系列规则更改后,微信小程序终于 ...

  8. 微信小程序实现连续扫码功能(uniapp)

    注:本文使用的是 uniapp 语法. 微信小程序提供了扫码API:wx.scanCode,但它只能扫一次码,想要实现连续扫码,需要借用 camera 组件.camera 组件不仅能拍照,还具有扫码功 ...

  9. uniapp,微信小程序中使用 MQTT

    最近在uniapp打包成微信小程序的项目中第一次用到了MQTT.使用比较简单,但是还是遇到了一些问题.在此记录一下. 官方文档:MQTT Github 官方MQTT测试工具:MQTTX.测试工具使用说 ...

随机推荐

  1. UML中常见的类关系你了解吗?

    最近老大给我设计了一个微信扫码登录的通过工具包流程图,设计过程中使用了模板模式.面向接口编程等设计思路,让我很享受整个过程:下来我就接触了一下Java的设计模式,很是懵懂,听说这也是要靠经验来喂,才能 ...

  2. 好学易懂 从零开始的插头DP(一)

    好学易懂 从零开始的插头DP(一) 写在前面 这是一篇,以蒟蒻视角展开的梳理总结.更改了一些顺序,变化了一些细节.方便蒟蒻学习理解(起码本蒟蒻是这样).大佬们可以直接看其它大佬的博客,可以学的更快. ...

  3. HTML5大纲算法

    什么是HTML大纲算法? 大纲算法允许用户代理(user agent)从一个web页面生成一个信息结构目录,让用户对页面有一个快速的概览.类似书籍.PDF.帮助文档等,都有一个清晰的目录结构,用户能方 ...

  4. C++中new和malloc区别

    面试中new和malloc区别会被经常问到,审视了自己,发现不知道该怎么表达 整理一下: 1.从属性 new/delete是C++关键字,需要编译器支持: malloc/free是库函数,需要头文件支 ...

  5. 吉他软件Guitar Pro入门

    Guitar Pro是一款优秀的吉他学习软件,初学者可以依靠其学习理论知识,也可以通过和弦添加.曲谱导出等功能来提升弹奏能力.今天,小编就给大家简略地介绍下吉他软件Guitar Pro. 乐谱编辑功能 ...

  6. 【ES6】ES6入门笔记

    1.概要 - ECMAScript2015(ES6)是Javascript最标准的语法式样,是在2015年6月由Ecma国籍组织公布的最新版本,现在已经被多个领域和浏览器所广泛采纳和使用. 2.学习网 ...

  7. ECS服务器快速迁移

    ECS服务器快速迁移 前提 一.停机 二.创建镜像 三.复制镜像 前提 服务器都在同一个区域,举例:华南1(深圳) 同一个账号 具体迁移步骤如下: 一.停机 先从阿里云ECS控制台,将要迁移的两台EC ...

  8. linux(centos7.x)安装jdk

    一.下载与安装 下载地址:链接:https://pan.baidu.com/s/1g7MF1xqlOxWnLGf2shl3NA   提取码:epae  下载完成后将安装包上传到linxu环境中,并将其 ...

  9. 【P4178】Tree——点分治

    (题面来自luogu) 题目描述 给你一棵TREE,以及这棵树上边的距离.问有多少对点它们两者间的距离小于等于K 输入格式 N(n<=40000) 接下来n-1行边描述管道,按照题目中写的输入 ...

  10. 近50种语言编写的“Hello, World”,你会几种?可不要贪杯哦~

    本文转自公众号CSDN(ID:CSDNnews)作者:Sylvain Saurel,译者:风车云马