uni,universe

uni简介
uni-app 是一个使用 Vue.js进行 开发所有前端应用的框架。开发者编写一套代码,即可发布到 iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝&#xf

简介

uni-app 是一个使用Vue.js 开发所有前端应用程序的框架。开发者可以创建一套代码,发布到iOS、Android、H5、各类小程序(微信/支付宝/百度/今日头条/QQ/钉钉/淘宝)、快应用等平台。

更多uni-app官方文档信息,请访问uni-app官网。

学习uniapp本质

移动技术层出不穷,跨终端框架可能是未来的发展趋势。

开发人员更喜欢将一组代码发布到多个设备。

企业支撑的完整生态

uniapp优势

uni-app和vue的关系

使用vueJS开发

发布到H5时支持所有vue语法

发布到应用程序和小程序时实现一些Vue 语法

uni-app和小程序有什么关系

组件标签接近小程序规范

接口函数(JS API)类似微信小程序开发

完成小程序生命周期

uniapp与web代码编写区别

学习重点

掌握uniapp技术本身,并使其兼容四个平台:Android、IOS、html5、腾讯小程序

完全掌握uniapp前后端开发流程

掌握组件开发的概念

知识点

入门小程序

设置uniapp开发环境

学习uni-app的基础API

学习unicloud云开发平台

紫光云的基本使用

环境配置

高级方法使用

平台适配

微信小程序简介

文档相关

开发文档:微信开放文档

微信公众平台:微信公众平台

开发者工具

下载地址:微信开发者工具下载地址及更新日志| 打开微信文档

使用

所需选项处理

获取应用程序ID

微信公众平台获取appID

小程序代码构成

参考地址:小程序代码结构| 微信开放文档

带有.json 后缀的JSON 配置文件

带有.wxml 后缀的WXML 模板文件

带有.wxss 后缀的WXSS 样式文件

.js 后缀的JS 脚本逻辑文件

小程序基本结构

查看类=\’容器\’

查看class=\’用户信息\’

button wx:if=\'{{!hasUserInfo canIUse}}\’ 获取头像昵称/button

块wx:else

图片src=\'{{userInfo.avatarUrl}}\’ 背景尺寸=\’封面\’/图片

text class=\’userinfo-nickname\'{{userInfo.nickName}}/text

/堵塞

/看法

查看类=\’usermot\’

text class=\’用户座右铭\'{{Motto}}/text

/看法

/看法

小程序基本操作

配置信息

全局配置-微信开放文档|

