移动校园(2):express构建服务器,小程序调用接口,展示数据

express做服务器框架,mssql连接数据库,uni-request调用接口

这是文件夹目录

然后是index.js内容

const express=require('express')
const app=express()
const uniRouter=require("./uniRouter")
const config={user:'sa',password:'123456',server:'localhost',database:'uniSchool',port: 1433,encrypt: false, pool: {max: 20,min: 0,idleTimeoutMillis: 30000}
}
const sql=require('mssql')
const pool=new sql.ConnectionPool(config)
pool.connect().then((pool)=>
{app.locals.db=pool;const server=app.listen(3090,()=>{console.log(`正在监听${server.address().port}`)})
})
app.use((req, res, next) => {res.header('Access-Control-Allow-Origin', '*');res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');next();
});
app.use('/uni',uniRouter)
app.get('*',(req,res)=>
{res.send('网址输错了,请修改')
})
const express=require("express")
const router=express.Router()
const sql=require('mssql')//点击精准查询//全部地物
router.get('/builds',async function(req,res){let re=await req.app.locals.db.query('select * from building')res.send(re.recordset)}
)
//分类
router.get('/store',async function(req,res){let re=await req.app.locals.db.query("select * from building where id in ('6827585794865333373','4094331145955984864','5703449142701393167')")res.send(re.recordset)}
)
router.get('/home',async function(req,res)
{let re=await req.app.locals.db.query("select * from building where category='房产小区:房产小区附属'")res.send(re.recordset)
})
router.get('/run',async function(req,res)
{let re=await req.app.locals.db.query("select * from building where category like'运动健身%'")res.send(re.recordset)
})
router.get('/teach',async function(req,res)
{let re=await req.app.locals.db.query("select * from building where category = '教育学校:教育学校附属'")res.send(re.recordset)
})
router.get('/food',async function(req,res)
{let re=await req.app.locals.db.query("select * from building where category ='食堂'")res.send(re.recordset)
})
router.get('/hos',async function(req,res)
{let re=await req.app.locals.db.query("select * from building where id ='5900375277262852961'")res.send(re.recordset)
})
router.get('/library',async function(req,res)
{let re=await req.app.locals.db.query("select * from building where category ='文化场馆:图书馆'")res.send(re.recordset)
})//模糊匹配查询
//只返回五条
router.get('/search/:keyword',async function(req,res)
{let {keyword}=req.paramslet re=await req.app.locals.db.query(`select * from building where title like '%${keyword}%'`)res.send(re.recordset.slice(0, 5))
})
module.exports=router

然后是uni-app部分成果展示

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构--二叉树相关例题4

运用到malloc函数,因为之前忘记它的使用方法,因此附加一个 动态内存管理(前面内容中有讲解过)的知识点 1.二叉树遍历 //二叉树遍历 //属于IO类型题有输入有输出//因为输入包括1行字符串,长度不超过100,所以…

华为eNSP:HCIA汇总实验

本次拓扑实验需求: 1、内网地址用DHCP 2、VLAN10不能访问外网 3、使用静态NAT 实验用到的技术有DHCP、划分VLAN、IP配置、VLAN间的通信:单臂路由、VLANIF,静态NAT、基本ACL DHCP是一种用于自动分配IP地址和其他网络参数的协议。 划分VLA…

【Spring Boot】关系映射开发(二):一对多映射

