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. 动态JavaWeb工程的架构问题

    B/S 网络应用的分层 前端(表示层) 后端( 业务逻辑层, 数据库访问层 ) 分层的目的->分模块->解耦 1,表示层---和用户直接交互 html,js,css, servlet 2, ...

  2. Python _PyQt5 【总】

    http://www.cnblogs.com/archisama/p/5442071.html QtCore QtGui QtWidgets QtMultimedia QtBluetooth QtNe ...

  3. HDU100题简要题解(2060~2069)

    这十题感觉是100题内相对较为麻烦的,有点搞我心态... HDU2060 Snooker 题目链接 Problem Description background: Philip likes to pl ...

  4. 关于GoldWave为Vegas制作音频交叉淡化特效的教程分享

    在Vegas里对音频交叉淡化的处理,是通过将两段音频交叠.调整交叠部分的音量.选取交叉淡化类型这三步来实现的,许多步骤是在音频轨道拖动音量线来实现的,操作上不够灵敏精细.其实,单就音频的交叉淡化处理, ...

  5. Python Api接口自动化测试框架 代码写用例

    公司新来两个妹子一直吐槽这个接口测试用例用excel维护起来十分费脑费事,而且比较low(内心十分赞同但是不能推翻自己),妹子说excel本来就很麻烦的工具,于是偷偷的进行了二次改版. 变更内容如下: ...

  6. day98:MoFang:服务端项目搭建

    目录 1.准备工作 2.创建项目启动文件manage.py 3.构建全局初始化函数并在函数内创建app应用对象 4.通过终端脚本启动项目 5.项目加载配置 6.数据库初始化 1.SQLAlchemy初 ...

  7. LeetCode 048 Rotate Image

    题目要求:Rotate Image You are given an n x n 2D matrix representing an image. Rotate the image by 90 deg ...

  8. 技巧收藏|10个JavaScript常用数组操作方法

    摘要:这篇文章,向大家展示了在日常开发中,数组有哪些小技巧值得借鉴和学习. 在web前端开发第二阶段Javascript中,数组是一个重要且常见的知识点,我们经常将数据存储在数组中,遍历数组或替换数组 ...

  9. 使用paho的MQTT时遇到的重连导致订阅无法收到问题和解决

    最近在使用MQTT来实现消息的传输,网上demo很多,这里就不在重复介绍了,直接上代码,百度就能出现一大堆 下面是MQTT实现订阅的主要代码部分 MqttClient client = new Mqt ...

  10. Cys_Control(一) 项目搭建

    一.基础工程搭建 Cys_Controls Cys_Resource(注:一般类库默认不能引入资源文件,故直接创建Custom Control Library) Cys_Demo 删除默认文件夹及类, ...