博主介紹:?全網(wǎng)粉絲5W,全棧開發(fā)工程師,從事多年軟件開發(fā),在大廠呆過。持有軟件中級、六級等證書??商峁┪⒎枕椖看罱ㄅc畢業(yè)項目實戰(zhàn),博主也曾寫過優(yōu)秀論文,查重率極低,在這方面有豐富的經(jīng)驗?
博主作品:《Java項目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue等前后端分離項目,可以在左邊的分類專欄找到更多項目?!禪niapp項目案例》有幾個有uniapp教程,企業(yè)實戰(zhàn)開發(fā)?!段⒎諏崙?zhàn)》專欄是本人的實戰(zhàn)經(jīng)驗總結(jié),《Spring家族及微服務系列》專注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源碼解讀、熱門面試題、架構(gòu)設計等。除此之外還有不少文章等你來細細品味,更多驚喜等著你哦
??uniapp微信小程序??面試題軟考題免費使用,還可以使用ChatGPT,微信支付,掃碼加群
點擊這里預覽
??文末獲取聯(lián)系??精彩專欄推薦訂閱???????? 不然下次找不到喲
Java項目案例《100套》
https://blog.csdn.net/qq_57756904/category_12173599.html
uniapp小程序《100套》https://blog.csdn.net/qq_57756904/category_12199600.html
有需求代碼永遠寫不完,而方法才是破解之道,而選擇方向不對收獲甚微,抖音有實戰(zhàn)視頻課程,某馬某千等培訓都是2萬左右,甚至廣東有本科院校單單一年就得3萬4年就12萬學費,而且還沒有包括吃飯的錢。所以很劃算了。另外博客左側(cè)有源碼閱讀專欄,對于求職有很大幫助,當然對于工作也是有指導意義等。在大城市求職,你面試來回一趟多多少少都在12塊左右,而且一般不會一次性就通過,還得面試幾家。而如果你對源碼以及微服務等有深度認識,這無疑給你的面試添磚加瓦更上一層樓。
最后再送一句:最好是學會了,而不是學廢了!?。?/p>
0
一、前言
基于Uniapp+Vue3+TypeScript的微信小程序,Uniapp具備多端部署的特性,后期也可能考慮進行多端部署。
? ? 誠海網(wǎng)絡技術(shù)(考學寶)系列已經(jīng)成熟了,并衍生出一系列其他類別的小程序,如健身約課、求職招聘等。經(jīng)過小中大廠、單體、微服務的洗禮以及對源碼底層理解后,決定沉淀出一些自己總結(jié)的成果。
? ??該系列產(chǎn)品有著復用代碼特性,可以做到一處編碼到處可用,提高代碼的可維護性與簡潔性,提高編碼效率降低開發(fā)成本。系統(tǒng)也有著內(nèi)核設計,擴展了底層框架以滿足更加復雜的需求。本系統(tǒng)也是在受微服務影響下完成的,對于改造成微服務也是比較絲滑的事情。
功能架構(gòu)如下所示
-
管理后臺的web端:Vue3 提供ant-design-vue)版本,Vue2 提供element-ui版本
-
管理后臺的移動端:采用uni-app方案,一份代碼多終端適配,同時支持 APP、小程序、H5!
-
后端采用 SpringBoot架構(gòu),對于改造微服務也是絲滑的事情。
-
數(shù)據(jù)庫可使用 MySQL,ORM基于 MyBatis Plus、Redis + Redisson?
-
權(quán)限認證使用 Spring Security & Token & Redis,權(quán)限模型基于RBAC
-
支持加載動態(tài)權(quán)限菜單,按鈕級別權(quán)限控制,Redis 緩存提升性能
-
支持多租戶系統(tǒng)
-
高效率開發(fā),使用代碼生成器可以一鍵生成 Java代碼
-
實時通信,采用 WebSocket 實現(xiàn),內(nèi)置 Token 身份校驗
-
集成微信小程序三方登陸,集成支付寶、微信等支付
-
集成 MinIO云存儲服務
-
支持皮膚切換,提供多套風格讓用戶選擇
-
支持Docker容器化部署,Nginx反向代理等
-
具有ChatGPT功能,學習、工作、情感以及生活都可以向她咨詢提問獲得優(yōu)質(zhì)答案
以上就是 誠海網(wǎng)絡技術(shù)(考學寶)系列產(chǎn)品的特性,接下來的求職招聘小程序也是建立在此基礎上。
二、系統(tǒng)設計簡述
1、系統(tǒng)運行環(huán)境
開發(fā)系統(tǒng):Windows10
架構(gòu)模式:MVC/前后端分離
JDK版本:Java8
開發(fā)工具:IDEA
數(shù)據(jù)庫版本: mysql5.7或以上
數(shù)據(jù)庫可視化工具: SQL yog或Navicat for MySQL
服務器:SpringBoot自帶 apache tomcat
主要技術(shù):Java、SpringBoot、MyBatis-plus、MySQL、WebSocket、Redis、Minio、Uniapp、Vue3、Elementui等
2、系統(tǒng)架構(gòu)設計 ?
三、需求分析簡介
? ? 招聘平臺系統(tǒng)的用戶共分為三類:個人用戶、企業(yè)用戶、管理員。
1、個人用戶
? ? 求職用戶首先完成注冊登錄,維護自己的簡歷信息,也可以實時瀏覽企業(yè)發(fā)布的招聘信息,按自己的要求篩選出合適的企業(yè)從而決定投遞簡歷、可以收藏職位、關注企業(yè),并可以在企業(yè)應答之后收到相應的回復、查看面試信息等。求職用戶的用例圖如圖3-1所示。
?
圖3-1 個人用戶用例圖
2、企業(yè)用戶
? ? 企業(yè)用戶首先注冊將用戶信息錄入系統(tǒng),登錄后先完成企業(yè)認證等待系統(tǒng)管理員審核,審核通過后發(fā)布招聘崗位,也可以實時瀏覽求職者投遞的簡歷進行篩選,簡歷通過的就可以發(fā)送面試通知。企業(yè)用戶的用例圖如圖3-2所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖3-2 企業(yè)用戶用例圖
3、管理員
? ? 管理員首先完成注冊登錄,可以進行用戶管理、角色管理以及授予系統(tǒng)權(quán)限,手動操作企業(yè)認證審核的流程、手動操作職位認證審核以及職位分類的管理維護。管理員的用例圖如圖3-3所示。
四、功能截圖
1、
2、
3、
3.1、
4、
4.1、
5、
6、
7、
7.1、
7.2、
7.3、
8、
9、
9.1、
9.2、
10、
五、代碼實現(xiàn)?
1、用戶控制器
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/api/users")
public class CeamSysUserController {
private final ICeamSysUserService ceamSysUserService;
@GetMapping
public ResponseEntity page(PageableDTO pageableDTO) {
IPage<CeaMSysUserVO> ceaMSysUserVOIPage = ceamSysUserService.pageCeaMSysUserVO(pageableDTO);
return ResponseEntity.ok(ceaMSysUserVOIPage);
}
@PostMapping
public ResponseEntity<Object> add(@RequestBody CeaMSysUserDTO data) {
ceamSysUserService.add(data);
return ResponseEntity.ok("成功");
}
@PutMapping
public ResponseEntity<Object> edit(@RequestBody CeaMSysUserDTO data) {
ceamSysUserService.edit(data);
return ResponseEntity.ok("成功");
}
@DeleteMapping
public ResponseEntity<Object> add(@RequestParam String id) {
ceamSysUserService.remove(Long.parseLong(id));
return ResponseEntity.ok("成功");
}
}
2、用戶服務接口
/**
* <p>
* 用戶表 服務類
* </p>
*
* @author CeaM
* @since 2023-01-28
*/
public interface ICeamSysUserService extends IService<CeamSysUser> {
/**
* 分頁查詢
*
* @param pageableDTO 分頁入?yún)? * @return 分頁數(shù)據(jù)
*/
IPage<CeaMSysUserVO> pageCeaMSysUserVO(PageableDTO pageableDTO);
/**
* 根據(jù)賬號加載用戶信息
*
* @param userName 用戶賬號
* @return CeaMSysUserDTO
*/
CeaMSysUserDTO loadUserInfo(String userName);
/**
* 添加用戶
*
* @param data 前端入?yún)? */
void add(CeaMSysUserDTO data);
/**
* 修改用戶
*
* @param data 前端入?yún)? */
void edit(CeaMSysUserDTO data);
/**
* 根據(jù)用戶ID刪除用戶
*
* @param id userId
*/
void remove(Long id);
}
3、服務實現(xiàn)類
@Service
public class CeamSysUserServiceImpl
extends ServiceImpl<CeamSysUserMapper, CeamSysUser> implements ICeamSysUserService {
@Override
public IPage<CeaMSysUserVO> pageCeaMSysUserVO(PageableDTO pageableDTO) {
LambdaQueryWrapper<CeamSysUser> queryWrapper = Wrappers.<CeamSysUser>lambdaQuery()
.eq(CeamSysUser::getDeleted, GlobalConstants.FALSE);
Page<CeamSysUser> page = new Page<>(pageableDTO.getPage(), pageableDTO.getSize());
page.setCurrent((long)pageableDTO.getPage() + GlobalConstants.ONE);
Page<CeamSysUser> ceamSysUserPage = page(page, queryWrapper);
IPage<CeaMSysUserVO> ceaMSysUserVOIPage = PageVOUtil.copyToPageVO(ceamSysUserPage, CeaMSysUserVO.class);
return ceaMSysUserVOIPage;
}
@Override
public CeaMSysUserDTO loadUserInfo(String userName) {
LambdaQueryWrapper<CeamSysUser> queryWrapper = Wrappers.<CeamSysUser>lambdaQuery()
.eq(CeamSysUser::getUsername, userName);
CeamSysUser ceamSysUser = baseMapper.selectOne(queryWrapper);
if (ObjectUtils.isEmpty(ceamSysUser)) {
throw new ServiceException("賬號不存在");
}
if (ceamSysUser.getStatus() == GlobalConstants.ONE) {
throw new ServiceException("賬號已禁用");
}
CeaMSysUserDTO ceaMSysUserDTO = BeanCopyUtil.copyProperties(ceamSysUser, CeaMSysUserDTO.class);
return ceaMSysUserDTO;
}
@Override
public void add(CeaMSysUserDTO data) {
CeamSysUser ceamSysUser = BeanCopyUtil.copyProperties(data, CeamSysUser.class);
save(ceamSysUser);
}
@Override
public void edit(CeaMSysUserDTO data) {
CeamSysUser ceamSysUser = BeanCopyUtil.copyProperties(data, CeamSysUser.class);
updateById(ceamSysUser);
}
@Override
public void remove(Long id) {
removeById(id);
}
}
六、uniapp視頻教程與SpringBoot項目實戰(zhàn)視頻教程
點擊這里拉到底部文章來源:http://www.zghlxwxcb.cn/news/detail-757602.html
七、獲取源碼
?大家點贊、收藏、關注、評論啦?、非開源商業(yè)使用需要授權(quán)關注下方公眾號獲取聯(lián)系方式????????文章來源地址http://www.zghlxwxcb.cn/news/detail-757602.html
到了這里,關于基于Java+SpringBoot+Vue3+Uniapp+TypeScript(有視頻教程)前后端分離的求職招聘小程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!