uniapp发布到微信小程序整改摘要
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发布到微信小程序整改摘要的更多相关文章
- uni-app - vue以及微信小程序
uni-app结合了mpvue的优点以及微信小程序的优点 ,uni-app基于vue2.0的. 组件:https://uniapp.dcloud.io/component/README 接口:http ...
- egret项目发布为微信小程序
1.更改游戏的缩放模式 因为微信小游戏不支持showAll,如果你使用了showAll模式.可以改成fixedWidth或fixedHeight.在index.html里修改,如下图 但这个又涉及到了 ...
- CocosCreator上的游戏(调试)发布到微信小程序
1.下载CocosCreator,微信开发者工具 官网地址:http://www.cocos.com/download 官网下载:https://developers.weixin.qq.com/mi ...
- uniapp如何将微信小程序API封装为Promise
var SYNC_API_RE = /requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$/; var CALL ...
- 使用uni-app开发微信小程序
uni-app 开发微信小程序 前言 9月份,开始开发微信小程序,也曾调研过wepy/mpvue,考虑到后期跨端的需求,最终选择使用了uni-app,本文主要介绍如何使用uni-app搭建小程序项目, ...
- 【重点突破】—— UniApp 微信小程序开发官网学习One
一.初步认识 uni-app官网:https://uniapp.dcloud.io/component/README HBuilderX官方IDE下载地址: http://www.dcloud.io/ ...
- 微信小程序首支视频广告片发布
自2017年1月9日上线以来,微信小程序瞬间引爆网络,又迅速归于平静.对这个“无需安装.触手可及.用完即走.无需卸载”的小程序,微信从一开始就对它寄予了无限期望.在公布一系列规则更改后,微信小程序终于 ...
- 微信小程序实现连续扫码功能(uniapp)
注:本文使用的是 uniapp 语法. 微信小程序提供了扫码API:wx.scanCode,但它只能扫一次码,想要实现连续扫码,需要借用 camera 组件.camera 组件不仅能拍照,还具有扫码功 ...
- uniapp,微信小程序中使用 MQTT
最近在uniapp打包成微信小程序的项目中第一次用到了MQTT.使用比较简单,但是还是遇到了一些问题.在此记录一下. 官方文档:MQTT Github 官方MQTT测试工具:MQTTX.测试工具使用说 ...
随机推荐
- C# 9.0新特性详解系列之一:只初始化设置器(init only setter)
1.背景与动机 自C#1.0版本以来,我们要定义一个不可变数据类型的基本做法就是:先声明字段为readonly,再声明只包含get访问器的属性.例子如下: struct Point { public ...
- 你了解JWT吗?
1. 什么是JWT JWT简称 JSON Web Token,也就是通过 JSON 形式作为 Web 应用中的令牌,用于在各方之间安全地将信息作为 JSON 对象传输.在数据传输过程中还可以完成数据加 ...
- ERP出入库进阶操作与子流程--开源软件诞生28
赤龙ERP出入库进阶讲解--第28篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redr ...
- ClickHouse 研讨会学习笔记(clickhouse tips and tricks)
一.显示执行日志 clickhouse-client --send_logs_level=trace 或者进入client session 后输入 set send_logs_level = 'tra ...
- Struts2漏洞渗透笔记
虽然这是一次失败的渗透,但是也学到不少新姿势. 目标机环境:①外网②win2012③360全家桶 一,利用Struts2终极利用工具上传一句话 jsp的一句话,有时候会出现兼容问题.比如Cknife的 ...
- 鱼骨图是什么?怎么用iMindMap画鱼骨图?
鱼骨图是一种发现问题"根本原因"的方法,它也可以称之为"因果图".其特点是简捷实用,深入直观."鱼头"处标注的一般是问题或后果.按出现机会多 ...
- Lambda表达式(一)入门认识篇
Lambda表达式(一)入门认识篇 Lambda简介 Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极 ...
- day97:MoFang:移动端APP开发准备&移动端项目搭建&APICloud前端框架
目录 1.移动端开发相关概念 1.APP类型 2.移动端屏幕介绍 3.移动端自适配方案 4.元信息(meta) 2.APP开发准备 1.注册APPCLoud账号 2.下载APP开发编辑器 3.下载AP ...
- [LGOJ1273]有线电视网
solution 用了一个很有意思的转移方法. $dp[i][j] $ 表达 \(i\) 作为根,\(j\)个终端时最大的收益,即钱数,当\(0\leq dp[1][i]\)时,即以1为根可以转移到\ ...
- O - Matching 题解(状压dp)
题目链接 题目大意 给你一个方形矩阵mp,边长为n(n<=21) 有n个男生和女生,如果\(mp[i][j]=1\) 代表第i个男生可以和第j个女生配对 问有多少种两两配对的方式,使得所有男生和 ...