当前位置: 首页 > article >正文

基于微信小程序的博物馆预约系统的设计与实现

在这里插入图片描述

hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹

🦁作者简介:一名喜欢分享和记录学习的在校大学生
💥个人主页:code袁的博客
💥 个人QQ:2647996100
🐯 个人wechat:code8896
code袁系列专栏导航
1.《毕业设计与课程设计》本专栏分享一些毕业设计的源码以及项目成果。🥰🥰🥰
2.《微信小程序开发》本专栏从基础到入门的一系开发流程,并且分享了自己在开发中遇到的一系列问题。🤹🤹🤹
3.《vue开发系列全程线路》本专栏分享自己的vue的学习历程。

非常期待和您一起在这个小小的互联网世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨ 

在这里插入图片描述

文章目录

        • 1.前言介绍
        • 2.功能设计
        • 3、功能实现
        • 4、开发技术简介
        • 5、系统物理架构
        • 6、库表设计
        • 7、关键代码
        • 相关选题
        • 8、源码获取

博物馆预约小程序

1.前言介绍

一、 行业背景

政策利好: 近年来,国家大力推动文化产业发展,鼓励博物馆、美术馆等文化场馆免费开放,并积极推进“互联网+文化”战略,为博物馆数字化发展提供了政策支持。
市场需求: 随着人们生活水平的提高和精神文化需求的增长,参观博物馆、美术馆等文化场馆逐渐成为一种新的生活方式。然而,传统的线下预约方式存在信息不对称、预约流程繁琐等问题,无法满足用户日益增长的便捷化需求。
技术发展: 移动互联网、大数据、人工智能等技术的快速发展,为博物馆数字化、智能化转型提供了技术支撑,也为博物预约小程序的开发和应用创造了条件。

二、 用户痛点

信息获取不便: 用户难以全面、及时地获取博物馆开放时间、展览信息、活动预告等信息。
预约流程繁琐: 传统的线下预约方式需要用户亲自到馆或拨打电话,流程繁琐,效率低下。
参观体验不佳: 高峰期排队时间长,观展体验差;缺乏个性化的导览服务,难以深入了解展品背后的故事。

三、 小程序优势

便捷高效: 用户可通过小程序随时随地查询博物馆信息、预约参观时间,无需排队,节省时间。
信息全面: 小程序可整合博物馆的开放时间、展览信息、活动预告、交通指南等信息,为用户提供一站式服务。
功能丰富: 除了预约功能,小程序还可以提供在线购票、语音导览、AR互动、文创商城等功能,提升用户参观体验。
数据赋能: 小程序可以收集用户行为数据,为博物馆运营决策提供数据支持,例如优化展览内容、调整开放时间等。

四、 发展趋势

个性化服务: 利用大数据和人工智能技术,为用户提供个性化的展览推荐、路线规划等服务。
线上线下融合: 将线上预约与线下参观体验深度融合,例如线上预约线下取票、线上导览线下互动等。
跨界合作: 与旅游、教育、文创等产业进行跨界合作,打造多元化的文化消费场景。

2.功能设计

一、用户端

场馆展示:展示各个博物馆的高清图片、基本介绍、特色展览等信息,使用户快速了解场馆概况。
预约功能:用户可选择参观日期、时间段,输入参观人数进行预约,系统实时显示剩余可预约名额。
个人中心:用户能查看个人信息、预约记录、收藏的场馆等内容,也可对预约进行取消或改签操作。
推送通知:预约成功、临近参观日期、展览变更等信息,通过小程序推送及时告知用户。
评价与反馈:参观结束后,用户可对场馆服务、展览内容等进行评价和反馈,方便场馆改进优化。

二、管理端

预约管理:查看所有预约信息,包括预约用户、时间、人数等,可进行订单审核、修改和删除。
场馆管理:对场馆的基本信息、展览安排、开放时间等进行更新和维护。
数据分析:统计预约数据,如不同时间段预约人数、热门展览等,为场馆运营提供数据支持。
系统设置:设置小程序的基本参数、推送通知内容等,保障小程序正常运行。

3、功能实现

系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。下图就是管理员登录页面。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
小程端部分页面展示
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4、开发技术简介

本节介绍场馆预约平台用到的一些技术和开发环境的简介,用到开发技术主要包括:
(1)前端用到Element UI组件库和Vue框架
(2)后端用到Node
(3)包管理器Npm
(4)中间件Express
(5)数据库MySQL
系统开发环境主要是:前端开发工具Vscode,Hbuilder、操作系统Win10、CPU i5-9300H、内存8G。

