uniapp+uview 学习笔记(二)—— H5开发

news2024/9/20 1:26:31

文章目录

  • 前言
  • 一、开发步骤
    • 1.创建项目
    • 2.安装组件库并导入使用
    • 3.封装请求
    • 4.国际化
    • 5.打包
  • 总结


前言

本文主要介绍使用uniapp框架和uview组件库进行H5开发,需要用到的开发工具为HBuilder X。


一、开发步骤

1.创建项目

打开HBuilder X,在顶部栏目选择 新建 > 项目 > uni-app > 默认模板 。输入项目名字,再选择Vue版本,点击创建即可。本次学习以Vue2为例。

在这里插入图片描述

2.安装组件库并导入使用

① 在顶部栏目选择 工具 > 插件安装 > 安装新插件 > 前往插件市场安装

在这里插入图片描述
③ 在 前端组件 栏目里面搜索 uview 组件,选择 2.0 版本的点击下载。

在这里插入图片描述
④ 进入下载页后,选择 下载插件并导入HBuilderX ,再选择项目名字确定导入即可。

在这里插入图片描述在这里插入图片描述
⑤ 在 main.js 文件全局引入组件库。在Vue2版本里,添加导入组件库并使用,必须导入Vue之后才能导入使用组件。

// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'

/** 导入组件库 */
import uView from '@/uni_modules/uview-ui';
Vue.use(uView);

Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
  ...App
})
app.$mount()
// #endif

⑥ 在 uni.scss 样式文件加入uview主题样式,里面有组件样式相关的变量,不导入使用组件样式会报错。

@import '@/uni_modules/uview-ui/theme.scss';

⑦ 在 App.vue 文件引入组件库样式文件,必须使用scss预处理语言。

<style lang="scss">
	/*每个页面公共css */
	@import "@/uni_modules/uview-ui/index.scss";
</style>

⑧ 如果 HBuilderX 编辑器没有安装 scss/sass编译 插件,按照安装组件库的方式,选择 HBuilderX 相关的插件,搜索 sass 下载导入即可。
在这里插入图片描述

3.封装请求

① 在项目根目录下新建一个目录命名为 api,在该目录下新建一个 request.js 文件封装请求,内容如下:

/** 访问后端接口的域名或IP */
const Base_url = ""
 
/** 同时发送异步代码的次数,防止一次点击中有多次请求 */
let ajaxTimes=0;
 
export const request = (options) => {
	return new Promise((resolve, reject)=>{
		/** 获取本地保存的token信息,可选 */
    // let token = uni.getStorageSync('token')
		uni.request({
			url: Base_url + options.url,
			method: options.method || 'GET',
			data: options.data || {},
			header:options.header || {},
			success: (res) => {
				if(res.statusCode !== 200){
					return uni.showToast({
						icon:'none',
						title: res.data.message
					})
				}
				/** 成功,将数据返回 */ 
				resolve(res.data) 
			},
			fail: (err) => {
        /** 异常情况 */ 
				uni.showToast({
					icon:'error',
					title: "请求接口失败!"
				})
				reject(err)
			}
		})
	})
}

② 在 api 目录下再新建一个 index.js 文件用来封装接口,内容如下:

import {
	request
} from './request.js';

export function getDemo(params) {
	return request({
		url: '接口名',
		method: 'GET',
		data: params
	});
}

export function postDemo(params) {
	return request({
		url: '接口名',
		method: 'POST',
		data: params,
		header:{
		"Content-Type": "application/json"
		}
	});
}

③ 在页面导入使用。

<script>
	import {
		postDemo,
		getDemo,
	} from '@/api/index.js';
	export default {
		methods: {
			getFun(){
				getDemo(data).then((res)=>{
					console.log(res)
				})
			}
		}
	}
</script>

4.国际化

如果项目有多语言需求就加入此项配置,没有就跳过。

①在文件引入并初始化 VueI18n

import App from './App';
/** 导入国际化文件 */
import enUs from './locale/en-us.json';
import zhCn from './locale/zh-cn.json';
const messages = {
	/** 英语 */ 
	'en-us': enUs,
	/** 中文 */
	'zh-cn': zhCn,
};

let i18nConfig = {
	locale: uni.getLocale(), /** 获取已设置的语言 */
	messages
};
// #ifndef VUE3
import Vue from 'vue';
import './uni.promisify.adaptor';

/** 国际化 */
import VueI18n from 'vue-i18n';
Vue.use(VueI18n);
const i18n = new VueI18n(i18nConfig);

/** uview组件库 */
import uView from '@/uni_modules/uview-ui';
Vue.use(uView);

