Skip to content

Commit b809102

Browse files
authored
Merge pull request #358 from Ezviz-OpenBiz/develop
feat: add uniapp demo
2 parents 62ca99e + 61ff7a2 commit b809102

28 files changed

+17031
-7062
lines changed

.github/workflows/build-demos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,4 @@ jobs:
5252
working-directory: ./demos/with-vue2.6
5353
run: |
5454
pnpm install --no-frozen-lockfile
55-
pnpm run build
55+
pnpm run build
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: build-uniapp-vue2
2+
3+
on:
4+
push:
5+
branches: ["main", "develop"]
6+
pull_request:
7+
branches: ["main"]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
strategy:
14+
matrix:
15+
node-version: [16.x, 18.x, 20.x, 21.x, 22.x] # not support node >= 23.x and node<=16.x
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
- name: Use Node.js ${{ matrix.node-version }}
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: ${{ matrix.node-version }}
23+
24+
- name: Build with-uniapp-vue2
25+
working-directory: ./demos/with-uniapp-vue2
26+
run: |
27+
yarn install
28+
yarn run build:h5
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: build-uniapp-vue3
2+
3+
on:
4+
push:
5+
branches: ["main", "develop"]
6+
pull_request:
7+
branches: ["main"]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
strategy:
14+
matrix:
15+
node-version: [18.x, 20.x, 21.x, 22.x, 23.x, 24.x] # node>=18.x
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
- name: Use Node.js ${{ matrix.node-version }}
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: ${{ matrix.node-version }}
23+
24+
- name: Build with-uniapp-vue3
25+
working-directory: ./demos/with-uniapp-vue3
26+
run: |
27+
yarn install
28+
yarn run build:h5

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ alpha(功能测试)、beta(集成测试)为我们的非正式版本,
127127
> 如果使用 vue2.6,可参考 demos => [with-vue2.6](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/with-vue2.6)
128128
>
129129
> 如果使用 uniapp + vue3 ,可参考 demos => [with-uniapp-vue3](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/with-uniapp-vue3)
130+
>
131+
> 如果使用 uniapp + vue2 ,可参考 demos => [with-uniapp-vue2](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/with-uniapp-vue2)
130132
131133
#### tips
132134

demos/vue-demo/src/components/Player.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="hello-ezuikit-js">
2+
<div class="player-box">
33
<div>
44
<div id="video-container" style="width: 600px; height: 400px"></div>
55
</div>

demos/with-uniapp-vue2/.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
.DS_Store
2+
node_modules/
3+
unpackage/
4+
dist/
5+
6+
# local env files
7+
.env.local
8+
.env.*.local
9+
10+
# Log files
11+
npm-debug.log*
12+
yarn-debug.log*
13+
yarn-error.log*
14+
15+
# Editor directories and files
16+
.project
17+
.idea
18+
.vscode
19+
*.suo
20+
*.ntvs*
21+
*.njsproj
22+
*.sln
23+
*.sw*

