flask + mysql + 微信小程式開發的校園微信報修小程式

使用 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 實現的頁面是什麼樣 ?

微信小程式端頁面是什麼樣 ?

結束語

學習需要方法 , 知識重在積累 。沒有做不到 , 只有想不到 。