搜索书签前台
vue2
代码优化
vue2
是第一版,现在以vue3
重构
vue3
重构
开发环境构建
vue3以vite为构建工具
见《vite最佳实现》篇
后台接口封装与调测
详细字段见yapi
安装
axios
,并按照接口文档配置提取后台接口地址为单独文件,
public
目录下新建serverConfig.json
,1
2
3{
"baseURL": "http://127.0.0.1:7419"
}如果是
vite
,直接建在文件根目录,可新建js
1
2
3export default {
"baseURL": "http://218.94.82.249:6062"
}新建
src/utils/request.js
,基于函数封装axios
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64```
新建`src/api/home.js`
```js
import {request} from "@/utils/request"
export function getBackgroundData() {
return request({url: '/img'})
}
export function getSearchIconData() {
return request({url: '/search/engine'})
}
export function getSearchData(params) {
return request({
url: '/search/keyword',
params: {
query: params
}
})
}
export function getMotoData() {
return request({
url: '/search/hitokoto'
})
}
// 添加搜索引擎
export function addEngineUrl(data) {
return request({
method: 'post',
url: '/search/engine/add',
data
})
}
// 添加搜索引擎
export function modifyEngineUrl(data) {
return request({
method: 'post',
url: '/search/engine/modify',
data
})
}
// 删除搜索引擎
export function deleteEngineUrl(data) {
return request({
method: 'post',
url: '/search/engine/delete',
data
})
}
// 默认搜索引擎
export function defalutEngine() {
return request({
url: '/search/default-engine'
})
}如果要关闭
eslint
vue.config.js
1
2
3
4
5
6const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true,
lintOnSave: false
})
状态机定义
见《状态机》
状态机machine目录
国内生态不全,还是用pinia吧,至于各种state及边界条件,心里清晰即可(见流程图)
封装本地存储
业务模块
首页
背景图片
由css-background属性,替换成
交互优化
- 添加导航支持快捷键
- 新添加导航清除上次输入记录
- 插件默认加载页支持自定义(导航页或书签页)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 吕小布の博客!
评论