uniapp 前后端通信实现

6 篇文章 0 订阅
4 篇文章 0 订阅

一. request功能的封装

  1. 新建utils目录,并在该目录下新建config.js与request.js两个文件

  2. config.js地址参数配置

    export default {
    	host:'http://localhost:3002'
    }
    
  3. request功能的封装,利用的是uni.request

    import config from './config'
    export default (url,data={},method="GET")=>{
    	return new Promise((reslove,reject)=>{
    		uni.request({
    			url:config.host + url,
    			data,
    			method,
    			success: (res) => {
    				reslove(res.data)
    			},fail: (err) => {
    				reject(err)
    			}
    		})
    	})
    }
    

二. 1. 利用Koa构建后台接口服务器

  1. 新建后端项目目录guigushop_server

  2. npm init项目初始化

  3. npm i koa koa-router --save,安装koa以及koa路由模块

  4. 新建servre.js接口服务文件

    let Koa = require('koa');
    let KoaRouter = require('koa-router');
    // 实例化koa以及router路由
    const app = new Koa();
    const router = new KoaRouter();
    // 利用ctx进行内容返回操作
    router.get('/', (ctx, next) => {
    	ctx.body = 'hello koa'
    })
    // 主页数据
    let indexData =  require('./datas/index.json');
    router.get('/getIndexData', (ctx, next) => {
    	ctx.body = indexData
    });
    // app实例使用router路由及限制allowedMethods请求方式的允许内容
    app
    	.use(router.routes())
    	.use(router.allowedMethods())
    
    app.listen('3002', () => {
    	console.log('服务器启动');
    	console.log('服务器地址: http://localhost:3002')
    })
    
  5. 修改package.json的scripts节点信息,设置start启动方式

    {
    	"name": "wangyi_server",
    	"version": "1.0.0",
    	"dependencies": {
    		"koa": "^2.8.2",
    		"koa-router": "^7.4.0",
    		"nodemon": "^1.19.4"
    	},
    	"scripts": {
    		"start": "nodemon server.js"
    	}
    }
    
  6. 运行npm start启动接口服务

三. 在页面中进行数据请求

<script>
import request from '../../utils/request.js'
export default {
	data() {
		return {};
	},
    // 生命周期钩子函数中一般不使用async,所以可以将获取数据操作单独封装于methods中
	mounted() {
		this.getIndexData()
	},
	methods:{
		async getIndexData(){
			let result = await request('/getIndexData')
			console.log(result)
		}
	}
};
</script>
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主要功能 后端:分类的增删改查 ,多表单的增删改 ,支持按日期 、分类 筛选表单数据。 数据:查看、修改,一键多选 的删除,导出到Excel。 前端:获取后端数据,并显示分类列表,显示表单,提交信息到服务器(客户额外要求,提交信息时获取手机通讯录联系人并提交到服务器 )。 技术实现 后端主要是对数据库的操作,以及根据客户端请求返回封装好的JSON文本,采用面向对象思路,构建了仓储类 、应用层 、界面层 三个伪概念,因为架构设计的不是很好,先有概念再优化。 整体思路是先封装好常用的增删改查仓储类 ,然后在应用层 处理UI提交的请求和封装返回JSON。 在写UI交互的时候,对超级列表框数据的处理尝试独立出来,采用界面层 用单独类文件的方式完成调用,避免代码耦合,但是做的还不够好。 APP端直接从dcloud插件市场找到获取联系人 的相关SDK及调用方法,减少自己造轮子。 APP端是相对比较容易的,自带的uni.request 做http请求和uni-list 做列表显示,然后就是vue和js的基础,如何循环列表 以及绑定数据 ,没有vue基础都没事,跳过其他章节,只需要学习这两个部分,就能完成app开发。 部署方法 编译或直接运行服务端exe启动服务,记得在宝塔 或者安全组 放行对应的端口 修改Common/diaoge.js 中的host 值,如果本地测试,修改ip地址为本机的局域网地址 ,如果部署在服务器,填写服务器ip 模块引用 采用E2EE 订阅视图函数,做RESTAPI 接口。 为方便打包一键更换环境,采用了SQLITE 数据库,并使用了开源的zySqlite数据库 。 线程方面使用了鱼刺多线程模块 ,导出Excel使用了LibXL 模块。 基础的文本操作、一些快捷函数,使用了精易模块 。 菜单及时间函数等,使用了雕哥模块 。
Spring Boot和UniApp是一对非常适合进行前后端分离开发的工具。 首先,Spring Boot是一个用于构建独立的、基于Java的企业级应用程序的框架。它提供了丰富的功能和开箱即用的插件,可以快速开发高性能的后端服务。使用Spring Boot可以轻松地搭建RESTful API,处理数据库操作以及其他业务逻辑。 其次,UniApp是一个基于Vue.js开发的跨平台应用框架,可以一次编写代码,同时在IOS和Android上生成原生应用,并支持微信、支付宝小程序等多个平台。UniApp提供了一套统一的开发框架和组件库,能够方便地开发跨平台的前端应用。 结合Spring Boot和UniApp,我们可以实现前后端分离的开发模式。具体的实现方式是将前端代码和后端代码分别独立开发,通过RESTful API进行数据交互。前端开发人员使用UniApp进行用户界面的开发后端开发人员使用Spring Boot处理业务逻辑和数据库操作。 前后端分离的好处是可以实现前后端的解耦,提高开发效率和可维护性。前端后端开发人员可以并行开发,无需等待对方的完成。同时,前后端分离也使得前端后端可以选择不同的技术栈,从而更好地满足不同的需求。 总结来说,Spring Boot和UniApp的结合可以实现前后端分离的开发模式,带来更好的开发效率和可维护性。这种架构适用于中小型项目,可以更好地满足多平台和多终端的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值