Openboxes开发环境配置及本地化、API测试

目录

Openboxes简介

开发环境配置及启动

更新中文多语言配置

API测试


  • Openboxes简介

        Openboxes是一款开源的仓库管理软件,提供了库存管理、采购管理、销售管理等功能,可以帮助用户高效地管理仓库及库存。并提供了丰富的API接口。系统基于java8 和Grails框架开发,支持的数据库为mysql或mariadb。最新版的产品使用了js作为前端页面处理程序,较以前版本在界面布局上略有提升。产品支持多语言,但多语言翻译比例不高(至少中文的汉化比例是这样)。

        产品主界面展示如下:        

        中文界面:

        

  • 开发环境配置及启动

        本文中的开发环境如下:

        IDEA 2024.1

        JAVA1.8

        MySQL 8

        具体配置过程如下:

  1. 克隆代码到本地,github地址:https://github.com/openboxes/openboxes
  2. idea打开本地源码目录,配置项目的java环境为JDK1.8
  3. 等待gradle项目刷新和加载,全部完成后,项目结构如下:本人在这个过程中,遇到的主要问题是连接超时,通过修改gradle仓库配置中的连接参数解决,主要是:
    https.socketTimeout=60000
    https.connectionTimeout=60000
    http.socketTimeout=60000
    http.connectionTimeout=60000

  4. 编辑配置文件,openboxes支持的配置文件有yml,groovy和properties,具体见源码目录中的grails-app/conf/application.yml,配置文件的位置和名称如下:

                - file:${catalina.base}/.grails/openboxes-config.properties
                - file:${catalina.base}/.grails/openboxes-config.groovy
                - file:${catalina.base}/.grails/openboxes.yml
                - ~/.grails/openboxes-config.properties
                - ~/.grails/openboxes-config.groovy
                - ~/.grails/openboxes.yml

    配置文件可以有多个,优先级又低到高,也就是说以最后一个文件的配置为准。本中中只编写了一个openboxes-config.properties文件,并将文件放置到 %USERPROFILE%/.grails目录下,如果本地%USERPROFILE%目录下没有.grails,需要手工创建。openboxes-config.properties文件内容参考如下:

    dataSource.url=jdbc:mysql://localhost:3306/openboxes?allowPublicKeyRetrieval=true&useSSL=false
    dataSource.username=openboxes
    dataSource.password=openboxes
    
    # OpenBoxes mail settings (disabled by default)
    grails.mail.enabled=false
    
    openboxes.logo.url=/openboxes/assets/openboxes_logo_40x40.jpg

  5. 检查数据库及用户,根据本地数据库环境,调整数据库名称及数据库用户、密码,确保数据库连接正常。

  6. 启动开发环境,执行gradle中的bootRun任务,程序将完成依赖库的更新,node安装以及前端库的安装,这个过程会花费较长时间。过程中会出现Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure错误,可忽略。

  7. 浏览器中访问http://127.0.0.1:8080/openboxeshttp://localhost:8080/openboxes,用户名,密码为:admin, password

  8. 切换语言:http://127.0.0.1:8080/openboxes

  9. 加载demo数据:选择load demo data即可

  • 更新中文多语言配置

        openboxes中的多语言通过配置文件对界面元素标签,表单title等进行翻译,配置文件位置位于grails-app/i18n/目录下,中文多语言文件为messages_zh.properties,这里需要注意的是,中文内容需要以unicode格式存储,如果以中文存储,仪表盘中的内容以及左侧快捷菜单显示的是乱码,这个问题已经提报到github,在程序没有处理前,可按unicode方式处理。本文提供的中文标签文件为google自动翻译后将中文转换为unicode编码,其中翻译的准确性并不一定高,可自行根据需要调整。 

  • API测试

        openboxes最新版中的api文档,参考链接为:OpenBoxes API Document。本文使用postman作为调试工具,验证了相关的api。

  1. 获取cookie,openboxes使用cookie作为api访问的鉴权方法,所以需要在使用api操作openboxes的服务时,首先要获取授权的cookie,具体方法是:请求成功后,获取响应头的cookie,postman中可通过右侧的cookie链接获取。
  2. API测试,根据参考文件中Generic API示例,测试获取产品列表:其中,请求头中的cookie参数为第一步获取的内容。其他API中也要提供这个参数才能正常访问。
### 开源采购管理系统推荐 对于开源采购管理系统的寻找,可以考虑以下几种方案: #### Hospital Management System 这是一个基于Python Django框架构建的医院管理系统[^1]。尽管其主要目标是针对医疗机构的需求而设计,但它也涵盖了部分采购管理的功能模块,例如药品和医疗器械的采购记录、供应商管理和库存跟踪等功能。 如果这些功能满足需求,则可以从该项目入手扩展成完整的采购管理系统。项目托管于GitCode平台,可以通过链接访问代码仓库并下载相关内容。 ```bash git clone https://gitcode.com/gh_mirrors/ho/hospitalmanagement.git ``` #### Agile Project Management with Gantt Charts 虽然敏捷项目管理工具主要用于任务调度和时间线规划[^2],但某些实现也可能集成简单的物资或服务采购追踪能力。这类工具有助于通过甘特图来安排采购活动的时间节点以及关联资源分配情况。不过单独作为全面性的采购解决方案可能不够完善,因此需搭配其他专门软件一起使用。 #### OpenBoxes Supply Chain Management System 更为贴切的选择可能是 **OpenBoxes** 这样的供应链管理系统[^3]。它不仅支持基本的库存控制操作,还提供了订单处理、收货验证等一系列围绕商品流动展开的服务流程自动化机制。由于它是专门为应对复杂供应环境所打造的产品,在灵活性与适应性方面表现优异,适合各类规模的企业采用。 可以直接前往GitHub页面获取最新版本文件: ```bash git clone https://github.com/OpenBoxes/openboxes.git ``` 以上列举了几种不同类型的系统供参考,具体选用哪一种取决于实际业务场景下的特定要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值