uniapp开发APP从开发到上架全过程(一)

这篇具有很好参考价值的文章主要介绍了uniapp开发APP从开发到上架全过程(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前端时间受朋友委托帮他开发了一款APP,综合考虑了下,没有上原生,使用了uniapp这一套技术栈来进行开发

uniapp是dcloud推出的一套跨端前端解决方案,可以通过一套代码生成小程序、安卓、IOS、H5等代码,对于中小项目来说是一套绝对的效率利器

技术架构

前端采用uniapp

后端使用Thinkphp做后端管理和接口,用到了一套开源的后端管理系统easyadmin,之所以选用他是因为他能够通过一条命令自动生成curd管理页面,并且可以通过配置来快速实现字段表格、搜索等功能,可以说也是一个效率神器了。

数据库采用了最常见的mysql数据库这个没什么好说的

云存储使用了七牛云存储,因为项目中包含了大量的视频资源,因此将静态资源放置到云存储上是一个不错的选择

开发

uniapp的开发相对来说还是简单的,开发过Vue或者微信小程序的朋友几乎能无缝上手,只需要浏览下官方文档即可,其API与小程序的API的大同小异,基本将wx.xxx修改为uni.xxx就能直接用因其底层是基于Vue,因此开发模式也是数据驱动的模式,非常方便快捷。

在Dcloud(HBuilderX-高效极客技巧)官网下载他们官方的编辑器Hbuilder并安装即可开始开发,

在Hbuilder中选择“文件-新建-项目”,选在uni-app即可创建一个uniapp项目,uni还提供了一些页面模板供开发者快速入门

uniapp开发app,Ios,android,APP开发,uni-app,前端

点击创建后会自动创建一个新项目并将初始化相关文件和目录

项目目录结构

uniapp开发app,Ios,android,APP开发,uni-app,前端

pages目录即为我们编写APP页面的目录

static目录则是存放静态资源的目录,可以将一些图标icon等资源放在此处

页面构成

uniapp每个页面结构分为三部分,第一部分是由template标签包括的页面标签,就是HTML中的标签元素,不同的是普通HTML中使用的是<div>标签,而在uni中使用的是<view>标签,需要注意的是在template下只能包含一个view标签,其他标签则都包含在此标签下边。

第二部分是script包括的JS代码,使用export default 对象将JS中的代码导出,内部结构则是Vue的数据结构,包含了data(),methods()等方法和一些uni的生命周期函数。

第三部分则是style标签包裹的css代码,与HTML的css代码如出一辙。

<template>
	<view>
		
	</view>
</template>

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

<style>

</style>

页面配置

uni中编写的所有页面都需要在page.json中进行注册,未注册的页面则无法进行跳转和显示,在page数组中配置页面参数即可,也可以每个页面的对象下边配置style对象来定义页面的标题栏等信息

uniapp开发app,Ios,android,APP开发,uni-app,前端

通过配置globalStyle对象可以实现APP全局相关参数的配置,具体配置项可以参考uniapp官方文档(uni-app官网)

另外也可以通过配置tabBar对象来实现自动生成APP的标签TAB

uniapp开发app,Ios,android,APP开发,uni-app,前端

APP.VUE

app.vue是整个项目的主入口,在此处的onLaunch在APP初启动的时候会进行调用,可以在此处做一些APP初始化的相关操作

<script>
	export default {
		onLaunch: function() {
			console.log('App onLaunch')
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

同样,在此页面编写的css也会对所有页面起作用,可以将一些全局的css放在此处,如主题色之类。

APP设置

manifest.json是整个项目的设置文件,涵盖了项目的AppId、应用名称、版本以及APP、小程序的相关设置,通过Hbuilder编辑器可以以可视化的方式对项目进行设置,也可以通过源码视图来对项目进行设置

请求封装

作为一款可以上线运营的APP,必然是要可以展示各类数据的,而展示数据就需要对接后端API来进行,为了方便开发和后边维护,可以将请求单独封装为一个文件来进行统一处理。

在项目根目录创建common文件夹,新建http.js文件,在uni中想要引用外部Js,同样需要使用export default 将方法导出,因此http.js中最后编写完的函数也要通过 export default { 变量名称 }的形式进行导出。

uni提供了一个请求数据的API,uni.request (uni.request(OBJECT) | uni-app官网 (dcloud.net.cn))我们基于此API对请求进行封装,方便在调用接口的时候进行使用。

const baseUrl = 'https://www.xxx.com/api/';

/* 封装ajax函数
 * @param {string}opt.type http连接的方式,包括POST和GET两种方式
 * @param {string}opt.url 发送请求的url
 * @param {boolean}opt.async 是否为异步请求,true为异步的,false为同步的
 * @param {object}opt.data 发送的参数,格式为对象类型
 * @param {function}opt.success ajax发送并接收成功调用的回调函数
 */

function getHeader() { //header头部
	return {
		"Accept": "application/json",
		'Content-Type': 'application/json; charset=utf-8', // app header头
		//     'Content-Type': 'application/x-www-form-urlencoded', // h5 header头
		//     'ACCESS_TOKEN': `${token}`,
	};
}

const ajax = function(opt) {
	uni.showLoading({
		// title:"提交中"
	})
	opt = opt || {};
	opt.method = (opt.method && opt.method.toUpperCase()) || 'POST';
	opt.url = baseUrl + opt.url || '';
	opt.async = opt.async || true;
	opt.data = opt.data || null;
	opt.success = opt.success || function() {};
	opt.fail = opt.fail || function() {};
	opt.complete = opt.complete || function() {};
	uni.request({
		method: opt.method,
		dataType: 'json',
		url: opt.url,
		data: opt.data,
		header: getHeader(),
		success: (res) => {
			uni.hideLoading()
			// console.log(res)
			if(res.data.code == 200) {
				opt.success(res.data);
			}else {
				uni.showToast({
					title:res.data.message,
					icon:"none"
				})
				opt.fail(res);
			}
			
		},
		fail: (res) => {
			uni.hideLoading()
			console.log(res)
			uni.showToast({
				title:res.data ? res.data.message : '网络连接失败',
				icon:"none"
			})
			console.log(opt)
			opt.fail(res);
		},
		complete: (res) => {
			uni.hideLoading()
			opt.complete(res);
		},
	})
}

为了统一管理,我将所有的后端API路径也都放在此处

const bindAjax = function(data,success,fail) {
	ajax({
		url: 'xxx/xxx',
		method: 'POST',
		data: data,
		success: function(res) {
			if (res.code == 200) {
				success(res.data)
			}
		},
		fail:(e) => {
			fail(e)
		}
	})
}

然后通过erxport将我们定义好的方法名暴露即可

export default {
    ajax,
	bindAjax
}

最后,想要在页面中调用,还需要在main.js中创建全局变量

import http from './common/http.js';

Vue.prototype.http = http;

这样我们就可以在页面中使用this来进行调用了

this.http.bindAjax({
    a:1,
    b:2
}(e) => {
    // 成功后返回的数据
    console.log(e)
},(e) => {
    // 请求失败
})

完整文件看这里 (1条消息) uniapp统一请求封装-Javascript文档类资源-CSDN文库 

插件引用

uniapp的另一个优点就是插件足够多,这样可以避免开发者重复造轮子,对于常用的插件开发者可以直接引用,极大的节省开发时间和成本。

访问Dcloud插件市场(DCloud 插件市场)即可以搜索需要的插件,如我们需要一块类似淘宝那样的搜索插件,就可以直接搜索“搜索插件”来进行检索

uniapp开发app,Ios,android,APP开发,uni-app,前端

找到我们需要的插件后,可以直接在插件详情页右侧选择 使用HbuilderX导入插件,就可以将插件自动导入我们的项目中

uniapp开发app,Ios,android,APP开发,uni-app,前端

需要注意的是,要注意插件的平台兼容性,许多插件是专门为某个平台如微信小程序获安卓APP等进行设计的,那个如果我们将此插件使用到其他平台上则可能会引发兼容问题

uniapp开发app,Ios,android,APP开发,uni-app,前端

 接下来,我们就可以开始愉快的编码了~

下一篇,使用Hbuilder进行真机测试,敬请期待!文章来源地址https://www.toymoban.com/news/detail-788015.html

到了这里,关于uniapp开发APP从开发到上架全过程(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记录--『uni-app、小程序』蓝牙连接、读写数据全过程

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 这是一次真实的 蓝牙收发数据 的全过程讲解。 本文使用 uni-app + Vue3 的方式进行开发,以手机app的方式运行(微信小程序同样可行)。 uni-app 提供了 蓝牙 和 低功耗蓝牙 的 api ,和微信小程序提供的 api 是一样

    2024年01月21日
    浏览(36)
  • 记一次uni-app中调用java代码中的方法全过程

    一、 开发环境 • JAVA环境 jdk1.8 • AndroidStudio 下载地址:Android Studio官网 : https://developer.android.google.cn/studio/index.html • App离线SDK下载 请下载2.9.8+版本的android平台SDK. https://nativesupport.dcloud.net.cn/AppDocs/download/android.html# • HBuilderX下载 官方下载地址: https://www.dcloud.io/hbuilderx.ht

    2024年02月12日
    浏览(48)
  • 用uniapp跨平台开发一款商用的ai绘图ai作画软件的全过程

    随着科技的发展,人工智能将会是以后的主流方向,ai绘图、chatgpt高科技先后出台,都获得了火爆的发展,因此想借着势头开发一款主打ai绘图的app+小程序 一、前期准备 1、选定技术框架 因为后面需要多平台发布,而尽可能减少开发成本,因此选定了uniapp框架作为开发框架,

    2024年02月13日
    浏览(45)
  • App测试环境搭建全过程,包含JAVA JDK配置、Android SDK、、Appium、Node.js、模拟器配置【究极保姆级】还不会我吃奥利给

    目录 一、环境搭建  1、Windows的java jdk的配置 (1)下载Java的jdk,我建议用Java的1.8版本,比较稳定,我选择的也是1.8版本         JDK下载链接和网盘链接           下图是通过网址下载的步骤, (2)下载完毕,安装java的jdk步骤                 一定要注意细节,

    2024年02月02日
    浏览(37)
  • iOS图像处理----探索图片解压缩到渲染的全过程以及屏幕卡顿

    ①、将需要显示的图像,由CPU和GPU通过总线连接起来,在CPU中输出的位图经总线在合适的时机上传给GPU ,GPU拿到位图做相应位图的图层渲染、纹理合成。 ②、将渲染后的结果,存储到帧缓存区,帧缓存区中存储的格式是位图。 ③、由视屏控制器根据Vsync(垂直同步信号)在

    2024年02月20日
    浏览(31)
  • uniapp 动态tabBar(全过程包含vuex 组件 配置等)

       (装船权限)    (卸船权限) 1.首先我们需要在pages.json配置tabbar  和pages (配置所有tabbar路径) 2.配置动态tabBar.js 如图↓  代码↓ 3.使用vuex对tabBar列表数据进行一个存储赋值 index.js↓ tabBar.js↓ 创建一个tabBar组件↓  代码↓ 5.在存在tabbar的页面中都需要引入组件,并传

    2024年02月11日
    浏览(31)
  • iOS App 上架流程图文教学

    在上架App 之前必须先准备好开发者帐号,但申请开发者帐号因法兰克早在之前已经申请好了,故就跳过此步骤,直接从产生凭证到上传 App 开始讲起。 首先,要将自己辛苦写好的App 送审的话,则要依序做完下列几件事情即可。 在开发者后台产生 .cer(凭证档) 在开发者后台产

    2024年02月09日
    浏览(38)
  • iOS App的打包和上架流程

    个人开发者账号 费用:99 美元/年(688.00元) 协作人数:仅限开发者自己 不需要填写公司的邓百氏编码( D-U-N-S Number) 支持账号下的 app 上线 App Store 需要创建 Apple ID 公司开发者账号: 费用:99 美元/年(688.00元) 允许多个开发者协作开发 需要填写公司的邓百氏编码( D-U

    2024年02月08日
    浏览(36)
  • iOS App上架全流程及相关处理

    iOS app上架总体流程: 一、IOS上架整个流程 1、申请开发者账号 2、创建APP ID及申请证书 3、itunes connect 创建APP 4、打包 上传APP 5、提交APP,上线成功 1、申请开发者账号 苹果开发者账号主要分为三种:个人账号、公司账号、企业账号,三种账号年费和权限各不相同。开发者账号

    2024年02月07日
    浏览(37)
  • iOS App的上架和版本更新流程

    作为一名iOSDeveloper,把开发出来的App上传到App Store是必要的。下面就来详细讲解一下具体流程步骤。 一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为$99、$99、$299、免费。)。 一个已经

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包