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

文章目录

  • 前言
  • 一、开发步骤
    • 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项目开发一些基础内容,仅供学习参考。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python知识点总结(四)

这里写目录标题 1、Django 中的缓存是怎么用的&#xff1f;2、现有2元、3元、5元共三种面额的货币&#xff0c;如果需要找零99元&#xff0c;一共有多少种找零的方式?3、代码执行结果4、下面的代码执行结果为&#xff1a;5、说一下Python中变量的作用域。6、闭包7、python2与p…

使用华为云HECS服务器+nodejs开启web服务

简介: 在华为云HECS服务器上使用nodejs开启一个web服务。 1.开通华为云服务器 这里我已经开通过了。 2.远程登录 2.1 使用华为官方的网页工具登录 输入密码登录。这里的密码应该在创建服务器时设置过的&#xff0c;由于已经创建过了&#xff0c;所以无法演示。 成功登…

视频技术2:把rtsp转为各种格式,包括webrtc

前题是启动ABLMediaServer&#xff0c;把ini里的hls_enable1 1、添加rtsp到视频服务器 http://127.0.0.1:7088/index/api/addStreamProxy?secret035c73f7-bb6b-4889-a715-d9eb2d1925cc&vhost_defaultVhost_&appMedia&streamCamera_00001&enable_hls1&ur…

SQLiteC/C++接口详细介绍之sqlite3类(十八)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;十七&#xff09; 下一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;一&#xff09; ​ 56.sqlite3_update_hook 函数功能&am…

统计-R(相关系数)与R^2(决定系数)

1.相关系数&#xff08;R&#xff09; 定义&#xff1a;考察两个事物&#xff08;在数据里我们称之为变量&#xff09;之间的相关程度。 假设有两个变量X&#xff0c;Y&#xff0c;那么两个变量间的皮尔逊相关系数可通过以下公式计算&#xff1a; 公式一&#xff1a; 其中…

OkHttp

文章目录 OkHttp概要1.简介2.特点3.基本组成5.工作流程 拦截器1.简介2.内置拦截器3.自定义拦截器 连接池1.简介2.常用参数配置选项 Dispatcher和线程池1.简介2.重要方法3.DispatCher中的双端队列4.总结 OkHttp 概要 1.简介 OkHttp是一个开源的HTTP客户端&#xff0c;用于在J…

【Sass】1px分割线 + 缩进分割线

效果图 1. 亮色模式效果 2. 暗色模式效果 设计思路 配色使用grey色 优点&#xff1a;无论在暗色模式还是亮色模式都可以看清楚分割线 使用after,before 伪元素绘制线条&#xff0c;并压缩线条transform: scaleY(.25) 注意事项 必须确保父级有宽高父级定位必须为position: r…

uniapp+vue3+setup语法糖开发微信小程序时不能定义globalData的解决方法

在使用 uniapp 开发小程序的时候&#xff0c; 发现使用了setup 语法糖 &#xff0c;定义 globalData 时&#xff0c;要不是定义不了&#xff0c; 要不就是使用 getApp()取不到&#xff0c;后来想到一个不伦不类的方法解决了&#xff0c; 这个方法有点难看&#xff0c; 但是解决…

文件读取的高效方法与设计模式

⭐️ 导言 在软件开发中&#xff0c;经常需要处理各种类型的文件&#xff0c;包括文本文件&#xff08;如JSON、CSV、TXT&#xff09;、Excel 文件等。针对不同类型的文件&#xff0c;我们需要选择合适的方法来读取和处理文件内容。在本篇博客中&#xff0c;小编以python为例&…

【Windows 常用工具系列 15 -- VMWARE ubuntu 安装教程】

文章目录 安装教程镜像下载 工具安装 安装教程 安装教程参考链接&#xff1a;https://blog.csdn.net/Python_0011/article/details/131619864 https://linux.cn/article-15472-1.html 激活码 VMware 激活码连接&#xff1a;https://www.haozhuangji.com/xtjc/180037874.html…

工控MCGS触摸屏Hacking勒索部署