5、系统物理架构

自习室系统的物理架构主要有:管理端和用户端,其中管理端主要是基于Vue和Element UI,用户端主要基于安卓、微信小程序和H5自习室系统的物理建构图

1. 客户端:

微信小程序: 用户通过微信小程序访问博物预约服务,小程序运行在用户的微信客户端上。

Web 端 (可选): 部分功能可以通过 Web 端实现,例如后台管理系统。

2. 网络层:

CDN (内容分发网络): 用于加速静态资源的访问,例如图片、视频等。

负载均衡: 用于将用户请求分发到不同的应用服务器,避免单点故障。

3. 应用层:

API 网关: 负责接收和处理来自客户端的请求,并进行身份验证、流量控制等操作。

应用服务器: 运行小程序的后端服务,处理业务逻辑,例如用户管理、预约管理、订单管理等。

缓存服务器: 用于缓存热点数据,例如博物馆信息、展览信息等,提高系统性能。

6、库表设计

在这里插入图片描述

7、关键代码
<!--pages/reservation/reservation.wxml-->
<!-- index.wxml -->
<view class="nav-bar"><viewclass="nav-item {{currentTab === index ? 'active' : ''}}"wx:for="{{tabs}}"wx:key="index"bindtap="switchTab"data-index="{{index}}">{{item.name}}</view>
</view>
<!-- 内容区域 -->
<view class="content"><view wx:if="{{currentTab === 0}}" class="top" wx:for="{{list}}" bind:tap="goReservation" data-value="{{item}}"><view><view class="data">参观日期:{{item.data}}</view><view class="time">参观时间:{{item.time}}</view><view class="peopleNum">参观人数:{{item.peopleNum}}</view></view><view wx:if="{{item.iscancle==0}}"><image src="../image/index/iconsuccess.png" mode=""/></view><view wx:else><image src="../image/index/fail.png" mode=""/></view></view><view wx:if="{{currentTab === 1}}" class="top" wx:for="{{activeList}}" bind:tap="goReservation" data-value="{{item}}"><view class="img"><image src="{{item.AimgUrl}}" mode=""/></view><view><view class="title">活动名称:{{item.title}}</view><view class="time">活动地点:{{item.address}}</view><view class="peopleNum">开始时间:{{item.startTime}}</view></view></view>
</view>
<template><div class="messge"><el-dialog title="提示" :visible.sync="dialogVisible" width="40%"><!-- 弹窗信息 --><el-formref="form":model="form":rules="rules":inline="true":before-close="handleClose"label-width="100px"><el-form-item label="名称" prop="title"><el-input v-model="form.title" placeholder="请输入名称"></el-input></el-form-item><el-form-item label="地点" prop="address"><el-input v-model="form.address" placeholder="请输入名称"></el-input></el-form-item><el-form-item label="时间" prop="startTime"><el-date-pickerv-model="form.startTime"type="date"placeholder="选择日期"></el-date-picker></el-form-item><el-form-item label="名额" prop="number"><el-input-numberv-model="value"@change="handleChange":min="1":max="50"label="描述文字"></el-input-number></el-form-item><el-form-item label="年龄" prop="number"><el-select v-model="yearvalue" placeholder="请选择"><el-optionv-for="item in options1":key="item.value":label="item.label":value="item.value"></el-option></el-select></el-form-item><el-form-item label="简介" class="content" prop="desc"><quill-editorref="myQuillEditor"v-model="form.desc"class="editor"/></el-form-item><el-form-item label="详情" class="content" prop="detail"><quill-editorref="myQuillEditor"v-model="form.detail"class="editor"/></el-form-item><el-form-item label="图片"><commonUpload></commonUpload></el-form-item></el-form><!-- 表单提交 --><span slot="footer" class="dialog-footer"><el-button @click="cancle">取 消</el-button><el-button type="primary" @click="submit">确 定</el-button></span></el-dialog><div class="manage-hander"><!-- 添加按钮 --><el-button type="primary" @click="handleAdd">+ 新增</el-button></div><!-- 表格 --><div class="common-table"><el-table:data="tableData"borderstripeheight="90%"style="width: 100%"><el-table-column prop="title" label="活动名称"> </el-table-column><el-table-column prop="address" label="地址"> </el-table-column><el-table-column prop="startTime" label="开始时间"> </el-table-column><el-table-column prop="number" label="人员名额"> </el-table-column><el-table-column prop="desc" label="简介"><template slot-scope="scope"><el-tooltip placement="top" effect="light"><div slot="content"><div class="text" v-html="scope.row.desc"></div></div><div class="text" v-html="scope.row.desc"></div></el-tooltip></template></el-table-column><el-table-column prop="detail" label="详情"><template slot-scope="scope"><el-tooltip placement="top" effect="light"><div slot="content"><div class="text" v-html="scope.row.detail"></div></div><div class="text" v-html="scope.row.detail"></div></el-tooltip></template></el-table-column><el-table-column label="状态" prop="isStart"><template slot-scope="scope"><span v-for="item in options" :key="item.id"><span v-if="scope.row.isStart === item.id">{{ item.name }}</span></span></template></el-table-column><el-table-column prop="imgUrl" label="图片"><template slot-scope="scope"><el-imagestyle="width: 150px; height: 100px":src="scope.row.AimgUrl":preview-src-list="[scope.row.AimgUrl]"></el-image></template></el-table-column><el-table-column prop="uploadTime" label="发布时间"> </el-table-column><el-table-column prop="addr" label="操作"><template slot-scope="scope"><el-buttontype="primary "size="mini"@click="handleOver(scope.row)">结束活动</el-button><el-buttontype="danger"size="mini"@click="handleDelete(scope.row)">删除</el-button></template></el-table-column></el-table><!-- 分页组件 --><el-paginationclass="page"layout="prev, pager, next":total="total"@current-change="handlePage"></el-pagination></div></div>
</template><script>
const moment = require("moment");
import commonUpload from "@/components/commonUpload.vue";
import { addActive, getActive, updateActive } from "@/api/index";
import {deleteUser,addCulture,getCulture,searchUser,getUser,privalUser,updateUser,
} from "@/api/index";
export default {name: "User",data() {return {dialogVisible: false,// 表单字段form: {title: "",desc: "",address: "",detail: "",startTime: "",price: " ",uploadTime: "",number: "",AimgUrl: "",isStart: " ",year: "",},value: 1,// 表單校驗rules: {address: [{ required: true, message: "请输入地址" }],title: [{ required: true, message: "请输入名称" }],desc: [{ required: true, message: "请输入简介" }],detail: [{ required: true, message: "请输入详情" }],},options1: [{value: "0",label: "6-12",},{value: "1",label: "18+",},{value: "2",label: "无限制",},],yearvalue: "",options: [{id: "0",name: "未开始",},{id: "1",name: "已结束",},],// 表单数据tableData: [],total: 0, //页面的总条数modelType: 0, //0表示是新增的弹窗 ,1表示的是编辑userFrom: {username: "",},};},components: {commonUpload,},methods: {// 提交submit() {if (this.modelType == 0) {this.$refs.form.validate((value) => {// 校验为真if (value) {this.form.year = this.options[this.yearvalue].label;this.form.AimgUrl = this.$store.state.upload.imgUrl;this.form.uploadTime = moment().format("YYYY-MM-DD");addActive(this.form).then((res) => {this.$message.success("添加成功");});this.$refs.form.resetFields();this.dialogVisible = false;this.getList();}});} else {this.$refs.form.validate((value) => {// 校验为真if (value) {console.log("value", this.form);updateUser(this.form).then((res) => {// console.log(res);this.$message.success("修改成功");});this.$refs.form.resetFields();this.dialogVisible = false;}});}this.getList();},handleChange(value) {console.log(value);this.form.number = value;},handleOver(e) {let data = {id: e.id,isStart: "1",};// let id = res.id;this.$confirm("确定要结束活动吗?", "提示", {confirmButtonText: "确定",cancelButtonText: "取消",type: "warning",}).then((res) => {updateActive(data).then((res1) => {console.log(res1);this.$message.success(res1.data.msg);this.getList();});});},// 关闭弹窗handleClose() {this.$refs.form.resetFields();this.dialogVisible = false;this.form = {};},// 点击取消按钮cancle() {this.handleClose();},// 表单的编辑handleEdit(res) {this.modelType = 1;this.dialogVisible = true;// 注意到对当前的数据进行深度拷贝this.form = JSON.parse(JSON.stringify(res));console.log(this.form);},//表单的删除handleDelete(res) {// let id = res.id;this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {confirmButtonText: "确定",cancelButtonText: "取消",type: "warning",}).then(() => {// 调用删除接口var that = this;deleteUser(res).then((res) => {that.$message({type: "success",message: res.data.data.msg,});});this.getList();}).catch(() => {this.$message({type: "info",message: "已取消删除",});});},// 新增数handleAdd() {(this.modelType = 0), (this.dialogVisible = true);this.form = {};},// 查询数据handleSearch() {searchUser(this.userFrom).then((res) => {console.log(res.data.data);this.tableData = res.data.data.data;// this.getList();});},//分页handlePage(val) {console.log(val);},// 获取数据getList() {getActive().then((res) => {this.tableData = res.data.data;});},},// 挂载mounted() {this.getList();},
};
</script><style lang="less">
.messge {height: 90%;.common-table {position: relative;height: calc(100% - 62px);.page {position: absolute;bottom: 0;right: 20px;}}.text {overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;}.content {margin-left: 40px;display: flex;}.editor {width: 95%;}.manage-hander {display: flex;justify-content: space-between;align-items: center;}
}
.el-table .cell {img {height: 50rpx;}
}
</style>
相关选题

1.基于微信小程序的图书馆预约系统的设计与实现
2.基于微信小程序的实验室预约系统的设计与开发
3.基于微信小程序的番茄时钟的设计与实现(课设&毕设)
4.基于微信小程序的自习室预约系统的设计与实现
5.基于Uni-app的体育场馆预约系统的设计与实现
6.基于微信小程序的在线答题小程序设计与实现
7.基于微信小程序的医院预约挂号系统的设计与实现

8、源码获取

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

在这里插入图片描述

相关文章:

基于微信小程序的博物馆预约系统的设计与实现

hello hello~ &#xff0c;这里是 code袁~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生…...

Svelte前端框架

Svelte 简介 Svelte 是一个现代的前端框架&#xff0c;用于构建高效、响应式的用户界面。与 React、Vue 和 Angular 等传统框架不同&#xff0c;Svelte 在构建时将组件编译为高效的纯 JavaScript 代码&#xff0c;而不是在浏览器中运行一个庞大的运行时库。这使得 Svelte 应用具…...

力扣-栈与队列-347 前k个高频元素

思路 利用优先队列进行排序&#xff0c;然后利用multiset对count进行排序&#xff0c;最后收集k个高频元素就行 代码 class Solution { public:vector<int> topKFrequent(vector<int>& nums, int k) {priority_queue<int> pq;for(int i 0; i < nu…...

fullcalendar全局日历深度定制(自适应、月、周视图)

首先看效果&#xff1a; 把日程通过蓝色标记点标记出来&#xff0c;可展开收起日历。展开为月视图&#xff0c;收起为月-周视图&#xff0c;且把日程展示在日历下面。 涉及功能点有&#xff1a; 日历头部自定义头部星期格式修改主体样式修改日程自定义展开收起展示不同视图(月…...

TextWebSocketHandler 和 @ServerEndpoint 各自实现 WebSocket 服务器

TextWebSocketHandler 和 ServerEndpoint 都可以用于实现 WebSocket 服务器&#xff0c;但它们属于不同的技术栈&#xff0c;使用方式和功能有一些区别。以下是它们的对比&#xff1a; 1. 技术栈对比 特性TextWebSocketHandler (Spring)ServerEndpoint (Java EE/JSR-356)所属框…...

计算机毕业设计——Springboot的简历系统

&#x1f4d8; 博主小档案&#xff1a; 花花&#xff0c;一名来自世界500强的资深程序猿&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 花花在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于java、python等技术。近年来&#xff0c;花花更…...

关于浏览器缓存的思考

问题情境 开发中要实现一个非原生pdf预览功能&#xff0c;pdf链接放在一个固定的后台地址&#xff0c;当重新上传pdf后&#xff0c;预览pdf仍然是上一次的pdf内容&#xff0c;没有更新为最新的内容。 查看接口返回状态码为 200 OK(from disk cache)&#xff0c; 表示此次pdf返回…...

变量声明 vs 变量定义

变量声明&#xff08;Declaration&#xff09; vs 变量定义&#xff08;Definition&#xff09; 在 C 中&#xff0c;变量声明和变量定义是两个不同的概念。理解它们的区别对于链接错误的调试、多文件编程、外部变量的使用非常重要。 3. 变量声明 vs 变量定义 区别变量声明&…...

16vue3实战-----动态路由

16vue3实战-----动态路由 1.思路2.实现2.1创建所有的vue组件2.2创建所有的路由对象文件(与上述中的vue文件一一对应)2.3动态加载所有的路由对象文件2.4根据菜单动态映射正确的路由2.5解决main页面刷新的问题2.6解决main的第一个页面匹配显示的问题2.7根据path匹配menu 1.思路 …...

Linux常见命令——系统定时任务

文章目录 crontab 服务管理crontab -e :编辑crontab 定时任务crontab -l 查看crontab 任务crontab -r 删除当前用户所有的crontab 任务 crontab 服务管理 systemctl status crond该系统进程是开机自启动&#xff0c;并且被打开了&#xff0c;可以使用。 crontab -e :编辑cr…...

ARM Cortex-M3/M4 权威指南 笔记【一】技术综述

一、Cortex-M3/M4 处理器的一般信息 1.1 处理器类型 ARM Cortex-M 为 32 位 RISC&#xff08;精简指令集&#xff09;处理器&#xff0c;其具有&#xff1a; 32位寄存器32位内部数据通路32位总线接口 除了 32 位数据&#xff0c;Cortex-M 处理器&#xff08;以及其他任何 A…...

常用的AI算法介绍

常用的AI算法介绍 自然语言生成&#xff08;NLG&#xff09;&#xff1a;让机器写作&#xff0c;写诗 语言识别&#xff1a;语音模型的识别 虚拟现实&#xff1a;VR、增强现实&#xff08;AR&#xff09; 机器学习平台&#xff1a;针对AI优化的硬件和芯片&#xff08;人脸识…...

Spring常用注解和组件

引言 了解Spring常用注解的使用方式可以帮助我们更快速理解这个框架和其中的深度 注解 Configuration&#xff1a;表示该类是一个配置类&#xff0c;用于定义 Spring Bean。 EnableAutoConfiguration&#xff1a;启用 Spring Boot 的自动配置功能&#xff0c;让 Spring Boo…...

android的ViewModel这个类就是业务逻辑层吗

android的ViewModel这个类就是业务逻辑层吗&#xff1f; 相似&#xff1a;业务逻辑代码应该放在ViewModel这个类吗&#xff1f; 嗯&#xff0c;我现在在学习Android架构组件&#xff0c;特别是ViewModel。用户问ViewModel是否就是业务逻辑层&#xff0c;我需要仔细思考这个问题…...

3、kubectl 命令详解

kubectl 命令详解 kubectl 简介kubectl 常用操作基本信息查看命名空间的增删改查操作查看 pod 信息 项目的生命周期创建发布更新回滚删除金丝雀发布&#xff08;Canary Release&#xff09; 声明式管理方法 kubectl 简介 kubernetes 集群管理集群资源的唯一入口是通过相应的方…...

Qt Pro、Pri、Prf

一、概述 1、在Qt中&#xff0c;通常使用.pro(project)、pri(private include)、prf(project file)三种文件扩展名来组织项目。对于模块化编程&#xff0c;Qt提供了Pro和Pri&#xff0c;Pro管理项目&#xff0c;Pri管理模块。 2、pro文件是Qt项目的核心文件&#xff0c;包含了…...

fps动作系统9:动画音频

文章目录 动画音频创建音频蓝图cue音量乘数 音效衰减衰减空间 绑定到动画动画序列轨道 动画音频 创建音频蓝图 cue 音量乘数 音量大小 音效衰减 空间音效 衰减 空间 绑定到动画 动画序列 轨道 横着的方向是有不同的轨道的&#xff0c;阴影的就是。...

1064 - You have an error in your SQL syntax;

在创建数据库表建立外键是遇到了如下报错 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near position(position_id) ) at line 8 数据库表sql如下&#xff1a; --职位表 CR…...

Java在大数据处理中的应用:从MapReduce到Spark

Java在大数据处理中的应用&#xff1a;从MapReduce到Spark 大数据时代的到来让数据的存储、处理和分析变得前所未有的重要。随着数据量的剧增&#xff0c;传统的单机计算方式已经无法满足处理需求。为了解决这个问题&#xff0c;许多分布式计算框架应运而生&#xff0c;其中Ma…...

SwiftUI 中 .overlay 两种写法的区别及拓展

SwiftUI 中 .overlay 两种写法的区别及拓展 一、.overlay 简介功能语法 二、写法 1&#xff1a;.overlay(Circle().stroke(Color.blue, lineWidth: 2))代码示例解释优点适用场景 三、写法 2&#xff1a;.overlay { Circle().stroke(.white, lineWidth: 4) }代码示例解释优点适用…...

深入理解QT的View-Model-Delegate机制和用法

文章目录 Model-View-Delegate机制Model(数据模型)设置模型属性访问元素操作元素数据排序封装好的模型View(视图)显示数据数据选择Delegate(代理)数据选择易用封装类QListWidgetQTreeWidgetQTableWidget元素拖拽代理模型参考示例Model-View-Delegate机制 Qt的View/Model/Deleg…...

C# ASP.NET 介绍

.NET学习资料 .NET学习资料 .NET学习资料 一、概述 ASP.NET是由微软创建的一个开源 Web 框架&#xff0c;用于使用.NET 构建现代化的 Web 应用程序和服务。它为开发者提供了一套丰富的工具、库和编程模型&#xff0c;使得创建功能强大、高效且安全的 Web 应用变得更加容易。…...

深入理解指针初阶:从概念到实践

一、引言 在 C 语言的学习旅程中&#xff0c;指针无疑是一座必须翻越的高峰。它强大而灵活&#xff0c;掌握指针&#xff0c;能让我们更高效地操作内存&#xff0c;编写出更优化的代码。但指针也常常让初学者望而生畏&#xff0c;觉得它复杂难懂。别担心&#xff0c;本文将用通…...

《手札·行业篇》开源Odoo MES系统与SKF Observer Phoenix API在化工行业的双向对接方案

一、项目背景 化工行业生产过程复杂&#xff0c;设备运行条件恶劣&#xff0c;对设备状态监测、生产数据采集和质量控制的要求极高。通过开源Odoo MES系统与SKF Observer Phoenix API的双向对接&#xff0c;可以实现设备状态的实时监测、生产数据的自动化采集以及质量数据的同步…...

oracle11g搭建主从集群

安装oracle11g参考&#xff1a;centos安装oracle11g数据库-CSDN博客 一、主库操作 sqlplus / as sysdba 1、开启归档模式和强制日志模式 shutdown immediate startup mount #开启归档模式和强制日志模式 alter database archivelog; alter database force logging; #开启补…...

暂未整理啊

测码学院 python的数据类型 不可变数据类型&#xff1a;字符串/数字/元组/ type&#xff08;变量名&#xff09; 获得数据的类型 str&#xff1a;字符串 int&#xff1a;整数 float&#xff1a;浮点数 bool&#xff1a;true/false 布尔类型 list&#xff1a;列表 dict&…...

重庆西站公路桥梁自动化监测

1.项目概述 重庆西站属于渝黔铁路的配套工程&#xff0c;是承担兰渝、川黔、渝昆等多条铁路的特级客运站&#xff0c;未来重庆铁路三大客运站之一。作为我国西部地区规模最大的火车站、重庆西站于2014年在沙坪坝区上桥开工建设,该站东临内环高速&#xff0c;西靠中梁山&#x…...

JavaScript系列(70)--响应式编程进阶详解

JavaScript响应式编程进阶详解 &#x1f504; 今天&#xff0c;让我们深入探讨JavaScript响应式编程的进阶内容。响应式编程是一种强大的编程范式&#xff0c;它能够帮助我们更好地处理异步数据流和状态管理。 响应式编程进阶概念 &#x1f31f; &#x1f4a1; 小知识&#x…...

安装指定版本的pnpm

要安装指定版本的 pnpm&#xff0c;可以使用以下方法&#xff1a; 方法 1: 使用 pnpm 安装指定版本 你可以通过 pnpm 的 add 命令来安装指定版本&#xff1a; pnpm add -g pnpm<版本号>例如&#xff0c;安装 pnpm 的 7.0.0 版本&#xff1a; pnpm add -g pnpm7.0.0方法…...

Dockerfiles 的 Top 10 常见 DevOps/SRE 面试问题及答案

1. RUN 和 CMD 之间有什么区别&#xff1f; RUN : 在镜像构建过程中执行命令&#xff0c;创建一个新的层。通常用于安装软件包。 示例: RUN apt-get update && apt-get install -y curlCMD : 指定容器启动时默认运行的命令。它在运行时执行&#xff0c;而不是在构建过程…...