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

相关文章

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

MySQL安装时initializing database失败的问题解决

《MySQL安装时initializingdatabase失败的问题解决》本文主要介绍了MySQL安装时initializingdatabase失败的问题解决,文中通过图文介绍的非常详细,对大家的学... 目录问题页面:解决方法:问题页面:解决方法:1.勾选红框中的选项:2.将下图红框中全部改为英

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工