Vue.config.productionTip = false;
App.mpType = 'app';
const app = new Vue({
	i18n,
	...App
});
app.$mount();
// #endif

② 国际化json文件的内容

{
  "index.title": "Hello i18n"
}

③ 页面中使用

/** 
* 模板中使用 $t() 获取,并传递国际化json文件中定义的key,
* js中使用 this.$t('')
* 切换语言使用 **this.$i18n.locale = 'en-us'
** */
<template>
  <view class="container">
    <view class="title">{{$t('index.title')}}</view>
  </view>
</template>

<script>
  export default {
    data() {
      return {
      }
    }
  }
</script>

5.打包

在顶部栏目选择 发行 > 网站-PC Web或手机H5(仅适用于uni-app),等待打包成功项目里面会出现一个叫 unpackage 的目录,里面有打包好的 dist


总结

以上就是今天要记录的内容,本文仅仅简单介绍了uniapp的H5项目开发一些基础内容,仅供学习参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1533488.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

英国教育部学生信息中心

你是否曾因学历无法得到国内雇主的认可而感到困扰?别担心,英国教育部学校信息中心为你解忧!作为英国政府官方认可的学历认证机构,其权威性和可靠性广受认可,为留学生求职提供了强大的支持。 一、打破求 职困境:学历真实性认证的重要性 在求职过程中,学历的真实性和有效性是雇…

电脑照片分辨率怎么调?这款dpi修改工具好用

许多考试平台在上传证件照片的时候&#xff0c;大多都会对图片分辨率有具体要求&#xff0c;但是如果遇上手上的图片分辨率达不到要求&#xff0c;那么怎么改图片分辨率呢&#xff1f;可以利用专业的dpi修改工具来处理&#xff0c;比如今天分享的就是一个在线修改图片分辨率的方…

积鼎CFD发动机燃烧仿真,实现航空航天发动机内部燃烧过程的流体仿真

航空航天发动机中的燃烧现象是一种复杂的物理化学过程&#xff0c;包括流动、雾化、相变、传热传质、点火熄火、化学反应、污染物排放、热声振荡和冷却等多个过程&#xff0c;加上燃烧的非定常性和高湍流度&#xff0c;使得准确模拟燃烧过程变得异常困难。在传统CFD模拟需要考虑…

javaSwing推箱子游戏

一、简介 策略性游戏可以锻炼人的思维能力还能缓解人的压力&#xff0c;使人们暂时忘却生活当中的烦恼&#xff0c;增强人们的逻辑思维能力&#xff0c;游戏的艺术美也吸引着越来越多的玩家和厂商&#xff0c;寓教于乐&#xff0c;在放松人们心情的同时还可以活跃双手。在人类…

扩展学习|数字经济与公共管理的相关论文(管理世界)

一是如何建立与数字经济时代相适应的政府监管体制机制&#xff1f; 问题一和二来源&#xff1a;[1]王岭.数字经济时代中国政府监管转型研究[J].管理世界,2024,40(03):110-126204127.DOI:10.19744/j.cnki.11-1235/f.2024.0027. &#xff08;1&#xff09;数字经济时代政府监管转…

ByteTrack多目标跟踪——YOLOX详解

文章目录 1 before train1.1 dataset1.2 model 2 train2.1 Backbone2.2 PAFPN2.3 Head2.3.1 Decoupled Head2.3.2 anchor-free2.3.3 标签分配① 初步筛选② simOTA 2.3.4 Loss计算 项目地址&#xff1a; ByteTrack ByteTrack使用的检测器是YOLOX&#xff0c;是一个目前非常流行…

在 NVIDIA DGX Cloud 上使用 H100 GPU 轻松训练模型

近期&#xff0c;我们正式宣布推出 DGX 云端训练 (Train on DGX Cloud) 服务&#xff0c;这是 Hugging Face Hub 上针对企业 Hub 组织的全新服务。 通过在 DGX 云端训练&#xff0c;你可以轻松借助 NVIDIA DGX Cloud 的高速计算基础设施来使用开放的模型。这项服务旨在让企业 H…

vue2 项目运行 浏览器自动打开 vue项目启动如何自动打开浏览器 vue2取消浏览器自动打开浏览器,vue2关闭自动打开浏览器

1. 找到package.json 2. 找到scripts 在后面添加 --open即可&#xff1a; 3. 运行npm run serve 运行之后&#xff0c;就可以自动打开默认浏览器 4. 同理&#xff0c;不想自动打开 &#xff0c;将 --open 删除即可&#xff01;

【机器学习】基于布谷鸟搜索算法优化的BP神经网络分类预测(CS-BP)

