群控系统服务端开发模式-应用开发-业务架构逻辑开发准备工作

        安装与仓库已经调整完毕,现在开发业务架构逻辑,其次再开发功能逻辑。业务架构逻辑开发与功能逻辑开发不是一回事,一定要明白。业务架构指的是做某一件事或是某一种类型的事的逻辑,在互联网web应用中通常指一套系统的外在逻辑,比如说平台端或是客户端等,它是由前后端联合在一起使用的逻辑。而功能逻辑指的是某一件事分成很多块,而每一块就是一种功能逻辑。

        根据《群控系统服务端开发模式-程序草图设计》就能发现,今天第一个要解决的就是Base.php及Emptys.php。

一、入口文件index.php

        添加网页前端跨域、字符集及添加环境配置的设置值。

<?php
// [ 应用入口文件 ]
namespace think;
//去除前端跨域
header("Content-type:text/html;charset=utf-8");
/*header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Methods: GET, POST");
header('Access-Control-Allow-Headers: content-type,Authorization');*/
require __DIR__ . '/../vendor/autoload.php';
// 执行HTTP应用并响应
$http = (new App())->setEnvName('development')->http;
$response = $http->run();
$response->send();
$http->end($response);

二、复制环境配置文件(.example.env)

        1、一份是测试环境、一份是正式环境,一共两份。

                a、测试环境配置文件命名为:.env.development

                b、正式环境配置文件命名为:.env.production

        2、将根目录下的.gitignore文件复制一份到public目录下

                a、将根目录.gitignore文件中的.env删除掉

                b、将public目录.gitignore文件中的.env删除掉并添加index.php

        3、修改路由文件配置

                a、将config文件目录下的route.php文件中是否强制使用路由参数的值修改为true

// 是否强制使用路由
'url_route_must'        => true

                b、向route目录下的app.php文件中加入以下代码

Route::miss('Emptys/index');

        4、创建Emptys.php控制文件

                a、在app目录中controller文件下,新建Emptys.php文件,输入如下代码

<?php
/**
 * 全局空处理
 * User: 龙哥 三年风水
 * Date: 2024/10/26/0026
 * Time: 21:18
 */
namespace app\controller;
use app\BaseController;

class Emptys extends BaseController
{
    public function index(){
        return err('正在开发中,敬请期待!');
    }
}

        5、添加几个函数(框架常用函数)

                a、err函数(错误类型)

                b、succ函数(成功类型)

                c、warn函数(警告类型)

                d、info函数(信息类型)

<?php
// 应用公共文件
if (!function_exists('succ')) {
    /**
     * 请求成功返回
     * @ param string $msg
     * @ param array $data
     * @ return \think\response\Json
     */
    function succ($msg = '操作成功' , $data = []){
        $result['code'] = 20000;  // 状态码
        $result['message'] = $msg;   // 提示信息
        $result['time'] = time(); // 请求返回时间
        $result['data'] = count($data) > 0 ? $data : 'SUCCESS';  // 请求返回数据
        return json($result);
    }
}
if (!function_exists('err')){
    /**
     * 请求失败返回-错误
     * @ param string $msg
     * @ return \think\response\Json
     */
    function err($msg = '操作失败'){
        $result['code'] = 50000;  // 状态码
        $result['message'] = $msg;   // 提示信息
        $result['time'] = time(); // 请求返回时间
        $result['data'] = 'ERROR';  // 请求返回数据
        return json($result);
    }
}
if (!function_exists('warn')){
    /**
     * 请求失败返回-警告
     * @ param string $msg
     * @ return \think\response\Json
     */
    function warn($msg = '违反系统操作'){
        $result['code'] = 50034;  // 状态码
        $result['message'] = $msg;   // 提示信息
        $result['time'] = time(); // 请求返回时间
        $result['data'] = 'WARNING';  // 请求返回数据
        return json($result);
    }
}
if (!function_exists('info')){
    /**
     * 请求失败返回-指示提醒
     * @ param string $msg
     * @ param int $code
     * @ return \think\response\Json
     */
    function info($msg = '请规范操作', $code = 50000){
        $result['code'] = $code;  // 状态码
        $result['message'] = $msg;   // 提示信息
        $result['time'] = time(); // 请求返回时间
        $result['data'] = 'INFO';  // 请求返回数据
        return json($result);
    }
}

