VUE+HBuilder的uniapp技术路线开发应用使用总结

本文主要是介绍VUE+HBuilder的uniapp技术路线开发应用使用总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用总结

  • 本来想做一个记录日常数据的应用,主要在Android端使用,后来发现在uniapp中使用sqllite数据库不是像原生中那样简单(所以当前准备去进行另一个路线,就是给我使用的电脑都安装一个portalble的服务端,用来记录数据,这样也不会占用手机的空间了)。当前的使用体验如下:
  • 考虑到兼容性问题,HBuilder比较适合写UI加服务端存储的项目(各种小程序,网页商城)(当然其他功能也可以进行uniapp的安卓原生插件开发或者与原生Android交互传递数据)
  • Hbuilder编辑器在使用打包时要进行登录,手机绑定。使用中还出现了以下问题:

在这里插入图片描述

  • 本地打包3.1.10版本起需要申请 Appkey。

基础

  • 官方文档: https://uniapp.dcloud.net.cn/quickstart.html
重要组成说明注释
vue的基础语法插值和数据绑定,条件与循环等重要
App.vue应用入口文件,监听应用生命周期、配置全局样式、配置全局的存储globalData处理app启动,切换时的命令,可以不用管
main.js/main.uts初始化vue实例、定义全局组件、使用需要的插件如 i18n、vueximport作用
pages.json页面管理,pages数组中第一项表示应用启动页重要配置文件
vue.config.js是一个可选的配置文件
vite.config.js是一个可选的配置文件
代码主要复用方式认识Vue 的 export、export default、import重要,例子
各种控件比如label控件重要
uni.scss整体控制应用的风格使用<style lang="scss">
存储uniapp本地kv存储:uni.getStorageSync
父子组件props传递值例子
Vue.mixin混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。提高复用性,在全局范围内共享代码
uView组件库uni-app 分不清的全局变量this, uni, $u, vm, uni.$u, this.$u,API集中管理:uni.$u.api.this.$u.api.register(data)=>http://192.168.0.30:8000/api/register
状态管理Vuex状态管理模式this.$store.dispatch:调取store里的user.js的login方法
插件快速实现各种功能时间格式化插件dayjs,Hbuilder使用tailwindcss

兼容性

  • 比如文件系统 uni.getFileSystemManager(),app平台需要使用uni-app x支持,另见,但是uni-app x是用的uts语言(uni-app x 没有使用js和webview,它基于 uts 语言。在App端,uts在iOS编译为swift、在Android编译为kotlin,完全达到了原生应用的功能、性能。并且uni-app x不支持vue2,新基座名称默认为uni-app x(之前叫HBuilder))。

例子

  • 各端兼容问题,比如以下代码无法在安卓端运行
<template><view class="container"><button @click="createAndWriteTxt">创建并写入txt文件</button></view>
</template><script>
export default {methods: {createAndWriteTxt() {// 创建文件内容const content = "Hello, this is a txt file content.";// 创建Blob对象const blob = new Blob([content], { type: "text/plain" });// 创建下载链接const link = document.createElement("a");link.href = URL.createObjectURL(blob);link.download = "example.txt";// 模拟点击下载链接document.body.appendChild(link);link.click();// 移除下载链接document.body.removeChild(link);},},
};
</script><style>
.container {display: flex;justify-content: center;align-items: center;height: 100vh;
}text {font-size: 16px;color: #007aff;text-decoration: underline;cursor: pointer;
}
</style>

CG

  • https://playcode.io/vue

  • https://gitee.com/iamxcd/yq-uniapp

  • 基于laravel+uniapp 开发的记账APP

  • 最好的 6 个免费天气 API 接口对比测评

  • 我为什么要选择flutter

  • AndroPHP是一款Android应用程序,它允许您在Android设备上搭建PHP服务器 : 手机搭建PHP+MYSQL完美运行WordPress

  • 【XIAO ESP32S3 sense 通过 ESPHome 与 Home Assistant 连接】

  • 第三篇 香橙派的外设开发基础(中)— 串口篇

  • 还有一个例子,是可以在网页端运行,但是打包到app无法运行

  • 前端

				fetch('http://192.168.31.28:5000/upload', {method: 'POST', headers: {'Content-Type': 'application/json',},body: JSON.stringify(data),}).then(response => {window.alert("ok !");}).then(responseData => {// window.alert("sometext2");}).catch(error => {window.alert(error);});
  • 后端
from flask import Flask, request
app = Flask(__name__)
from flask_cors import CORS # pip install flask_cors
CORS(app)@app.route('/')
def hello_world():return 'Hello, World!'@app.route('/upload', methods=['POST', 'GET'])
def upload():if request.method == 'POST':content_type = request.headers.get('Content-Type')if content_type and 'application/json' in content_type:user_info = request.get_json(force=True)print(user_info)save_to_text_file(user_info, 'data.txt')else:# Processing form data (as a dictionary)user_info = request.form.to_dict()print(user_info)save_to_text_file(user_info, 'data.txt')return "Data received and saved successfully."else:save_to_text_file("user_info", 'data.txt')return "Data received and saved successfully."def save_to_text_file(data, filename):with open(filename, 'a') as file:if isinstance(data, dict):# Save dictionary datafile.write(str(data)+"\n")elif isinstance(data, str):# Save JSON datafile.write(data+"\n")else:raise ValueError("Unsupported data type. Expecting dict or str (JSON).")
app.run(host='0.0.0.0',port=5000) # 访问 http://127.0.0.1:5000/ 即可

这篇关于VUE+HBuilder的uniapp技术路线开发应用使用总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

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

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

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...