Browse Source

feat:动态加载直播插件

kele 2 years ago
parent
commit
40d8dbf7f1
3 changed files with 47 additions and 3 deletions
  1. 28 0
      modifyManifest.js
  2. 1 2
      sheep/components/s-live-card/s-live-card.vue
  3. 18 1
      vite.config.js

+ 28 - 0
modifyManifest.js

@@ -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

+ 1 - 2
sheep/components/s-live-card/s-live-card.vue

@@ -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;

+ 18 - 1
vite.config.js

@@ -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: [