demos/with-uniapp-vue2/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# with-uniapp-vue2_1
2+
3+
## Project setup
4+
```
5+
yarn install
6+
```
7+
8+
### Compiles and hot-reloads for development
9+
```
10+
yarn serve
11+
```
12+
13+
### Compiles and minifies for production
14+
```
15+
yarn build
16+
```
17+
18+
### Customize configuration
19+
See [Configuration Reference](https://cli.vuejs.org/config/).
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
const webpack = require('webpack')
2+
const plugins = []
3+
4+
if (process.env.UNI_OPT_TREESHAKINGNG) {
5+
plugins.push(require('@dcloudio/vue-cli-plugin-uni-optimize/packages/babel-plugin-uni-api/index.js'))
6+
}
7+
8+
if (
9+
(
10+
process.env.UNI_PLATFORM === 'app-plus' &&
11+
process.env.UNI_USING_V8
12+
) ||
13+
(
14+
process.env.UNI_PLATFORM === 'h5' &&
15+
process.env.UNI_H5_BROWSER === 'builtin'
16+
)
17+
) {
18+
const path = require('path')
19+
20+
const isWin = /^win/.test(process.platform)
21+
22+
const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path)
23+
24+
const input = normalizePath(process.env.UNI_INPUT_DIR)
25+
try {
26+
plugins.push([
27+
require('@dcloudio/vue-cli-plugin-hbuilderx/packages/babel-plugin-console'),
28+
{
29+
file (file) {
30+
file = normalizePath(file)
31+
if (file.indexOf(input) === 0) {
32+
return path.relative(input, file)
33+
}
34+
return false
35+
}
36+
}
37+
])
38+
} catch (e) { }
39+
}
40+
41+
process.UNI_LIBRARIES = process.UNI_LIBRARIES || ['@dcloudio/uni-ui']
42+
process.UNI_LIBRARIES.forEach(libraryName => {
43+
plugins.push([
44+
'import',
45+
{
46+
'libraryName': libraryName,
47+
'customName': (name) => {
48+
return `${libraryName}/lib/${name}/${name}`
49+
}
50+
}
51+
])
52+
})
53+
54+
if (process.env.UNI_PLATFORM !== 'h5') {
55+
plugins.push('@babel/plugin-transform-runtime')
56+
}
57+
58+
const config = {
59+
presets: [
60+
[
61+
'@vue/app',
62+
{
63+
modules: webpack.version[0] > 4 ? 'auto' : 'commonjs',
64+
useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry'
65+
}
66+
]
67+
],
68+
plugins
69+
}
70+
71+
const UNI_H5_TEST = '**/@dcloudio/uni-h5/dist/index.umd.min.js'
72+
if (process.env.NODE_ENV === 'production') {
73+
config.overrides = [{
74+
test: UNI_H5_TEST,
75+
compact: true,
76+
}]
77+
} else {
78+
config.ignore = [UNI_H5_TEST]
79+
}
80+
81+
module.exports = config
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
{
2+
"name": "with-uniapp-vue2_1",
3+
"version": "0.1.0",
4+
"private": true,
5+
"scripts": {
6+
"serve": "npm run dev:h5",
7+
"build": "npm run build:h5",
8+
"build:app-plus": "cross-env NODE_ENV=production UNI_PLATFORM=app-plus vue-cli-service uni-build",
9+
"build:custom": "cross-env NODE_ENV=production uniapp-cli custom",
10+
"build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build",
11+
"build:mp-360": "cross-env NODE_ENV=production UNI_PLATFORM=mp-360 vue-cli-service uni-build",
12+
"build:mp-alipay": "cross-env NODE_ENV=production UNI_PLATFORM=mp-alipay vue-cli-service uni-build",
13+
"build:mp-baidu": "cross-env NODE_ENV=production UNI_PLATFORM=mp-baidu vue-cli-service uni-build",
14+
"build:mp-harmony": "cross-env NODE_ENV=production UNI_PLATFORM=mp-harmony vue-cli-service uni-build",
15+
"build:mp-jd": "cross-env NODE_ENV=production UNI_PLATFORM=mp-jd vue-cli-service uni-build",
16+
"build:mp-kuaishou": "cross-env NODE_ENV=production UNI_PLATFORM=mp-kuaishou vue-cli-service uni-build",
17+
"build:mp-lark": "cross-env NODE_ENV=production UNI_PLATFORM=mp-lark vue-cli-service uni-build",
18+
"build:mp-qq": "cross-env NODE_ENV=production UNI_PLATFORM=mp-qq vue-cli-service uni-build",
19+
"build:mp-toutiao": "cross-env NODE_ENV=production UNI_PLATFORM=mp-toutiao vue-cli-service uni-build",
20+
"build:mp-weixin": "cross-env NODE_ENV=production UNI_PLATFORM=mp-weixin vue-cli-service uni-build",
21+
"build:mp-xhs": "cross-env NODE_ENV=production UNI_PLATFORM=mp-xhs vue-cli-service uni-build",
22+
"build:quickapp-native": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-native vue-cli-service uni-build",
23+
"build:quickapp-webview": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview vue-cli-service uni-build",
24+
"build:quickapp-webview-huawei": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build",
25+
"build:quickapp-webview-union": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build",
26+
"dev:app-plus": "cross-env NODE_ENV=development UNI_PLATFORM=app-plus vue-cli-service uni-build --watch",
27+
"dev:custom": "cross-env NODE_ENV=development uniapp-cli custom",
28+
"dev:h5": "cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve",
29+
"dev:mp-360": "cross-env NODE_ENV=development UNI_PLATFORM=mp-360 vue-cli-service uni-build --watch",
30+
"dev:mp-alipay": "cross-env NODE_ENV=development UNI_PLATFORM=mp-alipay vue-cli-service uni-build --watch",
31+
"dev:mp-baidu": "cross-env NODE_ENV=development UNI_PLATFORM=mp-baidu vue-cli-service uni-build --watch",
32+
"dev:mp-harmony": "cross-env NODE_ENV=development UNI_PLATFORM=mp-harmony vue-cli-service uni-build --watch",
33+
"dev:mp-jd": "cross-env NODE_ENV=development UNI_PLATFORM=mp-jd vue-cli-service uni-build --watch",
34+
"dev:mp-kuaishou": "cross-env NODE_ENV=development UNI_PLATFORM=mp-kuaishou vue-cli-service uni-build --watch",
35+
"dev:mp-lark": "cross-env NODE_ENV=development UNI_PLATFORM=mp-lark vue-cli-service uni-build --watch",
36+
"dev:mp-qq": "cross-env NODE_ENV=development UNI_PLATFORM=mp-qq vue-cli-service uni-build --watch",
37+
"dev:mp-toutiao": "cross-env NODE_ENV=development UNI_PLATFORM=mp-toutiao vue-cli-service uni-build --watch",
38+
"dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch",
39+
"dev:mp-xhs": "cross-env NODE_ENV=development UNI_PLATFORM=mp-xhs vue-cli-service uni-build --watch",
40+
"dev:quickapp-native": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-native vue-cli-service uni-build --watch",
41+
"dev:quickapp-webview": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview vue-cli-service uni-build --watch",
42+
"dev:quickapp-webview-huawei": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build --watch",
43+
"dev:quickapp-webview-union": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build --watch",
44+
"info": "node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js",
45+
"serve:quickapp-native": "node node_modules/@dcloudio/uni-quickapp-native/bin/serve.js",
46+
"test:android": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=android jest -i",
47+
"test:h5": "cross-env UNI_PLATFORM=h5 jest -i",
48+
"test:ios": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=ios jest -i",
49+
"test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i",
50+
"test:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin jest -i"
51+
},
52+
"dependencies": {
53+
"@dcloudio/uni-app": "^2.0.2-4070520250711001",
54+
"@dcloudio/uni-app-plus": "^2.0.2-4070520250711001",
55+
"@dcloudio/uni-h5": "^2.0.2-4070520250711001",
56+
"@dcloudio/uni-i18n": "^2.0.2-4070520250711001",
57+
"@dcloudio/uni-mp-360": "^2.0.2-4070520250711001",
58+
"@dcloudio/uni-mp-alipay": "^2.0.2-4070520250711001",
59+
"@dcloudio/uni-mp-baidu": "^2.0.2-4070520250711001",
60+
"@dcloudio/uni-mp-harmony": "^2.0.2-4070520250711001",
61+
"@dcloudio/uni-mp-jd": "^2.0.2-4070520250711001",
62+
"@dcloudio/uni-mp-kuaishou": "^2.0.2-4070520250711001",
63+
"@dcloudio/uni-mp-lark": "^2.0.2-4070520250711001",
64+
"@dcloudio/uni-mp-qq": "^2.0.2-4070520250711001",
65+
"@dcloudio/uni-mp-toutiao": "^2.0.2-4070520250711001",
66+
"@dcloudio/uni-mp-vue": "^2.0.2-4070520250711001",
67+
"@dcloudio/uni-mp-weixin": "^2.0.2-4070520250711001",
68+
"@dcloudio/uni-mp-xhs": "^2.0.2-4070520250711001",
69+
"@dcloudio/uni-quickapp-native": "^2.0.2-4070520250711001",
70+
"@dcloudio/uni-quickapp-webview": "^2.0.2-4070520250711001",
71+
"@dcloudio/uni-stacktracey": "^2.0.2-4070520250711001",
72+
"@dcloudio/uni-stat": "^2.0.2-4070520250711001",
73+
"@vue/shared": "^3.0.0",
74+
"core-js": "^3.8.3",
75+
"ezuikit-js": "8.1.12-beta.2",
76+
"flyio": "^0.6.2",
77+
"vue": ">= 2.6.14 < 2.7",
78+
"vue-class-component": "^6.3.2",
79+
"vue-property-decorator": "^8.0.0",
80+
"vuex": "^3.2.0"
81+
},
82+
"devDependencies": {
83+
"@babel/plugin-syntax-typescript": "^7.2.0",
84+
"@dcloudio/types": "^3.3.2",
85+
"@dcloudio/uni-automator": "^2.0.2-4070520250711001",
86+
"@dcloudio/uni-cli-i18n": "^2.0.2-4070520250711001",
87+
"@dcloudio/uni-cli-shared": "^2.0.2-4070520250711001",
88+
"@dcloudio/uni-helper-json": "*",
89+
"@dcloudio/uni-migration": "^2.0.2-4070520250711001",
90+
"@dcloudio/uni-template-compiler": "^2.0.2-4070520250711001",
91+
"@dcloudio/vue-cli-plugin-hbuilderx": "^2.0.2-4070520250711001",
92+
"@dcloudio/vue-cli-plugin-uni": "^2.0.2-4070520250711001",
93+
"@dcloudio/vue-cli-plugin-uni-optimize": "^2.0.2-4070520250711001",
94+
"@dcloudio/webpack-uni-mp-loader": "^2.0.2-4070520250711001",
95+
"@dcloudio/webpack-uni-pages-loader": "^2.0.2-4070520250711001",
96+
"@vue/cli-plugin-babel": "~5.0.0",
97+
"@vue/cli-plugin-typescript": "~5.0.8",
98+
"@vue/cli-service": "~5.0.0",
99+
"babel-plugin-import": "^1.11.0",
100+
"cross-env": "^7.0.2",
101+
"jest": "^25.4.0",
102+
"postcss-comment": "^2.0.0",
103+
"typescript": "~4.5.5",
104+
"vue-template-compiler": ">= 2.6.14 < 2.7"
105+
},
106+
"browserslist": [
107+
"Android >= 4.4",
108+
"ios >= 9"
109+
],
110+
"uni-app": {
111+
"scripts": {}
112+
}
113+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
const path = require('path')
2+
const webpack = require('webpack')
3+
const config = {
4+
parser: require('postcss-comment'),
5+
plugins: [
6+
require('postcss-import')({
7+
resolve (id, basedir, importOptions) {
8+
if (id.startsWith('~@/')) {
9+
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3))
10+
} else if (id.startsWith('@/')) {
11+
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2))
12+
} else if (id.startsWith('/') && !id.startsWith('//')) {
13+
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1))
14+
}
15+
return id
16+
}
17+
}),
18+
require('autoprefixer')({
19+
remove: process.env.UNI_PLATFORM !== 'h5'
20+
}),
21+
require('@dcloudio/vue-cli-plugin-uni/packages/postcss')
22+
]
23+
}
24+
if (webpack.version[0] > 4) {
25+
delete config.parser
26+
}
27+
module.exports = config

0 commit comments

Comments
 (0)