feat:动态加载直播插件

pull/8/head
kele 2023-03-18 09:26:37 +08:00
parent e63fdf3dfc
commit 40d8dbf7f1
3 changed files with 47 additions and 3 deletions

28
modifyManifest.js Normal file
View File

@ -0,0 +1,28 @@
const fs = require('fs');
const manifestPath = process.env.UNI_INPUT_DIR + '/manifest.json';
let Manifest = fs.readFileSync(manifestPath, { encoding: 'utf-8' });
function replaceManifest(value, remove) {
let data = JSON.parse(Manifest)
let newValue = JSON.parse(value)
if (remove === 'delete') {
delete data['mp-weixin'].plugins['live-player-plugin'];
} else {
if (data['mp-weixin'].plugins['live-player-plugin']) return;
data['mp-weixin'].plugins = {
...data['mp-weixin'].plugins,
...newValue
}
}
Manifest = JSON.stringify(data)
fs.writeFileSync(manifestPath, Manifest, {
"flag": "w"
})
}
export default replaceManifest

View File

@ -138,8 +138,7 @@
top: 10rpx;
width: 136rpx;
height: 40rpx;
background: #000000;
opacity: 0.5;
background: rgba(#000000, 0.5);
border-radius: 20rpx;
.icon {
width: 40rpx;

View File

@ -3,11 +3,28 @@ import uni from '@dcloudio/vite-plugin-uni';
import path from 'path';
// import viteCompression from 'vite-plugin-compression';
import uniReadPagesV3Plugin from './sheep/router/utils/uni-read-pages-v3';
// 引入直播组件
import replaceManifest from './modifyManifest'
// https://vitejs.dev/config/
export default (command, mode) => {
const env = loadEnv(mode, __dirname, 'SHOPRO_');
if (env.SHOPRO_MPLIVE_ON === 'true') {
replaceManifest(`{
"live-player-plugin": {
"version": "1.3.5",
"provider": "wx2b03c6e691cd7370"
}
}`, 'push')
} else {
replaceManifest(`{
"live-player-plugin": {
"version": "1.3.5",
"provider": "wx2b03c6e691cd7370"
}
}`, 'delete')
}
return {
envPrefix: "SHOPRO_",
plugins: [