https://github.com/MartinxMax/Mo0n_V1.2 !!不关注点赞收藏,以后没好东西了奥!! 端口扫描-获取信息 $python Mo0n.py -scan x.x.x.0/24 or $nmap -sS -Pn -T4 x.x.x.0/24 -p 127 MCGS编程软件 发现触摸屏受到密码保护 Oops&#xff01;&#xff01;&#xff01; echo /\_…

基于深度学习YOLOv8+Pyqt5的工地安全帽头盔佩戴检测识别系统(源码+跑通说明文件)

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;318安全帽 获取完整源码源文件7000张已标注的数据集训练好的模型配置说明文件 可有偿59yuan一对一远程操作配置环境跑通程序 效果展示&#xff08;图片检测批量检测视频检测摄像头检测&#xff09; 基于深度学习YOLOv8Pyqt…

【Excel自动化办公】使用openpyxl对Excel进行读写操作

目录 一、环境安装 1.1 创建python项目 1.2 安装openpyxl依赖 二、Excel数据读取操作 三、Excel数据写入操作 3.1 创建空白工作簿 3.2 写数据 四、设置单元格样式 4.1 字体样式 4.2 设置单元格背景填充色 4.3 设置单元格边框样式 4.4 单元格对齐方式 4.5 数据筛选…

B008-springcloud alibaba 短信服务 sms

目录 短信服务介绍短信服务使用准备工作阿里云官网实名认证开通短信服务申请认证秘钥申请短信签名申请短信模板 短信服务API介绍短信发送(SendSms)短信查询(QuerySendDetails)功能测试 下单之后发送短信 短信服务介绍 短信服务&#xff08;Short Message Service&#xff09;是…

08-热点文章-定时计算-黑马头条

xxl-Job分布式任务调度 1 今日内容 1.1 需求分析 目前实现的思路&#xff1a;从数据库直接按照发布时间倒序查询 问题1&#xff1a; 如何访问量较大&#xff0c;直接查询数据库&#xff0c;压力较大 问题2&#xff1a; 新发布的文章会展示在前面&#xff0c;并不是热点文章 …

SpringCloud搭建微服务之Micrometer分布式链路追踪

1. 概述 由于Spring Cloud Sleuth最新版本只支持Spring Boot 2.7.x&#xff0c;核心项目已经迁移到Micrometer Traceing项目&#xff0c;Spring Boot 3.x版本要实现分布式链路追踪需要集成Micrometer。更多详情可以参阅Micrometer官网 本文将以Spring Boot 3.2.x和Spring Clo…

Cinema 4D 2024 for mac/Win:开启三维动画与建模新纪元

在数字化时代&#xff0c;三维动画与建模已成为影视、游戏、广告等多个领域不可或缺的创作工具。而Cinema 4D&#xff0c;作为这一领域的佼佼者&#xff0c;始终以其卓越的性能和创新的功能引领着行业的发展。如今&#xff0c;Cinema 4D 2024的发布&#xff0c;更是为我们带来了…

【command not found】原因分析及解决

在使用Linux时&#xff0c;会经常遇到 “command not found” 的错误。错误信息提示的是&#xff1a;Linux没有找到该命令。原因主要分类有&#xff1a; 1.命令拼写错误 2.软件路径配置错误 3.Linux 系统就没有安装该命令。 一、确认命令没有拼写错误 Linux 中的所有命令都是…

使用CSS的object-position实现图片在img标签中的定位

在CSS中&#xff0c;object-position属性它允许我们精确地控制替换元素&#xff08;如<img>、<video>等&#xff09;内容在其容器内的位置。通过指定水平和垂直方向的偏移量&#xff0c;可以轻松地调整元素内容在容器内的起始点&#xff0c;实现精准定位。 1 语法…

Poly Kernel Inception Network在遥感检测中的应用

摘要 https://export.arxiv.org/pdf/2403.06258 遥感图像&#xff08;RSI&#xff09;中的目标检测经常面临一些日益严重的挑战&#xff0c;包括目标尺度的巨大变化和多样的上下文环境。先前的方法试图通过扩大骨干网络的空间感受野来解决这些挑战&#xff0c;要么通过大核卷积…