tuowang用户中心项目

tuowang用户中心项目

小作文

​ 2024.7.26,纪念成为个人站长的第一天,秉持着先上后测,先写后走的原则,晚上熬夜把耗时10天的项目干完就直接上线了。小测一波bug非常多,不过无所谓以后慢慢再改吧。其实凌晨2点30分写下这些文字心里确实还是很开心的,从头到尾跑通项目全栈从搭建环境一直到项目上线的完整流程,真的能给人很大的满足感,其中的难受估计也只有自己做过一遍才能知道。所有操作都是第一次摸索,包括无数次遇到逆天bug一小时都解决不了,用自己2小时速通的前端基础在网上寻找怎么用typescript实现页面嵌套子组件功能,到上线功能时发现之前打包好的前端文件中要改api地址,以及买服务器,买数据库,连接数据库,申请域名,域名解析,跨域连接,配置宝塔linux等等一系列操作。本人只有javaweb后端基础,但是为了项目完整性,前端项目我还是得跟着敲,看着22年的视频用着24年的环境,这种感觉实操一下就能感同身受,所有版本更新引发的问题都要自己上网搜,问题是还很难搜的到,举个例子别人用的maven 3.5.3+jdk1.8,但是现在idea得用maven 3.6.3+jdk17了,包括idea里的compile配置,命令行环境变量,java版本全都得修改,byd idea改配置还玄学搞人搞完不生效,真的搞人心态。再多的也不说了,总之每天上班还要学习,下班还要做项目,确实下了不少功夫。最近也是刷到雷总的视频,”我在图书馆里看了一本书 硅谷之火,从那个时候开始有了梦想,要做一个伟大的人,要办一家伟大的公司,要为全球大多数人服务。”“科技不再是高高再上,而是服务于人民 ”真的很感慨。(不知道以后我会不会觉得这很矫情呢)

项目介绍

介绍:tuowang用户中心项目是一款用于用户注册,登录以及管理员进行账号管理的项目,目前实现的功能是用户可以根据唯一的星球编号注册账号以及登录,管理员可以在后台管理用户权限,删除账号等功能

后续todo:

​ 1.管理员创建用户,修改用户信息,删除用户

​ 2.上传头像

​ 3.根据更多的条件查询用户

​ 4.修改bug

项目地址:https://github.com/haoleliu/user-center-backend(后端,前端后面再上传)

项目访问网址:http://user.tuowang123.fun/

项目概览:image-20240726030056256

技术选型

前端:三件套 + React + 组件库 Ant Design + Umi+ Ant Design Pro(现成的管理系统)

后端:

  • java
  • spring(依赖注入框架,帮助你管理 Java 对象,集成一些其他的内容)·springmvc(web 框架,提供接口访问、restful接口等能力)·mybatis(ava 操作数据库的框架,持久层框架,对idbc 的封装)mybatis-plus(对 mybatis 的增强,不用写 sql 也能实现增删改查)
  • springboot (快速启动/快速集成项目。不用自己管理 spring 配置,不用自己整合各种框架)
  • junit 单元测试库
  • mysql 数据库
  • 部署:服务器/容器(平台)

项目制作流程

前期写代码

写代码主要有以下几步

1.前端构建

使用开箱即用的ant-design脚手架,快速开始参考https://pro.ant.design/zh-CN/docs/getting-started/

删掉一些不用的组件,保留核心组件

2.后端构建

使用springboot+mysql+mybatis

3.编写前后端代码

前端包括根据ant-design的框架写一些接口,后端也是写接口,用户注册登录逻辑。

4.创建数据库

本地先建表,然后后端写增删改查语句。

5.本地前后端联调

在本地前后端要加上api代理,调试到本地能正常运行

后期部署上线

部署需要以下几个步骤

1.打包

前端打包出一个dist文件夹,后端打包成jar包

2.部署

腾讯云免费开一个月的云服务器,以及一个月的云数据库,用宝塔linux一键部署,dist放在与云服务公网ip相同的文件夹下,jar放在user-backend文件夹里。注意部署之前前端的globalRequests要改自己的云服务器地址

const request = extend({
  credentials: 'include', // 默认请求是否带上cookie
  prefix: process.env.NODE_ENV === 'production' ? 'http://user-backend.tuowang123.fun' : undefined
  // requestType: 'form',
});

3.申请域名

我是申请的阿里域名,一年10块钱。申请完域名解析,然后在宝塔网站上添加。

这个时候宝塔应该是以下这样

image-20240726032200704

image-20240726032210493

4.处理跨域问题

backend的配置文件加上代码

location ^~ /api/ {
    proxy_pass http://127.0.0.1:8080/api/;
    add_header 'Access-Control-Allow-Origin' $http_origin;
    add_header 'Access-Control-Allow-Credentials' 'true';
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers '*';
    if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Origin' $http_origin;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Max-Age' 1728000;
        add_header 'Content-Type' 'text/plain; charset=utf-8';
        add_header 'Content-Length' 0;
        return 204;
    }
}

至此项目部署上线完毕。

posted @ 2024-07-26 03:25  vast_joy  阅读(9)  评论(0编辑  收藏  举报