IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 制作了一个在线查询席位的小程序 -> 正文阅读

[移动开发]制作了一个在线查询席位的小程序

11-6号制作了一个在线查询席位的小程序
声明:本人小白一个纯分享,写出来巩固思路,不足之处,大佬多指教,谢谢!
用的是webapi使用
大致的思路是先webapi写一个查询数据库的程序,
再sqlite导入提前准备的表格,与程序进行交互无问题后,
进行网页编写(注意移动端界面部署),把做好的界面放到webapi下,确保本地无误(无跨域问题)
然后再云服务上面打相关的环境和打开对应接口,用的windowserver服务,打开iss挂载应用
然后把链接生成二维码,给宾客扫描查询座位。

一. web api代码解析
图文分享如下:
1.首先在Controllers文件夹下面写一个查询数据库的操作
用的get命令去获取

 [ApiController]
    [Route("Seat")]
    public class SeatController : Controller {
        [HttpGet("{name}")]
        public ActionResult<string> Read(string name) {
            var sqlString = SqliteGo(name);
            if (sqlString.Contains(",")) {
                return Ok(sqlString);
            } 
            else {
                return BadRequest(sqlString);
            }
        }

(1)注意 [Route(“Seat”)] 路由名称为Seat,会导致调用此方法后面加/Seat
(2) [HttpGet("{name}")] 这个为路由get获取,程序会读name这个值
(3)SqliteGo为定义方法下面会详细介绍,此处为返回一个json的值 name和Seat
此处小结:当程序获取到name的时候会去调用SqliteGo的函数,去数据库查询并返回一个json,判断是否符合,符合返回 200 ok的json,不符合返回 400 bad的字符串。

2.SqliteGo的函数
private string SqliteGo(string name) {
            string dbPath = AppContext.BaseDirectory + "11-6Seat.db";
            CSQLiteHelper cSQLiteHelper = new CSQLiteHelper(dbPath);
            string sqlString=cSQLiteHelper.SelectStars(name)[0];
            if (sqlString.Contains(",")) {
                var _sqlString = string.Format("{{\"seat\":\"{0}\",\"name\":\"{1}\"}}", sqlString.Split(',')[0], sqlString.Split(',')[1]);
                sqlString = _sqlString;
            }
            return sqlString;
        }
    }

(1)CSQLiteHelper此处为自定义类,后面会详细介绍
(2)if这边进行判断,进行json打包 ps:此处json手动生成"{{“seat”:"{0}",“name”:"{1}"}}"

3.CSQLiteHelper
 class CSQLiteHelper {
        private string _dbName = "";
        private string _SQLiteConnString = null; //连接字符串

        public CSQLiteHelper(string dbPath) {
            this._dbName = dbPath;
            this._SQLiteConnString = "Data Source=" + dbPath;
        }//获取db文件的路径
        public string[] SelectStars(string name) {
            var cmd = new SQLiteCommand();//获取命令的函数
            SQLiteConnection sqliteConn = new SQLiteConnection(_SQLiteConnString);//连接数据库
            var strs = new List<string>();//实际案例用不到数组哈
            try {
                sqliteConn.Open();//打开数据库
                string commandStr = string.Format("SELECT * FROM 'Seat' WHERE name IN('{0}')", name);//选择Seat这个表单,再用字符串格式填入name值
                cmd.CommandText = commandStr;
                cmd.Connection = sqliteConn;
                var reader = cmd.ExecuteReader();//读出符合条件的字符串
                if (reader.Read()) {
                        string str = null;//循环中字符串清null
                        if (reader.HasRows) {
                            for (int i = 0; i < reader.FieldCount; i++) {
                                str += (reader[i].ToString()) + ',';//把数字变成字符串|进行区分
                            }

                        }
                        strs.Add(str);
                    }
                else {
                    strs.Add("未查到数据!请检查姓名或者去签到台确认!");
                }
                return strs.ToArray();此处不用数组也行,查询的指向的是单值
            }
            catch (Exception ex) {
                throw new Exception(ex.Message);
            }
            finally {
                cmd.Dispose();// 释放command
                sqliteConn.Close();//结合命令关闭才能关闭数据库
                sqliteConn.Dispose();//先关闭数据连接,再释放
            }
        }
    }

(1)此处注意数据库 我写的格式是
在这里插入图片描述
(2)建议先在库里调式了命令,再把相关命令写入command里
(3)此处调用了sqlite,在nuget里
在这里插入图片描述

总结以上就是.net web APi后台程序所使用的,程序启用如下
注意前端html 放到 wwwroot文件下面,到时候iss挂载,直接ip:端口/index.html 就可以访问
app.UseFileServer();加入Startup.cs下面
在这里插入图片描述

二.前端网页编写

html,css,js篇
本人小白,此处不多介绍了,注意移动端app的使用界面即可
用的过时的jquery写的,感兴趣的可去下面链接的github获取

三.云服务器环境搭建

用的是华为云1个月的试用版,马上到期了。。下面简单介绍一下云使用
注意左上角区域,我这选择的是上海一,选错了,弹性公网ip都没
在这里插入图片描述
这里需要配置的是-访问控制-安全组-选择网卡对应的安全组-配置规则,进行对应端口映射,我添加的规则如下:
在这里插入图片描述
打开弹性网卡-更多-更改安全组
在这里插入图片描述
在这里插入图片描述
以上就是云服务,我做的操作。
然后通过弹性网卡ip,测试映射端口是否都通。

四.云服务器的环境搭建(window-server)

1.搭建iss 没啥好记录的,百度上都有。报错啥问题百度都能解决
https://blog.csdn.net/weixin_41692437/article/details/79991083
物理路径使用如下:
在这里插入图片描述
2. 几个.netCore环境包要装好
.https://dotnet.microsoft.com/download/dotnet/5.0
3.注意window防火墙和文件权限问题

五.二维码生成

把http链接填入 以下网站生成
https://www.wwei.cn

六 github 分享

https://github.com/HaoXuLC/SeatSearch

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-11-15 15:59:21  更:2021-11-15 16:01:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:30:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码