uniapp问题归类

2024-04-26 08:04
文章标签 uniapp 问题 归类

本文主要是介绍uniapp问题归类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近使用uniapp中,遇到了一些问题,这边mark下。

1. 启动页变形

设置启动页的时候发现在部分android手机上启动页被拉伸了,最后看了下官方建议使用9.png图

生成9.png地址,推荐图片大小为1080x2340

uniapp推荐官方地址传送门

我用的是这个地址传送门
在这里插入图片描述

2.android定制自定义基座

1. 点击HBuilderX工具栏上的发行-原生App-云打包

在这里插入图片描述

2. 点开之后看到下面这个界面,接下来以android为例,先生成自有证书

在这里插入图片描述

可以参考这个链接传送门
使用keytool -genkey命令生成证书:

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
  • testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
  • test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
  • 36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期

生成后通过以下查看证书详细信息

keytool -list -v -keystore test.keystore  
Enter keystore password: //输入密码,回车

输出格式如下

Keystore type: PKCS12    
Keystore provider: SUN    Your keystore contains 1 entry    Alias name: test    
Creation date: 2019-10-28    
Entry type: PrivateKeyEntry    
Certificate chain length: 1    
Certificate[1]:    
Owner: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN    
Issuer: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN    
Serial number: 7dd12840    
Valid from: Fri Jul 26 20:52:56 CST 2019 until: Sun Jul 02 20:52:56 CST 2119    
Certificate fingerprints:    MD5:  F9:F6:C8:1F:DB:AB:50:14:7D:6F:2C:4F:CE:E6:0A:A5    SHA1: BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7    SHA256: 24:11:7D:E7:36:12:BC:FE:AF:2A:6A:24:BD:04:4F:2E:33:E5:2D:41:96:5F:50:4D:74:17:7F:4F:E2:55:EB:26    
Signature algorithm name: SHA256withRSA    
Subject Public Key Algorithm: 2048-bit RSA key    
Version: 3

然后如下图配置到app打包中,点击提交后,等待云打包自有证书。
等打包好后就可以调试就可以在自定义基座上运行。
在这里插入图片描述

3.uniapp配置本地代理解决跨域

在manifest.json 的源码视图配置如下,代码中的baseUrl配置为对应的/h5api,配置完后需要重启服务。

	"h5": {"devServer": {"disableHostCheck": true,"proxy": {"/h5api": {// 需要被代理的后台地址"target": "https://www.baidu.com/api","changeOrigin": true,"secure": false,"pathRewrite": {"^/h5api": "/"}}}}}

4.uniapp引入iconfont字体

  1. 常规的页面(非nvue页面)可以通过全局引入,首先访问iconfont下载字体文件,放入到static目录下,结构如下
    在这里插入图片描述

  2. 然后通过uniapp的app.vue文件引入,代码如下

<style lang="scss">/* #ifndef APP-PLUS-NVUE */@import '@/static/fonts/iconfont.css';/* #endif */
</style>
  1. 使用字体库
<i class="iconfont icon-xxx"></i>
  1. 如果为nvue页面,则需要通过uni.addRule添加,官方传送门,核心代码如下
export default{beforeCreate() {const domModule = uni.requireNativePlugin('dom')domModule.addRule('fontFace', {'fontFamily': "myIconfont",'src': "url('http://at.alicdn.com/t/font_2234252_v3hj1klw6k9.ttf')"});}}

5.uniapp引入lottie动画(vue页面)

5.1. 第一种安装lottie-web

  1. 下载安装lottie-web
cnpm install lottie-web --save
  1. 引入lottie-web和lottie json
 import lottie from 'lottie-web'import animationData from 'xx/xx/xx.json'lottie.loadAnimation({animationData,loop: true,autoplay: true,renderer: 'svg',container: document.querySelector('container')})
  • animationData: 包含导出的动画数据的 Object。
  • path: 动画对象的相对路径。(animationData 和 path 互斥)
  • loop: 动画循环次数,可选值 true/false/number
  • autoplay: 准备就绪后自动开始播放,可选值 true/false
  • name: 动画名称,供将来参考
  • renderer: 设置渲染器,可选值 svg/canvas/html
  • container: 用于渲染动画的 DOM 元素

5.2 使用lottie-web安装在APP-PLUS环境下出不来,nvue下也不可以使用,我这边后面采用的是插件库中的c-lottie和x-lottie两个插件来实现的

x-lottie插件地址传送门

c-lottie插件地址传送门

 <!-- #ifdef H5 --><c-lottieclass="play"src='@/static/json/play.json'width="24rpx" height='24rpx':loop="true"></c-lottie><!-- #endif --><!-- #ifdef APP-PLUS --><x-lottieclass="play":option="{path:require('@/static/json/play.json')}"/><!-- #endif -->

这篇关于uniapp问题归类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/937024

相关文章

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

MySQ中出现幻读问题的解决过程

《MySQ中出现幻读问题的解决过程》文章解析MySQLInnoDB通过MVCC与间隙锁机制在可重复读隔离级别下解决幻读,确保事务一致性,同时指出性能影响及乐观锁等替代方案,帮助开发者优化数据库应用... 目录一、幻读的准确定义与核心特征幻读 vs 不可重复读二、mysql隔离级别深度解析各隔离级别的实现差异

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

MySQL磁盘空间不足问题解决

《MySQL磁盘空间不足问题解决》本文介绍查看空间使用情况的方式,以及各种空间问题的原因和解决方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录查看空间使用情况Binlog日志文件占用过多表上的索引太多导致空间不足大字段导致空间不足表空间碎片太多导致空间不足临时表空间