├── LICENSE ├── README.md ├── alico-chat-admin ├── .gitignore ├── LICENSE ├── README.md ├── smart-admin-api │ ├── .gitignore │ ├── pom.xml │ ├── sa-admin │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── net │ │ │ │ │ └── lab1024 │ │ │ │ │ └── sa │ │ │ │ │ └── admin │ │ │ │ │ ├── AdminApplication.java │ │ │ │ │ ├── config │ │ │ │ │ ├── MvcConfig.java │ │ │ │ │ └── OperateLogAspectConfig.java │ │ │ │ │ ├── constant │ │ │ │ │ ├── AdminCacheConst.java │ │ │ │ │ ├── AdminRedisKeyConst.java │ │ │ │ │ └── AdminSwaggerTagConst.java │ │ │ │ │ ├── interceptor │ │ │ │ │ └── AdminInterceptor.java │ │ │ │ │ ├── listener │ │ │ │ │ └── AdminStartupRunner.java │ │ │ │ │ ├── module │ │ │ │ │ ├── business │ │ │ │ │ │ ├── banner │ │ │ │ │ │ │ ├── Banner.kt │ │ │ │ │ │ │ └── CarouselDB.kt │ │ │ │ │ │ ├── category │ │ │ │ │ │ │ ├── constant │ │ │ │ │ │ │ │ └── CategoryTypeEnum.java │ │ │ │ │ │ │ ├── controller │ │ │ │ │ │ │ │ └── CategoryController.java │ │ │ │ │ │ │ ├── dao │ │ │ │ │ │ │ │ └── CategoryDao.java │ │ │ │ │ │ │ ├── domain │ │ │ │ │ │ │ │ ├── dto │ │ │ │ │ │ │ │ │ ├── CategoryBaseDTO.java │ │ │ │ │ │ │ │ │ └── CategorySimpleDTO.java │ │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ │ └── CategoryEntity.java │ │ │ │ │ │ │ │ ├── form │ │ │ │ │ │ │ │ │ ├── CategoryAddForm.java │ │ │ │ │ │ │ │ │ ├── CategoryTreeQueryForm.java │ │ │ │ │ │ │ │ │ └── CategoryUpdateForm.java │ │ │ │ │ │ │ │ └── vo │ │ │ │ │ │ │ │ │ ├── CategoryTreeVO.java │ │ │ │ │ │ │ │ │ └── CategoryVO.java │ │ │ │ │ │ │ ├── manager │ │ │ │ │ │ │ │ └── CategoryCacheManager.java │ │ │ │ │ │ │ └── service │ │ │ │ │ │ │ │ ├── CategoryQueryService.java │ │ │ │ │ │ │ │ └── CategoryService.java │ │ │ │ │ │ ├── goods │ │ │ │ │ │ │ ├── constant │ │ │ │ │ │ │ │ └── GoodsStatusEnum.java │ │ │ │ │ │ │ ├── controller │ │ │ │ │ │ │ │ └── GoodsController.java │ │ │ │ │ │ │ ├── dao │ │ │ │ │ │ │ │ └── GoodsDao.java │ │ │ │ │ │ │ ├── domain │ │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ │ └── GoodsEntity.java │ │ │ │ │ │ │ │ ├── form │ │ │ │ │ │ │ │ │ ├── GoodsAddForm.java │ │ │ │ │ │ │ │ │ ├── GoodsImportForm.java │ │ │ │ │ │ │ │ │ ├── GoodsQueryForm.java │ │ │ │ │ │ │ │ │ └── GoodsUpdateForm.java │ │ │ │ │ │ │ │ └── vo │ │ │ │ │ │ │ │ │ ├── GoodsExcelVO.java │ │ │ │ │ │ │ │ │ └── GoodsVO.java │ │ │ │ │ │ │ └── service │ │ │ │ │ │ │ │ └── GoodsService.java │ │ │ │ │ │ ├── oa │ │ │ │ │ │ │ ├── bank │ │ │ │ │ │ │ │ ├── BankController.java │ │ │ │ │ │ │ │ ├── BankDao.java │ │ │ │ │ │ │ │ ├── BankService.java │ │ │ │ │ │ │ │ └── domain │ │ │ │ │ │ │ │ │ ├── BankCreateForm.java │ │ │ │ │ │ │ │ │ ├── BankEntity.java │ │ │ │ │ │ │ │ │ ├── BankQueryForm.java │ │ │ │ │ │ │ │ │ ├── BankUpdateForm.java │ │ │ │ │ │ │ │ │ └── BankVO.java │ │ │ │ │ │ │ ├── enterprise │ │ │ │ │ │ │ │ ├── EnterpriseController.java │ │ │ │ │ │ │ │ ├── EnterpriseEmployeeManager.java │ │ │ │ │ │ │ │ ├── EnterpriseService.java │ │ │ │ │ │ │ │ ├── constant │ │ │ │ │ │ │ │ │ └── EnterpriseTypeEnum.java │ │ │ │ │ │ │ │ ├── dao │ │ │ │ │ │ │ │ │ ├── EnterpriseDao.java │ │ │ │ │ │ │ │ │ └── EnterpriseEmployeeDao.java │ │ │ │ │ │ │ │ └── domain │ │ │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ │ ├── EnterpriseEmployeeEntity.java │ │ │ │ │ │ │ │ │ └── EnterpriseEntity.java │ │ │ │ │ │ │ │ │ ├── form │ │ │ │ │ │ │ │ │ ├── EnterpriseCreateForm.java │ │ │ │ │ │ │ │ │ ├── EnterpriseEmployeeForm.java │ │ │ │ │ │ │ │ │ ├── EnterpriseEmployeeQueryForm.java │ │ │ │ │ │ │ │ │ ├── EnterpriseQueryForm.java │ │ │ │ │ │ │ │ │ └── EnterpriseUpdateForm.java │ │ │ │ │ │ │ │ │ └── vo │ │ │ │ │ │ │ │ │ ├── EnterpriseEmployeeVO.java │ │ │ │ │ │ │ │ │ ├── EnterpriseExcelVO.java │ │ │ │ │ │ │ │ │ ├── EnterpriseListVO.java │ │ │ │ │ │ │ │ │ └── EnterpriseVO.java │ │ │ │ │ │ │ ├── invoice │ │ │ │ │ │ │ │ ├── InvoiceController.java │ │ │ │ │ │ │ │ ├── InvoiceDao.java │ │ │ │ │ │ │ │ ├── InvoiceService.java │ │ │ │ │ │ │ │ └── domain │ │ │ │ │ │ │ │ │ ├── InvoiceAddForm.java │ │ │ │ │ │ │ │ │ ├── InvoiceEntity.java │ │ │ │ │ │ │ │ │ ├── InvoiceQueryForm.java │ │ │ │ │ │ │ │ │ ├── InvoiceUpdateForm.java │ │ │ │ │ │ │ │ │ └── InvoiceVO.java │ │ │ │ │ │ │ └── notice │ │ │ │ │ │ │ │ ├── AdminBridge.java │ │ │ │ │ │ │ │ ├── constant │ │ │ │ │ │ │ │ └── NoticeVisibleRangeDataTypeEnum.java │ │ │ │ │ │ │ │ ├── controller │ │ │ │ │ │ │ │ └── NoticeController.java │ │ │ │ │ │ │ │ ├── dao │ │ │ │ │ │ │ │ ├── NoticeDao.java │ │ │ │ │ │ │ │ └── NoticeTypeDao.java │ │ │ │ │ │ │ │ ├── domain │ │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ │ ├── NoticeEntity.java │ │ │ │ │ │ │ │ │ └── NoticeTypeEntity.java │ │ │ │ │ │ │ │ ├── form │ │ │ │ │ │ │ │ │ ├── NoticeAddForm.java │ │ │ │ │ │ │ │ │ ├── NoticeEmployeeQueryForm.java │ │ │ │ │ │ │ │ │ ├── NoticeQueryForm.java │ │ │ │ │ │ │ │ │ ├── NoticeUpdateForm.java │ │ │ │ │ │ │ │ │ ├── NoticeViewRecordQueryForm.java │ │ │ │ │ │ │ │ │ └── NoticeVisibleRangeForm.java │ │ │ │ │ │ │ │ └── vo │ │ │ │ │ │ │ │ │ ├── NoticeDetailVO.java │ │ │ │ │ │ │ │ │ ├── NoticeEmployeeVO.java │ │ │ │ │ │ │ │ │ ├── NoticeTypeVO.java │ │ │ │ │ │ │ │ │ ├── NoticeUpdateFormVO.java │ │ │ │ │ │ │ │ │ ├── NoticeVO.java │ │ │ │ │ │ │ │ │ ├── NoticeViewRecordVO.java │ │ │ │ │ │ │ │ │ └── NoticeVisibleRangeVO.java │ │ │ │ │ │ │ │ ├── manager │ │ │ │ │ │ │ │ └── NoticeManager.java │ │ │ │ │ │ │ │ └── service │ │ │ │ │ │ │ │ ├── NoticeEmployeeService.java │ │ │ │ │ │ │ │ ├── NoticeService.java │ │ │ │ │ │ │ │ └── NoticeTypeService.java │ │ │ │ │ │ ├── review │ │ │ │ │ │ │ └── goddess │ │ │ │ │ │ │ │ ├── AlbumDB.kt │ │ │ │ │ │ │ │ ├── AlbumList.kt │ │ │ │ │ │ │ │ ├── Goddess.kt │ │ │ │ │ │ │ │ └── RealRecordDB.kt │ │ │ │ │ │ └── user │ │ │ │ │ │ │ ├── RealRecordDB.kt │ │ │ │ │ │ │ ├── User.kt │ │ │ │ │ │ │ ├── UserDB.kt │ │ │ │ │ │ │ ├── UserInfoDB.kt │ │ │ │ │ │ │ ├── UserList.kt │ │ │ │ │ │ │ └── UserWalletDB.kt │ │ │ │ │ └── system │ │ │ │ │ │ ├── datascope │ │ │ │ │ │ ├── DataScope.java │ │ │ │ │ │ ├── DataScopeController.java │ │ │ │ │ │ ├── MyBatisPlugin.java │ │ │ │ │ │ ├── constant │ │ │ │ │ │ │ ├── DataScopeTypeEnum.java │ │ │ │ │ │ │ ├── DataScopeViewTypeEnum.java │ │ │ │ │ │ │ └── DataScopeWhereInTypeEnum.java │ │ │ │ │ │ ├── domain │ │ │ │ │ │ │ ├── DataScopeAndViewTypeVO.java │ │ │ │ │ │ │ ├── DataScopeDTO.java │ │ │ │ │ │ │ ├── DataScopeSqlConfig.java │ │ │ │ │ │ │ └── DataScopeViewTypeVO.java │ │ │ │ │ │ ├── service │ │ │ │ │ │ │ ├── DataScopeService.java │ │ │ │ │ │ │ ├── DataScopeSqlConfigService.java │ │ │ │ │ │ │ └── DataScopeViewService.java │ │ │ │ │ │ └── strategy │ │ │ │ │ │ │ └── AbstractDataScopeStrategy.java │ │ │ │ │ │ ├── department │ │ │ │ │ │ ├── controller │ │ │ │ │ │ │ └── DepartmentController.java │ │ │ │ │ │ ├── dao │ │ │ │ │ │ │ └── DepartmentDao.java │ │ │ │ │ │ ├── domain │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ └── DepartmentEntity.java │ │ │ │ │ │ │ ├── form │ │ │ │ │ │ │ │ ├── DepartmentAddForm.java │ │ │ │ │ │ │ │ └── DepartmentUpdateForm.java │ │ │ │ │ │ │ └── vo │ │ │ │ │ │ │ │ ├── DepartmentEmployeeTreeVO.java │ │ │ │ │ │ │ │ ├── DepartmentTreeVO.java │ │ │ │ │ │ │ │ └── DepartmentVO.java │ │ │ │ │ │ ├── manager │ │ │ │ │ │ │ └── DepartmentCacheManager.java │ │ │ │ │ │ └── service │ │ │ │ │ │ │ └── DepartmentService.java │ │ │ │ │ │ ├── employee │ │ │ │ │ │ ├── controller │ │ │ │ │ │ │ └── EmployeeController.java │ │ │ │ │ │ ├── dao │ │ │ │ │ │ │ └── EmployeeDao.java │ │ │ │ │ │ ├── domain │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ └── EmployeeEntity.java │ │ │ │ │ │ │ ├── form │ │ │ │ │ │ │ │ ├── EmployeeAddForm.java │ │ │ │ │ │ │ │ ├── EmployeeBatchUpdateDepartmentForm.java │ │ │ │ │ │ │ │ ├── EmployeeQueryForm.java │ │ │ │ │ │ │ │ ├── EmployeeUpdateForm.java │ │ │ │ │ │ │ │ ├── EmployeeUpdatePasswordForm.java │ │ │ │ │ │ │ │ └── EmployeeUpdateRoleForm.java │ │ │ │ │ │ │ └── vo │ │ │ │ │ │ │ │ └── EmployeeVO.java │ │ │ │ │ │ ├── manager │ │ │ │ │ │ │ └── EmployeeManager.java │ │ │ │ │ │ └── service │ │ │ │ │ │ │ └── EmployeeService.java │ │ │ │ │ │ ├── login │ │ │ │ │ │ ├── controller │ │ │ │ │ │ │ └── LoginController.java │ │ │ │ │ │ ├── domain │ │ │ │ │ │ │ ├── LoginForm.java │ │ │ │ │ │ │ ├── LoginResultVO.java │ │ │ │ │ │ │ └── RequestEmployee.java │ │ │ │ │ │ └── service │ │ │ │ │ │ │ └── LoginService.java │ │ │ │ │ │ ├── menu │ │ │ │ │ │ ├── constant │ │ │ │ │ │ │ ├── MenuPermsTypeEnum.java │ │ │ │ │ │ │ └── MenuTypeEnum.java │ │ │ │ │ │ ├── controller │ │ │ │ │ │ │ └── MenuController.java │ │ │ │ │ │ ├── dao │ │ │ │ │ │ │ └── MenuDao.java │ │ │ │ │ │ ├── domain │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ └── MenuEntity.java │ │ │ │ │ │ │ ├── form │ │ │ │ │ │ │ │ ├── MenuAddForm.java │ │ │ │ │ │ │ │ ├── MenuBaseForm.java │ │ │ │ │ │ │ │ ├── MenuPointsOperateForm.java │ │ │ │ │ │ │ │ └── MenuUpdateForm.java │ │ │ │ │ │ │ └── vo │ │ │ │ │ │ │ │ ├── MenuSimpleTreeVO.java │ │ │ │ │ │ │ │ ├── MenuTreeVO.java │ │ │ │ │ │ │ │ └── MenuVO.java │ │ │ │ │ │ └── service │ │ │ │ │ │ │ └── MenuService.java │ │ │ │ │ │ ├── role │ │ │ │ │ │ ├── controller │ │ │ │ │ │ │ ├── RoleController.java │ │ │ │ │ │ │ ├── RoleDataScopeController.java │ │ │ │ │ │ │ ├── RoleEmployeeController.java │ │ │ │ │ │ │ └── RoleMenuController.java │ │ │ │ │ │ ├── dao │ │ │ │ │ │ │ ├── RoleDao.java │ │ │ │ │ │ │ ├── RoleDataScopeDao.java │ │ │ │ │ │ │ ├── RoleEmployeeDao.java │ │ │ │ │ │ │ └── RoleMenuDao.java │ │ │ │ │ │ ├── domain │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ ├── RoleDataScopeEntity.java │ │ │ │ │ │ │ │ ├── RoleEmployeeEntity.java │ │ │ │ │ │ │ │ ├── RoleEntity.java │ │ │ │ │ │ │ │ └── RoleMenuEntity.java │ │ │ │ │ │ │ ├── form │ │ │ │ │ │ │ │ ├── RoleAddForm.java │ │ │ │ │ │ │ │ ├── RoleDataScopeUpdateForm.java │ │ │ │ │ │ │ │ ├── RoleEmployeeQueryForm.java │ │ │ │ │ │ │ │ ├── RoleEmployeeUpdateForm.java │ │ │ │ │ │ │ │ ├── RoleMenuUpdateForm.java │ │ │ │ │ │ │ │ ├── RoleQueryForm.java │ │ │ │ │ │ │ │ └── RoleUpdateForm.java │ │ │ │ │ │ │ └── vo │ │ │ │ │ │ │ │ ├── RoleDataScopeVO.java │ │ │ │ │ │ │ │ ├── RoleEmployeeVO.java │ │ │ │ │ │ │ │ ├── RoleMenuTreeVO.java │ │ │ │ │ │ │ │ ├── RoleSelectedVO.java │ │ │ │ │ │ │ │ └── RoleVO.java │ │ │ │ │ │ ├── manager │ │ │ │ │ │ │ ├── RoleDataScopeManager.java │ │ │ │ │ │ │ ├── RoleEmployeeManager.java │ │ │ │ │ │ │ └── RoleMenuManager.java │ │ │ │ │ │ └── service │ │ │ │ │ │ │ ├── RoleDataScopeService.java │ │ │ │ │ │ │ ├── RoleEmployeeService.java │ │ │ │ │ │ │ ├── RoleMenuService.java │ │ │ │ │ │ │ └── RoleService.java │ │ │ │ │ │ └── support │ │ │ │ │ │ ├── AdminApiEncryptController.java │ │ │ │ │ │ ├── AdminCacheController.java │ │ │ │ │ │ ├── AdminChangeLogController.java │ │ │ │ │ │ ├── AdminConfigController.java │ │ │ │ │ │ ├── AdminDictController.java │ │ │ │ │ │ ├── AdminFileController.java │ │ │ │ │ │ ├── AdminHeartBeatController.java │ │ │ │ │ │ ├── AdminHelpDocController.java │ │ │ │ │ │ ├── AdminLoginLogController.java │ │ │ │ │ │ ├── AdminOperateLogController.java │ │ │ │ │ │ ├── AdminProtectController.java │ │ │ │ │ │ ├── AdminReloadController.java │ │ │ │ │ │ └── AdminSerialNumberController.java │ │ │ │ │ └── util │ │ │ │ │ └── AdminRequestUtil.java │ │ │ └── resources │ │ │ │ ├── dev │ │ │ │ ├── application.yaml │ │ │ │ ├── log4j2-spring.xml │ │ │ │ └── spy.properties │ │ │ │ ├── mapper │ │ │ │ ├── business │ │ │ │ │ ├── category │ │ │ │ │ │ └── CategoryMapper.xml │ │ │ │ │ ├── goods │ │ │ │ │ │ └── GoodsMapper.xml │ │ │ │ │ ├── notice │ │ │ │ │ │ └── NoticeMapper.xml │ │ │ │ │ └── oa │ │ │ │ │ │ ├── bank │ │ │ │ │ │ └── BankMapper.xml │ │ │ │ │ │ ├── enterprise │ │ │ │ │ │ ├── EnterpriseEmployeeMapper.xml │ │ │ │ │ │ └── EnterpriseMapper.xml │ │ │ │ │ │ ├── invoice │ │ │ │ │ │ └── InvoiceMapper.xml │ │ │ │ │ │ └── notice │ │ │ │ │ │ └── NoticeDao.xml │ │ │ │ └── system │ │ │ │ │ ├── department │ │ │ │ │ └── DepartmentMapper.xml │ │ │ │ │ ├── employee │ │ │ │ │ └── EmployeeMapper.xml │ │ │ │ │ ├── menu │ │ │ │ │ └── MenuMapper.xml │ │ │ │ │ └── role │ │ │ │ │ ├── RoleDataScopeMapper.xml │ │ │ │ │ ├── RoleEmployeeMapper.xml │ │ │ │ │ ├── RoleMapper.xml │ │ │ │ │ └── RoleMenuMapper.xml │ │ │ │ ├── pre │ │ │ │ ├── application.yaml │ │ │ │ └── log4j2-spring.xml │ │ │ │ ├── prod │ │ │ │ ├── application.yaml │ │ │ │ └── log4j2-spring.xml │ │ │ │ └── test │ │ │ │ ├── application.yaml │ │ │ │ ├── log4j2-spring.xml │ │ │ │ └── spy.properties │ │ │ └── test │ │ │ └── java │ │ │ └── net │ │ │ └── lab1024 │ │ │ └── sa │ │ │ └── admin │ │ │ └── AdminApplicationTest.java │ ├── sa-base │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── net │ │ │ │ └── lab1024 │ │ │ │ └── sa │ │ │ │ └── base │ │ │ │ ├── AppInitializing.kt │ │ │ │ ├── common │ │ │ │ ├── annoation │ │ │ │ │ └── NoNeedLogin.java │ │ │ │ ├── code │ │ │ │ │ ├── ErrorCode.java │ │ │ │ │ ├── ErrorCodeRangeContainer.java │ │ │ │ │ ├── ErrorCodeRegister.java │ │ │ │ │ ├── SystemErrorCode.java │ │ │ │ │ ├── UnexpectedErrorCode.java │ │ │ │ │ └── UserErrorCode.java │ │ │ │ ├── constant │ │ │ │ │ ├── AliOss.kt │ │ │ │ │ ├── RequestHeaderConst.java │ │ │ │ │ └── StringConst.java │ │ │ │ ├── controller │ │ │ │ │ ├── AliSts.kt │ │ │ │ │ └── SupportBaseController.java │ │ │ │ ├── domain │ │ │ │ │ ├── DataScopePlugin.java │ │ │ │ │ ├── PageParam.java │ │ │ │ │ ├── PageResult.java │ │ │ │ │ ├── RequestUrlVO.java │ │ │ │ │ ├── RequestUser.java │ │ │ │ │ ├── ResponseDTO.java │ │ │ │ │ ├── SystemEnvironment.java │ │ │ │ │ ├── UserPermission.java │ │ │ │ │ ├── ValidateData.java │ │ │ │ │ └── ValidateList.java │ │ │ │ ├── enumeration │ │ │ │ │ ├── BaseEnum.java │ │ │ │ │ ├── DataTypeEnum.java │ │ │ │ │ ├── GenderEnum.java │ │ │ │ │ ├── SystemEnvironmentEnum.java │ │ │ │ │ └── UserTypeEnum.java │ │ │ │ ├── exception │ │ │ │ │ └── BusinessException.java │ │ │ │ ├── json │ │ │ │ │ ├── deserializer │ │ │ │ │ │ ├── DictValueVoDeserializer.java │ │ │ │ │ │ ├── FileKeyVoDeserializer.java │ │ │ │ │ │ └── LongJsonDeserializer.java │ │ │ │ │ └── serializer │ │ │ │ │ │ ├── BigDecimalNullZeroSerializer.java │ │ │ │ │ │ ├── DictValueVoSerializer.java │ │ │ │ │ │ ├── FileKeySerializer.java │ │ │ │ │ │ ├── FileKeyVoSerializer.java │ │ │ │ │ │ └── LongJsonSerializer.java │ │ │ │ ├── swagger │ │ │ │ │ ├── SchemaEnum.java │ │ │ │ │ ├── SchemaEnumPropertyCustomizer.java │ │ │ │ │ └── SmartOperationCustomizer.java │ │ │ │ ├── util │ │ │ │ │ ├── SmartBeanUtil.java │ │ │ │ │ ├── SmartBigDecimalUtil.java │ │ │ │ │ ├── SmartDateFormatterEnum.java │ │ │ │ │ ├── SmartEnumUtil.java │ │ │ │ │ ├── SmartIpUtil.java │ │ │ │ │ ├── SmartLocalDateUtil.java │ │ │ │ │ ├── SmartPageUtil.java │ │ │ │ │ ├── SmartRequestUtil.java │ │ │ │ │ ├── SmartResponseUtil.java │ │ │ │ │ ├── SmartStringUtil.java │ │ │ │ │ └── SmartVerificationUtil.java │ │ │ │ └── validator │ │ │ │ │ └── enumeration │ │ │ │ │ ├── CheckEnum.java │ │ │ │ │ └── EnumValidator.java │ │ │ │ ├── config │ │ │ │ ├── AsyncConfig.java │ │ │ │ ├── CorsFilterConfig.java │ │ │ │ ├── DataSourceConfig.java │ │ │ │ ├── DateConfig.java │ │ │ │ ├── FileConfig.java │ │ │ │ ├── HeartBeatConfig.java │ │ │ │ ├── MybatisPlusConfig.java │ │ │ │ ├── RedisConfig.java │ │ │ │ ├── RepeatSubmitConfig.java │ │ │ │ ├── RestTemplateConfig.java │ │ │ │ ├── ScheduleConfig.java │ │ │ │ ├── SwaggerConfig.java │ │ │ │ ├── SystemEnvironmentConfig.java │ │ │ │ ├── UrlConfig.java │ │ │ │ ├── YamlProcessor.java │ │ │ │ └── db │ │ │ │ │ ├── MasterDruidDataSourceConfig.java │ │ │ │ │ ├── SlaveDruidDataSourceConfig.java │ │ │ │ │ ├── SmartDbConfig.java │ │ │ │ │ └── ThirdDruidDataSourceConfig.java │ │ │ │ ├── constant │ │ │ │ ├── CacheKeyConst.java │ │ │ │ ├── LoginDeviceEnum.java │ │ │ │ ├── RedisKeyConst.java │ │ │ │ ├── ReloadConst.java │ │ │ │ └── SwaggerTagConst.java │ │ │ │ ├── handler │ │ │ │ └── GlobalExceptionHandler.java │ │ │ │ ├── listener │ │ │ │ ├── Ip2RegionListener.java │ │ │ │ ├── LogVariableListener.java │ │ │ │ └── WebServerListener.java │ │ │ │ └── module │ │ │ │ └── support │ │ │ │ ├── apiencrypt │ │ │ │ ├── advice │ │ │ │ │ ├── DecryptRequestAdvice.java │ │ │ │ │ └── EncryptResponseAdvice.java │ │ │ │ ├── annotation │ │ │ │ │ ├── ApiDecrypt.java │ │ │ │ │ └── ApiEncrypt.java │ │ │ │ ├── domain │ │ │ │ │ └── ApiEncryptForm.java │ │ │ │ └── service │ │ │ │ │ ├── ApiEncryptService.java │ │ │ │ │ ├── ApiEncryptServiceAesImpl.java │ │ │ │ │ └── ApiEncryptServiceSmImpl.java │ │ │ │ ├── cache │ │ │ │ └── CacheService.java │ │ │ │ ├── captcha │ │ │ │ ├── CaptchaController.java │ │ │ │ ├── CaptchaService.java │ │ │ │ ├── config │ │ │ │ │ ├── CaptchaColor.java │ │ │ │ │ ├── CaptchaConfig.java │ │ │ │ │ ├── CaptchaNoise.java │ │ │ │ │ └── CaptchaWordRenderer.java │ │ │ │ └── domain │ │ │ │ │ ├── CaptchaForm.java │ │ │ │ │ └── CaptchaVO.java │ │ │ │ ├── changelog │ │ │ │ ├── constant │ │ │ │ │ └── ChangeLogTypeEnum.java │ │ │ │ ├── controller │ │ │ │ │ └── ChangeLogController.java │ │ │ │ ├── dao │ │ │ │ │ └── ChangeLogDao.java │ │ │ │ ├── domain │ │ │ │ │ ├── entity │ │ │ │ │ │ └── ChangeLogEntity.java │ │ │ │ │ ├── form │ │ │ │ │ │ ├── ChangeLogAddForm.java │ │ │ │ │ │ ├── ChangeLogQueryForm.java │ │ │ │ │ │ └── ChangeLogUpdateForm.java │ │ │ │ │ └── vo │ │ │ │ │ │ └── ChangeLogVO.java │ │ │ │ └── service │ │ │ │ │ └── ChangeLogService.java │ │ │ │ ├── codegenerator │ │ │ │ ├── constant │ │ │ │ │ ├── CodeDeleteEnum.java │ │ │ │ │ ├── CodeFrontComponentEnum.java │ │ │ │ │ ├── CodeGeneratorConstant.java │ │ │ │ │ ├── CodeGeneratorPageTypeEnum.java │ │ │ │ │ └── CodeQueryFieldQueryTypeEnum.java │ │ │ │ ├── controller │ │ │ │ │ └── CodeGeneratorController.java │ │ │ │ ├── dao │ │ │ │ │ ├── CodeGeneratorConfigDao.java │ │ │ │ │ └── CodeGeneratorDao.java │ │ │ │ ├── domain │ │ │ │ │ ├── entity │ │ │ │ │ │ └── CodeGeneratorConfigEntity.java │ │ │ │ │ ├── form │ │ │ │ │ │ ├── CodeGeneratorConfigForm.java │ │ │ │ │ │ ├── CodeGeneratorPreviewForm.java │ │ │ │ │ │ └── TableQueryForm.java │ │ │ │ │ ├── model │ │ │ │ │ │ ├── CodeBasic.java │ │ │ │ │ │ ├── CodeDelete.java │ │ │ │ │ │ ├── CodeField.java │ │ │ │ │ │ ├── CodeInsertAndUpdate.java │ │ │ │ │ │ ├── CodeInsertAndUpdateField.java │ │ │ │ │ │ ├── CodeQueryField.java │ │ │ │ │ │ └── CodeTableField.java │ │ │ │ │ └── vo │ │ │ │ │ │ ├── TableColumnVO.java │ │ │ │ │ │ ├── TableConfigVO.java │ │ │ │ │ │ └── TableVO.java │ │ │ │ ├── service │ │ │ │ │ ├── CodeGeneratorService.java │ │ │ │ │ ├── CodeGeneratorTemplateService.java │ │ │ │ │ └── variable │ │ │ │ │ │ ├── CodeGenerateBaseVariableService.java │ │ │ │ │ │ ├── backend │ │ │ │ │ │ ├── ControllerVariableService.java │ │ │ │ │ │ ├── DaoVariableService.java │ │ │ │ │ │ ├── ManagerVariableService.java │ │ │ │ │ │ ├── ServiceVariableService.java │ │ │ │ │ │ └── domain │ │ │ │ │ │ │ ├── AddFormVariableService.java │ │ │ │ │ │ │ ├── EntityVariableService.java │ │ │ │ │ │ │ ├── MapperVariableService.java │ │ │ │ │ │ │ ├── QueryFormVariableService.java │ │ │ │ │ │ │ ├── UpdateFormVariableService.java │ │ │ │ │ │ │ └── VOVariableService.java │ │ │ │ │ │ └── front │ │ │ │ │ │ ├── ApiVariableService.java │ │ │ │ │ │ ├── ConstVariableService.java │ │ │ │ │ │ ├── FormVariableService.java │ │ │ │ │ │ └── ListVariableService.java │ │ │ │ └── util │ │ │ │ │ └── CodeGeneratorTool.java │ │ │ │ ├── config │ │ │ │ ├── ConfigController.java │ │ │ │ ├── ConfigDao.java │ │ │ │ ├── ConfigKeyEnum.java │ │ │ │ ├── ConfigService.java │ │ │ │ └── domain │ │ │ │ │ ├── ConfigAddForm.java │ │ │ │ │ ├── ConfigEntity.java │ │ │ │ │ ├── ConfigQueryForm.java │ │ │ │ │ ├── ConfigUpdateForm.java │ │ │ │ │ └── ConfigVO.java │ │ │ │ ├── datatracer │ │ │ │ ├── annoation │ │ │ │ │ ├── DataTracerFieldBigDecimal.java │ │ │ │ │ ├── DataTracerFieldDict.java │ │ │ │ │ ├── DataTracerFieldEnum.java │ │ │ │ │ ├── DataTracerFieldLabel.java │ │ │ │ │ └── DataTracerFieldSql.java │ │ │ │ ├── constant │ │ │ │ │ ├── DataTracerConst.java │ │ │ │ │ └── DataTracerTypeEnum.java │ │ │ │ ├── controller │ │ │ │ │ └── DataTracerController.java │ │ │ │ ├── dao │ │ │ │ │ └── DataTracerDao.java │ │ │ │ ├── domain │ │ │ │ │ ├── bo │ │ │ │ │ │ └── DataTracerContentBO.java │ │ │ │ │ ├── entity │ │ │ │ │ │ └── DataTracerEntity.java │ │ │ │ │ ├── form │ │ │ │ │ │ ├── DataTracerForm.java │ │ │ │ │ │ └── DataTracerQueryForm.java │ │ │ │ │ └── vo │ │ │ │ │ │ └── DataTracerVO.java │ │ │ │ ├── manager │ │ │ │ │ └── DataTracerManger.java │ │ │ │ └── service │ │ │ │ │ ├── DataTracerChangeContentService.java │ │ │ │ │ └── DataTracerService.java │ │ │ │ ├── dict │ │ │ │ ├── controller │ │ │ │ │ └── DictController.java │ │ │ │ ├── dao │ │ │ │ │ ├── DictKeyDao.java │ │ │ │ │ └── DictValueDao.java │ │ │ │ ├── domain │ │ │ │ │ ├── entity │ │ │ │ │ │ ├── DictKeyEntity.java │ │ │ │ │ │ └── DictValueEntity.java │ │ │ │ │ ├── form │ │ │ │ │ │ ├── DictKeyAddForm.java │ │ │ │ │ │ ├── DictKeyQueryForm.java │ │ │ │ │ │ ├── DictKeyUpdateForm.java │ │ │ │ │ │ ├── DictValueAddForm.java │ │ │ │ │ │ ├── DictValueQueryForm.java │ │ │ │ │ │ └── DictValueUpdateForm.java │ │ │ │ │ └── vo │ │ │ │ │ │ ├── DictKeyVO.java │ │ │ │ │ │ └── DictValueVO.java │ │ │ │ └── service │ │ │ │ │ ├── DictCacheService.java │ │ │ │ │ └── DictService.java │ │ │ │ ├── feedback │ │ │ │ ├── controller │ │ │ │ │ └── FeedbackController.java │ │ │ │ ├── dao │ │ │ │ │ └── FeedbackDao.java │ │ │ │ ├── domain │ │ │ │ │ ├── FeedbackAddForm.java │ │ │ │ │ ├── FeedbackEntity.java │ │ │ │ │ ├── FeedbackQueryForm.java │ │ │ │ │ └── FeedbackVO.java │ │ │ │ └── service │ │ │ │ │ └── FeedbackService.java │ │ │ │ ├── file │ │ │ │ ├── constant │ │ │ │ │ └── FileFolderTypeEnum.java │ │ │ │ ├── controller │ │ │ │ │ └── FileController.java │ │ │ │ ├── dao │ │ │ │ │ └── FileDao.java │ │ │ │ ├── domain │ │ │ │ │ ├── entity │ │ │ │ │ │ └── FileEntity.java │ │ │ │ │ ├── form │ │ │ │ │ │ ├── FileQueryForm.java │ │ │ │ │ │ └── FileUrlUploadForm.java │ │ │ │ │ └── vo │ │ │ │ │ │ ├── FileDownloadVO.java │ │ │ │ │ │ ├── FileMetadataVO.java │ │ │ │ │ │ ├── FileUploadVO.java │ │ │ │ │ │ └── FileVO.java │ │ │ │ └── service │ │ │ │ │ ├── FileService.java │ │ │ │ │ ├── FileStorageCloudServiceImpl.java │ │ │ │ │ ├── FileStorageLocalServiceImpl.java │ │ │ │ │ └── IFileStorageService.java │ │ │ │ ├── heartbeat │ │ │ │ ├── HeartBeatRecordDao.java │ │ │ │ ├── HeartBeatRecordHandler.java │ │ │ │ ├── HeartBeatService.java │ │ │ │ ├── core │ │ │ │ │ ├── HeartBeatManager.java │ │ │ │ │ ├── HeartBeatRecord.java │ │ │ │ │ ├── HeartBeatRunnable.java │ │ │ │ │ └── IHeartBeatRecordHandler.java │ │ │ │ └── domain │ │ │ │ │ ├── HeartBeatRecordEntity.java │ │ │ │ │ ├── HeartBeatRecordQueryForm.java │ │ │ │ │ └── HeartBeatRecordVO.java │ │ │ │ ├── helpdoc │ │ │ │ ├── controller │ │ │ │ │ └── HelpDocController.java │ │ │ │ ├── dao │ │ │ │ │ ├── HelpDocCatalogDao.java │ │ │ │ │ └── HelpDocDao.java │ │ │ │ ├── domain │ │ │ │ │ ├── entity │ │ │ │ │ │ ├── HelpDocCatalogEntity.java │ │ │ │ │ │ └── HelpDocEntity.java │ │ │ │ │ ├── form │ │ │ │ │ │ ├── HelpDocAddForm.java │ │ │ │ │ │ ├── HelpDocCatalogAddForm.java │ │ │ │ │ │ ├── HelpDocCatalogUpdateForm.java │ │ │ │ │ │ ├── HelpDocQueryForm.java │ │ │ │ │ │ ├── HelpDocRelationForm.java │ │ │ │ │ │ ├── HelpDocUpdateForm.java │ │ │ │ │ │ └── HelpDocViewRecordQueryForm.java │ │ │ │ │ └── vo │ │ │ │ │ │ ├── HelpDocCatalogVO.java │ │ │ │ │ │ ├── HelpDocDetailVO.java │ │ │ │ │ │ ├── HelpDocRecordVO.java │ │ │ │ │ │ ├── HelpDocRelationVO.java │ │ │ │ │ │ ├── HelpDocVO.java │ │ │ │ │ │ └── HelpDocViewRecordVO.java │ │ │ │ ├── manager │ │ │ │ │ └── HelpDocManager.java │ │ │ │ └── service │ │ │ │ │ ├── HelpDocCatalogService.java │ │ │ │ │ ├── HelpDocService.java │ │ │ │ │ └── HelpDocUserService.java │ │ │ │ ├── loginlog │ │ │ │ ├── LoginLogDao.java │ │ │ │ ├── LoginLogResultEnum.java │ │ │ │ ├── LoginLogService.java │ │ │ │ └── domain │ │ │ │ │ ├── LoginLogEntity.java │ │ │ │ │ ├── LoginLogQueryForm.java │ │ │ │ │ └── LoginLogVO.java │ │ │ │ ├── operatelog │ │ │ │ ├── OperateLogDao.java │ │ │ │ ├── OperateLogService.java │ │ │ │ ├── annotation │ │ │ │ │ └── OperateLog.java │ │ │ │ ├── core │ │ │ │ │ ├── OperateLogAspect.java │ │ │ │ │ └── OperateLogConfig.java │ │ │ │ └── domain │ │ │ │ │ ├── OperateLogEntity.java │ │ │ │ │ ├── OperateLogQueryForm.java │ │ │ │ │ └── OperateLogVO.java │ │ │ │ ├── redis │ │ │ │ └── RedisService.java │ │ │ │ ├── reload │ │ │ │ ├── ReloadCommand.java │ │ │ │ ├── ReloadService.java │ │ │ │ ├── core │ │ │ │ │ ├── AbstractSmartReloadCommand.java │ │ │ │ │ ├── SmartReloadManager.java │ │ │ │ │ ├── annoation │ │ │ │ │ │ └── SmartReload.java │ │ │ │ │ ├── domain │ │ │ │ │ │ ├── SmartReloadItem.java │ │ │ │ │ │ ├── SmartReloadObject.java │ │ │ │ │ │ └── SmartReloadResult.java │ │ │ │ │ └── thread │ │ │ │ │ │ └── SmartReloadRunnable.java │ │ │ │ ├── dao │ │ │ │ │ ├── ReloadItemDao.java │ │ │ │ │ └── ReloadResultDao.java │ │ │ │ └── domain │ │ │ │ │ ├── ReloadForm.java │ │ │ │ │ ├── ReloadItemEntity.java │ │ │ │ │ ├── ReloadItemVO.java │ │ │ │ │ ├── ReloadResultEntity.java │ │ │ │ │ └── ReloadResultVO.java │ │ │ │ ├── repeatsubmit │ │ │ │ ├── RepeatSubmitAspect.java │ │ │ │ ├── annoation │ │ │ │ │ └── RepeatSubmit.java │ │ │ │ └── ticket │ │ │ │ │ ├── AbstractRepeatSubmitTicket.java │ │ │ │ │ ├── RepeatSubmitCaffeineTicket.java │ │ │ │ │ └── RepeatSubmitRedisTicket.java │ │ │ │ ├── securityprotect │ │ │ │ ├── dao │ │ │ │ │ └── LoginFailDao.java │ │ │ │ ├── domain │ │ │ │ │ ├── LoginFailEntity.java │ │ │ │ │ ├── LoginFailQueryForm.java │ │ │ │ │ └── LoginFailVO.java │ │ │ │ └── service │ │ │ │ │ ├── ProtectLoginService.java │ │ │ │ │ └── ProtectPasswordService.java │ │ │ │ ├── serialnumber │ │ │ │ ├── constant │ │ │ │ │ ├── SerialNumberIdEnum.java │ │ │ │ │ └── SerialNumberRuleTypeEnum.java │ │ │ │ ├── dao │ │ │ │ │ ├── SerialNumberDao.java │ │ │ │ │ └── SerialNumberRecordDao.java │ │ │ │ ├── domain │ │ │ │ │ ├── SerialNumberEntity.java │ │ │ │ │ ├── SerialNumberGenerateForm.java │ │ │ │ │ ├── SerialNumberGenerateResultBO.java │ │ │ │ │ ├── SerialNumberInfoBO.java │ │ │ │ │ ├── SerialNumberLastGenerateBO.java │ │ │ │ │ ├── SerialNumberRecordEntity.java │ │ │ │ │ └── SerialNumberRecordQueryForm.java │ │ │ │ └── service │ │ │ │ │ ├── SerialNumberBaseService.java │ │ │ │ │ ├── SerialNumberRecordService.java │ │ │ │ │ ├── SerialNumberService.java │ │ │ │ │ └── impl │ │ │ │ │ ├── SerialNumberInternService.java │ │ │ │ │ ├── SerialNumberMysqlService.java │ │ │ │ │ └── SerialNumberRedisService.java │ │ │ │ └── table │ │ │ │ ├── TableColumnController.java │ │ │ │ ├── TableColumnDao.java │ │ │ │ ├── TableColumnService.java │ │ │ │ └── domain │ │ │ │ ├── TableColumnEntity.java │ │ │ │ ├── TableColumnItemForm.java │ │ │ │ └── TableColumnUpdateForm.java │ │ │ └── resources │ │ │ ├── META-INF │ │ │ └── spring.factories │ │ │ ├── banner.txt │ │ │ ├── code-generator-template │ │ │ ├── java │ │ │ │ ├── constant │ │ │ │ │ └── enum.java.vm │ │ │ │ ├── controller │ │ │ │ │ └── Controller.java.vm │ │ │ │ ├── dao │ │ │ │ │ └── Dao.java.vm │ │ │ │ ├── domain │ │ │ │ │ ├── entity │ │ │ │ │ │ └── Entity.java.vm │ │ │ │ │ ├── form │ │ │ │ │ │ ├── AddForm.java.vm │ │ │ │ │ │ ├── QueryForm.java.vm │ │ │ │ │ │ └── UpdateForm.java.vm │ │ │ │ │ └── vo │ │ │ │ │ │ └── VO.java.vm │ │ │ │ ├── manager │ │ │ │ │ └── Manager.java.vm │ │ │ │ ├── mapper │ │ │ │ │ └── Mapper.xml.vm │ │ │ │ └── service │ │ │ │ │ └── Service.java.vm │ │ │ ├── js │ │ │ │ ├── api.js.vm │ │ │ │ ├── const.js.vm │ │ │ │ ├── form.vue.vm │ │ │ │ └── list.vue.vm │ │ │ └── tools.xml │ │ │ ├── dev │ │ │ └── sa-base.yaml │ │ │ ├── ip2region.xdb │ │ │ ├── mapper │ │ │ └── support │ │ │ │ ├── ChangeLogMapper.xml │ │ │ │ ├── CodeGeneratorMapper.xml │ │ │ │ ├── ConfigMapper.xml │ │ │ │ ├── DataTracerMapper.xml │ │ │ │ ├── DictKeyMapper.xml │ │ │ │ ├── DictValueMapper.xml │ │ │ │ ├── FeedbackMapper.xml │ │ │ │ ├── FileMapper.xml │ │ │ │ ├── HeartBeatRecordMapper.xml │ │ │ │ ├── HelpDocDao.xml │ │ │ │ ├── LoginFailMapper.xml │ │ │ │ ├── LoginLogMapper.xml │ │ │ │ ├── OperateLogMapper.xml │ │ │ │ ├── ReloadItemMapper.xml │ │ │ │ ├── ReloadResultMapper.xml │ │ │ │ ├── SerialNumberMapper.xml │ │ │ │ ├── SerialNumberRecordMapper.xml │ │ │ │ └── TableColumnMapper.xml │ │ │ ├── pre │ │ │ └── sa-base.yaml │ │ │ ├── prod │ │ │ └── sa-base.yaml │ │ │ └── test │ │ │ └── sa-base.yaml │ └── smart_admin_v3.sql ├── smart-admin-web │ └── javascript-ant-design-vue3 │ │ ├── .env.development │ │ ├── .env.localhost │ │ ├── .env.pre │ │ ├── .env.production │ │ ├── .env.test │ │ ├── .eslintignore │ │ ├── .eslintrc.cjs │ │ ├── .gitignore │ │ ├── .prettierrc.cjs │ │ ├── .stylelintignore │ │ ├── .stylelintrc.js │ │ ├── README.en.md │ │ ├── README.md │ │ ├── index.html │ │ ├── jsconfig.json │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── postcss.config.cjs │ │ ├── public │ │ └── favicon.ico │ │ ├── src │ │ ├── App.vue │ │ ├── api │ │ │ ├── business │ │ │ │ ├── category │ │ │ │ │ └── category-api.js │ │ │ │ ├── goods │ │ │ │ │ └── goods-api.js │ │ │ │ └── oa │ │ │ │ │ ├── bank-api.js │ │ │ │ │ ├── enterprise-api.js │ │ │ │ │ ├── invoice-api.js │ │ │ │ │ └── notice-api.js │ │ │ ├── support │ │ │ │ ├── api-encrypt-api.js │ │ │ │ ├── cache-api.js │ │ │ │ ├── change-log-api.js │ │ │ │ ├── code-generator-api.js │ │ │ │ ├── config-api.js │ │ │ │ ├── data-tracer-api.js │ │ │ │ ├── dict-api.js │ │ │ │ ├── feedback-api.js │ │ │ │ ├── file-api.js │ │ │ │ ├── heart-beat-api.js │ │ │ │ ├── help-doc-api.js │ │ │ │ ├── help-doc-catalog-api.js │ │ │ │ ├── login-fail-api.js │ │ │ │ ├── login-log-api.js │ │ │ │ ├── operate-log-api.js │ │ │ │ ├── reload-api.js │ │ │ │ ├── serial-number-api.js │ │ │ │ └── table-column-api.js │ │ │ └── system │ │ │ │ ├── department-api.js │ │ │ │ ├── employee-api.js │ │ │ │ ├── home-api.js │ │ │ │ ├── login-api.js │ │ │ │ ├── menu-api.js │ │ │ │ ├── role-api.js │ │ │ │ └── role-menu-api.js │ │ ├── assets │ │ │ └── images │ │ │ │ ├── 1024lab │ │ │ │ ├── 1024lab-gzh.jpg │ │ │ │ ├── gzh.jpg │ │ │ │ ├── ven.jpg │ │ │ │ ├── ven_group.jpg │ │ │ │ ├── xiaozhen-gzh.jpg │ │ │ │ └── zhuoda-wechat.jpg │ │ │ │ ├── login │ │ │ │ ├── ali-icon.png │ │ │ │ ├── blue-login-bg.png │ │ │ │ ├── google-icon.png │ │ │ │ ├── login-bg.jpg │ │ │ │ ├── login-form-open-eyes-close.png │ │ │ │ ├── login-form-open-eyes.png │ │ │ │ ├── login-qr.png │ │ │ │ ├── qq-icon.png │ │ │ │ ├── wechat-icon.png │ │ │ │ └── weibo-icon.png │ │ │ │ ├── logo │ │ │ │ ├── logo-min.png │ │ │ │ ├── logo.png │ │ │ │ ├── smart-admin-logo-white.png │ │ │ │ └── smart-admin-logo.png │ │ │ │ └── notice │ │ │ │ ├── edit_icon.png │ │ │ │ └── file_icon.png │ │ ├── components │ │ │ ├── business │ │ │ │ ├── category-tree-select │ │ │ │ │ └── index.vue │ │ │ │ └── oa │ │ │ │ │ ├── enterprise-bank-select │ │ │ │ │ └── index.vue │ │ │ │ │ ├── enterprise-invoice-select │ │ │ │ │ └── index.vue │ │ │ │ │ └── enterprise-select │ │ │ │ │ └── index.vue │ │ │ ├── framework │ │ │ │ ├── area-cascader │ │ │ │ │ ├── index.vue │ │ │ │ │ ├── province-city-district.js │ │ │ │ │ └── province-city.js │ │ │ │ ├── boolean-select │ │ │ │ │ └── index.vue │ │ │ │ ├── icon-select │ │ │ │ │ └── index.vue │ │ │ │ ├── iframe │ │ │ │ │ ├── iframe-index.vue │ │ │ │ │ └── route-default-component.vue │ │ │ │ ├── smart-enum-checkbox │ │ │ │ │ └── index.vue │ │ │ │ ├── smart-enum-radio │ │ │ │ │ └── index.vue │ │ │ │ ├── smart-enum-select │ │ │ │ │ └── index.vue │ │ │ │ ├── smart-loading │ │ │ │ │ └── index.js │ │ │ │ └── wangeditor │ │ │ │ │ └── index.vue │ │ │ ├── support │ │ │ │ ├── data-tracer │ │ │ │ │ ├── data-tracer-table.vue │ │ │ │ │ ├── data-tracer-timeline.vue │ │ │ │ │ └── index.vue │ │ │ │ ├── dict-key-select │ │ │ │ │ └── index.vue │ │ │ │ ├── dict-select │ │ │ │ │ └── index.vue │ │ │ │ ├── file-preview-modal │ │ │ │ │ └── index.vue │ │ │ │ ├── file-preview │ │ │ │ │ └── index.vue │ │ │ │ ├── file-upload │ │ │ │ │ └── index.vue │ │ │ │ └── table-operator │ │ │ │ │ ├── index.vue │ │ │ │ │ ├── smart-table-column-merge.js │ │ │ │ │ └── smart-table-column-modal.vue │ │ │ └── system │ │ │ │ ├── department-tree-select │ │ │ │ └── index.vue │ │ │ │ ├── employee-select │ │ │ │ └── index.vue │ │ │ │ ├── employee-table-select-modal │ │ │ │ └── index.vue │ │ │ │ └── menu-tree-select │ │ │ │ └── index.vue │ │ ├── config │ │ │ └── app-config.js │ │ ├── constants │ │ │ ├── business │ │ │ │ ├── erp │ │ │ │ │ ├── category-const.js │ │ │ │ │ └── goods-const.js │ │ │ │ ├── image-const.js │ │ │ │ └── oa │ │ │ │ │ ├── enterprise-const.js │ │ │ │ │ └── notice-const.js │ │ │ ├── common-const.js │ │ │ ├── index.js │ │ │ ├── layout-const.js │ │ │ ├── local-storage-key-const.js │ │ │ ├── regular-const.js │ │ │ ├── support │ │ │ │ ├── change-log-const.js │ │ │ │ ├── code-generator-const.js │ │ │ │ ├── data-tracer-const.js │ │ │ │ ├── file-const.js │ │ │ │ ├── login-log-const.js │ │ │ │ └── table-id-const.js │ │ │ └── system │ │ │ │ ├── employee-const.js │ │ │ │ ├── home-const.js │ │ │ │ ├── login-device-const.js │ │ │ │ └── menu-const.js │ │ ├── directives │ │ │ └── privilege.js │ │ ├── i18n │ │ │ ├── index.js │ │ │ └── lang │ │ │ │ ├── en-US │ │ │ │ └── index.js │ │ │ │ └── zh-CN │ │ │ │ └── index.js │ │ ├── layout │ │ │ ├── components │ │ │ │ ├── header-user-space │ │ │ │ │ ├── header-avatar.vue │ │ │ │ │ ├── header-message.vue │ │ │ │ │ ├── header-reset-password-modal │ │ │ │ │ │ └── index.vue │ │ │ │ │ ├── header-setting.vue │ │ │ │ │ └── index.vue │ │ │ │ ├── menu-location-breadcrumb │ │ │ │ │ └── index.vue │ │ │ │ ├── page-tag │ │ │ │ │ └── index.vue │ │ │ │ ├── side-expand-menu │ │ │ │ │ ├── index.vue │ │ │ │ │ ├── recursion-menu.vue │ │ │ │ │ ├── side-expand-menu-mitt.js │ │ │ │ │ ├── sub-menu.vue │ │ │ │ │ └── top-menu.vue │ │ │ │ ├── side-help-doc │ │ │ │ │ ├── components │ │ │ │ │ │ ├── contact-modal.vue │ │ │ │ │ │ └── feedback-modal.vue │ │ │ │ │ └── index.vue │ │ │ │ ├── side-menu │ │ │ │ │ ├── index.vue │ │ │ │ │ ├── recursion-menu.vue │ │ │ │ │ └── sub-menu.vue │ │ │ │ ├── smart-footer │ │ │ │ │ └── index.vue │ │ │ │ ├── smart-keep-alive.js │ │ │ │ └── top-menu │ │ │ │ │ ├── index.vue │ │ │ │ │ ├── recursion-menu.vue │ │ │ │ │ └── sub-menu.vue │ │ │ ├── help-doc-layout.vue │ │ │ ├── index.vue │ │ │ ├── side-expand-layout.vue │ │ │ ├── side-layout.vue │ │ │ └── top-layout.vue │ │ ├── lib │ │ │ ├── axios.js │ │ │ ├── default-time-ranges.js │ │ │ ├── encrypt.js │ │ │ ├── highlight-line-number.js │ │ │ ├── smart-sentry.js │ │ │ ├── smart-watermark.js │ │ │ └── table-auto-height.js │ │ ├── main.js │ │ ├── plugins │ │ │ ├── privilege-plugin.js │ │ │ └── smart-enums-plugin.js │ │ ├── router │ │ │ ├── index.js │ │ │ ├── routers.js │ │ │ ├── support │ │ │ │ └── help-doc.js │ │ │ └── system │ │ │ │ ├── home.js │ │ │ │ └── login.js │ │ ├── store │ │ │ ├── index.js │ │ │ └── modules │ │ │ │ └── system │ │ │ │ ├── app-config.js │ │ │ │ ├── role.js │ │ │ │ ├── spin.js │ │ │ │ └── user.js │ │ ├── theme │ │ │ ├── custom-variables.js │ │ │ ├── index.less │ │ │ └── smart-admin.less │ │ ├── utils │ │ │ ├── cookie-util.js │ │ │ ├── local-util.js │ │ │ └── str-util.js │ │ └── views │ │ │ ├── business │ │ │ ├── banner │ │ │ │ └── list.vue │ │ │ ├── erp │ │ │ │ ├── catalog │ │ │ │ │ ├── components │ │ │ │ │ │ ├── category-form-modal.vue │ │ │ │ │ │ └── category-tree-table.vue │ │ │ │ │ ├── custom-catalog.vue │ │ │ │ │ └── goods-catalog.vue │ │ │ │ └── goods │ │ │ │ │ ├── components │ │ │ │ │ └── goods-form-modal.vue │ │ │ │ │ └── goods-list.vue │ │ │ ├── oa │ │ │ │ ├── enterprise │ │ │ │ │ ├── components │ │ │ │ │ │ ├── enterprise-bank-list.vue │ │ │ │ │ │ ├── enterprise-bank-operate-modal.vue │ │ │ │ │ │ ├── enterprise-employee-list.vue │ │ │ │ │ │ ├── enterprise-invoice-list.vue │ │ │ │ │ │ ├── enterprise-invoice-operate-modal.vue │ │ │ │ │ │ └── enterprise-operate-modal.vue │ │ │ │ │ ├── enterprise-detail.vue │ │ │ │ │ └── enterprise-list.vue │ │ │ │ └── notice │ │ │ │ │ ├── components │ │ │ │ │ ├── notice-form-drawer.vue │ │ │ │ │ ├── notice-form-visible-modal.vue │ │ │ │ │ ├── notice-form-visible-transfer-department.vue │ │ │ │ │ ├── notice-form-visible-transfer-employee.vue │ │ │ │ │ └── notice-view-record-list.vue │ │ │ │ │ ├── notice-detail.vue │ │ │ │ │ ├── notice-employee-detail.vue │ │ │ │ │ ├── notice-employee-list.vue │ │ │ │ │ └── notice-list.vue │ │ │ ├── review │ │ │ │ └── goddess │ │ │ │ │ └── list.vue │ │ │ └── user │ │ │ │ ├── user-details.vue │ │ │ │ └── user-list.vue │ │ │ ├── support │ │ │ ├── api-encrypt │ │ │ │ └── api-encrypt-index.vue │ │ │ ├── cache │ │ │ │ └── cache-list.vue │ │ │ ├── change-log │ │ │ │ ├── change-log-form.vue │ │ │ │ ├── change-log-list.vue │ │ │ │ └── change-log-modal.vue │ │ │ ├── code-generator │ │ │ │ ├── code-generator-list.vue │ │ │ │ ├── code-generator-util.js │ │ │ │ └── components │ │ │ │ │ ├── form │ │ │ │ │ ├── code-generator-table-config-form-basic.vue │ │ │ │ │ ├── code-generator-table-config-form-delete.vue │ │ │ │ │ ├── code-generator-table-config-form-field.vue │ │ │ │ │ ├── code-generator-table-config-form-insert-and-update.vue │ │ │ │ │ ├── code-generator-table-config-form-query-field.vue │ │ │ │ │ ├── code-generator-table-config-form-table-field.vue │ │ │ │ │ └── code-generator-table-config-form.vue │ │ │ │ │ └── preview │ │ │ │ │ └── code-generator-preview-modal.vue │ │ │ ├── config │ │ │ │ ├── config-form-modal.vue │ │ │ │ └── config-list.vue │ │ │ ├── dict │ │ │ │ ├── components │ │ │ │ │ ├── dict-key-operate-modal.vue │ │ │ │ │ ├── dict-value-modal.vue │ │ │ │ │ └── dict-value-operate-modal.vue │ │ │ │ └── index.vue │ │ │ ├── feedback │ │ │ │ └── feedback-list.vue │ │ │ ├── file │ │ │ │ └── file-list.vue │ │ │ ├── heart-beat │ │ │ │ └── heart-beat-list.vue │ │ │ ├── help-doc │ │ │ │ ├── management │ │ │ │ │ ├── components │ │ │ │ │ │ ├── help-doc-catalog-form-modal.vue │ │ │ │ │ │ ├── help-doc-catalog-tree-select.vue │ │ │ │ │ │ ├── help-doc-catalog-tree.vue │ │ │ │ │ │ ├── help-doc-form-drawer.vue │ │ │ │ │ │ └── help-doc-list.vue │ │ │ │ │ ├── help-doc-manage-list.vue │ │ │ │ │ └── help-doc-mitt.js │ │ │ │ └── user-view │ │ │ │ │ ├── components │ │ │ │ │ └── help-doc-view-record-list.vue │ │ │ │ │ └── help-doc-user-view.vue │ │ │ ├── login-fail │ │ │ │ └── login-fail-list.vue │ │ │ ├── login-log │ │ │ │ └── login-log-list.vue │ │ │ ├── operate-log │ │ │ │ ├── operate-log-detail-modal.vue │ │ │ │ └── operate-log-list.vue │ │ │ ├── reload │ │ │ │ ├── do-reload-form-modal.vue │ │ │ │ ├── reload-list.vue │ │ │ │ └── reload-result-list.vue │ │ │ └── serial-number │ │ │ │ ├── serial-number-generate-form-modal.vue │ │ │ │ ├── serial-number-list.vue │ │ │ │ └── serial-number-record-list.vue │ │ │ └── system │ │ │ ├── 40X │ │ │ ├── 403.vue │ │ │ └── 404.vue │ │ │ ├── employee │ │ │ ├── department │ │ │ │ ├── components │ │ │ │ │ ├── department-children │ │ │ │ │ │ └── index.vue │ │ │ │ │ ├── department-form-modal │ │ │ │ │ │ └── index.vue │ │ │ │ │ ├── department-tree │ │ │ │ │ │ └── index.vue │ │ │ │ │ ├── employee-department-form-modal │ │ │ │ │ │ └── index.vue │ │ │ │ │ ├── employee-form-modal │ │ │ │ │ │ └── index.vue │ │ │ │ │ ├── employee-list │ │ │ │ │ │ └── index.vue │ │ │ │ │ └── employee-password-dialog │ │ │ │ │ │ └── index.vue │ │ │ │ ├── department-mitt.js │ │ │ │ └── index.vue │ │ │ └── role │ │ │ │ ├── components │ │ │ │ ├── role-data-scope │ │ │ │ │ └── index.vue │ │ │ │ ├── role-employee-list │ │ │ │ │ └── index.vue │ │ │ │ ├── role-form-modal │ │ │ │ │ └── index.vue │ │ │ │ ├── role-list │ │ │ │ │ └── index.vue │ │ │ │ ├── role-setting │ │ │ │ │ └── index.vue │ │ │ │ └── role-tree │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.vue │ │ │ │ │ ├── role-tree-checkbox.vue │ │ │ │ │ ├── role-tree-menu.vue │ │ │ │ │ └── role-tree-point.vue │ │ │ │ └── index.vue │ │ │ ├── home │ │ │ ├── alico-chat-index.vue │ │ │ ├── components │ │ │ │ ├── changelog-card.vue │ │ │ │ ├── default-home-card.vue │ │ │ │ ├── echarts │ │ │ │ │ ├── category.vue │ │ │ │ │ ├── gauge.vue │ │ │ │ │ ├── gradient.vue │ │ │ │ │ └── pie.vue │ │ │ │ ├── official-account-card.vue │ │ │ │ ├── quick-entry │ │ │ │ │ ├── home-quick-entry-modal.vue │ │ │ │ │ ├── home-quick-entry.vue │ │ │ │ │ └── init-quick-entry-list.js │ │ │ │ └── to-be-done-card.vue │ │ │ ├── heart-sentence.js │ │ │ ├── home-header.vue │ │ │ ├── home-notice.vue │ │ │ ├── index.less │ │ │ └── index.vue │ │ │ ├── login │ │ │ ├── login.less │ │ │ └── login.vue │ │ │ └── menu │ │ │ ├── components │ │ │ ├── menu-operate-modal.vue │ │ │ └── menu-tree-select.vue │ │ │ ├── menu-data-handler.js │ │ │ ├── menu-list-table-columns.js │ │ │ └── menu-list.vue │ │ └── vite.config.js └── smart_admin_v3.sql ├── alico-chat-app-api ├── .gitignore ├── alico_chat.sql ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ └── main │ ├── kotlin │ └── com │ │ └── alico │ │ └── chat │ │ └── app │ │ ├── AppInitializing.kt │ │ ├── Application.kt │ │ ├── api │ │ ├── Album.kt │ │ ├── Album2.kt │ │ ├── AliSts.kt │ │ ├── Blog.kt │ │ ├── Blog2.kt │ │ ├── Login.kt │ │ ├── Login2.kt │ │ ├── Option.kt │ │ ├── Products.kt │ │ ├── Register.kt │ │ ├── RongClond.kt │ │ ├── System.kt │ │ ├── Transaction.kt │ │ ├── User.kt │ │ ├── User2.kt │ │ ├── UserEdit.kt │ │ └── UserEdit2.kt │ │ ├── common │ │ ├── DefaultUserInfo.kt │ │ ├── GenericJacksonUtil.kt │ │ ├── JWTUtil.kt │ │ ├── MybatisPlusConfig.kt │ │ ├── OkhttpWrapper.kt │ │ └── RCHelper.kt │ │ ├── exception │ │ ├── HttpException.kt │ │ └── ServerErrorException.kt │ │ ├── redis │ │ ├── MyStringRedisTemplate.kt │ │ └── RedisUtil.kt │ │ ├── response │ │ ├── BaseResponse.kt │ │ ├── Code.kt │ │ └── ResponseCode.kt │ │ ├── security │ │ ├── CommonSecurityConfiguration.kt │ │ ├── CustomUser.kt │ │ ├── JwtAuthenticationTokenFilter.kt │ │ ├── MyAuthenticationFailureHandler.kt │ │ ├── MyAuthenticationSuccessHandler.kt │ │ ├── MyLogoutSuccessHandler.kt │ │ ├── RestAccessDeniedHandler.kt │ │ ├── RestAuthenticationEntryPoint.kt │ │ ├── UserDetailsServiceImpl.kt │ │ └── WebSecurityConfig.kt │ │ └── sql │ │ ├── bean │ │ ├── Activity.kt │ │ ├── ActivityComment.kt │ │ ├── ActivityLabel.kt │ │ ├── ActivityLike.kt │ │ ├── ActivitySign.kt │ │ ├── Album.kt │ │ ├── Carousel.kt │ │ ├── DesiredObject.kt │ │ ├── GoldPackage.kt │ │ ├── Location.kt │ │ ├── Profession.kt │ │ ├── RealRecord.kt │ │ ├── SysMessageType.kt │ │ ├── SystemMessage.kt │ │ ├── User.kt │ │ ├── UserInfo.kt │ │ ├── UserLike.kt │ │ ├── UserRelation.kt │ │ ├── UserWallet.kt │ │ └── VipPackage.kt │ │ └── mapper │ │ ├── ActivityCommentMapper.kt │ │ ├── ActivityLabelMapper.kt │ │ ├── ActivityLikeMapper.kt │ │ ├── ActivityMapper.kt │ │ ├── ActivitySignMapper.kt │ │ ├── AlbumMapper.kt │ │ ├── CarouselMapper.kt │ │ ├── DesiredObjectMapper.kt │ │ ├── GoldPackageMapper.kt │ │ ├── LocationMapper.kt │ │ ├── ProfessionMapper.kt │ │ ├── RealRecordMapper.kt │ │ ├── SysMessageMapper.kt │ │ ├── SysMessageTypeMapper.kt │ │ ├── UserInfoMapper.kt │ │ ├── UserLikeMapper.kt │ │ ├── UserMapper.kt │ │ ├── UserRelationMapper.kt │ │ ├── UserWalletMapper.kt │ │ └── VipPackageMapper.kt │ └── resources │ └── application.properties ├── alico-chat-flutter ├── .gitignore ├── .metadata ├── README.md ├── analysis_options.yaml ├── android │ ├── .gitignore │ ├── app │ │ ├── build.gradle │ │ └── src │ │ │ ├── debug │ │ │ └── AndroidManifest.xml │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── kotlin │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── alico_chat │ │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-v21 │ │ │ │ └── launch_background.xml │ │ │ │ ├── drawable │ │ │ │ └── launch_background.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-night │ │ │ │ └── styles.xml │ │ │ │ └── values │ │ │ │ └── styles.xml │ │ │ └── profile │ │ │ └── AndroidManifest.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ └── gradle-wrapper.properties │ └── settings.gradle ├── assets │ └── images │ │ ├── 202309210906616240.png │ │ ├── coin.png │ │ ├── comment.png │ │ ├── conversation │ │ └── photo.png │ │ ├── edit_profile.png │ │ ├── female.png │ │ ├── follow.png │ │ ├── goddess.png │ │ ├── like.png │ │ ├── male.png │ │ ├── mine_real.png │ │ ├── mine_vip.png │ │ ├── real.png │ │ ├── right.png │ │ ├── setting.png │ │ ├── share.png │ │ ├── share │ │ ├── comment.png │ │ ├── like.png │ │ └── liked.png │ │ └── vip.png ├── ios │ ├── .gitignore │ ├── Flutter │ │ ├── AppFrameworkInfo.plist │ │ ├── Debug.xcconfig │ │ └── Release.xcconfig │ ├── Runner.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── Runner.xcscheme │ ├── Runner.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── Runner │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ ├── Icon-App-20x20@1x.png │ │ │ ├── Icon-App-20x20@2x.png │ │ │ ├── Icon-App-20x20@3x.png │ │ │ ├── Icon-App-29x29@1x.png │ │ │ ├── Icon-App-29x29@2x.png │ │ │ ├── Icon-App-29x29@3x.png │ │ │ ├── Icon-App-40x40@1x.png │ │ │ ├── Icon-App-40x40@2x.png │ │ │ ├── Icon-App-40x40@3x.png │ │ │ ├── Icon-App-60x60@2x.png │ │ │ ├── Icon-App-60x60@3x.png │ │ │ ├── Icon-App-76x76@1x.png │ │ │ ├── Icon-App-76x76@2x.png │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ └── LaunchImage.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.png │ │ │ ├── LaunchImage@2x.png │ │ │ ├── LaunchImage@3x.png │ │ │ └── README.md │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ └── Runner-Bridging-Header.h ├── lib │ ├── common │ │ └── oss_file.dart │ ├── entity │ │ ├── entity_share_details.dart │ │ ├── entity_share_list.dart │ │ ├── entity_user.dart │ │ ├── entity_user_list.dart │ │ └── oss_policy_entity.dart │ ├── helper │ │ ├── helper_image_picker.dart │ │ ├── helper_info.dart │ │ ├── helper_media_querys.dart │ │ ├── helper_navigator.dart │ │ ├── helper_rongclond.dart │ │ ├── helper_sp.dart │ │ └── snack_bar.dart │ ├── http │ │ ├── http_client.dart │ │ └── http_url.dart │ ├── login │ │ ├── ui_email_login.dart │ │ ├── ui_fast_login.dart │ │ └── ui_login.dart │ ├── main.dart │ ├── pages │ │ ├── ui_conversasion_list.dart │ │ ├── ui_conversation.dart │ │ ├── ui_dialog_center.dart │ │ ├── ui_dialog_loading.dart │ │ ├── ui_edit_profile.dart │ │ ├── ui_exist_user_list.dart │ │ ├── ui_gold.dart │ │ ├── ui_gold_record.dart │ │ ├── ui_image_preview.dart │ │ ├── ui_mine.dart │ │ ├── ui_my_comment_list.dart │ │ ├── ui_my_follow_list.dart │ │ ├── ui_my_share_list.dart │ │ ├── ui_person_auth.dart │ │ ├── ui_post_share.dart │ │ ├── ui_select_gender.dart │ │ ├── ui_share_details.dart │ │ ├── ui_share_list.dart │ │ ├── ui_user_details.dart │ │ ├── ui_user_list.dart │ │ └── ui_vip.dart │ ├── ui_launch.dart │ ├── ui_main.dart │ └── widget │ │ ├── height_dialog.dart │ │ ├── widget_gender.dart │ │ └── widget_image.dart ├── pubspec.lock ├── pubspec.yaml └── test │ └── widget_test.dart ├── images ├── 1.jpg ├── 1712880155578.jpg ├── 2.jpg ├── 3.jpg ├── 4.jpg ├── 5.jpg ├── 6.jpg ├── 7.jpg ├── admin_1.jpg ├── admin_2.jpg ├── 微信图片_20240411224006.jpg └── 微信图片_20240419205004.jpg └── 微信图片_20240411215033.jpg /alico-chat-admin/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .classpath 9 | .factorypath 10 | .project 11 | .settings 12 | .springBeans 13 | .sts4-cache 14 | 15 | ### IntelliJ IDEA ### 16 | .idea 17 | *.iws 18 | *.iml 19 | *.ipr 20 | 21 | ### front ### 22 | **/dist 23 | **/node_modules 24 | **/.vscode 25 | 26 | -------------------------------------------------------------------------------- /alico-chat-admin/README.md: -------------------------------------------------------------------------------- 1 | # AlicoChat后台管理 2 | Spring Boot + Ant-design-vue-4.x 3 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | 4 | velocity.log 5 | 6 | !.mvn/wrapper/maven-wrapper.jar 7 | 8 | 9 | ### STS ### 10 | .apt_generated 11 | .classpath 12 | .factorypath 13 | .project 14 | .settings 15 | .springBeans 16 | .sts4-cache 17 | 18 | ### IntelliJ IDEA ### 19 | .idea 20 | *.iws 21 | *.iml 22 | *.ipr 23 | 24 | .DS_Store 25 | 26 | ### NetBeans ### 27 | /nbproject/private/ 28 | /nbbuild/ 29 | /dist/ 30 | /nbdist/ 31 | /.nb-gradle/ 32 | build/ 33 | 34 | ### VS Code ### 35 | .vscode/ 36 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/OperateLogAspectConfig.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.config; 2 | 3 | import net.lab1024.sa.base.module.support.operatelog.core.OperateLogAspect; 4 | import net.lab1024.sa.base.module.support.operatelog.core.OperateLogConfig; 5 | import org.springframework.context.annotation.Configuration; 6 | 7 | /** 8 | * 操作日志切面 配置 9 | * 10 | * @Author 1024创新实验室: 罗伊 11 | * @Date 2022-05-30 21:22:12 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室 15 | */ 16 | @Configuration 17 | public class OperateLogAspectConfig extends OperateLogAspect{ 18 | 19 | /** 20 | * 配置信息 21 | */ 22 | @Override 23 | public OperateLogConfig getOperateLogConfig() { 24 | return OperateLogConfig.builder().corePoolSize(1).queueCapacity(10000).build(); 25 | } 26 | 27 | 28 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminRedisKeyConst.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.constant; 2 | 3 | import net.lab1024.sa.base.constant.RedisKeyConst; 4 | 5 | /** 6 | * redis key 常量类 7 | * 8 | * @Author 1024创新实验室-主任:卓大 9 | * @Date 2022-01-07 18:59:22 10 | * @Wechat zhuoda1024 11 | * @Email lab1024@163.com 12 | * @Copyright 1024创新实验室 13 | */ 14 | public class AdminRedisKeyConst extends RedisKeyConst { 15 | 16 | 17 | } 18 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.listener; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.springframework.boot.CommandLineRunner; 5 | import org.springframework.stereotype.Component; 6 | 7 | /** 8 | * admin 应用启动加载 9 | * 10 | * @Author 1024创新实验室-主任:卓大 11 | * @Date 2021-08-26 18:46:32 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室 15 | */ 16 | @Slf4j 17 | @Component 18 | public class AdminStartupRunner implements CommandLineRunner { 19 | 20 | 21 | @Override 22 | public void run(String... args) { 23 | } 24 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/banner/CarouselDB.kt: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.banner 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import lombok.Data 6 | import net.lab1024.smartdb.annotation.TableAlias 7 | 8 | @Data 9 | @TableAlias(value = "oc_carousel") 10 | data class CarouselDB( 11 | @TableId(type = IdType.AUTO) 12 | var id: Int = 0, 13 | var picture: String = "", 14 | var url: String = "", 15 | var weight: Int = 0, 16 | var status: Int = 0, 17 | ) { 18 | 19 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/constant/CategoryTypeEnum.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.category.constant; 2 | 3 | 4 | import lombok.AllArgsConstructor; 5 | import lombok.Getter; 6 | import net.lab1024.sa.base.common.enumeration.BaseEnum; 7 | 8 | /** 9 | * 分类类型 枚举 10 | * 11 | * @Author 1024创新实验室: 胡克 12 | * @Date 2021/08/05 21:26:58 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @AllArgsConstructor 18 | @Getter 19 | public enum CategoryTypeEnum implements BaseEnum { 20 | 21 | /** 22 | * 1 商品 23 | */ 24 | GOODS(1, "商品"), 25 | 26 | /** 27 | * 2 自定义 28 | */ 29 | CUSTOM(2, "自定义"), 30 | 31 | ; 32 | 33 | private final Integer value; 34 | 35 | private final String desc; 36 | } 37 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategorySimpleDTO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.category.domain.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * 类目 基础属性 DTO 类 8 | * 9 | * @author 胡克 10 | * @date 2021/1/20 16:17 11 | */ 12 | @Data 13 | public class CategorySimpleDTO { 14 | 15 | @Schema(description = "类目id") 16 | private Long categoryId; 17 | 18 | @Schema(description = "类目名称") 19 | private String categoryName; 20 | 21 | @Schema(description = "类目层级全称") 22 | private String categoryFullName; 23 | 24 | @Schema(description = "父级id") 25 | private Long parentId; 26 | } 27 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryTreeQueryForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.category.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import net.lab1024.sa.admin.module.business.category.constant.CategoryTypeEnum; 6 | import net.lab1024.sa.base.common.swagger.SchemaEnum; 7 | 8 | /** 9 | * 类目 层级树查询 10 | * 11 | * @Author 1024创新实验室: 胡克 12 | * @Date 2021/08/05 21:26:58 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class CategoryTreeQueryForm { 19 | 20 | @SchemaEnum(desc = "分类类型|可选", value = CategoryTypeEnum.class) 21 | private Integer categoryType; 22 | 23 | @Schema(description = "父级类目id|可选") 24 | private Long parentId; 25 | } 26 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.category.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import net.lab1024.sa.admin.module.business.category.domain.dto.CategoryBaseDTO; 6 | 7 | import javax.validation.constraints.NotNull; 8 | 9 | /** 10 | * 类目 更新 11 | * 12 | * @Author 1024创新实验室: 胡克 13 | * @Date 2021/08/05 21:26:58 14 | * @Wechat zhuoda1024 15 | * @Email lab1024@163.com 16 | * @Copyright 1024创新实验室 17 | */ 18 | @Data 19 | public class CategoryUpdateForm extends CategoryAddForm { 20 | 21 | @Schema(description = "类目id") 22 | @NotNull(message = "类目id不能为空") 23 | private Long categoryId; 24 | } 25 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.goods.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 商品 更新表单 10 | * 11 | * @Author 1024创新实验室: 胡克 12 | * @Date 2021-10-25 20:26:54 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class GoodsUpdateForm extends GoodsAddForm { 19 | 20 | @Schema(description = "商品id") 21 | @NotNull(message = "商品id不能为空") 22 | private Long goodsId; 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.oa.bank.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * OA办公-银行信息更新 10 | * 11 | * @Author 1024创新实验室:善逸 12 | * @Date 2022/6/23 21:59:22 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class BankUpdateForm extends BankCreateForm { 19 | 20 | @Schema(description = "银行信息ID") 21 | @NotNull(message = "银行信息ID不能为空") 22 | private Long bankId; 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.oa.enterprise; 2 | 3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4 | import net.lab1024.sa.admin.module.business.oa.enterprise.dao.EnterpriseEmployeeDao; 5 | import net.lab1024.sa.admin.module.business.oa.enterprise.domain.entity.EnterpriseEmployeeEntity; 6 | import org.springframework.stereotype.Service; 7 | 8 | /** 9 | * 企业员工关系 manager 10 | * 11 | * @Author 1024创新实验室: 罗伊 12 | * @Date 2022/7/28 20:37:15 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Service 18 | public class EnterpriseEmployeeManager extends ServiceImpl { 19 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.oa.enterprise.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * OA企业模块编辑 10 | * 11 | * @Author 1024创新实验室: 开云 12 | * @Date 2022/7/28 20:37:15 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class EnterpriseUpdateForm extends EnterpriseCreateForm { 19 | 20 | @Schema(description = "企业ID") 21 | @NotNull(message = "企业ID不能为空") 22 | private Long enterpriseId; 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseListVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * OA企业模块列表 8 | * 9 | * @author lihaifan 10 | * @date 2022/6/23 14:31 11 | */ 12 | @Data 13 | public class EnterpriseListVO { 14 | 15 | @Schema(description = "企业ID") 16 | private Long enterpriseId; 17 | 18 | @Schema(description = "企业名称") 19 | private String enterpriseName; 20 | } 21 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.oa.invoice.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * OA发票信息编辑 10 | * 11 | * @Author 1024创新实验室: 善逸 12 | * @Date 2022-06-23 19:32:59 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class InvoiceUpdateForm extends InvoiceAddForm { 19 | 20 | @Schema(description = "发票信息ID") 21 | @NotNull(message = "发票信息ID不能为空") 22 | private Long invoiceId; 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.oa.notice.dao; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import net.lab1024.sa.admin.module.business.oa.notice.domain.entity.NoticeTypeEntity; 5 | import org.apache.ibatis.annotations.Mapper; 6 | import org.springframework.stereotype.Component; 7 | 8 | /** 9 | * 通知公告类型 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-08-12 21:40:39 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Mapper 18 | @Component 19 | public interface NoticeTypeDao extends BaseMapper { 20 | 21 | } 22 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.oa.notice.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 通知公告 更新表单 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-08-12 21:40:39 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class NoticeUpdateForm extends NoticeAddForm { 19 | 20 | @Schema(description = "id") 21 | @NotNull(message = "通知id不能为空") 22 | private Long noticeId; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeEmployeeVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.oa.notice.domain.vo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import java.time.LocalDate; 7 | 8 | /** 9 | * 通知公告 员工查看 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-08-12 21:40:39 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class NoticeEmployeeVO extends NoticeVO { 19 | 20 | @Schema(description = "是否查看") 21 | private Boolean viewFlag; 22 | 23 | @Schema(description = "发布日期") 24 | private LocalDate publishDate; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeTypeVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.oa.notice.domain.vo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * 通知公告 类型 8 | * 9 | * @Author 1024创新实验室-主任: 卓大 10 | * @Date 2022-08-12 21:40:39 11 | * @Wechat zhuoda1024 12 | * @Email lab1024@163.com 13 | * @Copyright 1024创新实验室 14 | */ 15 | @Data 16 | public class NoticeTypeVO { 17 | 18 | @Schema(description = "通知类型id") 19 | private Long noticeTypeId; 20 | 21 | @Schema(description = "通知类型-名称") 22 | private String noticeTypeName; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/review/goddess/AlbumDB.kt: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.review.goddess 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import lombok.Data 6 | import net.lab1024.smartdb.annotation.TableAlias 7 | 8 | @Data 9 | @TableAlias(value = "oc_album") 10 | data class AlbumDB( 11 | @TableId(type = IdType.AUTO) 12 | var pictureId: Int = 0, 13 | var userId: Int = 0, 14 | var image: String = "", 15 | var mediaType: Int = 0, 16 | var weight: Int = 0, 17 | var isBurn: Int = 0, 18 | var isFee: Int = 0, 19 | var label: Int = 0, 20 | var audit: Int = 0, 21 | var note: String = "", 22 | var matchSocre: Double = 0.0, 23 | var createAt: Long = System.currentTimeMillis() / 1000, 24 | ) { 25 | 26 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/review/goddess/AlbumList.kt: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.review.goddess 2 | 3 | import net.lab1024.sa.admin.module.business.user.UserDB 4 | 5 | class AlbumList { 6 | var list = listOf() 7 | var userList = listOf() 8 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/review/goddess/RealRecordDB.kt: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.review.goddess 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | import net.lab1024.smartdb.annotation.TableAlias 8 | 9 | @Data 10 | @TableAlias(value = "oc_arc_soft_real_record") 11 | data class RealRecordDB( 12 | @TableId(type = IdType.AUTO) 13 | var id: Int = 0, 14 | var userId: Int = 0, 15 | var faceImg: String = "", 16 | var realImg: String = "", 17 | var matchScore: Int = 0, 18 | var createdAt: Long = System.currentTimeMillis()/1000, 19 | ) { 20 | 21 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/user/RealRecordDB.kt: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.user 2 | 3 | import cn.hutool.json.JSONArray 4 | import com.baomidou.mybatisplus.annotation.IdType 5 | import com.baomidou.mybatisplus.annotation.TableField 6 | import com.baomidou.mybatisplus.annotation.TableId 7 | import com.baomidou.mybatisplus.annotation.TableName 8 | import lombok.Data 9 | import net.lab1024.smartdb.annotation.TableAlias 10 | 11 | @Data 12 | @TableAlias(value = "oc_arc_soft_real_record") 13 | data class RealRecordDB( 14 | @TableId(type = IdType.AUTO) 15 | var id: Int = 0, 16 | var userId: Int = 0, 17 | var faceImg: String = "", 18 | var realImg: String = "", 19 | var matchScore: Int = 0, 20 | var createdAt: Long = System.currentTimeMillis()/1000, 21 | ) { 22 | 23 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/user/UserList.kt: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.user 2 | 3 | class UserList { 4 | var list = listOf() 5 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/user/UserWalletDB.kt: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.business.user 2 | 3 | import cn.hutool.json.JSONArray 4 | import com.baomidou.mybatisplus.annotation.IdType 5 | import com.baomidou.mybatisplus.annotation.TableField 6 | import com.baomidou.mybatisplus.annotation.TableId 7 | import com.baomidou.mybatisplus.annotation.TableName 8 | import lombok.Data 9 | import net.lab1024.smartdb.annotation.TableAlias 10 | 11 | @Data 12 | @TableAlias(value = "oc_user_wallet") 13 | data class UserWalletDB( 14 | @TableId(type = IdType.AUTO) 15 | var userId: Int = 0, 16 | var money: Double = 0.0, 17 | var gold: Int = 0, 18 | var payPwd: String = "", 19 | var realname: String = "", 20 | var payAccount: String = "", 21 | ) { 22 | 23 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeViewTypeVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.datascope.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | /** 8 | * 数据范围 9 | * 10 | * @Author 1024创新实验室: 罗伊 11 | * @Date 2020/11/28 20:59:17 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室 15 | */ 16 | @Data 17 | @Builder 18 | public class DataScopeViewTypeVO { 19 | 20 | @Schema(description = "可见范围") 21 | private Integer viewType; 22 | 23 | @Schema(description = "可见范围名称") 24 | private String viewTypeName; 25 | 26 | @Schema(description = "级别,用于表示范围大小") 27 | private Integer viewTypeLevel; 28 | } 29 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.department.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 部门 更新表单 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-01-12 20:37:48 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class DepartmentUpdateForm extends DepartmentAddForm { 19 | 20 | @Schema(description = "部门id") 21 | @NotNull(message = "部门id不能为空") 22 | private Long departmentId; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentEmployeeTreeVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.department.domain.vo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * 部门 11 | * 12 | * @Author 1024创新实验室-主任: 卓大 13 | * @Date 2022-01-12 20:37:48 14 | * @Wechat zhuoda1024 15 | * @Email lab1024@163.com 16 | * @Copyright 1024创新实验室 17 | */ 18 | @Data 19 | public class DepartmentEmployeeTreeVO extends DepartmentVO { 20 | 21 | @Schema(description = "部门员工列表") 22 | private List employees; 23 | 24 | @Schema(description = "子部门") 25 | private List children; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.employee.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 更新员工 10 | * 11 | * @Author 1024创新实验室: 开云 12 | * @Date 2021-12-20 21:06:49 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class EmployeeUpdateForm extends EmployeeAddForm { 19 | 20 | @Schema(description = "员工id") 21 | @NotNull(message = "员工id不能为空") 22 | private Long employeeId; 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuAddForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.menu.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * 菜单 添加表单 8 | * 9 | * @Author 1024创新实验室: 善逸 10 | * @Date 2022-03-06 22:04:37 11 | * @Wechat zhuoda1024 12 | * @Email lab1024@163.com 13 | * @Copyright 1024创新实验室 14 | */ 15 | @Data 16 | public class MenuAddForm extends MenuBaseForm { 17 | 18 | @Schema(hidden = true) 19 | private Long createUserId; 20 | } 21 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.menu.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 菜单 更新Form 10 | * 11 | * @Author 1024创新实验室: 善逸 12 | * @Date 2022-03-06 22:04:37 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class MenuUpdateForm extends MenuBaseForm { 19 | 20 | @Schema(description = "菜单ID") 21 | @NotNull(message = "菜单ID不能为空") 22 | private Long menuId; 23 | 24 | @Schema(hidden = true) 25 | private Long updateUserId; 26 | } 27 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuTreeVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.menu.domain.vo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * 菜单 10 | * 11 | * @Author 1024创新实验室: 善逸 12 | * @Date 2022-03-06 22:04:37 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class MenuTreeVO extends MenuVO{ 19 | 20 | @Schema(description = "菜单子集") 21 | private List children; 22 | } 23 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleEmployeeQueryForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.role.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import net.lab1024.sa.base.common.domain.PageParam; 6 | 7 | /** 8 | * 角色的员工查询 9 | * 10 | * @Author 1024创新实验室: 善逸 11 | * @Date 2022-04-08 21:53:04 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室 15 | */ 16 | @Data 17 | public class RoleEmployeeQueryForm extends PageParam { 18 | 19 | @Schema(description = "关键字") 20 | private String keywords; 21 | 22 | @Schema(description = "角色id") 23 | private String roleId; 24 | } 25 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleQueryForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.role.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import net.lab1024.sa.base.common.domain.PageParam; 6 | 7 | /** 8 | * 角色 查询 9 | * 10 | * @Author 1024创新实验室: 胡克 11 | * @Date 2022-02-26 19:09:42 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室 15 | */ 16 | @Data 17 | public class RoleQueryForm extends PageParam { 18 | 19 | @Schema(description = "角色名称") 20 | private String roleName; 21 | 22 | @Schema(description = "角色id") 23 | private String roleId; 24 | } 25 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.role.domain.form; 2 | import io.swagger.v3.oas.annotations.media.Schema; 3 | import lombok.Data; 4 | 5 | import javax.validation.constraints.NotNull; 6 | 7 | /** 8 | * 角色更新修改 9 | * 10 | * @Author 1024创新实验室: 胡克 11 | * @Date 2022-02-26 19:09:42 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室 15 | */ 16 | @Data 17 | public class RoleUpdateForm extends RoleAddForm { 18 | 19 | /** 20 | * 角色id 21 | */ 22 | @Schema(description = "角色id") 23 | @NotNull(message = "角色id不能为空") 24 | protected Long roleId; 25 | 26 | 27 | } 28 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleDataScopeVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.role.domain.vo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * 角色的数据范围 8 | * 9 | * @Author 1024创新实验室: 罗伊 10 | * @Date 2022-04-08 21:53:04 11 | * @Wechat zhuoda1024 12 | * @Email lab1024@163.com 13 | * @Copyright 1024创新实验室 14 | */ 15 | @Data 16 | public class RoleDataScopeVO { 17 | 18 | @Schema(description = "数据范围id") 19 | private Integer dataScopeType; 20 | 21 | @Schema(description = "可见范围") 22 | private Integer viewType; 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleEmployeeVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.role.domain.vo; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * 角色的员工 7 | * 8 | * @Author 1024创新实验室: 罗伊 9 | * @Date 2022-04-08 21:53:04 10 | * @Wechat zhuoda1024 11 | * @Email lab1024@163.com 12 | * @Copyright 1024创新实验室 13 | */ 14 | @Data 15 | public class RoleEmployeeVO { 16 | 17 | private Long roleId; 18 | 19 | private Long employeeId; 20 | 21 | private String roleName; 22 | } 23 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleMenuTreeVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.role.domain.vo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import net.lab1024.sa.admin.module.system.menu.domain.vo.MenuSimpleTreeVO; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * 角色菜单树 11 | * 12 | * @Author 1024创新实验室: 善逸 13 | * @Date 2022-04-08 21:53:04 14 | * @Wechat zhuoda1024 15 | * @Email lab1024@163.com 16 | * @Copyright 1024创新实验室 17 | */ 18 | @Data 19 | public class RoleMenuTreeVO { 20 | 21 | @Schema(description = "角色ID") 22 | private Long roleId; 23 | 24 | @Schema(description = "菜单列表") 25 | private List menuTreeList; 26 | 27 | @Schema(description = "选中的菜单ID") 28 | private List selectedMenuId; 29 | } 30 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleSelectedVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.role.domain.vo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * 选择角色 8 | * 9 | * @Author 1024创新实验室: 善逸 10 | * @Date 2022-04-08 21:53:04 11 | * @Wechat zhuoda1024 12 | * @Email lab1024@163.com 13 | * @Copyright 1024创新实验室 14 | */ 15 | @Data 16 | public class RoleSelectedVO extends RoleVO { 17 | 18 | @Schema(description = "角色名称") 19 | private Boolean selected; 20 | } 21 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleDataScopeManager.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin.module.system.role.manager; 2 | 3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4 | import net.lab1024.sa.admin.module.system.role.dao.RoleDataScopeDao; 5 | import net.lab1024.sa.admin.module.system.role.domain.entity.RoleDataScopeEntity; 6 | import org.springframework.stereotype.Service; 7 | 8 | /** 9 | * 角色 数据范围 manager 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-04-08 21:53:04 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Service 18 | public class RoleDataScopeManager extends ServiceImpl { 19 | 20 | } 21 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/resources/dev/spy.properties: -------------------------------------------------------------------------------- 1 | #相关的包 2 | modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory 3 | # 日志格式 4 | logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger 5 | #日志输出到控制台 6 | appender=com.p6spy.engine.spy.appender.StdoutLogger 7 | # 设置 p6spy driver 代理 8 | deregisterdrivers=true 9 | # 取消JDBC URL前缀 10 | useprefix=true 11 | # 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset. 12 | excludecategories=info,debug,result,commit,resultset 13 | # 日期格式 14 | dateformat=yyyy-MM-dd HH:mm:ss 15 | # 开启慢sql 16 | outagedetection=true 17 | # 慢SQL记录标准(单位秒) 18 | outagedetectioninterval=2 -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 14 | 15 | 16 | 21 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/main/resources/test/spy.properties: -------------------------------------------------------------------------------- 1 | #相关的包 2 | modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory 3 | # 日志格式 4 | logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger 5 | #日志输出到控制台 6 | appender=com.p6spy.engine.spy.appender.StdoutLogger 7 | # 设置 p6spy driver 代理 8 | deregisterdrivers=true 9 | # 取消JDBC URL前缀 10 | useprefix=true 11 | # 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset. 12 | excludecategories=info,debug,result,commit,resultset 13 | # 日期格式 14 | dateformat=yyyy-MM-dd HH:mm:ss 15 | # 开启慢sql 16 | outagedetection=true 17 | # 慢SQL记录标准(单位秒) 18 | outagedetectioninterval=2 -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-admin/src/test/java/net/lab1024/sa/admin/AdminApplicationTest.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.admin; 2 | 3 | import org.junit.jupiter.api.AfterEach; 4 | import org.junit.jupiter.api.BeforeEach; 5 | import org.junit.jupiter.api.extension.ExtendWith; 6 | import org.springframework.boot.test.context.SpringBootTest; 7 | import org.springframework.test.context.junit.jupiter.SpringExtension; 8 | 9 | @ExtendWith(SpringExtension.class) 10 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) 11 | public class AdminApplicationTest { 12 | 13 | @BeforeEach 14 | public void before() { 15 | System.out.println("----------------------- 测试开始 -----------------------"); 16 | 17 | } 18 | 19 | @AfterEach 20 | public void after() { 21 | System.out.println("----------------------- 测试结束 -----------------------"); 22 | } 23 | 24 | } 25 | 26 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/AppInitializing.kt: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base 2 | 3 | import net.lab1024.sa.base.common.constant.AliOss 4 | import net.lab1024.sa.base.common.controller.AliSts 5 | import org.springframework.beans.factory.InitializingBean 6 | import org.springframework.beans.factory.annotation.Autowired 7 | import org.springframework.core.env.Environment 8 | import org.springframework.stereotype.Component 9 | 10 | @Component 11 | class AppInitializing : InitializingBean { 12 | @Autowired 13 | lateinit var environment: Environment 14 | override fun afterPropertiesSet() { 15 | val ossDomain = environment.getProperty("file.storage.cloud.url-prefix") ?: "" 16 | AliOss.FILE_DOMAIN = ossDomain 17 | 18 | } 19 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/annoation/NoNeedLogin.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.annoation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * 不需要登录注解 10 | * 11 | * @Author 1024创新实验室: 罗伊 12 | * @Date 2022-05-30 21:22:12 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Retention(RetentionPolicy.RUNTIME) 18 | @Target(ElementType.METHOD) 19 | public @interface NoNeedLogin { 20 | } 21 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/constant/AliOss.kt: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.constant 2 | 3 | object AliOss { 4 | var FILE_DOMAIN = "" 5 | 6 | fun String.addAliOssDomain(): String { 7 | if (this.startsWith("http")) return this 8 | return "$FILE_DOMAIN/$this" 9 | } 10 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/constant/RequestHeaderConst.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.constant; 2 | 3 | /** 4 | * 请求消息头常量 5 | * 6 | * @Author 1024创新实验室: 罗伊 7 | * @Date 2022-05-15 20:46:27 8 | * @Wechat zhuoda1024 9 | * @Email lab1024@163.com 10 | * @Copyright 1024创新实验室 11 | */ 12 | public class RequestHeaderConst { 13 | 14 | public static final String TOKEN = "x-access-token"; 15 | 16 | public static final String USER_AGENT = "user-agent"; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/controller/SupportBaseController.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.controller; 2 | 3 | import net.lab1024.sa.base.constant.SwaggerTagConst; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | 6 | /** 7 | * 支撑类业务路由基类 8 | * 9 | * @Author 1024创新实验室: 胡克 10 | * @Date 2022-04-24 20:43:55 11 | * @Wechat zhuoda1024 12 | * @Email lab1024@163.com 13 | * @Copyright 1024创新实验室 14 | */ 15 | @RequestMapping(SwaggerTagConst.Support.URL_PREFIX) 16 | public class SupportBaseController { 17 | } 18 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/domain/DataScopePlugin.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.domain; 2 | 3 | import org.apache.ibatis.plugin.Interceptor; 4 | 5 | /** 6 | * 数据范围 插件 7 | * 8 | * @Author 1024创新实验室: 罗伊 9 | * @Date 2021-11-15 17:20:04 10 | * @Wechat zhuoda1024 11 | * @Email lab1024@163.com 12 | * @Copyright 1024创新实验室 13 | */ 14 | public abstract class DataScopePlugin implements Interceptor { 15 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/domain/RequestUrlVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * 请求url返回对象 8 | * 9 | * @Author 1024创新实验室: 李善逸 10 | * @Date 2021/9/1 20:15 11 | * @Wechat zhuoda1024 12 | * @Email lab1024@163.com 13 | * @Copyright 1024创新实验室 14 | */ 15 | @Data 16 | public class RequestUrlVO { 17 | 18 | @Schema(description = "注释说明") 19 | private String comment; 20 | 21 | @Schema(description = "controller.method") 22 | private String name; 23 | 24 | @Schema(description = "url") 25 | private String url; 26 | } 27 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/domain/SystemEnvironment.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.domain; 2 | 3 | 4 | import lombok.AllArgsConstructor; 5 | import lombok.Getter; 6 | import net.lab1024.sa.base.common.enumeration.SystemEnvironmentEnum; 7 | 8 | /** 9 | * 系统环境 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2021/8/13 21:06:11 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @AllArgsConstructor 18 | @Getter 19 | public class SystemEnvironment { 20 | 21 | /** 22 | * 是否位生产环境 23 | */ 24 | private boolean isProd; 25 | 26 | /** 27 | * 项目名称 28 | */ 29 | private String projectName; 30 | 31 | /** 32 | * 当前环境 33 | */ 34 | private SystemEnvironmentEnum currentEnvironment; 35 | } 36 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/domain/UserPermission.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.domain; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * sa-token 所需的权限信息 9 | * 10 | * @Author 1024创新实验室-主任:卓大 11 | * @Date 2023/8/26 15:23:10 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室,Since 2012 15 | */ 16 | 17 | @Data 18 | public class UserPermission { 19 | 20 | /** 21 | * 权限列表 22 | */ 23 | private List permissionList; 24 | 25 | /** 26 | * 角色列表 27 | */ 28 | private List roleList; 29 | 30 | 31 | } 32 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/domain/ValidateData.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.domain; 2 | 3 | import lombok.Data; 4 | 5 | import javax.validation.constraints.NotNull; 6 | 7 | /** 8 | * 校验数据是否为空的包装类 9 | * 10 | * @Author 1024创新实验室: 胡克 11 | * @Date 2020/10/16 21:06:11 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室 15 | */ 16 | @Data 17 | public class ValidateData { 18 | 19 | @NotNull(message = "数据不能为空哦") 20 | private T data; 21 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/enumeration/DataTypeEnum.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.enumeration; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | /** 7 | * @Author 1024创新实验室-主任:卓大 8 | * @Date 2023/10/25 09:47:13 9 | * @Wechat zhuoda1024 10 | * @Email lab1024@163.com 11 | * @Copyright 1024创新实验室,Since 2012 12 | */ 13 | 14 | @Getter 15 | @AllArgsConstructor 16 | public enum DataTypeEnum implements BaseEnum { 17 | 18 | /** 19 | *普通数据 20 | */ 21 | NORMAL(1, "普通数据"), 22 | 23 | /** 24 | * 加密数据 25 | */ 26 | ENCRYPT(10, "加密数据"), 27 | ; 28 | private final Integer value; 29 | 30 | private final String desc; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/enumeration/GenderEnum.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.enumeration; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | /** 7 | * 性别枚举类 8 | * 9 | * @Author 1024创新实验室: 胡克 10 | * @Date 2019/09/24 16:50 11 | * @Wechat zhuoda1024 12 | * @Email lab1024@163.com 13 | * @Copyright 1024创新实验室 14 | */ 15 | @AllArgsConstructor 16 | @Getter 17 | public enum GenderEnum implements BaseEnum { 18 | 19 | /** 20 | * 0 未知 21 | */ 22 | UNKNOWN(0, "未知"), 23 | 24 | /** 25 | * 男 1 奇数为阳 26 | */ 27 | MAN(1, "男"), 28 | 29 | /** 30 | * 女 2 偶数为阴 31 | */ 32 | WOMAN(2, "女"); 33 | 34 | private final Integer value; 35 | 36 | private final String desc; 37 | } 38 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/enumeration/UserTypeEnum.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.common.enumeration; 2 | 3 | /** 4 | * 用户类型 5 | * 6 | * @Author 1024创新实验室-主任:卓大 7 | * @Date 2022/10/19 21:46:24 8 | * @Wechat zhuoda1024 9 | * @Email lab1024@163.com 10 | * @Copyright 1024创新实验室 11 | */ 12 | public enum UserTypeEnum implements BaseEnum { 13 | 14 | /** 15 | * 管理端 员工用户 16 | */ 17 | ADMIN_EMPLOYEE(1, "员工"); 18 | 19 | private Integer type; 20 | 21 | private String desc; 22 | 23 | UserTypeEnum(Integer type, String desc) { 24 | this.type = type; 25 | this.desc = desc; 26 | } 27 | 28 | @Override 29 | public Integer getValue() { 30 | return type; 31 | } 32 | 33 | @Override 34 | public String getDesc() { 35 | return desc; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/constant/CacheKeyConst.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.constant; 2 | 3 | /** 4 | * 缓存key常量 5 | * 6 | * @Author 1024创新实验室: 罗伊 7 | * @Date 2022-05-30 21:22:12 8 | * @Wechat zhuoda1024 9 | * @Email lab1024@163.com 10 | * @Copyright 1024创新实验室 11 | */ 12 | public class CacheKeyConst { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/constant/RedisKeyConst.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.constant; 2 | 3 | /** 4 | * redis key 常量类 5 | * 6 | * @Author 1024创新实验室: 罗伊 7 | * @Date 2022-05-30 21:22:12 8 | * @Wechat zhuoda1024 9 | * @Email lab1024@163.com 10 | * @Copyright 1024创新实验室 11 | */ 12 | public class RedisKeyConst { 13 | 14 | public static final String SEPARATOR = ":"; 15 | 16 | public static class Support { 17 | 18 | public static final String FILE_PRIVATE_VO = "file:private:"; 19 | 20 | public static final String SERIAL_NUMBER_LAST_INFO = "serial-number:last-info"; 21 | 22 | public static final String SERIAL_NUMBER = "serial-number:"; 23 | 24 | public static final String CAPTCHA = "captcha:"; 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/constant/ReloadConst.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.constant; 2 | 3 | /** 4 | * reload 项目 5 | * 6 | * @Author 1024创新实验室-主任: 卓大 7 | * @Date 2022-05-30 21:22:12 8 | * @Wechat zhuoda1024 9 | * @Email lab1024@163.com 10 | * @Copyright 1024创新实验室 11 | */ 12 | public class ReloadConst { 13 | 14 | public static final String CONFIG_RELOAD = "system_config"; 15 | 16 | public static final String CACHE_SERVICE = "cache_service"; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/annotation/ApiDecrypt.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.apiencrypt.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * 解密注解 10 | * 11 | * @Author 1024创新实验室-主任:卓大 12 | * @Date 2023/10/21 11:41:46 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Retention(RetentionPolicy.RUNTIME) 18 | @Target({ElementType.TYPE, ElementType.METHOD}) 19 | public @interface ApiDecrypt { 20 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/annotation/ApiEncrypt.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.apiencrypt.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * 加密注解 10 | * 11 | * @Author 1024创新实验室-主任:卓大 12 | * @Date 2023/10/21 11:41:46 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Retention(RetentionPolicy.RUNTIME) 18 | @Target({ElementType.TYPE, ElementType.METHOD}) 19 | public @interface ApiEncrypt { 20 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/domain/ApiEncryptForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.apiencrypt.domain; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * 加密数据的表单 7 | * 8 | * @Author 1024创新实验室-主任:卓大 9 | * @Date 2023/10/21 11:41:46 10 | * @Wechat zhuoda1024 11 | * @Email lab1024@163.com 12 | * @Copyright 1024创新实验室 13 | */ 14 | 15 | 16 | @Data 17 | public class ApiEncryptForm { 18 | 19 | private String encryptData; 20 | } 21 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/service/ApiEncryptService.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.apiencrypt.service; 2 | 3 | /** 4 | * 接口加密、解密 Service 5 | * 6 | * @Author 1024创新实验室-主任:卓大 7 | * @Date 2023/10/21 11:41:46 8 | * @Wechat zhuoda1024 9 | * @Email lab1024@163.com 10 | * @Copyright 1024创新实验室 11 | */ 12 | 13 | public interface ApiEncryptService { 14 | 15 | /** 16 | * 解密 17 | * @param data 18 | * @return 19 | */ 20 | String decrypt(String data); 21 | 22 | /** 23 | * 加密 24 | * 25 | * @param data 26 | * @return 27 | */ 28 | String encrypt(String data); 29 | 30 | } 31 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/captcha/domain/CaptchaForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.captcha.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotBlank; 7 | 8 | /** 9 | * 图形验证码 表单 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2021-09-02 20:21:10 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | 18 | @Data 19 | public class CaptchaForm { 20 | 21 | @Schema(description = "验证码") 22 | @NotBlank(message = "验证码不能为空") 23 | private String captchaCode; 24 | 25 | @Schema(description = "验证码uuid标识") 26 | @NotBlank(message = "验证码uuid标识不能为空") 27 | private String captchaUuid; 28 | } 29 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/captcha/domain/CaptchaVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.captcha.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * 图形验证码 VO 8 | * 9 | * @Author 1024创新实验室-主任: 卓大 10 | * @Date 2021/8/31 20:52 11 | * @Wechat zhuoda1024 12 | * @Email lab1024@163.com 13 | * @Copyright 1024创新实验室 14 | */ 15 | @Data 16 | public class CaptchaVO { 17 | 18 | @Schema(description = "验证码唯一标识") 19 | private String captchaUuid; 20 | 21 | @Schema(description = "验证码图片内容-生产环境无效") 22 | private String captchaText; 23 | 24 | @Schema(description = "验证码Base64图片") 25 | private String captchaBase64Image; 26 | 27 | @Schema(description = "过期时间(秒)") 28 | private Long expireSeconds; 29 | } 30 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/changelog/constant/ChangeLogTypeEnum.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.changelog.constant; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | import net.lab1024.sa.base.common.enumeration.BaseEnum; 6 | 7 | /** 8 | * 更新类型:[1:特大版本功能更新;2:功能更新;3:bug修复] 9 | * 10 | * @Author 卓大 11 | * @Date 2022-09-26T14:53:50 12 | * @Copyright 1024创新实验室 13 | */ 14 | 15 | @AllArgsConstructor 16 | @Getter 17 | public enum ChangeLogTypeEnum implements BaseEnum { 18 | 19 | /** 20 | * 重大更新 21 | */ 22 | MAJOR_UPDATE(1, "重大更新"), 23 | 24 | /** 25 | * 功能更新 26 | */ 27 | FUNCTION_UPDATE(2, "功能更新"), 28 | 29 | /** 30 | * Bug修复 31 | */ 32 | BUG_FIX(3, "Bug修复"), 33 | 34 | ; 35 | 36 | private final Integer value; 37 | 38 | private final String desc; 39 | } 40 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/constant/CodeGeneratorConstant.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.codegenerator.constant; 2 | 3 | /** 4 | * 常量 5 | * 6 | * @Author 1024创新实验室: 罗伊 7 | * @Date 2022-06-30 22:15:38 8 | * @Wechat zhuoda1024 9 | * @Email lab1024@163.com 10 | * @Copyright 1024创新实验室 11 | */ 12 | public class CodeGeneratorConstant { 13 | 14 | /** 15 | * 主键 16 | */ 17 | public final static String PRIMARY_KEY = "PRI"; 18 | 19 | /** 20 | * 自增 21 | */ 22 | public final static String AUTO_INCREMENT = "auto_increment"; 23 | 24 | /** 25 | * 默认逻辑删除字段名称 26 | */ 27 | public static String DELETED_FLAG = "deleted_flag"; 28 | 29 | 30 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/dao/CodeGeneratorConfigDao.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.codegenerator.dao; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import net.lab1024.sa.base.module.support.codegenerator.domain.entity.CodeGeneratorConfigEntity; 5 | import org.apache.ibatis.annotations.Mapper; 6 | import org.springframework.stereotype.Component; 7 | 8 | /** 9 | * 表的 代码生成配置 Dao 10 | * @Author 1024创新实验室-主任: 卓大 11 | * @Date 2022-09-23 20:15:38 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室 15 | */ 16 | @Mapper 17 | @Component 18 | public interface CodeGeneratorConfigDao extends BaseMapper { 19 | 20 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/domain/form/CodeGeneratorPreviewForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.codegenerator.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotBlank; 7 | 8 | /** 9 | * 代码生成 预览 表单 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022/6/23 23:20:46 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class CodeGeneratorPreviewForm { 19 | 20 | @NotBlank(message = "模板文件 不能为空") 21 | @Schema(description = "模板文件") 22 | private String templateFile; 23 | 24 | @NotBlank(message = "表名 不能为空") 25 | @Schema(description = "表名") 26 | private String tableName; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/domain/form/TableQueryForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.codegenerator.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import net.lab1024.sa.base.common.domain.PageParam; 6 | 7 | 8 | /** 9 | * 查询表数据 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-06-30 22:15:38 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class TableQueryForm extends PageParam { 19 | 20 | @Schema(description = "表名关键字") 21 | private String tableNameKeywords; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/config/ConfigKeyEnum.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.config; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | import net.lab1024.sa.base.common.enumeration.BaseEnum; 6 | 7 | /** 8 | * 系统配置常量类 9 | * 10 | * @Author 1024创新实验室-主任: 卓大 11 | * @Date 2022-03-14 20:46:27 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室 15 | */ 16 | @Getter 17 | @AllArgsConstructor 18 | public enum ConfigKeyEnum implements BaseEnum { 19 | 20 | /** 21 | * 万能密码 22 | */ 23 | SUPER_PASSWORD("super_password", "万能密码"), 24 | 25 | ; 26 | 27 | private final String value; 28 | 29 | private final String desc; 30 | } 31 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/config/domain/ConfigQueryForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.config.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import net.lab1024.sa.base.common.domain.PageParam; 6 | import org.hibernate.validator.constraints.Length; 7 | 8 | /** 9 | * 分页查询 系统配置 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-03-14 20:46:27 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class ConfigQueryForm extends PageParam { 19 | 20 | @Schema(description = "参数KEY") 21 | @Length(max = 50, message = "参数Key最多50字符") 22 | private String configKey; 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/config/domain/ConfigUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.config.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 配置更新表单 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-03-14 20:46:27 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class ConfigUpdateForm extends ConfigAddForm { 19 | 20 | @Schema(description = "configId") 21 | @NotNull(message = "configId不能为空") 22 | private Long configId; 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/datatracer/annoation/DataTracerFieldBigDecimal.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.datatracer.annoation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * 数据变动字段注解 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-07-23 19:38:52 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Retention(RetentionPolicy.RUNTIME) 18 | @Target(ElementType.FIELD) 19 | public @interface DataTracerFieldBigDecimal { 20 | int scale() default 2; 21 | } 22 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/datatracer/annoation/DataTracerFieldDict.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.datatracer.annoation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * 字典的字段 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-07-23 19:38:52 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Retention(RetentionPolicy.RUNTIME) 18 | @Target(ElementType.FIELD) 19 | public @interface DataTracerFieldDict { 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/datatracer/annoation/DataTracerFieldEnum.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.datatracer.annoation; 2 | 3 | import net.lab1024.sa.base.common.enumeration.BaseEnum; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | /** 11 | * 字段枚举 12 | * 13 | * @Author 1024创新实验室-主任: 卓大 14 | * @Date 2022-07-23 19:38:52 15 | * @Wechat zhuoda1024 16 | * @Email lab1024@163.com 17 | * @Copyright 1024创新实验室 18 | */ 19 | @Retention(RetentionPolicy.RUNTIME) 20 | @Target(ElementType.FIELD) 21 | public @interface DataTracerFieldEnum { 22 | 23 | Class enumClass() default BaseEnum.class; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/datatracer/annoation/DataTracerFieldLabel.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.datatracer.annoation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * 字段标签 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-07-23 19:38:52 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Retention(RetentionPolicy.RUNTIME) 18 | @Target(ElementType.FIELD) 19 | public @interface DataTracerFieldLabel { 20 | /** 21 | * 本属性的注释信息 22 | * @return 23 | */ 24 | String value() default ""; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/datatracer/constant/DataTracerConst.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.datatracer.constant; 2 | 3 | /** 4 | * 常量 5 | * 6 | * @Author 1024创新实验室-主任: 卓大 7 | * @Date 2022-07-23 19:38:52 8 | * @Wechat zhuoda1024 9 | * @Email lab1024@163.com 10 | * @Copyright 1024创新实验室 11 | */ 12 | public class DataTracerConst { 13 | 14 | public static final String TAB = " "; 15 | 16 | public static final String SPLIT_LINE = "-----------------------------"; 17 | 18 | public static final String BLANK = " "; 19 | public static final String SPLIT = ": "; 20 | public static final String HTML_BR = "
"; 21 | 22 | public static final String INSERT = "新增"; 23 | 24 | public static final String DELETE = "删除"; 25 | 26 | public static final String UPDATE = "修改"; 27 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/datatracer/domain/bo/DataTracerContentBO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.datatracer.domain.bo; 2 | 3 | import lombok.Data; 4 | 5 | import java.lang.reflect.Field; 6 | 7 | /** 8 | * 变动内容 9 | * 10 | * @Author 1024创新实验室-主任: 卓大 11 | * @Date 2022-07-23 19:38:52 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室 15 | */ 16 | @Data 17 | public class DataTracerContentBO { 18 | 19 | /** 20 | * 变动字段 21 | */ 22 | private Field field; 23 | 24 | /** 25 | * 变动字段的值 26 | */ 27 | private Object fieldValue; 28 | 29 | /** 30 | * 变动字段描述 31 | */ 32 | private String fieldDesc; 33 | 34 | /** 35 | * 变动内容 36 | */ 37 | private String fieldContent; 38 | 39 | } 40 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/datatracer/manager/DataTracerManger.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.datatracer.manager; 2 | 3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4 | import net.lab1024.sa.base.module.support.datatracer.dao.DataTracerDao; 5 | import net.lab1024.sa.base.module.support.datatracer.domain.entity.DataTracerEntity; 6 | import org.springframework.stereotype.Service; 7 | 8 | /** 9 | * manager层 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-07-23 19:38:52 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Service 18 | public class DataTracerManger extends ServiceImpl { 19 | } 20 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/dict/domain/form/DictKeyQueryForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.dict.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import net.lab1024.sa.base.common.domain.PageParam; 6 | 7 | /** 8 | * 字典 9 | * 10 | * @Author 1024创新实验室: 罗伊 11 | * @Date 2022/5/26 19:40:55 12 | * @Wechat zhuoda1024 13 | * @Email lab1024@163.com 14 | * @Copyright 1024创新实验室 15 | */ 16 | @Data 17 | public class DictKeyQueryForm extends PageParam { 18 | 19 | @Schema(description = "搜索词") 20 | private String searchWord; 21 | 22 | @Schema(description = "删除标识",hidden = true) 23 | private Boolean deletedFlag; 24 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/dict/domain/form/DictKeyUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.dict.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 字典 10 | * 11 | * @Author 1024创新实验室: 罗伊 12 | * @Date 2022/5/26 19:40:55 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class DictKeyUpdateForm extends DictKeyAddForm { 19 | 20 | @Schema(description = "keyId") 21 | @NotNull(message = "keyId不能为空") 22 | private Long dictKeyId; 23 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/dict/domain/form/DictValueUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.dict.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 字典 10 | * 11 | * @Author 1024创新实验室: 罗伊 12 | * @Date 2022/5/26 19:40:55 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class DictValueUpdateForm extends DictValueAddForm { 19 | 20 | @Schema(description = "valueId") 21 | @NotNull(message = "valueId不能为空") 22 | private Long dictValueId; 23 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/dict/domain/vo/DictKeyVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.dict.domain.vo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * 字典 8 | * 9 | * @Author 1024创新实验室: 罗伊 10 | * @Date 2022/5/26 19:40:55 11 | * @Wechat zhuoda1024 12 | * @Email lab1024@163.com 13 | * @Copyright 1024创新实验室 14 | */ 15 | @Data 16 | public class DictKeyVO { 17 | 18 | @Schema(description = "dictKeyId") 19 | private Long dictKeyId; 20 | 21 | @Schema(description = "编码") 22 | private String keyCode; 23 | 24 | @Schema(description = "名称") 25 | private String keyName; 26 | 27 | @Schema(description = "备注") 28 | private String remark; 29 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/domain/vo/FileDownloadVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.file.domain.vo; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * 文件下载 7 | * 8 | * @Author 1024创新实验室: 罗伊 9 | * @Date 2019年10月11日 15:34:47 10 | * @Wechat zhuoda1024 11 | * @Email lab1024@163.com 12 | * @Copyright 1024创新实验室 13 | */ 14 | @Data 15 | public class FileDownloadVO { 16 | 17 | /** 18 | * 文件字节数据 19 | */ 20 | private byte[] data; 21 | 22 | /** 23 | * 文件元数据 24 | */ 25 | private FileMetadataVO metadata; 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/domain/vo/FileMetadataVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.file.domain.vo; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * 文件元数据 7 | * 8 | * @Author 1024创新实验室: 罗伊 9 | * @Date 2019年10月11日 15:34:47 10 | * @Wechat zhuoda1024 11 | * @Email lab1024@163.com 12 | * @Copyright 1024创新实验室 13 | */ 14 | @Data 15 | public class FileMetadataVO { 16 | 17 | /** 18 | * 文件名称 19 | */ 20 | private String fileName; 21 | 22 | /** 23 | * 文件大小/字节 24 | */ 25 | private Long fileSize; 26 | 27 | /** 28 | * 文件格式 29 | */ 30 | private String fileFormat; 31 | } 32 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/heartbeat/core/IHeartBeatRecordHandler.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.heartbeat.core; 2 | 3 | /** 4 | * 心跳处理接口 5 | * 6 | * @Author 1024创新实验室-主任: 卓大 7 | * @Date 2022-01-09 20:57:24 8 | * @Wechat zhuoda1024 9 | * @Email lab1024@163.com 10 | * @Copyright 1024创新实验室 11 | */ 12 | public interface IHeartBeatRecordHandler { 13 | 14 | /** 15 | * 心跳日志处理方法 16 | * 17 | * @param heartBeatRecord 18 | */ 19 | void handler(HeartBeatRecord heartBeatRecord); 20 | } 21 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/heartbeat/domain/HeartBeatRecordQueryForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.heartbeat.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import net.lab1024.sa.base.common.domain.PageParam; 6 | 7 | import java.time.LocalDate; 8 | 9 | /** 10 | * 心跳记录 查询 11 | * 12 | * @Author 1024创新实验室-主任: 卓大 13 | * @Date 2022-01-09 20:57:24 14 | * @Wechat zhuoda1024 15 | * @Email lab1024@163.com 16 | * @Copyright 1024创新实验室 17 | */ 18 | @Data 19 | public class HeartBeatRecordQueryForm extends PageParam { 20 | 21 | @Schema(description = "关键字") 22 | private String keywords; 23 | 24 | @Schema(description = "开始日期") 25 | private LocalDate startDate; 26 | 27 | @Schema(description = "结束日期") 28 | private LocalDate endDate; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/helpdoc/dao/HelpDocCatalogDao.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.helpdoc.dao; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import net.lab1024.sa.base.module.support.helpdoc.domain.entity.HelpDocCatalogEntity; 5 | import org.apache.ibatis.annotations.Mapper; 6 | import org.springframework.stereotype.Component; 7 | 8 | /** 9 | * 帮助文档目录 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-08-20 23:11:42 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Mapper 18 | @Component 19 | public interface HelpDocCatalogDao extends BaseMapper { 20 | 21 | } 22 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/helpdoc/domain/form/HelpDocCatalogUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.helpdoc.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 帮助文档 目录 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-08-20 23:11:42 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class HelpDocCatalogUpdateForm extends HelpDocCatalogAddForm { 19 | 20 | @Schema(description = "id") 21 | @NotNull(message = "id") 22 | private Long helpDocCatalogId; 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/helpdoc/domain/form/HelpDocRelationForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.helpdoc.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotBlank; 7 | import javax.validation.constraints.NotNull; 8 | 9 | /** 10 | * 帮助文档 关联项目 11 | * 12 | * @Author 1024创新实验室-主任: 卓大 13 | * @Date 2022-08-20 23:11:42 14 | * @Wechat zhuoda1024 15 | * @Email lab1024@163.com 16 | * @Copyright 1024创新实验室 17 | */ 18 | @Data 19 | public class HelpDocRelationForm { 20 | 21 | @Schema(description = "关联名称") 22 | @NotBlank(message = "关联名称不能为空") 23 | private String relationName; 24 | 25 | @Schema(description = "关联id") 26 | @NotNull(message = "关联id不能为空") 27 | private Long relationId; 28 | } 29 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/helpdoc/domain/form/HelpDocUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.helpdoc.domain.form; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 更新 帮助文档 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-08-20 23:11:42 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class HelpDocUpdateForm extends HelpDocAddForm { 19 | 20 | @Schema(description = "id") 21 | @NotNull(message = "通知id不能为空") 22 | private Long helpDocId; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/helpdoc/domain/vo/HelpDocCatalogVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.helpdoc.domain.vo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * 帮助文档的 目录 8 | * 9 | * @Author 1024创新实验室-主任: 卓大 10 | * @Date 2022-08-20 23:11:42 11 | * @Wechat zhuoda1024 12 | * @Email lab1024@163.com 13 | * @Copyright 1024创新实验室 14 | */ 15 | @Data 16 | public class HelpDocCatalogVO { 17 | 18 | @Schema(description = "帮助文档目录id") 19 | private Long helpDocCatalogId; 20 | 21 | @Schema(description = "帮助文档目录-名称") 22 | private String name; 23 | 24 | @Schema(description = "帮助文档目录-父级id") 25 | private Long parentId; 26 | 27 | @Schema(description = "帮助文档目录-排序") 28 | private Integer sort; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/helpdoc/domain/vo/HelpDocRelationVO.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.helpdoc.domain.vo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * 帮助文档 关联项目 8 | * 9 | * @Author 1024创新实验室-主任: 卓大 10 | * @Date 2022-08-20 23:11:42 11 | * @Wechat zhuoda1024 12 | * @Email lab1024@163.com 13 | * @Copyright 1024创新实验室 14 | */ 15 | @Data 16 | public class HelpDocRelationVO { 17 | 18 | @Schema(description = "关联名称") 19 | private String relationName; 20 | 21 | @Schema(description = "关联id") 22 | private Long relationId; 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/operatelog/annotation/OperateLog.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.operatelog.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * 用户操作日志 注解 7 | * 8 | * @Author 1024创新实验室: 罗伊 9 | * @Date 2021-12-08 20:48:52 10 | * @Wechat zhuoda1024 11 | * @Email lab1024@163.com 12 | * @Copyright 1024创新实验室 13 | */ 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target({ElementType.TYPE, ElementType.METHOD}) 16 | @Documented 17 | public @interface OperateLog { 18 | 19 | } 20 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/annoation/SmartReload.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.reload.core.annoation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * 定义 SmartReload 注解 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2015-03-02 19:11:52 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Target(ElementType.METHOD) 18 | @Retention(RetentionPolicy.RUNTIME) 19 | public @interface SmartReload { 20 | 21 | String value(); 22 | } 23 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/domain/SmartReloadItem.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.reload.core.domain; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * reload项目 7 | * 8 | * @Author 1024创新实验室-主任: 卓大 9 | * @Date 2015-03-02 19:11:52 10 | * @Wechat zhuoda1024 11 | * @Email lab1024@163.com 12 | * @Copyright 1024创新实验室 13 | */ 14 | @Data 15 | public class SmartReloadItem { 16 | 17 | /** 18 | * 项名称 19 | */ 20 | private String tag; 21 | 22 | /** 23 | * 参数 24 | */ 25 | private String args; 26 | 27 | /** 28 | * 标识 29 | */ 30 | private String identification; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/domain/SmartReloadObject.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.reload.core.domain; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | 6 | import java.lang.reflect.Method; 7 | 8 | /** 9 | * Reload 处理程序的实现方法,用于包装以注解 SmartReload 实现的处理类 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2015-03-02 19:11:52 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | @AllArgsConstructor 19 | public class SmartReloadObject { 20 | 21 | /** 22 | * 方法对应的实例化对象 23 | */ 24 | private Object reloadObject; 25 | 26 | /** 27 | * 重新加载执行的方法 28 | */ 29 | private Method method; 30 | 31 | 32 | } 33 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/domain/SmartReloadResult.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.reload.core.domain; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * t_reload_result 表 实体类 7 | * 8 | * @Author 1024创新实验室-主任: 卓大 9 | * @Date 2015-03-02 19:11:52 10 | * @Wechat zhuoda1024 11 | * @Email lab1024@163.com 12 | * @Copyright 1024创新实验室 13 | */ 14 | @Data 15 | public class SmartReloadResult { 16 | 17 | /** 18 | * 项名称 19 | */ 20 | private String tag; 21 | 22 | /** 23 | * 参数 24 | */ 25 | private String args; 26 | 27 | /** 28 | * 标识 29 | */ 30 | private String identification; 31 | 32 | /** 33 | * 处理结果 34 | */ 35 | private boolean result; 36 | 37 | /** 38 | * 异常说明 39 | */ 40 | private String exception; 41 | 42 | 43 | } 44 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/dao/ReloadItemDao.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.reload.dao; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import net.lab1024.sa.base.module.support.reload.domain.ReloadItemEntity; 5 | import net.lab1024.sa.base.module.support.reload.domain.ReloadItemVO; 6 | import org.apache.ibatis.annotations.Mapper; 7 | import org.springframework.stereotype.Component; 8 | 9 | import java.util.List; 10 | 11 | /** 12 | * t_reload_item 数据表dao 13 | * 14 | * @Author 1024创新实验室-主任: 卓大 15 | * @Date 2015-03-02 19:11:52 16 | * @Wechat zhuoda1024 17 | * @Email lab1024@163.com 18 | * @Copyright 1024创新实验室 19 | */ 20 | @Component 21 | @Mapper 22 | public interface ReloadItemDao extends BaseMapper { 23 | 24 | List query(); 25 | } 26 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/domain/ReloadForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.reload.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotBlank; 7 | 8 | /** 9 | * reload (内存热加载、钩子等) 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2015-03-02 19:11:52 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class ReloadForm { 19 | 20 | @Schema(description = "标签") 21 | @NotBlank(message = "标签不能为空") 22 | private String tag; 23 | 24 | @Schema(description = "状态标识") 25 | @NotBlank(message = "状态标识不能为空") 26 | private String identification; 27 | 28 | @Schema(description = "参数") 29 | private String args; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/serialnumber/domain/SerialNumberGenerateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.serialnumber.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotNull; 7 | 8 | /** 9 | * 单据序列号 生成表单 10 | * 11 | * @Author 1024创新实验室-主任: 卓大 12 | * @Date 2022-03-25 21:46:07 13 | * @Wechat zhuoda1024 14 | * @Email lab1024@163.com 15 | * @Copyright 1024创新实验室 16 | */ 17 | @Data 18 | public class SerialNumberGenerateForm { 19 | 20 | @Schema(description = "单号id") 21 | @NotNull(message = "单号id不能为空") 22 | private Integer serialNumberId; 23 | 24 | @Schema(description = "生成的数量") 25 | @NotNull(message = "生成的数量") 26 | private Integer count; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/serialnumber/domain/SerialNumberRecordQueryForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.serialnumber.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import net.lab1024.sa.base.common.domain.PageParam; 6 | 7 | import javax.validation.constraints.NotNull; 8 | 9 | /** 10 | * 单据序列号 生成记录 查询 11 | * 12 | * @Author 1024创新实验室-主任: 卓大 13 | * @Date 2022-03-25 21:46:07 14 | * @Wechat zhuoda1024 15 | * @Email lab1024@163.com 16 | * @Copyright 1024创新实验室 17 | */ 18 | @Data 19 | public class SerialNumberRecordQueryForm extends PageParam { 20 | 21 | @Schema(description = "单号id") 22 | @NotNull(message = "单号id不能为空") 23 | private Integer serialNumberId; 24 | } 25 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/table/domain/TableColumnUpdateForm.java: -------------------------------------------------------------------------------- 1 | package net.lab1024.sa.base.module.support.table.domain; 2 | 3 | import lombok.Data; 4 | 5 | import javax.validation.constraints.NotEmpty; 6 | import javax.validation.constraints.NotNull; 7 | import java.util.List; 8 | 9 | /** 10 | * 自定义表格列 11 | * 12 | * @Author 1024创新实验室-主任: 卓大 13 | * @Date 2022-08-12 22:52:21 14 | * @Wechat zhuoda1024 15 | * @Email lab1024@163.com 16 | * @Copyright 1024创新实验室 17 | */ 18 | @Data 19 | public class TableColumnUpdateForm { 20 | 21 | @NotNull(message = "表id不能为空") 22 | private Integer tableId; 23 | 24 | @NotEmpty(message = "请上传列") 25 | private List columnList; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.env.EnvironmentPostProcessor=\ 2 | net.lab1024.sa.base.config.YamlProcessor -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | ${AnsiColor.BRIGHT_GREEN} 2 | 3 | / ____| | | /\ | | (_) 4 | | (___ _ __ ___ __ _ _ __| |_ / \ __| |_ __ ___ _ _ __ 5 | \___ \| '_ ` _ \ / _` | '__| __| / /\ \ / _` | '_ ` _ \| | '_ \ 6 | ____) | | | | | | (_| | | | |_ / ____ \ (_| | | | | | | | | | | 7 | |_____/|_| |_| |_|\__,_|_| \__/_/ \_\__,_|_| |_| |_|_|_| |_| 8 | 9 | 保持谦逊 保持学习 ! 10 | 热爱代码 热爱生活 ! 11 | 永远年轻 永远前行 ! 12 | 13 | SmartAdmin v3.X ,作者:1024创新实验室 @copyright:【 1024lab 】 14 | 15 | SmartAdmin 文档地址:https://smartadmin.vip 16 | 17 | 1024创新实验室:https://www.1024lab.net 18 | 19 | ${AnsiColor.DEFAULT} -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/code-generator-template/java/constant/enum.java.vm: -------------------------------------------------------------------------------- 1 | package ${packageName}; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | /** 7 | * ${enumDesc} 8 | * 9 | * @Author ${basic.backendAuthor} 10 | * @Date ${basic.backendDate} 11 | * @Copyright ${basic.copyright} 12 | */ 13 | 14 | @AllArgsConstructor 15 | @Getter 16 | public enum ${enumName} implements BaseEnum { 17 | 18 | ; 19 | 20 | private final ${enumJavaType} value; 21 | 22 | private final String desc; 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm: -------------------------------------------------------------------------------- 1 | package ${basic.javaPackageName}.domain.entity; 2 | 3 | #foreach ($importClass in $importPackageList) 4 | $importClass 5 | #end 6 | 7 | /** 8 | * ${basic.description} 实体类 9 | * 10 | * @Author ${basic.backendAuthor} 11 | * @Date ${basic.backendDate} 12 | * @Copyright ${basic.copyright} 13 | */ 14 | 15 | @Data 16 | @TableName("${tableName}") 17 | public class ${name.upperCamel}Entity { 18 | #foreach ($field in $fields) 19 | 20 | /** 21 | * $field.label 22 | */ 23 | #if($field.primaryKeyFlag && $field.autoIncreaseFlag) 24 | @TableId(type = IdType.AUTO) 25 | #end 26 | #if($field.primaryKeyFlag && !$field.autoIncreaseFlag) 27 | @TableId 28 | #end 29 | private $field.javaType $field.fieldName; 30 | #end 31 | 32 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/code-generator-template/java/domain/form/AddForm.java.vm: -------------------------------------------------------------------------------- 1 | package ${packageName}; 2 | 3 | #foreach ($importClass in $importPackageList) 4 | $importClass 5 | #end 6 | 7 | /** 8 | * ${basic.description} 新建表单 9 | * 10 | * @Author ${basic.backendAuthor} 11 | * @Date ${basic.backendDate} 12 | * @Copyright ${basic.copyright} 13 | */ 14 | 15 | @Data 16 | public class ${name.upperCamel}AddForm { 17 | #foreach ($field in $fields) 18 | 19 | #if($field.isEnum) 20 | ${field.apiModelProperty} 21 | ${field.checkEnum} 22 | private $field.javaType $field.fieldName; 23 | #end 24 | #if(!$field.isEnum) 25 | ${field.apiModelProperty}$!{field.notEmpty}$!{field.dict}$!{field.file} 26 | private $field.javaType $field.fieldName; 27 | #end 28 | #end 29 | 30 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/code-generator-template/java/domain/form/UpdateForm.java.vm: -------------------------------------------------------------------------------- 1 | package ${packageName}; 2 | 3 | #foreach ($importClass in $importPackageList) 4 | $importClass 5 | #end 6 | 7 | /** 8 | * ${basic.description} 更新表单 9 | * 10 | * @Author ${basic.backendAuthor} 11 | * @Date ${basic.backendDate} 12 | * @Copyright ${basic.copyright} 13 | */ 14 | 15 | @Data 16 | public class ${name.upperCamel}UpdateForm { 17 | #foreach ($field in $fields) 18 | 19 | #if($field.isEnum) 20 | ${field.apiModelProperty} 21 | ${field.checkEnum} 22 | private $field.javaType $field.fieldName; 23 | #end 24 | #if(!$field.isEnum) 25 | ${field.apiModelProperty}$!{field.notEmpty}$!{field.dict}$!{field.file} 26 | private $field.javaType $field.fieldName; 27 | #end 28 | #end 29 | 30 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/code-generator-template/java/domain/vo/VO.java.vm: -------------------------------------------------------------------------------- 1 | package ${packageName}; 2 | 3 | #foreach ($importClass in $importPackageList) 4 | $importClass 5 | #end 6 | 7 | /** 8 | * ${basic.description} 列表VO 9 | * 10 | * @Author ${basic.backendAuthor} 11 | * @Date ${basic.backendDate} 12 | * @Copyright ${basic.copyright} 13 | */ 14 | 15 | @Data 16 | public class ${name.upperCamel}VO { 17 | 18 | #foreach ($field in $fields) 19 | 20 | #if($field.isEnum) 21 | ${field.apiModelProperty} 22 | private $field.javaType $field.fieldName; 23 | #end 24 | #if(!$field.isEnum) 25 | ${field.apiModelProperty}$!{field.dict}$!{field.file} 26 | private $field.javaType $field.fieldName; 27 | #end 28 | #end 29 | 30 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/code-generator-template/java/manager/Manager.java.vm: -------------------------------------------------------------------------------- 1 | package ${packageName}; 2 | 3 | #foreach ($importClass in $importPackageList) 4 | $importClass 5 | #end 6 | 7 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 8 | import org.springframework.stereotype.Service; 9 | 10 | /** 11 | * ${basic.description} Manager 12 | * 13 | * @Author ${basic.backendAuthor} 14 | * @Date ${basic.backendDate} 15 | * @Copyright ${basic.copyright} 16 | */ 17 | @Service 18 | public class ${name.upperCamel}Manager extends ServiceImpl<${name.upperCamel}Dao, ${name.upperCamel}Entity> { 19 | 20 | 21 | } 22 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/code-generator-template/js/const.js.vm: -------------------------------------------------------------------------------- 1 | /** 2 | * ${basic.description} 枚举 3 | * 4 | * @Author: ${basic.frontAuthor} 5 | * @Date: ${basic.frontDate} 6 | * @Copyright ${basic.copyright} 7 | */ 8 | 9 | #foreach ($enum in $enumList) 10 | 11 | /** 12 | * $enum.columnComment 13 | */ 14 | export const $enum.upperUnderscoreEnum = { 15 | 16 | } 17 | #end 18 | 19 | export default { 20 | #foreach ($enum in $enumList) 21 | $enum.upperUnderscoreEnum, 22 | #end 23 | }; -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/code-generator-template/tools.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/ip2region.xdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-api/sa-base/src/main/resources/ip2region.xdb -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/mapper/support/ReloadItemMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/mapper/support/ReloadResultMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/mapper/support/SerialNumberMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | update t_serial_number 7 | set 8 | last_number = #{lastNumber}, 9 | last_time = #{lastTime} 10 | where 11 | serial_number_id = #{serialNumberId} 12 | 13 | 14 | 15 | 16 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-api/sa-base/src/main/resources/mapper/support/TableColumnMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | delete 6 | from t_table_column 7 | where user_id = #{userId} 8 | and table_id = #{tableId} 9 | 10 | 17 | 18 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/.env.development: -------------------------------------------------------------------------------- 1 | NODE_ENV=development 2 | VITE_APP_TITLE='AlicoChat 开发环境(Dev)' 3 | VITE_APP_API_URL='http://127.0.0.1:1024' -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/.env.localhost: -------------------------------------------------------------------------------- 1 | NODE_ENV=development 2 | VITE_APP_TITLE='AlicoChat 本地环境(Local)' 3 | VITE_APP_API_URL='http://127.0.0.1:1024' 4 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/.env.pre: -------------------------------------------------------------------------------- 1 | NODE_ENV=production 2 | VITE_APP_TITLE='AlicoChat 预发布环境(Pre)' 3 | VITE_APP_API_URL='https://preview.smartadmin.vip/smart-admin-api' -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/.env.production: -------------------------------------------------------------------------------- 1 | NODE_ENV=production 2 | VITE_APP_TITLE='AlicoChat V3.X' 3 | VITE_APP_API_URL='https://preview.smartadmin.vip/smart-admin-api' -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/.env.test: -------------------------------------------------------------------------------- 1 | NODE_ENV=production 2 | VITE_APP_TITLE='AlicoChat 测试环境(Test)' 3 | VITE_APP_API_URL='http://45.207.38.130:1024' -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/.eslintignore: -------------------------------------------------------------------------------- 1 | 2 | *.sh 3 | node_modules 4 | lib 5 | *.md 6 | *.woff 7 | *.ttf 8 | .vscode 9 | .idea 10 | dist 11 | public 12 | /docs 13 | .husky 14 | .local 15 | .localhost 16 | /bin 17 | Dockerfile 18 | src/assets 19 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist 4 | dist-ssr 5 | *.local 6 | .idea 7 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/.stylelintignore: -------------------------------------------------------------------------------- 1 | /dist/* 2 | /public/* 3 | public/* 4 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/README.en.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/README.en.md -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/README.md -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/index.html: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | %VITE_APP_TITLE% 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES6", 4 | "jsx":"preserve", 5 | "module": "commonjs", 6 | "allowSyntheticDefaultImports": true, 7 | "baseUrl": "./", 8 | "paths": { 9 | "/@/*": [ 10 | "src/*" 11 | ] 12 | } 13 | }, 14 | "exclude": [ 15 | "node_modules" 16 | ] 17 | } -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | }, 4 | }; 5 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/public/favicon.ico -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/support/cache-api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 缓存 3 | * 4 | * @Author: 罗伊 5 | * @Date: 2022-09-03 21:51:34 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import {getRequest} from '/src/lib/axios'; 11 | 12 | export const cacheApi = { 13 | // 获取某个缓存的所有key @author 罗伊 14 | getKeys: (cacheName) => { 15 | return getRequest(`/support/cache/keys/${cacheName}`); 16 | }, 17 | // 移除某个缓存 @author 罗伊 18 | remove: (cacheName) => { 19 | return getRequest(`/support/cache/remove/${cacheName}`); 20 | }, 21 | // 获取所有缓存 @author 罗伊 22 | getAllCacheNames: () => { 23 | return getRequest('/support/cache/names'); 24 | }, 25 | }; 26 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/support/data-tracer-api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 数据变动 3 | * 4 | * @Author: 卓大 5 | * @Date: 2022-09-03 21:51:54 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { postRequest } from '/src/lib/axios'; 11 | 12 | export const dataTracerApi = { 13 | // 分页查询业务操作日志 - @author 卓大 14 | queryList: (param) => { 15 | return postRequest('/support/dataTracer/query', param); 16 | }, 17 | 18 | }; 19 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/support/feedback-api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 意见反馈 3 | * 4 | * @Author: 1024创新实验室:开云 5 | * @Date: 2022-09-03 21:56:31 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { postRequest } from '/src/lib/axios'; 11 | 12 | export const feedbackApi = { 13 | // 意见反馈-新增 14 | addFeedback: (params) => { 15 | return postRequest('/support/feedback/add', params); 16 | }, 17 | // 意见反馈-分页查询 18 | queryFeedback: (params) => { 19 | return postRequest('/support/feedback/query', params); 20 | }, 21 | }; 22 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/support/heart-beat-api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 心跳 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 21:55:47 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { postRequest } from '/src/lib/axios'; 11 | 12 | export const heartBeatApi = { 13 | // 分页查询 @author 卓大 14 | queryList: (param) => { 15 | return postRequest('/support/heartBeat/query', param); 16 | }, 17 | }; 18 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/support/login-fail-api.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 登录锁定 api 封装 3 | * 4 | * @Author: 1024创新实验室-主任-卓大 5 | * @Date: 2023-10-17 18:02:37 6 | * @Copyright 1024创新实验室 7 | */ 8 | import { postRequest, getRequest } from '/src/lib/axios'; 9 | 10 | export const loginFailApi = { 11 | 12 | /** 13 | * 分页查询 @author 1024创新实验室-主任-卓大 14 | */ 15 | queryPage : (param) => { 16 | return postRequest('/support/protect/loginFail/queryPage', param); 17 | }, 18 | 19 | /** 20 | * 批量删除 @author 1024创新实验室-主任-卓大 21 | */ 22 | batchDelete: (idList) => { 23 | return postRequest('/support/protect/loginFail/batchDelete', idList); 24 | }, 25 | 26 | }; 27 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/support/login-log-api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 登录日志 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 21:56:31 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { postRequest, getRequest } from '/src/lib/axios'; 11 | 12 | export const loginLogApi = { 13 | // 分页查询 @author 卓大 14 | queryList: (param) => { 15 | return postRequest('/support/loginLog/page/query', param); 16 | }, 17 | }; 18 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/support/operate-log-api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 操作日志 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 21:56:45 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { postRequest, getRequest } from '/src/lib/axios'; 11 | 12 | export const operateLogApi = { 13 | // 分页查询 @author 卓大 14 | queryList: (param) => { 15 | return postRequest('/support/operateLog/page/query', param); 16 | }, 17 | // 详情 @author 卓大 18 | detail: (id) => { 19 | return getRequest(`/support/operateLog/detail/${id}`); 20 | }, 21 | }; 22 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/support/reload-api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * reload (内存热加载、钩子等) 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 21:57:19 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { postRequest, getRequest } from '/src/lib/axios'; 11 | 12 | export const reloadApi = { 13 | // 查询reload列表 @author 卓大 14 | queryList: () => { 15 | return getRequest('/support/reload/query'); 16 | }, 17 | // 获取reload result @author 卓大 18 | queryReloadResult: (tag) => { 19 | return getRequest(`/support/reload/result/${tag}`); 20 | }, 21 | // 执行reload @author 卓大 22 | reload: (reloadForm) => { 23 | return postRequest('/support/reload/update', reloadForm); 24 | }, 25 | }; 26 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/support/serial-number-api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 单据序列号 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 21:57:52 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { postRequest, getRequest } from '/src/lib/axios'; 11 | 12 | export const serialNumberApi = { 13 | // 生成单号 @author 卓大 14 | generate: (generateForm) => { 15 | return postRequest('/support/serialNumber/generate', generateForm); 16 | }, 17 | // 获取所有单号定义 @author 卓大 18 | getAll: () => { 19 | return getRequest('/support/serialNumber/all'); 20 | }, 21 | // 获取生成记录 @author 卓大 22 | queryRecord: (form) => { 23 | return postRequest('/support/serialNumber/queryRecord', form); 24 | }, 25 | }; 26 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/support/table-column-api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Description:表格自定义列 3 | * @version: 4 | * @Author: zhuoda 5 | * @Date: 2022-08-17 23:32:36 6 | * @LastEditors: zhuoda 7 | * @LastEditTime: 2022-08-21 8 | */ 9 | import { postRequest, getRequest } from '/src/lib/axios'; 10 | 11 | export const tableColumnApi = { 12 | // 修改表格列 @author zhuoda 13 | updateTableColumn: (param) => { 14 | return postRequest('/support/tableColumn/update', param); 15 | }, 16 | 17 | // 查询表格列 @author zhuoda 18 | getColumns: (tableId) => { 19 | return getRequest(`/support/tableColumn/getColumns/${tableId}`); 20 | }, 21 | 22 | // 删除表格列 @author zhuoda 23 | deleteColumns: (tableId) => { 24 | return getRequest(`/support/tableColumn/delete/${tableId}`); 25 | }, 26 | }; 27 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/system/home-api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 首页api 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 21:59:39 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { getRequest } from '/src/lib/axios'; 11 | 12 | export const homeApi = { 13 | /** 14 | * @description: 首页-金额统计(业绩、收款、订单数等) @author 卓大 15 | */ 16 | homeAmountStatistics: () => { 17 | return getRequest('/home/amount/statistics'); 18 | }, 19 | /** 20 | * @description: 首页-待办信息 @author 卓大 21 | */ 22 | homeWaitHandle: () => { 23 | return getRequest('home/wait/handle'); 24 | }, 25 | }; 26 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/api/system/role-menu-api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 角色菜单 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 22:00:49 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { getRequest, postRequest } from '/src/lib/axios'; 11 | export const roleMenuApi = { 12 | /** 13 | * @description: 获取角色关联菜单权限 14 | */ 15 | getRoleSelectedMenu: (roleId) => { 16 | return getRequest(`role/menu/getRoleSelectedMenu/${roleId}`); 17 | }, 18 | /** 19 | * @description: 更新角色权限 20 | */ 21 | updateRoleMenu: (data) => { 22 | return postRequest('role/menu/updateRoleMenu', data); 23 | }, 24 | }; 25 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/1024lab-gzh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/1024lab-gzh.jpg -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/gzh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/gzh.jpg -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/ven.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/ven.jpg -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/ven_group.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/ven_group.jpg -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/xiaozhen-gzh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/xiaozhen-gzh.jpg -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/zhuoda-wechat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/1024lab/zhuoda-wechat.jpg -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/ali-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/ali-icon.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/blue-login-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/blue-login-bg.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/google-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/google-icon.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/login-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/login-bg.jpg -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/login-form-open-eyes-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/login-form-open-eyes-close.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/login-form-open-eyes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/login-form-open-eyes.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/login-qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/login-qr.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/qq-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/qq-icon.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/wechat-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/wechat-icon.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/weibo-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/weibo-icon.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/logo/logo-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/logo/logo-min.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/logo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/logo/logo.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/logo/smart-admin-logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/logo/smart-admin-logo-white.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/logo/smart-admin-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/logo/smart-admin-logo.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/notice/edit_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/notice/edit_icon.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/notice/file_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/assets/images/notice/file_icon.png -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/components/framework/iframe/iframe-index.vue: -------------------------------------------------------------------------------- 1 | 10 | 13 | 19 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/components/framework/iframe/route-default-component.vue: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/components/framework/smart-loading/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * loading 组件 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-07-22 20:33:41 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { useSpinStore } from "/@/store/modules/system/spin"; 11 | 12 | export const SmartLoading = { 13 | show: () => { 14 | useSpinStore().show(); 15 | }, 16 | 17 | hide: () => { 18 | useSpinStore().hide(); 19 | }, 20 | }; 21 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/config/app-config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 应用默认配置 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 22:07:01 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | export const appDefaultConfig = { 11 | // i18n 语言选择 12 | language: 'zh_CN', 13 | // 布局: side 或者 side-expand 或者 top 14 | layout: 'side', 15 | // 侧边菜单宽度 , 默认为200px 16 | sideMenuWidth: 200, 17 | // 菜单主题 18 | sideMenuTheme: 'dark', 19 | // 顶部菜单页面宽度 20 | pageWidth: '99%', 21 | // 标签页 22 | pageTagFlag: true, 23 | // 面包屑 24 | breadCrumbFlag: true, 25 | // 页脚 26 | footerFlag: true, 27 | // 帮助文档 28 | helpDocFlag: false, 29 | // 水印 30 | watermarkFlag: true, 31 | // 网站名称 32 | websiteName: 'AlicoChat', 33 | // 主题颜色 34 | primaryColor: 'red', 35 | }; 36 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/business/erp/category-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 类别 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 22:07:51 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | export const CATEGORY_TYPE_ENUM = { 11 | GOODS: { 12 | value: 1, 13 | desc: '商品', 14 | }, 15 | DEMO: { 16 | value: 2, 17 | desc: '演示分类', 18 | }, 19 | }; 20 | 21 | export default { 22 | CATEGORY_TYPE_ENUM, 23 | }; 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/business/erp/goods-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 商品 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 22:08:10 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | export const GOODS_STATUS_ENUM = { 11 | APPOINTMENT: { 12 | value: 1, 13 | desc: '预约中', 14 | }, 15 | SELL: { 16 | value: 2, 17 | desc: '售卖中', 18 | }, 19 | SELL_OUT: { 20 | value: 3, 21 | desc: '售罄', 22 | }, 23 | }; 24 | export default { 25 | GOODS_STATUS_ENUM, 26 | }; 27 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/business/oa/enterprise-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 企业 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 22:07:27 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | 11 | export const ENTERPRISE_TYPE_ENUM = { 12 | NORMAL: { 13 | value: 1, 14 | desc: '有限企业', 15 | }, 16 | FOREIGN: { 17 | value: 2, 18 | desc: '外资企业', 19 | }, 20 | }; 21 | 22 | export default { 23 | ENTERPRISE_TYPE_ENUM, 24 | }; 25 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/business/oa/notice-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 通知 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 22:07:27 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | 11 | export const NOTICE_VISIBLE_RANGE_DATA_TYPE_ENUM = { 12 | EMPLOYEE: { 13 | value: 1, 14 | desc: '员工', 15 | }, 16 | DEPARTMENT: { 17 | value: 2, 18 | desc: '部门', 19 | }, 20 | }; 21 | 22 | export const NOTICE_TYPE_ENUM = { 23 | ANNOUNCEMENT: { 24 | value: 1, 25 | desc: '公告', 26 | }, 27 | NOTICE: { 28 | value: 2, 29 | desc: '通知', 30 | }, 31 | }; 32 | 33 | export default { 34 | NOTICE_VISIBLE_RANGE_DATA_TYPE_ENUM, 35 | NOTICE_TYPE_ENUM, 36 | }; 37 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/layout-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 布局格式 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 19:58:41 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | export const LAYOUT_ENUM = { 11 | SIDE: { 12 | value: 'side', 13 | desc: '传统', 14 | }, 15 | SIDE_EXPAND: { 16 | value: 'side-expand', 17 | desc: '展开', 18 | }, 19 | TOP: { 20 | value: 'top', 21 | desc: '顶部', 22 | }, 23 | }; 24 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/local-storage-key-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * key 常量 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 19:58:50 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | 11 | /** 12 | * key前缀 13 | */ 14 | const KEY_PREFIX = 'smart_admin_'; 15 | /** 16 | * localStorageKey集合 17 | */ 18 | export default { 19 | // 用户信息 20 | USER_INFO: `${KEY_PREFIX}user_info`, 21 | // 用户权限点 22 | USER_POINTS: `${KEY_PREFIX}user_points`, 23 | // 用户的tag列表 24 | USER_TAG_NAV: `${KEY_PREFIX}user_tag_nav`, 25 | // app config 配置信息 26 | APP_CONFIG: `${KEY_PREFIX}app_config`, 27 | // 首页快捷入口 28 | HOME_QUICK_ENTRY: `${KEY_PREFIX}home_quick_entry`, 29 | // 通知信息已读 30 | NOTICE_READ: `${KEY_PREFIX}notice_read`, 31 | }; 32 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/support/change-log-const.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 系统更新日志 枚举 3 | * 4 | * @Author: 卓大 5 | * @Date: 2022-09-26 14:53:50 6 | * @Copyright 1024创新实验室 7 | */ 8 | 9 | /** 10 | * 更新类型:[1:特大版本功能更新;2:功能更新;3:bug修复] 11 | */ 12 | export const CHANGE_LOG_TYPE_ENUM = { 13 | MAJOR_UPDATE: { 14 | value: 1, 15 | desc: '重大更新', 16 | }, 17 | FUNCTION_UPDATE: { 18 | value: 2, 19 | desc: '功能更新', 20 | }, 21 | BUG_FIX: { 22 | value: 3, 23 | desc: 'Bug修复', 24 | }, 25 | }; 26 | 27 | export default { 28 | CHANGE_LOG_TYPE_ENUM, 29 | }; 30 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/support/data-tracer-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 数据变动记录 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 22:09:10 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | 11 | // 业务类型 12 | export const DATA_TRACER_TYPE_ENUM = { 13 | GOODS: { 14 | value: 1, 15 | desc: '商品', 16 | }, 17 | OA_NOTICE: { 18 | value: 2, 19 | desc: 'OA-通知公告', 20 | }, 21 | OA_ENTERPRISE: { 22 | value: 3, 23 | desc: 'OA-企业信息', 24 | }, 25 | }; 26 | 27 | export default { 28 | DATA_TRACER_TYPE_ENUM, 29 | }; 30 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/support/file-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 文件类型 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 22:09:10 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | // 文件上传类型 11 | export const FILE_FOLDER_TYPE_ENUM = { 12 | COMMON: { 13 | value: 1, 14 | desc: '通用', 15 | }, 16 | NOTICE: { 17 | value: 2, 18 | desc: '公告', 19 | }, 20 | HELP_DOC: { 21 | value: 3, 22 | desc: '帮助中心', 23 | }, 24 | FEEDBACK: { 25 | value: 4, 26 | desc: '意见反馈', 27 | }, 28 | }; 29 | export default { 30 | FILE_FOLDER_TYPE_ENUM, 31 | }; 32 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/support/login-log-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 登录日志 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 22:08:45 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | export const LOGIN_RESULT_ENUM = { 11 | LOGIN_SUCCESS: { 12 | value: 0, 13 | desc: '登录成功', 14 | }, 15 | LOGIN_FAIL: { 16 | value: 1, 17 | desc: '登录失败', 18 | }, 19 | LOGIN_OUT: { 20 | value: 2, 21 | desc: '退出登录', 22 | }, 23 | }; 24 | 25 | export default { 26 | LOGIN_RESULT_ENUM, 27 | }; 28 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/system/employee-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 员工 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-03 22:08:45 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | export const GENDER_ENUM = { 11 | UNKNOWN: { 12 | value: 0, 13 | desc: '未知', 14 | }, 15 | MAN: { 16 | value: 1, 17 | desc: '男', 18 | }, 19 | WOMAN: { 20 | value: 2, 21 | desc: '女', 22 | }, 23 | } 24 | 25 | export default { 26 | GENDER_ENUM, 27 | } 28 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/system/home-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 首页页面名词 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 19:56:43 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | 11 | //首页页面名字 12 | export const HOME_PAGE_NAME = 'Home'; 13 | 14 | //首页页面路径 15 | export const HOME_PAGE_PATH = '/home'; 16 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/system/login-device-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 登录设备 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 19:56:56 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | export const LOGIN_DEVICE_ENUM = { 11 | PC: { 12 | value: 1, 13 | desc: '电脑端', 14 | }, 15 | ANDROID: { 16 | value: 2, 17 | desc: '安卓', 18 | }, 19 | APPLE: { 20 | value: 3, 21 | desc: '苹果', 22 | }, 23 | H5: { 24 | value: 3, 25 | desc: 'H5', 26 | }, 27 | }; 28 | 29 | export default { 30 | LOGIN_DEVICE_ENUM, 31 | }; 32 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/constants/system/menu-const.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 菜单类型 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 19:57:04 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | export const MENU_TYPE_ENUM = { 11 | CATALOG: { 12 | value: 1, 13 | desc: '目录', 14 | }, 15 | MENU: { 16 | value: 2, 17 | desc: '菜单', 18 | }, 19 | POINTS: { 20 | value: 3, 21 | desc: '按钮', 22 | }, 23 | }; 24 | 25 | /** 26 | * 权限类型 27 | */ 28 | export const MENU_PERMS_TYPE_ENUM = { 29 | SA_TOKEN: { 30 | value: 1, 31 | desc: 'Sa-Token模式', 32 | } 33 | }; 34 | 35 | /** 36 | * 默认的顶级菜单id为0 37 | */ 38 | export const MENU_DEFAULT_PARENT_ID = 0; 39 | 40 | export default { 41 | MENU_TYPE_ENUM, 42 | MENU_PERMS_TYPE_ENUM 43 | }; 44 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/directives/privilege.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 权限 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:00:40 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | 11 | import { useUserStore } from '/@/store/modules/system/user'; 12 | import _ from 'lodash'; 13 | 14 | export function privilegeDirective(el, binding) { 15 | // 超级管理员 16 | if (useUserStore().administratorFlag) { 17 | return true; 18 | } 19 | // 获取功能点权限 20 | let userPointsList = useUserStore().getPointList; 21 | if (!userPointsList) { 22 | return false; 23 | } 24 | // 如果有权限,删除节点 25 | if (!_.some(userPointsList, ['webPerms', binding.value])) { 26 | el.parentNode.removeChild(el); 27 | } 28 | return true; 29 | } 30 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/i18n/lang/en-US/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 英文国际化 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:00:57 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import antd from 'ant-design-vue/es/locale/en_US'; 11 | import dayjs from 'dayjs/locale/eu'; 12 | 13 | export default { 14 | antdLocale: antd, 15 | dayjsLocale: dayjs, 16 | 'setting.title': 'Setting', 17 | 'setting.menu.layout': 'Menu Layout', 18 | 'setting.menu.width': 'Menu Width', 19 | 'setting.menu.theme': 'Menu Theme', 20 | 'setting.page.width': 'Page Width', 21 | 'setting.bread': 'Show Bread', 22 | 'setting.pagetag': 'Show PageTag', 23 | 'setting.footer': 'Show Footer', 24 | 'setting.helpdoc': 'Show Helpdoc', 25 | 'setting.watermark': 'Show Watermark', 26 | }; 27 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/i18n/lang/zh-CN/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 中文国际化 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:01:06 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import antd from 'ant-design-vue/es/locale/zh_CN'; 11 | import dayjs from 'dayjs/locale/zh-cn'; 12 | 13 | export default { 14 | antdLocale: antd, 15 | dayjsLocale: dayjs, 16 | 'setting.title': '网站设置', 17 | 'setting.menu.layout': '菜单布局', 18 | 'setting.menu.width': '菜单宽度', 19 | 'setting.menu.theme': '菜单主题', 20 | 'setting.page.width': '页面宽度', 21 | 'setting.bread': '面包屑', 22 | 'setting.pagetag': '标签页', 23 | 'setting.footer': '页脚', 24 | 'setting.helpdoc': '帮助文档', 25 | 'setting.watermark': '水印', 26 | }; 27 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/layout/components/side-expand-menu/side-expand-menu-mitt.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 展开菜单 event bus 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-07-12 23:32:48 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import mitt from 'mitt'; 11 | export default mitt(); 12 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/layout/components/smart-footer/index.vue: -------------------------------------------------------------------------------- 1 | 10 | 15 | 20 | 21 | 33 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/lib/smart-sentry.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 错误上报sentry 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:49:28 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | 11 | export const smartSentry = { 12 | /** 13 | * sentry 主动上报 14 | */ 15 | captureError: (error) => { 16 | if (error.config && error.data && error && error.headers && error.request && error.status) { 17 | return; 18 | } 19 | // Sentry.captureException(error); 20 | console.error(error); 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/plugins/privilege-plugin.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 权限插件 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:50:46 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { useUserStore } from '/@/store/modules/system/user'; 11 | 12 | const privilege = (value) => { 13 | // 超级管理员 14 | if (useUserStore().administratorFlag) { 15 | return true; 16 | } 17 | // 获取功能点权限 18 | let userPointsList = useUserStore().getPointList; 19 | if (!userPointsList) { 20 | return false; 21 | } 22 | return userPointsList && userPointsList.includes(value); 23 | }; 24 | 25 | export default { 26 | install: (app) => { 27 | app.config.globalProperties.$privilege = privilege; 28 | }, 29 | }; 30 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/router/routers.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 所有路由入口 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:52:26 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { homeRouters } from './system/home'; 11 | import { loginRouters } from './system/login'; 12 | import { helpDocRouters } from './support/help-doc'; 13 | import NotFound from '/@/views/system/40X/404.vue'; 14 | import NoPrivilege from '/@/views/system/40X/403.vue'; 15 | 16 | export const routerArray = [ 17 | ...loginRouters, 18 | ...homeRouters, 19 | ...helpDocRouters, 20 | { path: '/:pathMatch(.*)*', name: '404', component: NotFound }, 21 | { path: '/403', name: '403', component: NoPrivilege } 22 | ]; 23 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/router/support/help-doc.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 帮助文档 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:53:19 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import HelpDocLayout from '/@/layout/help-doc-layout.vue'; 11 | 12 | export const helpDocRouters = [ 13 | { 14 | path: '/help-doc', 15 | name: 'HelpDoc', 16 | component: HelpDocLayout, 17 | meta: { 18 | title: '帮助文档', 19 | hideInMenu: true, 20 | }, 21 | children: [ 22 | { 23 | path: '/help-doc/detail', 24 | component: () => import('/@/views/support/help-doc/user-view/help-doc-user-view.vue'), 25 | }, 26 | ], 27 | }, 28 | ]; 29 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/router/system/login.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 登录页面 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:51:50 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | 11 | export const loginRouters = [ 12 | { 13 | path: '/login', 14 | name: 'Login', 15 | component: () => import('/@/views/system/login/login.vue'), 16 | meta: { 17 | title: '登录', 18 | hideInMenu: true, 19 | }, 20 | } 21 | ]; 22 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/store/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * pinia 状态管理 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:58:09 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { createPinia } from 'pinia'; 11 | 12 | export const store = createPinia(); 13 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/store/modules/system/spin.js: -------------------------------------------------------------------------------- 1 | /* 2 | * loading 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:54:50 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import { defineStore } from 'pinia'; 11 | 12 | export const useSpinStore = defineStore({ 13 | id: 'spin', 14 | state: () => ({ 15 | loading: false, 16 | }), 17 | 18 | actions: { 19 | hide() { 20 | this.loading = false; 21 | let spins = document.querySelector('.ant-spin-nested-loading'); 22 | spins.style.zIndex = 999; 23 | }, 24 | show() { 25 | this.loading = true; 26 | let spins = document.querySelector('.ant-spin-nested-loading'); 27 | spins.style.zIndex = 1001; 28 | }, 29 | }, 30 | }); 31 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/theme/custom-variables.js: -------------------------------------------------------------------------------- 1 | import { theme } from 'ant-design-vue/lib'; 2 | import convertLegacyToken from 'ant-design-vue/lib/theme/convertLegacyToken'; 3 | 4 | const { defaultAlgorithm, defaultSeed } = theme; 5 | 6 | const mapToken = defaultAlgorithm(defaultSeed); 7 | const token = convertLegacyToken.default(mapToken); 8 | 9 | export default { 10 | '@primary-color': token['primary-color'], // 全局主色 11 | '@base-bg-color': '#fff', 12 | '@hover-bg-color': 'rgba(0, 0, 0, 0.025)', 13 | '@hover-bg-color-night': 'rgba(255, 255, 255, 0.025)', 14 | '@header-light-bg-hover-color': '#f6f6f6', 15 | '@header-height': '80px', 16 | '@header-user-height': '40px', 17 | '@page-tag-height': '40px', 18 | '@theme-list': ['light', 'dark', 'night'], 19 | }; 20 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/utils/cookie-util.js: -------------------------------------------------------------------------------- 1 | /* 2 | * cookie相关操作 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:58:49 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import Cookies from 'js-cookie'; 11 | 12 | export const COOKIE_TOKEN_KEY = 'user_token'; 13 | 14 | export const clearAllCoolies = () => { 15 | Cookies.remove(COOKIE_TOKEN_KEY); 16 | }; 17 | 18 | export const getTokenFromCookie = () => { 19 | return Cookies.get(COOKIE_TOKEN_KEY); 20 | }; 21 | 22 | /** 23 | * 一年后cookie过期 24 | * 25 | * @param token 26 | */ 27 | export const saveTokenToCookie = (token) => { 28 | Cookies.set(COOKIE_TOKEN_KEY, token, { expires: 365 }); 29 | }; 30 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/utils/local-util.js: -------------------------------------------------------------------------------- 1 | /* 2 | * localStorage 相关操作 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-06 20:58:49 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | export const localSave = (key, value) => { 11 | localStorage.setItem(key, value); 12 | }; 13 | 14 | export const localRead = (key) => { 15 | return localStorage.getItem(key) || ''; 16 | }; 17 | 18 | export const localClear = () => { 19 | localStorage.clear(); 20 | }; 21 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/views/business/erp/catalog/custom-catalog.vue: -------------------------------------------------------------------------------- 1 | 10 | 15 | 19 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/views/business/erp/catalog/goods-catalog.vue: -------------------------------------------------------------------------------- 1 | 10 | 15 | 19 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/views/support/help-doc/management/help-doc-mitt.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 帮助文档 event bus 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-09-12 18:06:41 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import mitt from 'mitt'; 11 | export default mitt(); 12 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/views/system/40X/403.vue: -------------------------------------------------------------------------------- 1 | 10 | 17 | 26 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/views/system/40X/404.vue: -------------------------------------------------------------------------------- 1 | 10 | 17 | 26 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/views/system/employee/department/department-mitt.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 部门event bus 3 | * 4 | * @Author: 1024创新实验室-主任:卓大 5 | * @Date: 2022-07-12 23:32:48 6 | * @Wechat: zhuda1024 7 | * @Email: lab1024@163.com 8 | * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 9 | */ 10 | import mitt from 'mitt'; 11 | export default mitt(); 12 | -------------------------------------------------------------------------------- /alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/views/system/home/components/quick-entry/init-quick-entry-list.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | { 3 | icon: 'CopyrightTwoTone', 4 | title: '菜单', 5 | path: '/menu/list' 6 | }, 7 | { 8 | icon: 'ExperimentTwoTone', 9 | title: '请求', 10 | path: '/log/operate-log/list' 11 | }, 12 | { 13 | icon: 'FireTwoTone', 14 | title: '缓存', 15 | path: '/support/cache/cache-list' 16 | }, 17 | { 18 | icon: 'HourglassTwoTone', 19 | title: '字典', 20 | path: '/setting/dict' 21 | }, 22 | { 23 | icon: 'MessageTwoTone', 24 | title: '单号', 25 | path: '/support/serial-number/serial-number-list' 26 | } 27 | ] 28 | -------------------------------------------------------------------------------- /alico-chat-app-api/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | .gradle 3 | build/ 4 | !gradle/wrapper/gradle-wrapper.jar 5 | !**/src/main/**/build/ 6 | !**/src/test/**/build/ 7 | 8 | ### STS ### 9 | .apt_generated 10 | .classpath 11 | .factorypath 12 | .project 13 | .settings 14 | .springBeans 15 | .sts4-cache 16 | bin/ 17 | !**/src/main/**/bin/ 18 | !**/src/test/**/bin/ 19 | 20 | ### IntelliJ IDEA ### 21 | .idea 22 | *.iws 23 | *.iml 24 | *.ipr 25 | out/ 26 | !**/src/main/**/out/ 27 | !**/src/test/**/out/ 28 | 29 | ### NetBeans ### 30 | /nbproject/private/ 31 | /nbbuild/ 32 | /dist/ 33 | /nbdist/ 34 | /.nb-gradle/ 35 | 36 | ### VS Code ### 37 | .vscode/ 38 | -------------------------------------------------------------------------------- /alico-chat-app-api/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-app-api/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /alico-chat-app-api/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /alico-chat-app-api/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'alico-chat-app-api' 2 | -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/Application.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app 2 | 3 | import org.mybatis.spring.annotation.MapperScan 4 | import org.springframework.boot.autoconfigure.SpringBootApplication 5 | import org.springframework.boot.runApplication 6 | 7 | @SpringBootApplication 8 | @MapperScan("com.alico.chat.app.sql.mapper") 9 | class Application 10 | 11 | fun main(args: Array) { 12 | runApplication(*args) 13 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/common/OkhttpWrapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.common 2 | 3 | import okhttp3.OkHttpClient 4 | 5 | object OkhttpWrapper { 6 | private var httpClient: OkHttpClient? = null 7 | 8 | private fun create(): OkHttpClient { 9 | return OkHttpClient.Builder().build() 10 | } 11 | 12 | @Synchronized 13 | fun getClient(): OkHttpClient { 14 | com.alico.chat.app.common.OkhttpWrapper.httpClient?.let { 15 | return it 16 | } ?: let { 17 | val okHttpClient = com.alico.chat.app.common.OkhttpWrapper.create() 18 | com.alico.chat.app.common.OkhttpWrapper.httpClient = okHttpClient 19 | return okHttpClient 20 | } 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/exception/ServerErrorException.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.exception 2 | 3 | import org.springframework.http.HttpStatus 4 | 5 | /** 6 | * 服务器异常 7 | * 8 | * @author william@StarImmortal 9 | * @date 2021/09/21 10 | */ 11 | class ServerErrorException(code: Int?) : HttpException() { 12 | init { 13 | this.code = code!! 14 | httpStatusCode = HttpStatus.INTERNAL_SERVER_ERROR.value() 15 | } 16 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/redis/MyStringRedisTemplate.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.redis 2 | 3 | import org.springframework.beans.factory.InitializingBean 4 | import org.springframework.beans.factory.annotation.Autowired 5 | import org.springframework.data.redis.core.StringRedisTemplate 6 | import org.springframework.stereotype.Component 7 | 8 | @Component 9 | class MyStringRedisTemplate : InitializingBean { 10 | 11 | @Autowired 12 | lateinit var redis: StringRedisTemplate 13 | override fun afterPropertiesSet() { 14 | RedisUtil.redis = redis 15 | redis.afterPropertiesSet() 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/redis/RedisUtil.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.redis 2 | 3 | import org.springframework.data.redis.core.StringRedisTemplate 4 | import org.springframework.stereotype.Component 5 | 6 | @Component 7 | object RedisUtil { 8 | 9 | lateinit var redis: StringRedisTemplate 10 | 11 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/response/BaseResponse.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.response 2 | 3 | class BaseResponse( 4 | var code: Int = com.alico.chat.app.response.ResponseCode.SUCCESS, 5 | var message: String = "" 6 | ) { 7 | var data: T? = null 8 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/response/ResponseCode.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.response 2 | 3 | object ResponseCode { 4 | const val SUCCESS = 0 5 | const val FAIL = -1 6 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/security/CustomUser.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.security 2 | 3 | import org.springframework.security.core.GrantedAuthority 4 | import org.springframework.security.core.userdetails.User 5 | 6 | class CustomUser( 7 | val user: com.alico.chat.app.sql.bean.User, 8 | username: String?, 9 | password: String?, 10 | authorities: MutableCollection? 11 | ) : 12 | User(username, password, authorities) { 13 | 14 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/ActivityComment.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_activity_comment") 10 | data class ActivityComment( 11 | @TableId(type = IdType.AUTO) 12 | var id: Int = 0, 13 | var userId: Int = 0, 14 | var toUserId: Int = 0, 15 | var activityId: Int = 0, 16 | var activityType: Int = 0, 17 | var commentType: Int = 0, 18 | var commentUserId: Int = 0, 19 | var comment: String = "", 20 | var createdAt: Long = System.currentTimeMillis() / 1000, 21 | ) { 22 | 23 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/ActivityLabel.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_activity_label") 10 | data class ActivityLabel( 11 | @TableId(type = IdType.AUTO) 12 | var labelId: Int = 0, 13 | var labelCode: String = "", 14 | var labelName: String = "", 15 | var labelIcon: String = "", 16 | var labelWeight: Int = 0, 17 | var labelStatus: Int = 0, 18 | ) { 19 | 20 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/ActivityLike.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_activity_like") 10 | data class ActivityLike( 11 | @TableId(type = IdType.AUTO) 12 | var id: Int = 0, 13 | var activityId: Int = 0, 14 | var userId: Int = 0, 15 | ) { 16 | 17 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/ActivitySign.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_activity_sign") 10 | data class ActivitySign( 11 | @TableId(type = IdType.AUTO) 12 | var id: Int = 0, 13 | var userId: Int = 0, 14 | var activityId: Int = 0, 15 | var image: String = "", 16 | var createAt: Long = System.currentTimeMillis() / 1000, 17 | ) { 18 | 19 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/Album.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_album") 10 | data class Album( 11 | @TableId(type = IdType.AUTO) 12 | var pictureId: Int = 0, 13 | var userId: Int = 0, 14 | var image: String = "", 15 | var mediaType: Int = 0, 16 | var weight: Int = 0, 17 | var isBurn: Int = 0, 18 | var isFee: Int = 0, 19 | var label: Int = 0, 20 | var audit: Int = 0, 21 | var note: String = "", 22 | var matchSocre: Double = 0.0, 23 | var createAt: Long = System.currentTimeMillis() / 1000, 24 | ) { 25 | 26 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/Carousel.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_carousel") 10 | data class Carousel( 11 | @TableId(type = IdType.AUTO) 12 | var id: Int = 0, 13 | var picture: String = "", 14 | var url: String = "", 15 | var weight: Int = 0, 16 | var status: Int = 0, 17 | ) { 18 | 19 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/DesiredObject.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_desired_object") 10 | data class DesiredObject( 11 | @TableId(type = IdType.AUTO) 12 | var objectClassifyId: Int = 0, 13 | var objectClassifyName: String = "", 14 | var status: Int = 0, 15 | var weight: Int = 0, 16 | ) { 17 | 18 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/GoldPackage.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_gold_package") 10 | data class GoldPackage( 11 | @TableId(type = IdType.AUTO) 12 | var goldPackageId: Int = 0, 13 | var goldNum: Int = 0, 14 | var price: Double = 0.0, 15 | var originalPrice: Double = 0.0, 16 | var payCode: String = "", 17 | var weight: Int = 0, 18 | var status: Int = 0, 19 | var device: Int = 0, 20 | ) { 21 | 22 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/Location.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_location") 10 | data class Location( 11 | @TableId(type = IdType.AUTO) 12 | var locationId: Int = 0, 13 | var parentId: Int = 0, 14 | var level: Int = 0, 15 | var cityCode: Int = 0, 16 | var status: Int = 0, 17 | var weight: Int = 0, 18 | var locationName: String = "", 19 | ) { 20 | 21 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/Profession.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_profession") 10 | data class Profession( 11 | @TableId(type = IdType.AUTO) 12 | var professionId: Int = 0, 13 | var professionName: String = "", 14 | var parentId: Int = 0, 15 | var weight: Int = 0, 16 | var status: Int = 0, 17 | ) { 18 | 19 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/RealRecord.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_arc_soft_real_record") 10 | data class RealRecord( 11 | @TableId(type = IdType.AUTO) 12 | var id: Int = 0, 13 | var userId: Int = 0, 14 | var faceImg: String = "", 15 | var realImg: String = "", 16 | var matchScore: Int = 0, 17 | var createdAt: Long = System.currentTimeMillis()/1000, 18 | ) { 19 | 20 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/SysMessageType.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_msg_type") 10 | data class SysMessageType( 11 | @TableId(type = IdType.AUTO) 12 | var msgTypeId: Int = 0, 13 | var name: String = "", 14 | var icon: String = "", 15 | ) { 16 | 17 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/SystemMessage.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableField 5 | import com.baomidou.mybatisplus.annotation.TableId 6 | import com.baomidou.mybatisplus.annotation.TableName 7 | import lombok.Data 8 | 9 | @Data 10 | @TableName(value = "oc_sys_message") 11 | data class SystemMessage( 12 | @TableId(type = IdType.AUTO) 13 | var id: Int = 0, 14 | var msgType: String = "", 15 | var msgTypeId: Int = 0, 16 | var msgTitle: String = "", 17 | var userId: Int = 0, 18 | var rySendUserId: String = "", 19 | var toUserId: Int = 0, 20 | var ryRecvUserId: Int = 0, 21 | var msgTime: Int = 0, 22 | var body: String = "", 23 | @TableField(value = "`read`") 24 | var read: Int = 0, 25 | ) { 26 | 27 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/UserLike.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_like_user") 10 | data class UserLike( 11 | @TableId(type = IdType.AUTO) 12 | var id: Int = 0, 13 | var userId: Int = 0, 14 | var likeUserId: Int = 0, 15 | ) { 16 | 17 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/UserRelation.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_user_relation") 10 | data class UserRelation( 11 | @TableId(type = IdType.AUTO) 12 | var id: Int = 0, 13 | var userId: Int = 0, 14 | var targetUserId: Int = 0, 15 | var type: Int = 0, 16 | var channel: Int = 0, 17 | var expireTime: Long = 0, 18 | var createAt: Long = System.currentTimeMillis() / 1000, 19 | ) { 20 | 21 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/bean/UserWallet.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.bean 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType 4 | import com.baomidou.mybatisplus.annotation.TableId 5 | import com.baomidou.mybatisplus.annotation.TableName 6 | import lombok.Data 7 | 8 | @Data 9 | @TableName(value = "oc_user_wallet") 10 | data class UserWallet( 11 | @TableId(type = IdType.AUTO) 12 | var userId: Int = 0, 13 | var money: Double = 0.0, 14 | var gold: Int = 0, 15 | var payPwd: String = "", 16 | var realname: String = "", 17 | var payAccount: String = "", 18 | ) { 19 | 20 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/ActivityCommentMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.ActivityComment 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface ActivityCommentMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/ActivityLabelMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.ActivityLabel 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface ActivityLabelMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/ActivityLikeMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.* 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface ActivityLikeMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/ActivityMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.Activity 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface ActivityMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/ActivitySignMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.ActivitySign 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface ActivitySignMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/AlbumMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.* 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface AlbumMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/CarouselMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.Carousel 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface CarouselMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/DesiredObjectMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.DesiredObject 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface DesiredObjectMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/GoldPackageMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.GoldPackage 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface GoldPackageMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/LocationMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.Location 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface LocationMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/ProfessionMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.Profession 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface ProfessionMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/RealRecordMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.RealRecord 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface RealRecordMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/SysMessageMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.* 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface SysMessageMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/SysMessageTypeMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.* 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface SysMessageTypeMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/UserInfoMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.UserInfo 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface UserInfoMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/UserLikeMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.* 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface UserLikeMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/UserMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.User 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | public interface UserMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/UserRelationMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.UserRelation 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface UserRelationMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/UserWalletMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.UserWallet 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface UserWalletMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-app-api/src/main/kotlin/com/alico/chat/app/sql/mapper/VipPackageMapper.kt: -------------------------------------------------------------------------------- 1 | package com.alico.chat.app.sql.mapper 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper 4 | import com.alico.chat.app.sql.bean.VipPackage 5 | import org.springframework.stereotype.Component 6 | 7 | @Component 8 | interface VipPackageMapper : BaseMapper { 9 | } -------------------------------------------------------------------------------- /alico-chat-flutter/.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | migrate_working_dir/ 12 | 13 | # IntelliJ related 14 | *.iml 15 | *.ipr 16 | *.iws 17 | .idea/ 18 | 19 | # The .vscode folder contains launch configuration and tasks you configure in 20 | # VS Code which you may wish to be included in version control, so this line 21 | # is commented out by default. 22 | #.vscode/ 23 | 24 | # Flutter/Dart/Pub related 25 | **/doc/api/ 26 | **/ios/Flutter/.last_build_id 27 | .dart_tool/ 28 | .flutter-plugins 29 | .flutter-plugins-dependencies 30 | .packages 31 | .pub-cache/ 32 | .pub/ 33 | /build/ 34 | 35 | # Symbolication related 36 | app.*.symbols 37 | 38 | # Obfuscation related 39 | app.*.map.json 40 | 41 | # Android Studio will place build artifacts here 42 | /android/app/debug 43 | /android/app/profile 44 | /android/app/release 45 | -------------------------------------------------------------------------------- /alico-chat-flutter/README.md: -------------------------------------------------------------------------------- 1 | # AlicoChat客户端-Flutter 2 | -------------------------------------------------------------------------------- /alico-chat-flutter/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /alico-chat-flutter/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /alico-chat-flutter/android/app/src/main/kotlin/com/example/alico_chat/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.alico_chat 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /alico-chat-flutter/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /alico-chat-flutter/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /alico-chat-flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /alico-chat-flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /alico-chat-flutter/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /alico-chat-flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /alico-chat-flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /alico-chat-flutter/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /alico-chat-flutter/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.7.10' 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:7.2.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | mavenCentral() 18 | } 19 | } 20 | 21 | rootProject.buildDir = '../build' 22 | subprojects { 23 | project.buildDir = "${rootProject.buildDir}/${project.name}" 24 | } 25 | subprojects { 26 | project.evaluationDependsOn(':app') 27 | } 28 | 29 | task clean(type: Delete) { 30 | delete rootProject.buildDir 31 | } 32 | -------------------------------------------------------------------------------- /alico-chat-flutter/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /alico-chat-flutter/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip 6 | -------------------------------------------------------------------------------- /alico-chat-flutter/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/202309210906616240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/202309210906616240.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/coin.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/comment.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/conversation/photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/conversation/photo.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/edit_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/edit_profile.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/female.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/female.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/follow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/follow.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/goddess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/goddess.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/like.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/male.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/male.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/mine_real.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/mine_real.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/mine_vip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/mine_vip.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/real.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/real.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/right.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/setting.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/share.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/share/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/share/comment.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/share/like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/share/like.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/share/liked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/share/liked.png -------------------------------------------------------------------------------- /alico-chat-flutter/assets/images/vip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/assets/images/vip.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /alico-chat-flutter/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /alico-chat-flutter/lib/helper/helper_image_picker.dart: -------------------------------------------------------------------------------- 1 | import 'package:image_picker/image_picker.dart'; 2 | 3 | class HelperImagePicker { 4 | static Future selectImage() async { 5 | final ImagePicker picker = ImagePicker(); 6 | final XFile? image = await picker.pickImage(source: ImageSource.gallery); 7 | return image; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /alico-chat-flutter/lib/helper/helper_media_querys.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | class HelperMediaQuerys { 5 | static double getStatusAndAppBarHeight(BuildContext context) { 6 | return MediaQuery.of(context).padding.top + AppBar().preferredSize.height; 7 | } 8 | 9 | static double getStatusHeight(BuildContext context) { 10 | return MediaQuery.of(context).padding.top; 11 | } 12 | 13 | static double getScreenWidth(BuildContext context) { 14 | return MediaQuery.of(context).size.width; 15 | } 16 | static double getScreenHeight(BuildContext context) { 17 | return MediaQuery.of(context).size.height; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /alico-chat-flutter/lib/helper/helper_navigator.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | class HelperNavigator { 5 | static Future push(BuildContext context, Widget widget) async { 6 | return await Navigator.push(context, MaterialPageRoute(builder: (context) { 7 | return widget; 8 | })); 9 | } 10 | 11 | static Future pushRemove(BuildContext context, Widget widget) async { 12 | return await Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context) { 13 | return widget; 14 | }), (route) { 15 | return false; 16 | }); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /alico-chat-flutter/lib/helper/helper_sp.dart: -------------------------------------------------------------------------------- 1 | import 'package:shared_preferences/shared_preferences.dart'; 2 | 3 | class HelperSp { 4 | 5 | static SharedPreferences? _sharedPreferences; 6 | 7 | static Future init() async { 8 | _sharedPreferences = await SharedPreferences.getInstance(); 9 | } 10 | 11 | static SharedPreferences get() { 12 | return _sharedPreferences!; 13 | } 14 | } 15 | 16 | class SPKey{ 17 | static String KEY_ACCOUNT_USER_ID = "KEY_ACCOUNT_USER_ID"; 18 | static String KEY_ACCOUNT_TOKEN = "KEY_ACCOUNT_TOKEN"; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /alico-chat-flutter/lib/helper/snack_bar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class SnackBarUtil { 4 | static void showSnackBar(BuildContext? context, String? message) { 5 | if (context != null) { 6 | ScaffoldMessenger.of(context).clearSnackBars(); 7 | ScaffoldMessenger.of(context).showSnackBar( 8 | SnackBar( 9 | content: Text( 10 | message ?? "", 11 | style: TextStyle(), 12 | ), 13 | duration: const Duration(seconds: 2), 14 | behavior: SnackBarBehavior.fixed), 15 | ); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /alico-chat-flutter/lib/pages/ui_dialog_center.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | class UiDialogCenter extends StatelessWidget { 5 | Widget child; 6 | 7 | UiDialogCenter(this.child); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Dialog( 12 | insetPadding: EdgeInsets.zero, backgroundColor: Colors.transparent, shadowColor: Colors.transparent, surfaceTintColor: Colors.transparent, elevation: 0, child: child); 13 | } 14 | 15 | static void show( 16 | BuildContext context, 17 | Widget child, 18 | bool barrierDismissible, 19 | ) { 20 | showDialog( 21 | context: context, 22 | barrierDismissible: barrierDismissible, 23 | barrierColor: Colors.transparent, 24 | builder: (context) { 25 | return UiDialogCenter(child); 26 | }); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /alico-chat-flutter/lib/pages/ui_person_auth.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | class UiPersonAuth extends StatefulWidget { 5 | @override 6 | State createState() { 7 | return _Widget(); 8 | } 9 | } 10 | 11 | class _Widget extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | appBar: AppBar(), 16 | body: Column( 17 | children: [ 18 | Text("1. 选择一张自拍照"), 19 | Container( 20 | width: 100, 21 | height: 100, 22 | color: Colors.grey, 23 | ), 24 | Text("2. 自拍认证"), 25 | Container( 26 | width: 100, 27 | height: 100, 28 | color: Colors.grey, 29 | ) 30 | ], 31 | ), 32 | ); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /alico-chat-flutter/lib/widget/height_dialog.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/alico-chat-flutter/lib/widget/height_dialog.dart -------------------------------------------------------------------------------- /images/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/1.jpg -------------------------------------------------------------------------------- /images/1712880155578.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/1712880155578.jpg -------------------------------------------------------------------------------- /images/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/2.jpg -------------------------------------------------------------------------------- /images/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/3.jpg -------------------------------------------------------------------------------- /images/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/4.jpg -------------------------------------------------------------------------------- /images/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/5.jpg -------------------------------------------------------------------------------- /images/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/6.jpg -------------------------------------------------------------------------------- /images/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/7.jpg -------------------------------------------------------------------------------- /images/admin_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/admin_1.jpg -------------------------------------------------------------------------------- /images/admin_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/admin_2.jpg -------------------------------------------------------------------------------- /images/微信图片_20240411224006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/微信图片_20240411224006.jpg -------------------------------------------------------------------------------- /images/微信图片_20240419205004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/images/微信图片_20240419205004.jpg -------------------------------------------------------------------------------- /微信图片_20240411215033.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ven-coder/alico-chat/faff0d90269ca4a2a88b9c9dce98077de9e2a719/微信图片_20240411215033.jpg --------------------------------------------------------------------------------