同步操作将从 Discuz/Discuz-Q-uniapp 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
多场景开发方案是指在在既有的DZQ的样式,布局,交互或功能上提供进一步的修改,用于扩充DZQ的能力,或者是用于自定义样式和交互。
为了可以使DZQ同时可以进行多场景自定义修改,还能支持对于持续更新维护的DZQ做进一步的更新,所以必须遵从以下规范进行开发。
可以根据自己的场景进行命令,并替换下面代码中的pay即可
package.json
{
// 以下命令为pay(支付场景下的命令)
"scripts": {
"dev:h5-pay": "cross-env NODE_ENV=development uniapp-cli custom --mode development \"h5-pay\"",
"build:h5-pay": "cross-env NODE_ENV=production UNI_OUTPUT_DIR=dist/build/h5-pay uniapp-cli custom --mode production \"h5-pay\" --fix",
"dev:mp-weixin-pay": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin UNI_OUTPUT_DIR=dist/build/mp-weixin-pay uniapp-cli custom --mode development \"mp-weixin-pay\"",
"build:mp-weixin-pay": "cross-env NODE_ENV=production UNI_PLATFORM=mp-weixin UNI_OUTPUT_DIR=dist/build/mp-weixin-pay uniapp-cli custom --mode production \"mp-weixin-pay\" --fix"
},
// 对自定义环境进行自定义的条件编译字段
"uni-app": {
"scripts": {
"h5-pay": {
"title": "h5-pay",
"BROWSER": "Chrome",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"H5-PLAY": true
}
},
"mp-weixin-pay": {
"title": "mp-weixin-pay",
"BROWSER": "Chrome",
"env": {
"UNI_PLATFORM": "mp-weixin"
},
"define": {
"MP-WEIXIN-PLAY": true
}
}
}
}
}
假如现在有一个A.vue文件,在你的场景下,需要对A.vue进行重写样式,或者大量修改来满足你的场景需要的情况,那么你可以采用这种方式来进行编写。
home.vue
<template>
<A></A>
</template>
<script>
export default {
//....
}
</script>
<style lang="scss">
// ....
</style>
A.vue
<template>
<view>A.vue</view>
</template>
<script>
export default {
}
</script>
<style lang="scss">
// ....
</style>
那么可以考虑这样编写新的A组件,例如Vue自身的mixin特性,编写一个新的组件,命名规范为(原组件名称-场景名称),然后通过mixin的方式,将原有组件mixin到新的组件上,然后根据场景要求,对组件的样式,dom结构或者组件的生命周期等进行重写,从而达到不修改原有代码的基础上,对于组件进行不同场景的修改,而且不影响正常DZQ的维护更新。
A-pay.vue
<template>
<view>A-pay.vue</view>
</template>
<script>
export default {
}
</script>
<style lang="scss">
// ....
</style>
引用组件时,可以使用自定义的编译条件
home.vue
<template>
<!-- #ifdef H5-PLAY -->
<A-pay></A-pay>
<!-- #endif -->
<!-- #ifndef H5-PLAY -->
<A></A>
<!-- #endif -->
</template>
<script>
export default {
//....
}
</script>
<style lang="scss">
// ....
</style>
通过在新增的命令中配置UNI_OUTPUT_DIR
参数,来控制不同环境变量下输出到不同的目录下,理论上不同的场景应该输出到对应不同的目录当中。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。