三、提前说明

        明天将会带来创建管理员表及管理员控制开发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/901779.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

知识见闻 - 磁力片原理

磁力片是一种利用磁性原理设计的玩具&#xff0c;它的工作原理和磁性方向的排列方式非常有趣。让我们深入了解一下磁力片的核心原理和磁性方向的特点。 磁力片的基本原理 磁力片的工作原理基于磁铁的基本特性。每个磁力片都包含多个小磁铁&#xff0c;这些磁铁被精心排列&#…

强化学习数学原理学习(一)

前言 总之开始学! 正文 先从一些concept开始吧,有一个脉络比较好 state 首先是就是状态和状态空间,显而易见,不多说了 action 同理,动作和动作空间 state transition 状态转换,不多说 policy 策略,不多说 reward 奖励,不多说 MDP(马尔科夫) 这里需要注意到就是这个是无…

小程序视频SDK解决方案,提供个性化开发和特效定制设计

美摄科技作为视频处理技术的领航者&#xff0c;深知在这一变革中&#xff0c;每一个细微的创新都能激发无限可能。因此&#xff0c;我们精心打造了一套小程序视频SDK解决方案&#xff0c;旨在满足不同行业、不同规模客户的多元化需求&#xff0c;携手共创视频内容的璀璨未来。 …

守护头顶安全——AI高空抛物监测,让悲剧不再重演

在城市的喧嚣中&#xff0c;我们享受着高楼林立带来的便捷与繁华&#xff0c;却往往忽视了那些隐藏在高空中的危险。近日&#xff0c;震惊全国的高空抛物死刑案件被最高院核准并执行。案件中被告人多次高空抛物的举动&#xff0c;夺去了无辜者的生命&#xff0c;也让自己付出了…

Leetcode11:盛水最多的容器

原题地址&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳…

Docker本地安装Minio对象存储

Docker本地安装Minio对象存储 1. 什么是 MinIO&#xff1f; MinIO 是一个开源的对象存储服务器。这意味着它允许你在互联网上存储大量数据&#xff0c;比如文件、图片、视频等&#xff0c;而不需要依赖传统的文件系统。MinIO 的特点在于它非常灵活、易于使用&#xff0c;同时…

Pr 视频效果:波形变形

视频效果/扭曲/波形变形 Distort/Wave Warp 波形变形 Wave Warp效果用于在剪辑上创建类似波浪的动态变形效果。 此效果会自动动画化&#xff0c;波形以恒定速度移动。要改变速度或停止波动&#xff0c;需要设置关键帧。 ◆ ◆ ◆ 效果选项说明 通过调整波形的类型、高度、宽度…

(六)问题记录,simulink仿真出现模型碰撞后穿越

明明已经设置了车轮和地面之间的 spatial contact force&#xff0c;可是还会出现模型穿越&#xff08;重力作用下自由落体&#xff09;&#xff0c;如下图所示。 可仅降低小车初始高度后就不会穿越&#xff0c;如下图所示。 初步怀疑是小车初始高度大的话&#xff0c;小车在和…

【原创】统信UOS如何安装最新版Node.js(20.x)

注意直接使用sudo apt install nodejs命令安装十有八九会预装10.x的老旧版本Node.js&#xff0c;如果已经安装的建议删除后安装如下方法重装。 在统信UOS系统中更新Node.js可以通过以下步骤进行&#xff1a; 1. 卸载当前版本的Node.js 首先&#xff0c;如果系统中已经安装了N…

Kafka消费者故障,出现活锁问题如何解决?