目录 1.原理与思路2.设计与实现3.结果预测4.代码获取 1.原理与思路 【智能算法应用】智能算法优化BP神经网络思路【智能算法】布谷鸟搜索算法&#xff08;CS)原理及实现 2.设计与实现 数据集&#xff1a; 数据集样本总数2000 多输入多输出&#xff1a;样本特征24&#xff0…

选择器加练习

一、常用的选择器 1.元素选择器 语法 : 标签名{} 作用 : 选中对应标签中的内容 例:p{} , div{} , span{} , ol{} , ul{} ...... 2.类选择器(class选择器) 语法 : .class属性值{} 作用 : 选中对应class属性值的元素 注意:class里面的属性值不能以数字开头,如果以符号开头,…

鸿蒙Harmony应用开发—ArkTS-属性动画

组件的某些通用属性变化时&#xff0c;可以通过属性动画实现渐变过渡效果&#xff0c;提升用户体验。支持的属性包括width、height、backgroundColor、opacity、scale、rotate、translate等。布局类改变宽高的动画&#xff0c;内容都是直接到终点状态&#xff0c;例如文字、can…

C++之模版详解

一.array与vector对比 由图发现&#xff0c;使用array数组是必须提前开好空间&#xff0c;而vector是顺序表&#xff0c;可以实现动态开辟空间 array也支持迭代器&#xff0c;如下&#xff1a; int main() {array<int, 10> arr{ 1,2,3,4,5,6,7,8,9,10 };auto it arr.be…

蓝牙HFP协议推荐的语音丢包补偿算法浮点实现的定点化

最近在做蓝牙的宽带语音通话。相对于蓝牙窄带语音&#xff0c;主要变化是把采样率从8k变到16k&#xff0c;以及编解码器从CVSD变成mSBC&#xff08;modified SBC&#xff0c;改进的SBC&#xff09;等。蓝牙语音通话相关的HFP&#xff08;Hand Free Profile&#xff09;强烈建议…

第1关:创建数据库

任务描述 创建一个名为mydata的数据库。 相关知识 MySQL创建数据库的语法如下&#xff1a; 其中&#xff0c;database_name是要创建的数据库的名称。 开始你的任务吧&#xff0c;祝你成功&#xff01; #请在此处添加实现代码 ########## Begin ########## CREATE DATABASE …

如何有效防止员工摸鱼

在现代企业中&#xff0c;员工的工作效率直接影响到公司的运营和发展。然而&#xff0c;有时员工在上班时间会出现摸鱼现象&#xff0c;这不仅浪费了工作时间&#xff0c;还影响了团队的整体氛围和工作效率。 为了有效解决这一问题&#xff0c;本文将探讨一系列具体措施&#…

代码随想录day27(1)二叉树:二叉树的最近公共祖先(leetcode236)

题目要求&#xff1a;给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 思路&#xff1a;首先遍历顺序应为后序&#xff0c;因为判断两个节点的最近公共祖先实际上要自底向上&#xff0c;可以通过回溯来实现。实际上包含两种情况&#xff1a;第一种是节点p本身有一个子…

如何控制螺栓预紧力?——SunTorque智能扭矩系统

​智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 螺栓预紧力是确保机械连接件紧固可靠的关键因素。预紧力过小可能导致连接件松动&#xff0c;预紧力过大则可能引起螺栓断裂或连接件损坏。因此&#xff0c;掌握控制螺栓预紧力的诀窍对于确保设备安全和长期运行至关重要…

目标检测数据集中负样本的处理方式

深度学习中&#xff0c;为了提高模型的精度和泛化能力&#xff0c;往往着眼于两个方面&#xff1a;&#xff08;1&#xff09;使用更多的数据&#xff08;2&#xff09;使用更深更复杂的网络。 一、什么是负样本 负样本是指不包含任务所要识别的目标的图像&#xff0c;也叫负…

Linux查看磁盘空间

查看磁盘空间 df -h 查看目录所占空间 du -sh [目录] 查看当前目录下, 所有目录所占空间 (一级目录) find . -maxdepth 1 -type d -exec du -sh {} \;-maxdepth 1 查看的目录深度是1级, 2则是2级

前端学习笔记 | JS进阶

一、作用域 1、局部作用域 &#xff08;1&#xff09;函数作用域 &#xff08;2&#xff09;块作用域 let和const会产生块作用域 &#xff0c;而var不会产生块作用域 2、全局作用域 script标签和js文件的【最外层】变量 3、作用域链 本质&#xff1a;底层的变量查找机制 4、JS…