From 200ce83f5c9410ac6926584632ed117a2b7cd2de Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 22 十二月 2023 16:14:49 +0800
Subject: [PATCH] 完成接口开发

---
 JiangSu/index.html                  |   68 +++++++++++++++++++++++++++++++++
 JiangSu/Controllers/OpController.cs |   18 ++++++++-
 JiangSu/cs/ModelDAL.cs              |   20 +++++++++
 JiangSu/App_Data/db.sql             |    1 
 JiangSu/App_Data/js.db              |    0 
 5 files changed, 103 insertions(+), 4 deletions(-)

diff --git a/JiangSu/App_Data/db.sql b/JiangSu/App_Data/db.sql
index 63249ec..964eb72 100644
--- a/JiangSu/App_Data/db.sql
+++ b/JiangSu/App_Data/db.sql
@@ -7,5 +7,6 @@
 -- insert into model (name, json) values ('Test', '{"color": "#ffffff", "yaw": 0}');
 
 select * from model;
+select * from model where upper(name) like '%' order by id limit 10 offset 0;
 --------------------------------------------------------------------------------
 
diff --git a/JiangSu/App_Data/js.db b/JiangSu/App_Data/js.db
index e08fa83..ddd015a 100644
--- a/JiangSu/App_Data/js.db
+++ b/JiangSu/App_Data/js.db
Binary files differ
diff --git a/JiangSu/Controllers/OpController.cs b/JiangSu/Controllers/OpController.cs
index 145f3a2..8a3f7b1 100644
--- a/JiangSu/Controllers/OpController.cs
+++ b/JiangSu/Controllers/OpController.cs
@@ -12,6 +12,20 @@
     public class OpController : ApiController
     {
         [HttpGet]
+        public List<Model> SelectByPage(string name, int pageSize = 10, int pageIndex = 1)
+        {
+            try
+            {
+                return ModelDAL.SelectByPage(string.IsNullOrWhiteSpace(name) ? "" : name.ToString(), pageSize, pageIndex);
+            }
+            catch (Exception ex)
+            {
+                LogOut.Error(ex.StackTrace);
+                return null;
+            }
+        }
+
+        [HttpGet]
         public Model SelectById(long id)
         {
             try
@@ -42,13 +56,13 @@
         }
 
         [HttpPost]
-        public int insert([FromBody] Model model)
+        public int Insert([FromBody] Model model)
         {
             try
             {
                 if (null == model) return 0;
 
-                return ModelDAL.insert(model);
+                return ModelDAL.Insert(model);
             }
             catch (Exception ex)
             {
diff --git a/JiangSu/cs/ModelDAL.cs b/JiangSu/cs/ModelDAL.cs
index 45be61d..7ac5217 100644
--- a/JiangSu/cs/ModelDAL.cs
+++ b/JiangSu/cs/ModelDAL.cs
@@ -43,6 +43,24 @@
             return list.ToArray();
         }
 
+        public static List<Model> SelectByPage(string name, int pageSize = 10, int pageIndex = 1)
+        {
+            string sql = string.Format("select * from model where upper(name) like @name order by id limit {0} offset {1}", pageSize, pageSize * (pageIndex - 1));
+
+            SQLiteParameter param = new SQLiteParameter("@name");
+            param.Value = "%" + name.ToUpper() + "%";
+
+            DataTable dt = SQLiteHelper.GetDataTable(sql, param);
+            if (null == dt || dt.Rows.Count == 0)
+            {
+                return null;
+            }
+
+            List<Model> list = ModelHandler.FillModel<Model>(dt);
+
+            return list;
+        }
+
         public static Model SelectById(long id)
         {
             string sql = "select * from model where id = @id";
@@ -69,7 +87,7 @@
             return SQLiteHelper.ExecuteNonQuery(sql);
         }
 
-        public static int insert(Model model)
+        public static int Insert(Model model)
         {
             string sql = "insert into model (name, json) values (@name, @json)";
             SQLiteParameter[] sqlParams = GetParams<Model>(sql, model);
diff --git a/JiangSu/index.html b/JiangSu/index.html
index 497638a..ba890de 100644
--- a/JiangSu/index.html
+++ b/JiangSu/index.html
@@ -1,14 +1,80 @@
 锘�<!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
+  <title>姹熻嫃浜ゆ帶鏅烘収楂橀�熼」鐩�</title>
+  <meta http-equiv="Expires" content="0" />
+  <meta http-equiv="Cache" content="no-cache" />
+  <meta http-equiv="Pragma" content="no-cache" />
+  <meta http-equiv="Cache-control" content="no-cache" />
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title></title>
+  <script src="Scripts/jquery-1.7.1.min.js"></script>
+  <script>
+    $(function () {
+      //
+    });
+
+    function Insert() {
+      var data = getModel();
+
+      ajax("Op/Insert", "POST", data, null, null, function (rs) {
+        console.log(rs);
+        alert(rs);
+      });
+    }
+
+    function UpdateById() {
+      var data = getModel();
+
+      ajax("Op/UpdateById", "POST", data, null, null, function (rs) {
+        console.log(rs);
+        alert(rs);
+      });
+    }
+
+    function getModel() {
+      var model = {
+        id: $("#id").val(),
+        name: $("#name").val(),
+        json: $("#json").val()
+      };
+
+      return JSON.stringify(model);
+    }
+
+    function ajax(url, type, data, dataType, contentType, fn) {
+      $.ajax({
+        url: url,
+        type: type,
+        data: data,
+        dataType: dataType || "json", // html銆乯son銆乯sonp銆乻cript銆乼ext
+        contentType: contentType || "application/json", // "application/x-www-form-urlencoded"
+        success: function (data) {
+          fn(data);
+        },
+        error: function (e) {
+          console.error(e);
+        }
+      });
+    }
+  </script>
 </head>
 <body>
   <a href="http://localhost/JiangSu/Values/Get">GetValues</a> <br />
 
+  <a href="http://localhost/JiangSu/Op/SelectByPage?pageSize=10&pageIndex=1&name=">SelectByPage?pageSize=10&pageIndex=1&name=</a> <br />
+
   <a href="http://localhost/JiangSu/Op/SelectById?id=1">SelectById?id=1</a> <br />
 
   <a href="http://localhost/JiangSu/Op/DeleteByIds?ids=2,3">DeleteByIds?ids=2,3</a> <br />
+
+  <form>
+    <input id="id" name="id" value="3" /> <br />
+    <input id="name" name="name" value="A" /> <br />
+    <input id="json" name="json" value="{}" /> <br />
+
+    <input type="button" value="Insert" onclick="Insert();" />
+    <input type="button" value="UpdateById" onclick="UpdateById();" /><br />
+  </form>
 </body>
 </html>

--
Gitblit v1.9.3