{

\’页\’: [

\’页面/索引/索引\’,

“页面/日志/索引”

],

\’窗口\’: {

\’navigationBarTitleText\’: \’演示\’

},

\’标签栏\’: {

\’列表\’: [{

\’pagePath\’: \’页面/索引/索引\’,

\’文本\’: \’主页\’

},{

\’pagePath\’: \’页面/日志/索引\’,

\’文本\’: \’日志\’

}]

},

\’网络超时\’: {

“请求”: 10000,

‘下载文件’: 10000

},

“调试”: 正确

页面结构

{

\’navigationBarBackgroundColor\’: \’#ffffff\’,

\’navigationBarTextStyle\’: \’黑色\’,

\’navigationBarTitleText\’: \’微信界面功能演示\’,

\’背景颜色\’: \’#eeeeee\’,

\’backgroundTextStyle\’: \’浅色\’

全局生命周期函数

/**

* onLaunch在小程序初始化完成后触发(全局只触发一次)

*/

onLaunch: 函数() {

},

/**

* onShow 当小程序启动或从后台进入前台显示时触发

*/

onShow: 函数(可选){

},

/**

* onHide 当小程序从前台转到后台时触发

*/

onHide: 函数() {

},

/**

* 如果小程序内部出现脚本错误或者API调用失败,会触发onError并返回错误信息

*/

onError: 函数(消息){

}

页面生命周期特性-微信开放文档|

onLoad: 函数(可选){

//创建页面时执行

},

onShow: 函数(){

//当页面被置于最前面时执行

},

onReady: 函数(){

//第一次渲染页面时执行

},

onHide: 函数(){

//当页面从前台变为后台时执行

},

onUnload: 函数(){

//页面销毁时执行

},

onPullDownRefresh: 函数(){

//触发下拉更新时执行

},

onReachBottom: 函数(){

//当页面到达底部时执行

},

onShareAppMessage: 函数() {

//当页面被用户共享时执行

},

onPageScroll: 函数(){

//页面滚动时执行

},

onResize: 函数(){

//当页面大小改变时执行

组件生命周期-微信开放文档|

成分({

终身:{

创建(){

console.log(\’已创建,组件实例刚创建时触发created生命周期\’)

},

随附的() {

console.log(\’组件进入页面节点树时执行\’);

},

分离(){

console.log(\’当组件实例从页面节点树中删除时运行\’);

}

}

}) 界面跳转

新界面打开=页面路由打开文档|

调用API wx.navigateTo

使用组件导航器open-type=\’navigateTo\’/页面重定向

调用API wx.redirectTo

使用组件导航器返回页面open-type=\’redirectTo\’/

调用API wx.navigateBack

使用组件导航器open-type=\’navigateBack\’

用户按下左上角的后退按钮切换到选项卡。

调用API wx.switchTab

使用组件导航器open-type=\’switchTab\’/

重启切换用户选项卡

调用API wx.reLaunch

组件导航器open-type=\’reLaunch\’/使用数据绑定

查看{{消息}}/查看

页({

数据:{

message:\’你好\’

}

}) 条件渲染

view wx:if=\'{{isShow}}\’ 条件判断显示/视图

页({

数据:{

isShow:false

}

}) 渲染列表

查看wx:for=\'{{list}}\’ wx:for-index=\’idx\’ wx:for-item=\’itemName\’

{{idx}}: {{itemName.name}}

/看法

页({

数据: {

列表:[

{name:\’a\’},

{name:\’b\’}

]

}

})

uniapp开发规范

页面文件遵循Vue 单文件组件(SFC) 规范。

组件标签贴近小程序规范=组件使用入门教程| uni-app官网

模板

看法

页面内容

/看法

/模板

脚本

导出默认值{

数据() {

返回{

}

},

方法:{

}

}

/剧本

风格

/style接口函数(JS API)接近微信小程序规范=uni-app官网|

uni.getStorageInfoSync() 数据绑定事件处理与Vue.js 规范相同

模板

显示@click=\’onClickFn\’

点击事件绑定

/看法

/模板

脚本

导出默认值{

方法:{

onClickFn() {

console.log(\’点击事件\’)

}

}

}

/剧本

样式lang=\’scss\’ 范围

/style 兼容多终端操作,使用flex布局进行开发

uniapp开发环境

开发工具

uni-app官方推荐使用HBuilderX来开发uni-app类型的项目。主要优点:

丰富的模板

完美智能提醒

一键执行

下载 HBuilderX

访问HBuilderX 官方主页HBuilderX – 给高效极客的提示

点击主页上的“下载”按钮

选择下载正式版/alpha版-App开发版

解压下载的zip包

将解压后的文件夹保存在纯英文目录下(不能包含括号等特殊字符)。

双击HBuilderX.exe 启动HBuilderX。

详细安装文档:=HBuilderX文档

工程搭建

文件- 新建- 项目

输入项目基本信息

项目创建成功

基本目录结构

项目名

—-[pages] 内部保存所有页面

—-[静态] 存储所有静态资源,如图像、字体、图标

—-[unpackage] 保存所有打包生成的文件

—-app.vue应用程序配置。用于配置应用程序的全局样式并监控应用程序生命周期。

—-main.js Vue初始化入口文件

—-mainfast.json 配置应用名称、appid、logo、版本等包信息。

—-pages.json 配置页面路由、导航栏、选项卡等页面信息。

—-uni.scss 用于促进对应用程序样式的整体控制。例如按钮颜色、边框样式以及一批scss变量预设都在uni.scss文件中预设。

项目运行

浏览器运行

小程序运行

输入您的微信小程序的AppID。

在HBuilderX中配置“微信开发者工具”的安装路径。

在微信开发者工具中,从设置> 安全设置面板打开“微信开发者工具”服务端口。

在HBuilderX中,点击菜单栏上的“运行”>“小程序模拟器运行”>“微信开发者工具”。编译当前Uniapp项目后,会自动运行微信开发者工具,帮助您查看和调试项目的效果。

首次成功运行后的项目效果

app真机运行

确保手机和电脑在同一个局域网

打开手机上的开发者模式

数据管理选择

hbuildeX选择真机运行

等待底座安装

安装完成,手机运行项目

IOS模拟器运行

下载Xcode

定义要在模拟器中运行的版本

组件

文档参考地址:uni-app官网如何使用组件入门教程|

基础组件

基础组件内置于uni-app 框架中,您始终可以直接使用它们(例如在视图中),而无需将内置组件文件导入到项目中或注册内置组件。成分。

组件演示参考地址=https://hellouniapp.dcloud.net.cn/pages/component/view/view

基础组件列表

查看容器

view 查看容器。类似于HTML div。

滚动视图滚动视图容器=滚动视图uni-app 官网

滑动滑块视图容器(例如轮播横幅)

基本内容

图标图标=Uniicon

文本文本

富文本文本

进度条

表单组件(表单)

按钮按钮

复选框多重选择器

编辑器中的富文本输入框

形式形式

输入输入框

标签标签

选择器弹出聊天列表选择器

嵌入选择器视图表单中的聊天列表选择器

无线电单选择器

滑块滑动选择器

开关开关选择器

textarea 多行文本输入框

路由和页面跳转(导航)

导航器页面链接。类似于HTML 的a 标签。

媒体组件

音频音频

相机相机

图像图像

视频视频

组件公共属性集合

除了上面列出的公共属性之外,还有一类以v- 开头的特殊属性,称为vue 指令,例如v-if、v-else、v-for 和v-model。

扩展组件

演示地址:https://hellouniapp.dcloud.net.cn/pages/component/scroll-view/scroll-view

参考地址:DCloud插件市场

自定义组件

定义组件文件夹下的组件

页面参考组件,无需倒剂量,直接使用即可

其他操作(组件传值、事件绑定与vue相同)

基础API

参考地址:API概述|uni-app官网

API列表

网络请求

uni.request发起网络请求

uni.request 解决网络请求API比较简单的问题,可以使用@escook/request-miniprogram来处理网络请求。

参考地址:@escook/request-miniprogram – npm

小程序不能使用fetch和axios发送网络请求。

测试接口地址:https://study.duyiedu.com/api/herolist

上传下载

uni.unloadFile 上传文件=uni.uploadFile(OBJECT) | uni-app 官网

uni.downloadFile 下载文件

图像处理

uni.chooseImage 从相册中选择照片或者拍照=uni-app官网

uni.previewImage 预览图像

uni.getImageInfo 获取图像信息

数据缓存=uni.setStorage(OBJECT) @setstorage 官网|

uni.getStorage 异步检索本地数据缓存

uni.getStorageSync 同步本地数据缓存

uni.setStorage 异步设置本地数据缓存

uni.setStorageSync 同步设置本地数据缓存

uni.removeStorage 异步删除本地数据缓存

uni.reoveStorageSync 同步本地数据缓存清除

互动反馈=uni.showToast(OBJECT) | uni-app 官网

uni.showToast 显示提示框

uni.showLoading 显示加载提示框

uni.hideToast 隐藏工具提示

uni.hideLoading 隐藏加载提示框

uni.showModal 显示模态框

uni.showActionSheet 显示菜单列表

路由

uni.navigateTo 保持当前页面并跳转到应用程序内的界面。使用uni.navigateBack 返回原始页面。

uni.redirectTo 关闭当前界面并跳转到您应用程序中的界面

uni.reLaunch 关闭所有接口并打开应用内的接口

uni.switchTab 跳转到标签栏页面

页面布局相关

页面容器CSS 属性

第:页{

高度:100%;

背景颜色:红色;

}

测量单位

可用单位:px rpx、upx、rem vh vw

导入外部样式文件

使用方式与vue相同

uniapp生命周期

参考地址:uni-app官网

应用生命周期

onLaunch 初始化完成后触发(全局触发一次)

onShow Uniappli 启动或从后台进入前台显示

onHide 当Uniapp 应用程序从前台转到后台时

只能在App.vue上进行监控,其他接口的监控不可用。

页面生命周期

onLoad 监听页面加载(可以获取之前接口传递的参数)

onShow 监听页面的显示,每次页面显示到屏幕上时都会触发。

onReady 监视页面的初始渲染是否完成。

onHide 监听器页面将被隐藏

onUnload 监控页面卸载

onReachBottom 页面滚动到底部事件

组件生命周期

之前的创作

已创建

前安装

随附的

之前销毁

被摧毁

uniApp特色

条件编译

条件编译在编译时使用特殊注释作为标记,注释内的代码根据这些特殊注释针对不同的平台进行编译。

语法

支持条件编译的文件

.vue

.js

.css

页面.json

各种预编译语言文件(.scss、less、stylus、ts、pug等)

条件编译是通过注释来实现的。 js 使用//注释,css 使用/* 注释*/,vue/nvue 模板使用!– comments –;

插件安装

安装scss

您可以使用scss 文件作为示例来安装和使用各种预编译处理器。

下载地址:scss/sass编译-DCloud插件市场

hbuilderX中使用unicloud云开发平台

文档

参考资料:uni-app官网

Web 控制台文档:开发人员中心

传统业务开发流程

前端=后端=运维=发布/上线

云开发平台unicloud的使用

前端=运营/维护=发布/上线

什么是unicloud

uniCloud是DCloud与阿里云、腾讯云合作的云开发平台,为开发者提供基于Serverless模式和JS编程的后端服务。您无需购买和配置服务器,即可快速创建完整的后端服务。

unicloud优点

使用JavaScript 开发整个前端和后端业务

非h5项目可以使用无域名的服务器

敏捷的业务处理。无需单独开发前端和后端。

开发流程

uncloud构成

云数据库

云存储及CDN

可以执行与文件相关的存储操作

参考资料:uni-app官网

创建云函数工程

指定创建Unicloud项目

确保输入Uniapp 应用程序ID appID(确保用户已登录)。

打造云服务空间

若未进行实名认证,您将被重定向至实名认证页面进行实名认证,等待实名认证审核后即可开通服务空间。如果腾讯云实名认证显示您的身份证创建账户过多,您应在腾讯云官网注销未使用的账户。

创建云函数

\’使用严格\’;

//服务器端使用通过nodeJS执行的函数

Exports.main=异步(事件,

context) => {
//event为客户端上传的参数
//context 包含了调用信息及运行状态,获取每次调用的上下文
console.log(\’event : \’, event)

//返回数据给客户端
return {
\”code\”:0,
\”msg\”:\”云函数调用成功\”
}
};
云WEB控制台查看

云数据库操作

在云数据库中进行数据操作,全部使用双引号进行值的定义

云存储

在云存储中进行文件的上传

api使用:

uniCloud.uploadFile({})
跨域处理
参考文档uni-app官网

unicloud api操作

云函数调用

参考文档:简介@intro | uniCloud

// promise方式
uniCloud.callFunction({
   name: \’test\’, // 云函数名称
   data: { a: 1 }   // 请求参数
})
.then(res => {});

// callback方式
uniCloud.callFunction({
   name: \’test\’,
   data: { a: 1 },
   success(){},  // 成功
   fail(){},   // 失败
   complete(){}   // 完成(不管成功与失败)
});

云函数实现云数据库基本增删改查

获取数据库引用

const db = uniCloud.database()
获取数据库集合引用
const collection = db.collection(\’unicloud-test-714\’) // uncloud-test-714 为数据表名称 新增记录
const res = collection.add({user:\’alan\’})
\’use strict\’;
const db = uniCloud.database() // 获取数据库引用

exports.main = async (event, context) => {
// 获取集合引用
const collection = db.collection(\’unicloud-test-714\’)
// 新增数据
const res = await collection.add({user:\’alan\’})
console.log(res)
return {
\”code\”:0,
\”msg\”:\”云函数调用成功\”
}
}; 删除记录
const res = await collection.doc(\’60ee51103b7d3500014124c1\’).remove() 数据更新
const res = await collection.doc(\’60ee52a1827eca0001e56bc4\’).update({
name:\”joob\”
})

const res = await collection.doc(\’60ee52a1827eca0001e56bc4\’).set({   // 如果说获取不到内容,从新进行插入记录的操作
name:\”joob\”,
type:\”javascript\”
})

update与set的区别:

当没有找到指定记录时,使用update无法进行更新操作,set在没有查找到指定记录的时候,可以进行新增内容的操作(不存在进行创建添加操作)

数据查找
// 查询全部
const res = await collection.get()
// 指定条件进行查询-id查询
 const res = await collection.doc(\’id\’).get()  // id为需要查询的指定id
// 指定条件查询-其他条件进行查询
 const res = await collection.where({name:\”alan\”}).get()

云存储操作

使用uni.chooseImage方法进行图片选择获取
参考地址:uni-app官网
uni.chooseImage({
count: 1,
success(res) {
console.log(JSON.stringify(res.tempFilePaths))
}
}) 使用uniCloud.uploadFile进行文件上传
参考文档:uni-app官网
uni.chooseImage({
count: 1,
async success(res) {
let result = await uniCloud.uploadFile({
filePath:res.tempFilePaths[0],
cloudPath:\’a.jpg\’,
success(res) {
console.log(res)
},
fail(err) {
console.log(err)
}
});
}
}) 使用uniCloud.deleteFile进行图片删除
参考文档:uni-app官网
阿里云函数删除不能在客户端进行删除操作,下列代码在云函数中进行使用
let result = await uniCloud.deleteFile({
  fileList:[\’https://vkceyugu.cdn.bspapp.com/VKCEYUGU-6ce25980-c28e-4e78-bdef-a96eb40ad98b/06a1cb3a-84b7-47a0-b554-8aff299cb255.jpg\’],
});
console.log(result)

发布-wap端发行打包

打包参考地址:manifest.json 应用配置 | uni-app官网

unicloud网页托管配置

使用unicloud前端网页托管的话需要进行安全域名配置

参考地址:uni-app官网

发布-微信小程序发布

打包参考地址:manifest.json 应用配置 | uni-app官网

打包配置文件

获取小程序ID;
进行安全域名配置

小程序发布
提交预发布版本
提交审核
参考地址:小程序

发布-app安卓系统应用打包发布

一、配置

基础配置

图标使用

使用1024*1024图标

其他配置暂时忽略

二、证书下载

证书下载地址:Android证书在线制作 – 工具箱 – 淘码猫签名-TF签名-超级签名-企业签名-稳定不掉签名 – 免费应用内测托管平台|iOS应用Beta测试分发|Android应用内测分发

#以上关于uni的相关内容来源网络仅供参考,相关信息请以官方公告为准!

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91394.html

(0)
CSDN's avatarCSDN
上一篇 2024年6月22日 上午4:18
下一篇 2024年6月22日 上午4:36

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注