大家好&#xff0c;我是锋哥。今天分享关于【Kafka消费者故障&#xff0c;出现活锁问题如何解决&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; Kafka消费者故障&#xff0c;出现活锁问题如何解决&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资…

照片怎么转换成pdf?盘点6种图片转pdf格式有效方法,直击要点!

照片怎么转换成pdf&#xff1f;在日常生活和工作中&#xff0c;我们难免会碰到需要将照片以pdf格式保存的情况&#xff0c;以便于更好的整理、分享或打印。虽然jpg格式的图片因其体积小而方便分享&#xff0c;但有时我们也希望将这些图片转换成pdf格式&#xff0c;以便于创建专…

《自动驾驶技术的深度思考:安全与伦理的挑战》

内容概要 在当今这个自动驾驶技术飞速发展的时代&#xff0c;我们生活的节奏恰似一场疾驰的赛车&#xff0c;然而&#xff0c;赛道上并非总是平坦。在这场技术革命中&#xff0c;安全与伦理问题像是潜伏在阴影中的幽灵&#xff0c;轮番考验着我们的道德底线与法律界限。 随着…

圆柱形腔体谐振器理论分析-20241027

圆柱形腔体谐振器 谐振电路在电子工程中起着非常重要的作用。在低频段&#xff0c;谐振电路通常由集总参数的电感和电容构成&#xff0c;即为LC谐振电路&#xff0c;其品质因数通常为数百。当频率升高到微波频段时&#xff0c;电路的尺寸与电磁波的波长可以比拟&#xff0c;集…

微信小程序——消息订阅

首先用到的就是wx.requestSubscribeMessage接口。 注意&#xff1a;用户发生点击行为或者发起支付回调后&#xff0c;才可以调起订阅消息界面 requestSubscribeMessage() {uni.requestSubscribeMessage({tmplIds: [],//需要订阅的消息模板的id的集合&#xff0c;一次调用最多可…

vscode配色主题与图标库推荐

vscode配色主题推荐:Andromedavsocde图标库&#xff1a; vscode-icons Andromeda Dark theme with a taste of the universe 仙女座&#xff1a;一套宇宙深空体验的哑暗色主题; 高对比度,色彩饱和; Easy Installation Open the extensions sidebar on Visual Studio CodeSear…

arm架构 ubuntu 部署docker

如果有旧版本需要卸载 sudo apt remove docker docker-engine docker-ce docker.io 安装依赖包 sudo apt update && apt install -y apt-transport-https ca-certificates curl software-properties-common 添加docker秘钥 阿里云 curl -fsSL http://mirrors.aliyu…

Java应用程序的测试覆盖率之设计与实现(三)-- jacoco cli 客户端

一、背景 上文已把覆盖率数据采集好了,并提供远程连接的tcp地址及端口。 jacoco cli文档jacoco cli jar包jacococli.jar 我下载好了,放在github工程里。 本文主要是介绍如何使用jacoco cli 客户端读取并生成覆盖率报告。 二、使用 1、dump覆盖率统计 java -jar doc/jacoc…

基于java的山区环境监督管理系统(源码+定制+开发)环境数据可视化、环境数据监测、 环境保护管理 、污染防治监测系统 大数据分析

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

双子塔楼宇可视化系统:提升建筑管理与运营效率

利用图扑可视化技术对双子塔楼宇的各项功能进行实时监控和管理。通过数据分析优化资源配置&#xff0c;提高能源效率&#xff0c;增强楼宇安全性&#xff0c;实现智能化运营。

提示工程(Prompt Engineering)指南(进阶篇)

在 Prompt Engineering 的进阶阶段&#xff0c;我们着重关注提示的结构化、复杂任务的分解、反馈循环以及模型的高级特性利用。随着生成式 AI 技术的快速发展&#xff0c;Prompt Engineering 已经从基础的单一指令优化转向了更具系统性的设计思维&#xff0c;并应用于多轮对话、…