1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- let env = require('./env.js')
- const {PLATFORM} = env
- const fs = require("fs");
- //此处如果是用HBuilderX创建的项目manifest.json文件在项目跟目录,如果是 cli 创建的则在 src 下,这里要注意
- //process.env.UNI_INPUT_DIR为项目所在的绝对路径,经测试,相对路径会找不到文件
- const revert = process.argv[process.argv.length - 1];
- // 根据还原参数区分使用原路径(最后执行命令的时候已经没有UNI全局变量了)
- const root = revert == "revert" ? "src" : process.env.UNI_INPUT_DIR;
- const manifestPath = root + "/manifest.json";
- let Manifest = fs.readFileSync(manifestPath, {
- encoding: "utf-8",
- });
- // console.log(Manifest,'ManifestManifest')
- function replaceManifest(path, value) {
- const arr = path.split(".");
- const len = arr.length;
- const lastItem = arr[len - 1];
- let i = 0;
- let ManifestArr = Manifest.split(/\n/);
- for (let index = 0; index < ManifestArr.length; index++) {
- const item = ManifestArr[index];
- if (new RegExp(`"${arr[i]}"`).test(item)) ++i;
- if (i === len) {
- const hasComma = /,/.test(item);
- ManifestArr[index] = item.replace(
- new RegExp(`"${lastItem}"[\\s\\S]*:[\\s\\S]*`),
- `"${lastItem}" : ${value}${hasComma ? "," : ""}`
- );
- break;
- }
- }
- Manifest = ManifestArr.join("\n");
- }
- // 动态配置appid
- if (PLATFORM === "enterprises") {
- // 企事业
- let title = '"巡逻鹰GPS"'
- replaceManifest("name", title);
- replaceManifest("h5.router.base", '"/mobile/"');
- replaceManifest("h5.title", title);
-
- } else if (PLATFORM === "sanitation") {
- // 环卫
- let title = '"智慧环卫一体化管理平台"'
- replaceManifest("name", title);
- replaceManifest("h5.router.base", '"/mobile/"');
- replaceManifest("h5.title", title);
-
- } else if (PLATFORM === "mine") {
- // 矿山
- let title = '"矿山车辆管理平台"'
- replaceManifest("name", '"矿山车辆管理平台"');
- replaceManifest("h5.router.base", '"/mobileMine/"');
- replaceManifest("h5.title", title);
- }
- // console.log(Manifest,'Manifest')
- fs.writeFileSync(manifestPath, Manifest, {
- flag: "w",
- });
|