# 定制 OSS Browser

通过修改此目录下的配置,目前可以较容易的自定义logo,app名称,版本号,更新地址等。

如果需要修改更多内容,请直接修改oss browser代码。

下面介绍如何修改配置,如何重新build,如何发布。

* build oss browser 推荐使用 Mac,其次 ubuntu,再其次 windows。
## 1. 安装环境
本工具使用 [Electron](https://electron.atom.io/) 编写,依赖 [Node.js](https://nodejs.org) >= 7.9.0.
所以先要安装 Node.js
### (1) Node.js
Node.js 从官网下载最新版本安装即可。
坑:有错误提示,只能是8.x
### (2) 安装 cnpm(npm的中国镜像,加快依赖下载速度)。
```
 sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
 ```### (3) 获取 oss-browser 源码
先到 https://github.com/aliyun/oss-browser ,Fork 一份到你自己的仓库,然后clone:
```
 git clone https://github.com/aliyun/oss-browser
 cd oss-browser
 ```### (4) 使用mac平台来build。
需要使用 brew 来安装 wine:
```
 brew install wine
 ```### (5) 如果使用 windows 系统(不推荐),需要安装下列软件:
* 需要安装 gitbash:
请自行下载安装。
* 需要安装 windows-build-tools:
```
 cnpm i -g windows-build-tools
 ```* 还需要下载make.exe,放到 `C:\windows\` 目录下
[make.exe(64位版本)](http://luogc.oss-cn-hangzhou.aliyuncs.com/oss-browser-publish/windows-tools/64/make.exe)
坑:压根访问不了
[make.exe(32位版本)](http://luogc.oss-cn-hangzhou.aliyuncs.com/oss-browser-publish/windows-tools/32/make.exe)
* 可以还会遇到其他问题,请自行解决。
## 2. 开始尝试启动
```
 make i   # 安装 node 模块依赖
 make build  # 生成dist目录坑:按照提示需要装 npm install -g yarn
       装 sudo cnpm install electron -g
       更新镜像站:vim /etc/apt/sources.list 添加:deb http://cz.archive.ubuntu.com/ubuntu xenial main universe
       装 一大堆依赖包:sudo apt-get install gconf-service libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxss1 libxtst6 libappindicator1 libnss3 libasound2 libatk1.0-0 libc6 ca-certificates fonts-liberation lsb-release xdg-utils wget libgbm1
 ```启动界面:
 ```
 make run # 开发模式启动坑:安装 npm install -g cross-env --no-bin-links
       可能会报错:cannot find module 'xxxx’ ```
这时,你可以看到界面了(开发模式,可以按 command+r 刷新)。
 ## 3. 自定义 custom 配置
```
 oss-browser/
   |-- custom
 ```将 custom 目录复制一份到其他地方,比如 ~/Desktop/custom/,
 修改目录下的 index.js 配置 和 图标即可。Makefile有3个变量,可以替换,分别为:NAME,CUSTOM,VERSION.
* 假设你的应用名为: my-oss-browser
 * 假设你的custom目录为: ~/Desktop/custom/然后指定custom路径 build:
 ```
 make build NAME=my-oss-browser CUSTOM=~/Desktop/custom
 ```开发模式启动:
 ```
 make run NAME=my-oss-browser CUSTOM=~/Desktop/custom
 ``` ## 4. build
```
 make all NAME=my-oss-browser CUSTOM=/root/oss-browser-master/custom坑:可以选all win32 win64 liunx32 等参数,但是win64/32还要装  sudo apt install wine-stable ,当心镜像有冲突错误“E: Unable to correct problems, you have held broken packages”
 ```* Makefile中的 VERSION 和 NAME 变量,VERSION 需要和 custom/index.js 中的version相同,NAME需要和appId相同。
 * 可以指定 NAME,CUSTOM 和 VERSION 变量.
 * 除了会在 build 下生成几个目录,还会在 releases 目录下,生成几个压缩包(绿色免安装版)。### (可选) mac平台相关的安装文件
```
 make dmg NAME=my-oss-browser # 只能在mac系统下build,生成 releases/${VERSION}/my-oss-browser.dmg 文件
 ```
 * 此命令需要在 make mac 或者 make all 命令后执行。
 * 可以指定 NAME, CUSTOM 和 VERSION 变量。 ## 5. 自动更新
后续的bug fix,功能更新,都是自动的。无需关心。