flask + mysql + 微信小程式開發的校園微信報修小程式
- 2020 年 4 月 1 日
- 筆記
使用 flask + mysql + 微信小程式開發的校園微信報修小程式,簡單易懂。
為什麼會產生這樣一個系統 ?
最近收到不少博友的消息 ,對微信小程式開發整體流程不是很了解 , 希望得到我的幫助 , 因之前版本的微信小程式,後端均由 Java 完成 , 基礎不好的朋友一時難以看懂 ,所有我選擇了一個非常容易上手的框架 flask 結合微信小程式原生開發完成整個系統 。
我為什麼選擇 flask 做為後端框架 ?
flask 具有輕巧、簡介、擴展性強等特點 , 非常適合小型系統開發 , 具有一定的編程基礎即可快速上手 , 本文中 flask 搭建的後台管理和 api 系統是我零基礎 flask ,但僅花兩天的時間編寫的 ,感受是非常簡單 。因為我一直是做 Java 開發的 , 這次使用 flask 做小系統非常快 , 推薦給基礎薄弱的朋友和想快速開發小型系統的朋友使用 flask 。
系統包含哪些主要知識點 ?
微信小程式 |
flask |
---|---|
授權登錄 |
用戶登錄、獲取微信用戶資訊 |
下拉刷新 |
用戶管理(增刪改查) |
載入更多 |
報修管理、圖片保存 |
頁面編寫 |
請求網路介面、對外提供 api |
表單操作 |
操作 mysql 資料庫,使用 redis 快取 |
圖片上傳 |
session 登錄驗證 |
介面調用 |
layui 編寫後台頁面 |
資料庫表設計(欄位長度根據實際情況調整為合適長度即可)
報修資訊表
CREATE TABLE `repair_service_sheet` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵', `teacherId` int(11) NULL DEFAULT NULL COMMENT '報修人id', `type` tinyint(11) NULL DEFAULT NULL COMMENT '報修類型', `status` tinyint(11) NULL DEFAULT NULL COMMENT '報修單狀態', `repairDate` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '報修時間', `address` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '報修地址', `description` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '故障描述', `imageUrl` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '故障圖片', `message` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '留言', `evaluate` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '意見和建議', `reason` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '故障原因', `consumables` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '故障耗材', `applicantName` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '申請人姓名', `remarks` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '備註', `mobile` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '申請人聯繫電話', `star` tinyint(4) NULL DEFAULT NULL COMMENT '幾顆星', `radioUrl` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '語音url', `evaluateDate` datetime(0) NULL DEFAULT NULL COMMENT '評價時間', `openid` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `campus` int(11) NULL DEFAULT 1 COMMENT '學校', `finishTime` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '維修完成時間', `allocatedTime` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任務分配時間', `detail` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '故障處理說明', `repairCancelReason` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '報修取消原因', `repairCancelReasonRemark` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '報修取消原因備註', `repairCancelDate` datetime(0) NULL DEFAULT NULL COMMENT '報修取消時間', `location` tinyint(4) NULL DEFAULT NULL COMMENT '位置名稱', `guarantee` tinyint(4) NULL DEFAULT NULL COMMENT '是否在保修期 1、處於保修期 2、未在保修期', `fundingSources` tinyint(4) NULL DEFAULT NULL COMMENT '經費來源', `level` tinyint(4) NULL DEFAULT 3, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 602 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
用戶資訊表
CREATE TABLE `ideamerry_repair_v3`.`Untitled` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `userType` int(11) NULL DEFAULT NULL, `userPassword` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `email` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `mobile` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `openId` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `nickName` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `avatarUrl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `sex` int(11) NULL DEFAULT NULL, `province` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `city` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `tags` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `avialable` int(11) NULL DEFAULT NULL, `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `gender` int(11) NULL DEFAULT NULL, `language` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, `isDelete` int(11) NOT NULL DEFAULT 0, `campus` int(11) NULL DEFAULT NULL COMMENT '管理員的校區', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `use_name`(`userName`) USING BTREE COMMENT '唯一' ) ENGINE = InnoDB AUTO_INCREMENT = 36 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
flask + layui 實現的頁面是什麼樣 ?
微信小程式端頁面是什麼樣 ?
結束語
學習需要方法 , 知識重在積累 。沒有做不到 , 只有想不到 。