uniapp genera registros de problemas del subprograma Douyin

La etiqueta de entrada no se muestra en ios

La etiqueta de entrada se puede mostrar normalmente en las herramientas de desarrollo y Android, pero se encuentra que la etiqueta de entrada no se muestra en ios.

Solución: agregue ancho a la entrada;

La razón es probablemente que el cuadro de entrada del subprograma Douyin no tiene ancho y debe configurarse manualmente.

<!-- 在ios不显示 -->
<input type="text" placeholder="请输入..." />
 
<!-- 调整后 - 设置宽度,就可以显示 -->
<input type="text" placeholder="请输入..." style="width: 100px" />

La etiqueta de entrada no puede dar un valor predeterminado en ios

Después de inicializar la página, los datos se obtienen del caché local y se vinculan a la etiqueta de entrada. En ios, a veces se encuentra que se obtuvo el valor, pero no se muestra en la página.

Solución: utilice $nextTick para retrasar la representación antes de obtener los datos.

/** 这样可能导致input值给不上 */
onLoad() {
    this.value = uni.getStorageSync("value");
}
 
/** 调整后 */
onLoad() {
    this.$nextTick(() => {
	    this.value = uni.getStorageSync("value");
    });
}

Subir fotos no se puede subir

Después de cargar una imagen y seleccionarla con uni.chooseImage, la ruta temporal local obtenida es la siguiente:
ttfile://temp/ab790db96c9b65cb54685c7d99c4d847.jpeg

 Use directamente esta ruta para cargar a través de la interfaz uni.uploadFile y la carga fallará.
Solución: use la interfaz uni.compressImage para comprimir la imagen y luego use la ruta obtenida para cargar:
ttfile://temp/tempCompressImg1642681468739 .jpg

Al comparar las rutas locales adquiridas dos veces, la parte central del nombre del archivo es diferente y el subprograma micro-x no tiene este problema.

El uso de la vista web para mostrar archivos pdf no se muestra en Android

La página usa la vista web para mostrar el archivo pdf, lo cual está bien en ios y herramientas de desarrollo, pero la página se abre con éxito en el teléfono Android y siempre se muestra en blanco. La solución es descargar el archivo con uni.downloadFile primero, y luego abra el documento a través de uni.openDocument, pero aún solo muestra un nombre de archivo pdf cuando se abre en el dispositivo Android real, debe hacer clic para abrirlo con otras aplicaciones de terceros como wps

El nombre del evento en $emit del evento de transferencia del subcomponente no puede agregar "-" 

Cuando un componente secundario pasa un evento como un componente principal, el nombre del evento se agrega con un guión "-" y el evento no es válido después de la compilación.

Algo como esto:

this.$emit('on-pick', info), es útil cambiar a this.$emit('on-pick', info)

La compilación de varias ranuras en subcomponentes no es válida

Hay varias ranuras en los componentes autoencapsulados que no se pueden compilar y muchos componentes de uview también tienen problemas.

Comprobado es6 a es5, la función utilizada en lodash informa un error

Por lo general, comprobaremos la conversión de es6 a es5. Si se utiliza la función de limitación antivibración de rebote y aceleración en la biblioteca lodash en la página, se informará directamente de un error. Si no se convierte, no hay problema.

Al hacer clic en el espacio en blanco en el subprograma de Android para cerrar el teclado del cuadro de entrada, se activarán 2 eventos de clic en la página.

Hay una página que usa el cuadro de entrada y el paso a paso de uview. Primero haga clic en el cuadro de entrada para obtener el foco y aparece el teclado. Si simplemente hace clic en + o - en el paso a paso en este momento, se sumará o restará directamente 2. Solución: configure una
variable Deshabilitar el paso a paso deshabilitado, configure disabled=true en el evento de enfoque del cuadro de entrada y configure disabled=false con un temporizador en el evento burl, de modo que el usuario primero deba hacer clic en el espacio en blanco para cerrar el teclado antes de hacer clic en el dispositivo de paso

El subprograma de bytes del método uni.getEnv no admite

En el applet, la vista web puede usar directamente interfaces como uni.navigateTo para volver al applet o comunicarse con el applet. Solo es necesario introducir el archivo sdk de comunicación proporcionado por la plataforma correspondiente en la página web, como el método uni.getEnv para la obtención de información ambiental, no soportado en la sección applets

optimización de empaquetado uni-aplicación

El paquete uni-app generalmente establece automáticamente el nombre de dominio de la interfaz de acuerdo con las variables del entorno, pero uni solo comprime el código en el modo de producción. A veces, nuestros entornos de desarrollo y prueba también necesitan una vista previa en la máquina real. Si el código no está comprimido, a veces indicará que el paquete excede el límite de tamaño (generalmente, el paquete principal está limitado a 2M)
Solución: use la variable de línea de comando NODE_ENV predeterminada para habilitar el modo de producción de paquetes y agregue una variable VUE_APP_ENV adicional para determinar la dirección de la interfaz, como como el siguiente comando: "
build:mp-toutiao-dev" : "cross-env VUE_APP_ENV=desarrollo NODE_ENV=producción UNI_PLATFORM=mp-toutiao vue-cli-service uni-build --minimize --watch"

 

1

Supongo que te gusta

Origin blog.csdn.net/m0_38066007/article/details/128796719
Recomendado
Clasificación