《JPA 从入门到精通》系列包含以下文章: Java 持久层 API:JPA认识 JPA 的接口JPA 的查询方式基于 JPA 开发的文章管理系统(CRUD)关系映射开发(一):一对一映射关系映射开发(二&#…

在CenteOs7上安装mysql8.0(Super详细版)

在CenteOs7上安装mysql8.0 为什么用Mysql8.0?如何下载下载地址需要提前准备下载步骤 服务器上安装如何上传到服务器?通过wget下载到服务器并解压 开始安装非必须安装如果全部安装执行顺序 安装完后,启动mysql使用“systemctl”检测mysqld服务…

【K8s】专题六(5):Kubernetes 稳定性之重启策略、滚动更新策略

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号! 目录 一、重启策略 1、基本介绍 2、资源清单(示例) 二、滚动更新策略 …

申请EV代码签名证书费用是多少?

代码签名证书是确保软件安全性和可信度的关键工具,在软件开发领域扮演着至关重要的角色。EV代码签名证书,即扩展验证代码签名证书,以其最高级别的安全性和信任度,成为大型企业或对安全性要求较高的软件的首选。本文旨在深入探讨EV…

可灵AI快速迭代:揭示中国AI技术的全球领先地位

最近,中国企业在AI技术上的快速迭代引起了广泛关注。以可灵AI为例,一个月内连续三次升级,推出了高清版和首尾帧控制等功能。这种高频率的技术更新,不仅显示了中国企业的拼劲,也对全球AI竞赛产生了深远影响。 中国企业的…

UGC与AI引领的下一个10年,丝芭传媒已经准备好

丝芭传媒最近传来的消息,都跟技术相关。 基于自研AI大模型“Paro(心乐舞河)”的AIGPT及AIGC生成工具APP“鹦鹉人”开启用户内测。2023年3月技术测试的图形化智能社交基座“美踏元宇宙”,也将开放首轮用户内测。 此外&#xff0c…

【分布式技术】——监控平台zabbix 介绍与部署

一、监控系统的相关知识 1.监控系统运用的原因 当我们需要实时关注与其相关的各项指标是否正常,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,zabix可以实现集中监控管理的应用程序 监控的初衷…

Python3极简教程(一小时学完)中

异常 在这个实验我们学习 Python 的异常以及如何在你的代码中处理它们。 知识点 NameErrorTypeError异常处理(try..except)异常抛出(raise)finally 子句 异常 在程序执行过程中发生的任何错误都是异常。每个异常显示一些相关…

LabVIEW光谱测试系统

在现代光通信系统中,光谱分析是不可或缺的工具。开发了一种基于LabVIEW的高分辨率光谱测试系统,通过对可调谐激光器、可编程光滤波器和数据采集系统的控制,实现了高效、高精度的光谱测量。 项目背景 随着光通信技术的迅速发展,对…

《C++20设计模式》命令模式思考

文章目录 一、前言二、分析 拆解1、经典命令模式2、撤销操作3、关于Invoker类 三、实现 一、前言 哎!只要是书上写的和经典设计模式不同,我就会很伤脑筋。😩 命令模式到底是干什么的? 答:命令的发送者和接收者完全解…

VMware Workstation桥接模式无法上网

问题背景 我之前创建过一个虚拟机,当时虚拟机的网络模式使用的是桥接模式,配置好了固定ip地址,是可以正常上网的,中间没有做任何网络上面的配置。但是今天再打开这台虚拟机时,发现竟然不能上网了。 物理主机的ip信息配…

数据库课设---酒店管理系统(MySQL、VBNet)

目录 一. 知识技术 二. 需求分析 2.1 功能需求 2.2 数据需求 三. 数据流图与数据字典 3.1 数据流图 3.1.1 业务流图 3.1.2 数据流图 3.1.3 关系图 3.2 数据字典 四. 数据库设计 4.1 概念模型设计 4.2 逻辑模型设计 4.3 数据库实现 …

MATLAB——循环语句

一、for end语句 在该语法中,循环变量是用于迭代的变量名,它会在每次循环迭代中从向量或矩阵中取出一列的值。数值向量或者矩阵则表示了循环变量可以取值的范围,通常根据实际需要事先给定。一旦循环变量遍历完数值向量或者矩阵中的所有值&…

NAT:地址转换技术

为什么会引入NAT? NAT(网络地址转换)的引入主要是为了解决两个问题 IPv4地址短缺:互联网快速发展,可用的公网IP地址越来越少。网络安全:需要一种方法来保护内部网络不被直接暴露在互联网上。 IPv4 &…

UE C++ 多镜头设置缩放 平移

一.整体思路 首先需要在 想要控制的躯体Pawn上,生成不同相机对应的SpringArm组件。其次是在Controller上,拿到这个Pawn,并在其中设置输入响应,并定义响应事件。响应事件里有指向Pawn的指针,并把Pawn的缩放平移功能进行…

新时代【机器学习】与【Pycharm】:【随机数据生成】与智能【股票市场分析】

目录 第一步:准备工作 1.1 安装必要的库 小李的理解: 1.2 导入库 小李的理解: 第二步:生成和准备数据 2.1 生成随机股票数据 小李的理解: 2.2 数据探索与可视化 小李的理解: 2.3 数据处理 小李…

camunda最终章-springboot

1.实现并行流子流程 1.画图 2.创建实体 package com.jmj.camunda7test.subProcess.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.io.Serializable; import java.util.ArrayList; import java.util.List;Data …

golang验证Etherscan上的智能合约

文章目录 golang验证Etherscan上的智能合约为什么要验证智能合约如何使用golang去验证合约获取EtherscanAPI密钥Verify Source Code接口Check Source Code Verification Status接口演示示例及注意事项网络问题无法调用Etherscan接口(最重要的步骤) golan…