fix:优化动态添加直播组件

pull/8/head
kele 2023-03-20 14:35:31 +08:00
parent f806152116
commit 8aa295b02d
5 changed files with 275 additions and 268 deletions

5
env
View File

@ -13,4 +13,7 @@ SHOPRO_API_PATH = /shop/api/
# 客户端静态资源地址 空=默认使用服务端指定的CDN资源地址前缀 | local=本地 | http(s)://xxx.xxx=自定义静态资源地址前缀
SHOPRO_STATIC_URL = https://file.sheepjs.com
SHOPRO_VERSION = v1.1.15
SHOPRO_VERSION = v1.8.1
# 是否开启直播 1 开启直播 | 0 关闭直播
SHOPRO_MPLIVE_ON = 0

View File

@ -69,7 +69,10 @@
"schemes": "shopro"
},
"ios": {
"urlschemewhitelist" : [ "baidumap", "iosamap" ],
"urlschemewhitelist": [
"baidumap",
"iosamap"
],
"dSYMs": false,
"privacyDescription": {
"NSPhotoLibraryUsageDescription": "需要同意访问您的相册选取图片才能完善该条目",
@ -80,7 +83,9 @@
"urltypes": "shopro",
"capabilities": {
"entitlements": {
"com.apple.developer.associated-domains" : [ "applinks:shopro.sheepjs.com" ]
"com.apple.developer.associated-domains": [
"applinks:shopro.sheepjs.com"
]
}
},
"idfa": true
@ -99,12 +104,18 @@
},
"payment": {
"weixin": {
"__platform__" : [ "ios", "android" ],
"__platform__": [
"ios",
"android"
],
"appid": "wxae7a0c156da9383b",
"UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
},
"alipay": {
"__platform__" : [ "ios", "android" ]
"__platform__": [
"ios",
"android"
]
}
},
"share": {
@ -114,7 +125,9 @@
}
}
},
"orientation" : [ "portrait-primary" ],
"orientation": [
"portrait-primary"
],
"splashscreen": {
"androidStyle": "common",
"iosStyle": "common",
@ -190,7 +203,9 @@
"lazyCodeLoading": "requiredComponents",
"usingComponents": {},
"permission": {},
"requiredPrivateInfos" : [ "chooseAddress" ]
"requiredPrivateInfos": [
"chooseAddress"
]
},
"mp-alipay": {
"usingComponents": true

View File

@ -1,28 +0,0 @@
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

@ -0,0 +1,32 @@
const fs = require('fs');
const manifestPath = process.env.UNI_INPUT_DIR + '/manifest.json';
let Manifest = fs.readFileSync(manifestPath, {
encoding: 'utf-8'
});
function mpliveMainfestPlugin(isOpen) {
if (process.env.UNI_PLATFORM !== 'mp-weixin') return;
const manifestData = JSON.parse(Manifest)
if (isOpen === '0') {
delete manifestData['mp-weixin'].plugins['live-player-plugin'];
}
if (isOpen === '1') {
manifestData['mp-weixin'].plugins['live-player-plugin'] = {
"version": "1.3.5",
"provider": "wx2b03c6e691cd7370"
}
}
Manifest = JSON.stringify(manifestData, null, 2)
fs.writeFileSync(manifestPath, Manifest, {
"flag": "w"
})
}
export default mpliveMainfestPlugin

View File

@ -3,28 +3,12 @@ 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'
import mpliveMainfestPlugin from './sheep/libs/mpLive-manifest-plugin';
// 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: [
@ -36,6 +20,7 @@ export default (command, mode) => {
pagesJsonDir: path.resolve(__dirname, './pages.json'),
includes: ['path', 'aliasPath', 'name', 'meta'],
}),
mpliveMainfestPlugin(env.SHOPRO_MPLIVE_ON)
],
server: {
host: true,