├── 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 extends BaseEnum> 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 |
11 |
12 |
13 |
19 |
--------------------------------------------------------------------------------
/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/components/framework/iframe/route-default-component.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
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 |
11 |
14 |
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 |
11 |
12 |
13 |
14 |
15 |
19 |
--------------------------------------------------------------------------------
/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/views/business/erp/catalog/goods-catalog.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
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 |
11 |
12 |
13 | 返回首页
14 |
15 |
16 |
17 |
26 |
--------------------------------------------------------------------------------
/alico-chat-admin/smart-admin-web/javascript-ant-design-vue3/src/views/system/40X/404.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 | 返回首页
14 |
15 |
16 |
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
--------------------------------------------------------------------------------