create wx componet

const fs = require('fs')
const path = require('path')

const fileDirName =  process.argv[2] ? `${process.argv[2]}` : `index`
const fileName =  process.argv[3] ? `${process.argv[3]}` : `index`

const templates = {
    js: 
`Page({

})
`,
    json: 
`{
    "navigationBarTitleText": "${fileName}"
}
`,
    wxml: 
`
<import src="../../../common/head.wxml" />
<import src="../../../common/foot.wxml" />

<view class="container">
    <template is="head"/>

    <template is="foot" />
</view>
`,
    wxss: 
`@import "../../../common/lib/weui.wxss";
`
}

const baseUrl = `page/component`
const appJsonPath = `./app.json`
const fileDir = `./${baseUrl}/${fileDirName}`
const fileFullPath = `./${baseUrl}/${fileDirName}/${fileName}`

const pages = [
    "page/pages/index/index",
    "page/pages/recently/recently",
    "page/pages/liveback/liveback",
    "page/pages/liveshow/liveshow",
    "page/pages/myCourse/myCourse",
    "page/pages/popShare/popShare",
    "page/pages/sharepage/sharepage",
    "page/pages/myReward/myReward",
    "page/pages/myStudents/myStudents",
    "page/pages/studentDetail/studentDetail",
    "page/pages/aboutUs/aboutUs",
    "page/pages/livePractice/livePractice",
    "page/pages/parentTalk/parentTalk",
    "page/pages/extension/extension",
    "page/pages/company/company",
    "page/pages/activity/activity",

    "page/component/index",

    "page/component/pages/view/view",
    "page/component/pages/scroll-view/scroll-view",
    "page/component/pages/swiper/swiper",

    "page/component/pages/text/text",
    "page/component/pages/icon/icon",
    "page/component/pages/progress/progress",

    "page/component/pages/button/button",
    "page/component/pages/checkbox/checkbox",
    "page/component/pages/form/form",
    "page/component/pages/input/input",
    "page/component/pages/label/label",
    "page/component/pages/picker/picker",
    "page/component/pages/radio/radio",
    "page/component/pages/slider/slider",
    "page/component/pages/switch/switch",
    "page/component/pages/textarea/textarea",

    "page/component/pages/navigator/navigator",
    "page/component/pages/navigator/navigate",
    "page/component/pages/navigator/redirect",

    "page/component/pages/image/image",
    "page/component/pages/audio/audio",
    "page/component/pages/video/video",

    "page/component/pages/map/map",

    "page/component/pages/canvas/canvas",

    "page/API/index",
    "page/API/index/index",

    "page/API/pages/login/login",
    "page/API/pages/get-user-info/get-user-info",
    "page/API/pages/request-payment/request-payment",
    "page/API/pages/share/share",
    "page/API/pages/custom-message/custom-message",
    "page/API/pages/template-message/template-message",

    "page/API/pages/set-navigation-bar-title/set-navigation-bar-title",
    "page/API/pages/navigation-bar-loading/navigation-bar-loading",
    "page/API/pages/navigator/navigator",
    "page/API/pages/pull-down-refresh/pull-down-refresh",
    "page/API/pages/animation/animation",

    "page/API/pages/action-sheet/action-sheet",
    "page/API/pages/modal/modal",
    "page/API/pages/toast/toast",

    "page/API/pages/get-network-type/get-network-type",
    "page/API/pages/get-system-info/get-system-info",
    "page/API/pages/on-compass-change/on-compass-change",
    "page/API/pages/make-phone-call/make-phone-call",
    "page/API/pages/scan-code/scan-code",


    "page/API/pages/request/request",
    "page/API/pages/web-socket/web-socket",
    "page/API/pages/upload-file/upload-file",
    "page/API/pages/download-file/download-file",


    "page/API/pages/image/image",
    "page/API/pages/voice/voice",
    "page/API/pages/file/file",
    "page/API/pages/on-accelerometer-change/on-accelerometer-change",
    "page/API/pages/canvas/canvas",
    "page/API/pages/background-audio/background-audio",
    "page/API/pages/video/video",

    "page/API/pages/get-location/get-location",
    "page/API/pages/open-location/open-location",
    "page/API/pages/choose-location/choose-location",

    "page/API/pages/storage/storage",
    "page/component/index/index"
]

pages.push(path.dirname(`${baseUrl}/${fileDirName}/${fileName}/${fileName}`))
const app = {
    pages,
    "window": {
      "navigationBarTextStyle": "#ffffff",
      "navigationBarTitleText": "演示",
      "navigationBarBackgroundColor": "#3E3F43",
      "backgroundColor": "#F8F8F8"
    },
    "tabBar": {
      "color": "#7A7E83",
      "selectedColor": "#3cc51f",
      "borderStyle": "black",
      "backgroundColor": "#ffffff",
      "list": [{
        "pagePath": "page/component/index",
        "iconPath": "image/icon_component.png",
        "selectedIconPath": "image/icon_component_HL.png",
        "text": "组件"
      }, {
        "pagePath": "page/API/index",
        "iconPath": "image/icon_API.png",
        "selectedIconPath": "image/icon_API_HL.png",
        "text": "接口"
      }]
    },
    "networkTimeout": {
      "request": 10000,
      "connectSocket": 10000,
      "uploadFile": 10000,
      "downloadFile": 10000
    },
    "debug": false
}  

function createWxComponent(fileDir,filePath, templates,  cb) {
    fs.mkdir(fileDir, 0777, (err) => {
        if (err) throw err
        Object.entries(templates).map(([k, v]) => {
            cb(`${filePath}.${k}`, v)
        })
    })
}

function geneateFile(filePath, str) {
    fs.writeFile(filePath, str, (err) => {
        if (err) throw err;
        console.log('file created!')
    })
}


createWxComponent(fileDir, `${fileFullPath}`, templates, geneateFile)

geneateFile(appJsonPath, JSON.stringify(app, '', 4))

复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值