Skip to content

Commit 75d9279

Browse files
committed
feat: 访问路径改为/ 部署到vercel
1 parent b612871 commit 75d9279

18 files changed

+150
-85
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ npm 主要安装以下:
1010
npm i --save face-api.js
1111
```
1212

13-
- [face-api 使用文档](https://justadudewhohacks.github.io/face-api.js/docs/globals.html)
14-
- [我仓库 browser 示例 0.13.8 含 dist/文档/模型/示例](https://github.com/TsMask/face-api-demo)
13+
- [本人在线示例-aliyun](https://env-00jxgaqjulpu-static.normal.cloudstatic.cn/face-api-demo-vue/index.html#/)
14+
- [本人在线示例-vercel](https://face-api-demo-vue-mu.vercel.app/)
15+
- [本人仓库 browser 示例 0.13.8 含 dist/文档/模型/示例](https://github.com/TsMask/face-api-demo)
16+
- [GitHub face-api 使用文档](https://justadudewhohacks.github.io/face-api.js/docs/globals.html)
1517
- [GitHub 作者识别库源码](https://github.com/justadudewhohacks/face-api.js)
1618
- [GitHub 作者在线示例](https://justadudewhohacks.github.io/face-api.js)
1719

package-lock.json

Lines changed: 61 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@
99
"preview": "vite preview"
1010
},
1111
"dependencies": {
12+
"@vercel/analytics": "^1.2.2",
13+
"@vercel/speed-insights": "^1.0.10",
14+
"face-api.js": "^0.22.2",
1215
"vue": "^3.4.20",
13-
"vue-router": "^4.3.0",
14-
"face-api.js": "^0.22.2"
16+
"vue-router": "^4.3.0"
1517
},
1618
"devDependencies": {
1719
"@vitejs/plugin-vue": "^5.0.4",

src/App.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
<script setup>
2+
import { SpeedInsights } from "@vercel/speed-insights/vue"
3+
import { inject } from "@vercel/analytics"
24
import { useRouter } from "vue-router";
35
const router = useRouter(); // 返回路由器实例
46
const routes = router.getRoutes();
7+
inject()
58
</script>
69

710
<template>
811
<div class="layout">
912
<div class="layout_nav">
13+
<SpeedInsights></SpeedInsights>
1014
<ul>
1115
<li v-for="(item, index) in routes" :key="index">
1216
<router-link :to="item.path" v-text="item.meta.title"></router-link>

src/views/AgeAndGenderRecognition.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,23 +25,23 @@ const state = reactive({
2525
/**初始化模型加载 */
2626
async function fnLoadModel() {
2727
// 面部轮廓模型
28-
await faceapi.loadFaceLandmarkModel(`${import.meta.env.BASE_URL}/models`);
28+
await faceapi.loadFaceLandmarkModel("/models");
2929
// 年龄性别模型
30-
await faceapi.loadAgeGenderModel(`${import.meta.env.BASE_URL}/models`);
30+
await faceapi.loadAgeGenderModel("/models");
3131
3232
// 模型参数-ssdMobilenetv1
33-
await faceapi.nets.ssdMobilenetv1.loadFromUri(`${import.meta.env.BASE_URL}/models`);
33+
await faceapi.nets.ssdMobilenetv1.loadFromUri("/models");
3434
state.netsOptions.ssdMobilenetv1 = new faceapi.SsdMobilenetv1Options({
3535
minConfidence: 0.5, // 0.1 ~ 0.9
3636
});
3737
// 模型参数-tinyFaceDetector
38-
await faceapi.nets.tinyFaceDetector.loadFromUri(`${import.meta.env.BASE_URL}/models`);
38+
await faceapi.nets.tinyFaceDetector.loadFromUri("/models");
3939
state.netsOptions.tinyFaceDetector = new faceapi.TinyFaceDetectorOptions({
4040
inputSize: 512, // 160 224 320 416 512 608
4141
scoreThreshold: 0.5, // 0.1 ~ 0.9
4242
});
4343
// 模型参数-mtcnn 已弃用,将很快被删除
44-
await faceapi.nets.mtcnn.loadFromUri(`${import.meta.env.BASE_URL}/models`);
44+
await faceapi.nets.mtcnn.loadFromUri("/models");
4545
state.netsOptions.mtcnn = new faceapi.MtcnnOptions({
4646
minFaceSize: 20, // 1 ~ 50
4747
scaleFactor: 0.66, // 0.1 ~ 0.9

src/views/BBTFaceRecognition.vue

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,19 @@ const state = reactive({
2525
{
2626
name: "张伟",
2727
imgs: [
28-
`${import.meta.env.BASE_URL}/images/zw/face/zw01.png`,
29-
`${import.meta.env.BASE_URL}/images/zw/face/zw02.png`,
30-
`${import.meta.env.BASE_URL}/images/zw/face/zw03.png`,
31-
`${import.meta.env.BASE_URL}/images/zw/face/zw04.png`,
28+
"/images/zw/face/zw01.png",
29+
"/images/zw/face/zw02.png",
30+
"/images/zw/face/zw03.png",
31+
"/images/zw/face/zw04.png",
3232
],
3333
},
3434
{
3535
name: "曾小贤",
3636
imgs: [
37-
`${import.meta.env.BASE_URL}/images/zxx/face/zxx01.png`,
38-
`${import.meta.env.BASE_URL}/images/zxx/face/zxx02.png`,
39-
`${import.meta.env.BASE_URL}/images/zxx/face/zxx03.png`,
40-
`${import.meta.env.BASE_URL}/images/zxx/face/zxx04.png`,
37+
"/images/zxx/face/zxx01.png",
38+
"/images/zxx/face/zxx02.png",
39+
"/images/zxx/face/zxx03.png",
40+
"/images/zxx/face/zxx04.png",
4141
],
4242
},
4343
],
@@ -46,27 +46,23 @@ const state = reactive({
4646
/**初始化模型加载 */
4747
async function fnLoadModel() {
4848
// 面部轮廓模型
49-
await faceapi.loadFaceLandmarkModel(`${import.meta.env.BASE_URL}/models`);
49+
await faceapi.loadFaceLandmarkModel("/models");
5050
// 面部识别模型
51-
await faceapi.loadFaceRecognitionModel(`${import.meta.env.BASE_URL}/models`);
51+
await faceapi.loadFaceRecognitionModel("/models");
5252
5353
// 模型参数-ssdMobilenetv1
54-
await faceapi.nets.ssdMobilenetv1.loadFromUri(
55-
`${import.meta.env.BASE_URL}/models`
56-
);
54+
await faceapi.nets.ssdMobilenetv1.loadFromUri("/models");
5755
state.netsOptions.ssdMobilenetv1 = new faceapi.SsdMobilenetv1Options({
5856
minConfidence: 0.6, // 0.1 ~ 0.9
5957
});
6058
// 模型参数-tinyFaceDetector
61-
await faceapi.nets.tinyFaceDetector.loadFromUri(
62-
`${import.meta.env.BASE_URL}/models`
63-
);
59+
await faceapi.nets.tinyFaceDetector.loadFromUri("/models");
6460
state.netsOptions.tinyFaceDetector = new faceapi.TinyFaceDetectorOptions({
6561
inputSize: 512, // 160 224 320 416 512 608
6662
scoreThreshold: 0.5, // 0.1 ~ 0.9
6763
});
6864
// 模型参数-mtcnn 已弃用,将很快被删除
69-
await faceapi.nets.mtcnn.loadFromUri(`${import.meta.env.BASE_URL}/models`);
65+
await faceapi.nets.mtcnn.loadFromUri("/models");
7066
state.netsOptions.mtcnn = new faceapi.MtcnnOptions({
7167
minFaceSize: 20, // 1 ~ 50
7268
scaleFactor: 0.709, // 0.1 ~ 0.9

src/views/BBTFaceSimilarity.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const state = reactive({
2121
/**初始化模型加载 */
2222
async function fnLoadModel() {
2323
// 面部识别模型
24-
await faceapi.loadFaceRecognitionModel(`${import.meta.env.BASE_URL}/models`);
24+
await faceapi.loadFaceRecognitionModel("/models");
2525
2626
// 节点元素
2727
state.targetImgEl = document.getElementById("page_draw-img-target");

src/views/BBTFaceSimilarityMore.vue

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,28 @@ const state = reactive({
1111
{
1212
name: "张伟",
1313
imgs: [
14-
`${import.meta.env.BASE_URL}/images/zw/zw01.jpg`,
15-
`${import.meta.env.BASE_URL}/images/zw/zw02.jpg`,
16-
`${import.meta.env.BASE_URL}/images/zw/zw03.jpg`,
17-
`${import.meta.env.BASE_URL}/images/zw/zw04.jpg`,
14+
"/images/zw/zw01.jpg",
15+
"/images/zw/zw02.jpg",
16+
"/images/zw/zw03.jpg",
17+
"/images/zw/zw04.jpg",
1818
],
1919
},
2020
{
2121
name: "曾小贤",
2222
imgs: [
23-
`${import.meta.env.BASE_URL}/images/zxx/zxx01.jpg`,
24-
`${import.meta.env.BASE_URL}/images/zxx/zxx02.jpg`,
25-
`${import.meta.env.BASE_URL}/images/zxx/zxx03.jpg`,
26-
`${import.meta.env.BASE_URL}/images/zxx/zxx04.jpg`,
23+
"/images/zxx/zxx01.jpg",
24+
"/images/zxx/zxx02.jpg",
25+
"/images/zxx/zxx03.jpg",
26+
"/images/zxx/zxx04.jpg",
2727
],
2828
},
2929
],
3030
// 匹配图,支持本地,网络,beas64
3131
detArr: [
32-
`${import.meta.env.BASE_URL}/images/zw/zw02.jpg`,
33-
`${import.meta.env.BASE_URL}/images/zw/zw04.jpg`,
34-
`${import.meta.env.BASE_URL}/images/zxx/zxx02.jpg`,
35-
`${import.meta.env.BASE_URL}/images/zxx/zxx04.jpg`,
32+
"/images/zw/zw02.jpg",
33+
"/images/zw/zw04.jpg",
34+
"/images/zxx/zxx02.jpg",
35+
"/images/zxx/zxx04.jpg",
3636
],
3737
// 匹配结果
3838
resultArr: [],
@@ -43,7 +43,7 @@ const state = reactive({
4343
/**初始化模型加载 */
4444
async function fnLoadModel() {
4545
// 面部识别模型
46-
await faceapi.loadFaceRecognitionModel(`${import.meta.env.BASE_URL}/models`);
46+
await faceapi.loadFaceRecognitionModel("/models");
4747
4848
// 关闭模型加载
4949
state.netsLoadModel = false;

src/views/FaceExpressionRecognition.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,23 +25,23 @@ const state = reactive({
2525
/**初始化模型加载 */
2626
async function fnLoadModel() {
2727
// 面部轮廓模型
28-
await faceapi.loadFaceLandmarkModel(`${import.meta.env.BASE_URL}/models`);
28+
await faceapi.loadFaceLandmarkModel("/models");
2929
// 面部表情模型
30-
await faceapi.loadFaceExpressionModel(`${import.meta.env.BASE_URL}/models`);
30+
await faceapi.loadFaceExpressionModel("/models");
3131
3232
// 模型参数-ssdMobilenetv1
33-
await faceapi.nets.ssdMobilenetv1.loadFromUri(`${import.meta.env.BASE_URL}/models`);
33+
await faceapi.nets.ssdMobilenetv1.loadFromUri("/models");
3434
state.netsOptions.ssdMobilenetv1 = new faceapi.SsdMobilenetv1Options({
3535
minConfidence: 0.5, // 0.1 ~ 0.9
3636
});
3737
// 模型参数-tinyFaceDetector
38-
await faceapi.nets.tinyFaceDetector.loadFromUri(`${import.meta.env.BASE_URL}/models`);
38+
await faceapi.nets.tinyFaceDetector.loadFromUri("/models");
3939
state.netsOptions.tinyFaceDetector = new faceapi.TinyFaceDetectorOptions({
4040
inputSize: 224, // 160 224 320 416 512 608
4141
scoreThreshold: 0.5, // 0.1 ~ 0.9
4242
});
4343
// 模型参数-mtcnn 已弃用,将很快被删除
44-
await faceapi.nets.mtcnn.loadFromUri(`${import.meta.env.BASE_URL}/models`);
44+
await faceapi.nets.mtcnn.loadFromUri("/models");
4545
state.netsOptions.mtcnn = new faceapi.MtcnnOptions({
4646
minFaceSize: 20, // 1 ~ 50
4747
scaleFactor: 0.56, // 0.1 ~ 0.9

src/views/FaceExtraction.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,18 @@ const state = reactive({
2323
/**初始化模型加载 */
2424
async function fnLoadModel() {
2525
// 模型参数-ssdMobilenetv1
26-
await faceapi.nets.ssdMobilenetv1.loadFromUri(`${import.meta.env.BASE_URL}/models`);
26+
await faceapi.nets.ssdMobilenetv1.loadFromUri("/models");
2727
state.netsOptions.ssdMobilenetv1 = new faceapi.SsdMobilenetv1Options({
2828
minConfidence: 0.5, // 0.1 ~ 0.9
2929
});
3030
// 模型参数-tinyFaceDetector
31-
await faceapi.nets.tinyFaceDetector.loadFromUri(`${import.meta.env.BASE_URL}/models`);
31+
await faceapi.nets.tinyFaceDetector.loadFromUri("/models");
3232
state.netsOptions.tinyFaceDetector = new faceapi.TinyFaceDetectorOptions({
3333
inputSize: 224, // 160 224 320 416 512 608
3434
scoreThreshold: 0.5, // 0.1 ~ 0.9
3535
});
3636
// 模型参数-mtcnn 已弃用,将很快被删除
37-
await faceapi.nets.mtcnn.loadFromUri(`${import.meta.env.BASE_URL}/models`);
37+
await faceapi.nets.mtcnn.loadFromUri("/models");
3838
state.netsOptions.mtcnn = new faceapi.MtcnnOptions({
3939
minFaceSize: 20, // 1 ~ 50
4040
scaleFactor: 0.56, // 0.1 ~ 0.9

0 commit comments

Comments
 (0)