pcchat-icon-builder

2.0.1 • Public • Published

pcchat-icon-builder

** 项目中应用的logo在native端和UI端都有用到,两个端的图标所在的路径是相互分离的。 native端指windows/macOS任务栏、应用图标等,UI端指登陆页处蓝叮标识,理想状态下windows端需要一个icon.ico文件(macOS对应的是icon.icns)即可。但是实际应用中,只使用icon.ico文件会有一些问题。如:windows右下角的任务栏,使用icon.ico文件在有新消息闪动图标的时候,有些电脑会出现卡顿问题,采用只包含16x16尺寸的ico后明显好转。另外任务栏处的ico还需要根据在线状态显示忙碌、离开等状态,这又需要特殊的ico文件。 UI端使用logo的地方较少,且通常只要尺寸对就没有太大问题。 使用到logo标识的具体地方参见:https://www.yuque.com/docs/share/eda9a924-fbdc-4dc1-b150-2d9bd78ee27e?# 《蓝叮应用相关的图标记录》 另外,蓝叮应用目前支持开发环境、测试环境、生产环境三环境打包,且能同时运行这三个环境的应用程序,这也意味着这三个环境的应用程序需要不同的logo加以区分。 所以,遇到换logo的时候,不仅UI设计头痛,开发的工作量也不小。

本项目根据一张1024x1024的PNG图片自动生成其他所有的图标文件。

**

使用方法

安装

npm install --save-dev git+http://niwl:zdsoft@192.168.16.193/dev2/im/pcchat-ico-builder.git#5e9b0ea9dcf9a564b2f363c0985a1c1e8b39955d

使用

pcchat-icon-builder --input=/absolute/path/1024.png --output=./relative/path/to/folder --pcEnv=product --projectRoot=/absolute/path/projectRoot
or
./node_modules/.bin/pcchat-icon-builder --input=${LOGO_INPUT} --output=${LOGO_OUTPUT} --pcEnv=product --projectRoot=${PROJECT_REPO}

参数说明

--output, -o = [String] 产出物路径
--input, -i = [String] 1024x1024的png原图
--pcDev = [String] 开发模式 dev/test/product,不同模式的图标分别放在icons_dev, icons_test, icons目录下
--projectRoot 父项目的路径(为了取到离开和忙碌的小图标路径)

说明

输入文件应为1024px x 1024px或更大尺寸,确保宽高比为1:1。

Output structure

[output dir]
    -[icons]
        -[ico]
            - tray.ico
            - offline_128.ico
            - offline_256.ico
            ...
        -[mac]
            - icon.icns
        -[png]
            - 16x16.png
            - 16x16@2x.png
            - 24x24.png
            - 24x24@2x.png
            ...
            ...
        -[win]
            -icon.ico
    -[icons_dev]
        ...
    -[icons_test]
        ...

TODO

  • 1、分析ico格式的file_list
  • 2、dev或test模式下优先查询是否有对应的1024文件,如果没有则默认生成
  • 3、macOS的菜单栏(黑暗模式+正常模式)

Package Sidebar

Install

npm i pcchat-icon-builder

Weekly Downloads

3

Version

2.0.1

License

MIT

Unpacked Size

381 kB

Total Files

10

Last publish

Collaborators

  • qulf-npm