更新
This commit is contained in:
parent
3b0021a275
commit
dfe2739bf3
@ -1,3 +1,3 @@
|
|||||||
> 1%
|
> 1%
|
||||||
last 2 versions
|
last 2 versions
|
||||||
not dead
|
not dead
|
@ -2,4 +2,4 @@
|
|||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
@ -16,4 +16,4 @@ module.exports = {
|
|||||||
'space-before-function-paren': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
'space-before-function-paren': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
||||||
'object-curly-spacing': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
|
'object-curly-spacing': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
|
||||||
}
|
}
|
||||||
}
|
}
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -19,4 +19,4 @@ pnpm-debug.log*
|
|||||||
*.ntvs*
|
*.ntvs*
|
||||||
*.njsproj
|
*.njsproj
|
||||||
*.sln
|
*.sln
|
||||||
*.sw?
|
*.sw?
|
4
LICENSE
4
LICENSE
@ -3,9 +3,7 @@
|
|||||||
http://www.apache.org/licenses/
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
1. Definitions
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
@ -2,9 +2,7 @@
|
|||||||
theme: v-green
|
theme: v-green
|
||||||
---
|
---
|
||||||
# Part1用Vue3.0 开发一款导入浏览器书签的在线书签
|
# Part1用Vue3.0 开发一款导入浏览器书签的在线书签
|
||||||
|
|
||||||
## 🤵介绍(取名)
|
## 🤵介绍(取名)
|
||||||
|
|
||||||
👉👉👉【红隼书签】是一款简洁的在线书签导航网站。 名字的由来其实是,本着保护动物,爱护动物的初心,想到起一个鸟类的名称,其实最开始想了很多名字,小詹书签,麻雀书签等。
|
👉👉👉【红隼书签】是一款简洁的在线书签导航网站。 名字的由来其实是,本着保护动物,爱护动物的初心,想到起一个鸟类的名称,其实最开始想了很多名字,小詹书签,麻雀书签等。
|
||||||
|
|
||||||
![红隼-kestrel](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ace153ff51d04a4da78f3616c08c58c0~tplv-k3u1fbpfcp-zoom-1.image)
|
![红隼-kestrel](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ace153ff51d04a4da78f3616c08c58c0~tplv-k3u1fbpfcp-zoom-1.image)
|
||||||
@ -275,15 +273,13 @@ export const updateObject = (className, params) => {
|
|||||||
需要什么新的需求或者设计,可以给我提[issue](https://gitee.com/zhanhongzhu/kestrel-bookmark/issues),感谢,喜欢的也可以点个赞。
|
需要什么新的需求或者设计,可以给我提[issue](https://gitee.com/zhanhongzhu/kestrel-bookmark/issues),感谢,喜欢的也可以点个赞。
|
||||||
|
|
||||||
## 💯 致谢
|
## 💯 致谢
|
||||||
|
|
||||||
第一次做一个开源的东西,只想把这个小项目做好,感谢 【空白i】 的打赏 【66.6】,太激动啦;继续加油,希望可以做出更多更精致开源的作品处理。继续加油。😀 😀 😀
|
第一次做一个开源的东西,只想把这个小项目做好,感谢 【空白i】 的打赏 【66.6】,太激动啦;继续加油,希望可以做出更多更精致开源的作品处理。继续加油。😀 😀 😀
|
||||||
|
|
||||||
## 😀 其他链接
|
## 😀 其他链接
|
||||||
|
|
||||||
- [我的博客(收集各类大神的学习笔记及官方文档,强烈推荐)](https:/zhanhongzhu.top)
|
- [我的博客(收集各类大神的学习笔记及官方文档,强烈推荐)](https:/zhanhongzhu.top)
|
||||||
- [红隼书签](http://bookmark.zhanhongzhu.top)
|
- [红隼书签](http://bookmark.zhanhongzhu.top)
|
||||||
- [掘金](https://juejin.im/user/5cc6757ce51d456e5238ca23)
|
- [掘金](https://juejin.im/user/5cc6757ce51d456e5238ca23)
|
||||||
- [思否](https://segmentfault.com/u/huixiaodeyanjingzhenmei)
|
- [思否](https://segmentfault.com/u/huixiaodeyanjingzhenmei)
|
||||||
- [CSDN](https://blog.csdn.net/weixin_43779957)
|
- [CSDN](https://blog.csdn.net/weixin_43779957)
|
||||||
- [简书](https://www.jianshu.com/u/b8d251f62b08)
|
- [简书](https://www.jianshu.com/u/b8d251f62b08)
|
||||||
- [语雀(超过430多篇开发笔记)](https://www.yuque.com/zhanhongzhu)
|
- [语雀(超过430多篇开发笔记)](https://www.yuque.com/zhanhongzhu)
|
2
package-lock.json
generated
2
package-lock.json
generated
@ -14836,4 +14836,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -34,4 +34,4 @@
|
|||||||
"vue-loader-v16": "^16.0.0-beta.5.4",
|
"vue-loader-v16": "^16.0.0-beta.5.4",
|
||||||
"vue-style-loader": "^4.1.2"
|
"vue-style-loader": "^4.1.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -25,7 +25,6 @@
|
|||||||
<!-- 内容区域 -->
|
<!-- 内容区域 -->
|
||||||
<div id="app" style="height: 100%;">
|
<div id="app" style="height: 100%;">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 导出内容的节点 -->
|
<!-- 导出内容的节点 -->
|
||||||
<div id="mybookmark" style="height: 100%;display: none;opacity: 0;">
|
<div id="mybookmark" style="height: 100%;display: none;opacity: 0;">
|
||||||
</div>
|
</div>
|
||||||
@ -70,4 +69,4 @@
|
|||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
@ -14,7 +14,6 @@ export const saveObject = (className, params) => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取对象列表
|
// 获取对象列表
|
||||||
export const getObject = (className, params) => {
|
export const getObject = (className, params) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@ -45,7 +44,6 @@ export const deleteObject = (className, id) => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新对象
|
// 更新对象
|
||||||
export const updateObject = (className, params) => {
|
export const updateObject = (className, params) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
@ -9,7 +9,6 @@ const login = (username, password) => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 用户登录
|
// 用户登录
|
||||||
const loginEmail = (email, password) => {
|
const loginEmail = (email, password) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@ -28,7 +27,6 @@ const logout = (username, password) => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 用户注册
|
// 用户注册
|
||||||
const register = (username, password) => {
|
const register = (username, password) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
@ -203,12 +203,10 @@ export default {
|
|||||||
}
|
}
|
||||||
data.isDetailVisible = true
|
data.isDetailVisible = true
|
||||||
}
|
}
|
||||||
|
|
||||||
// 用户登录
|
// 用户登录
|
||||||
const handleUserLogin = () => {
|
const handleUserLogin = () => {
|
||||||
data.isLoginVisible = true
|
data.isLoginVisible = true
|
||||||
}
|
}
|
||||||
|
|
||||||
// 关闭弹窗事件
|
// 关闭弹窗事件
|
||||||
const closeViews = (v) => (data.isDetailVisible = v)
|
const closeViews = (v) => (data.isDetailVisible = v)
|
||||||
const closeLoginViews = (v) => (data.isLoginVisible = v)
|
const closeLoginViews = (v) => (data.isLoginVisible = v)
|
||||||
|
@ -1206,4 +1206,4 @@ export const myData = [{
|
|||||||
logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',
|
logo: 'https://cdn.docschina.org/home/logo/antdesign.svg',
|
||||||
title: 'react-component'
|
title: 'react-component'
|
||||||
}]
|
}]
|
||||||
}]
|
}]
|
@ -46,21 +46,21 @@ import { ElMessage } from 'element-plus'
|
|||||||
export default {
|
export default {
|
||||||
model: {
|
model: {
|
||||||
value: 'isDetailVisible',
|
value: 'isDetailVisible',
|
||||||
events: 'closeViews',
|
events: 'closeViews'
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
isDetailVisible: {
|
isDetailVisible: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false
|
||||||
},
|
},
|
||||||
selectType: {
|
selectType: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0,
|
default: 0
|
||||||
},
|
},
|
||||||
detail: {
|
detail: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {},
|
default: () => {}
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
setup(props, context) {
|
setup(props, context) {
|
||||||
const isBOOKMARK = JSON.parse(localStorage.getItem('BOOKMARK'))
|
const isBOOKMARK = JSON.parse(localStorage.getItem('BOOKMARK'))
|
||||||
@ -71,13 +71,13 @@ export default {
|
|||||||
type: '',
|
type: '',
|
||||||
desc: '',
|
desc: '',
|
||||||
url: '',
|
url: '',
|
||||||
logo: '',
|
logo: ''
|
||||||
},
|
}
|
||||||
})
|
})
|
||||||
// 定义校验规则 表单代码中必须以 :rules 接收
|
// 定义校验规则 表单代码中必须以 :rules 接收
|
||||||
const rules = {
|
const rules = {
|
||||||
title: [{ required: true, message: '请输入书签名称', trigger: 'blur' }],
|
title: [{ required: true, message: '请输入书签名称', trigger: 'blur' }],
|
||||||
type: [{ required: true, message: '请选择书签类别', trigger: 'change' }],
|
type: [{ required: true, message: '请选择书签类别', trigger: 'change' }]
|
||||||
}
|
}
|
||||||
const refruleForm = ref(null)
|
const refruleForm = ref(null)
|
||||||
// 确定按钮的格式
|
// 确定按钮的格式
|
||||||
@ -150,13 +150,11 @@ export default {
|
|||||||
submitForm,
|
submitForm,
|
||||||
refruleForm,
|
refruleForm,
|
||||||
rules,
|
rules,
|
||||||
BOOKMARK,
|
BOOKMARK
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
methods: {},
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.my-dialog {
|
.my-dialog {
|
||||||
background: red;
|
background: red;
|
||||||
|
@ -45,11 +45,17 @@ export default {
|
|||||||
password: ''
|
password: ''
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// 用户
|
|
||||||
// 定义校验规则 表单代码中必须以 :rules 接收
|
// 定义校验规则 表单代码中必须以 :rules 接收
|
||||||
const rules = {
|
const rules = {
|
||||||
password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
|
password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
|
||||||
email: [{type: 'email', required: true, message: '请输入正确的邮箱', trigger: 'blur' }]
|
email: [
|
||||||
|
{
|
||||||
|
type: 'email',
|
||||||
|
required: true,
|
||||||
|
message: '请输入正确的邮箱',
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
const refruleForm = ref(null)
|
const refruleForm = ref(null)
|
||||||
// 确定按钮的格式
|
// 确定按钮的格式
|
||||||
@ -91,8 +97,7 @@ export default {
|
|||||||
refruleForm,
|
refruleForm,
|
||||||
rules
|
rules
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
methods: {}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -3,12 +3,10 @@ import App from './App.vue'
|
|||||||
|
|
||||||
import ElementPlus from 'element-plus'
|
import ElementPlus from 'element-plus'
|
||||||
import 'element-plus/lib/theme-chalk/index.css'
|
import 'element-plus/lib/theme-chalk/index.css'
|
||||||
|
|
||||||
// 接入了Leancloud
|
// 接入了Leancloud
|
||||||
import AV from 'leancloud-storage'
|
import AV from 'leancloud-storage'
|
||||||
// 请注册leancloud,新建应用,然后替换这个
|
// 请注册leancloud,新建应用,然后替换这个
|
||||||
AV.init({ appId: '\x42\x77\x4c\x72\x43\x67\x64\x56\x79\x4c\x73\x35\x32\x6d\x4a\x4f\x31\x48\x63\x72\x58\x61\x6b\x49\x2d\x67\x7a\x47\x7a\x6f\x48\x73\x7a', appKey: '\x32\x35\x67\x4e\x77\x7a\x77\x34\x64\x56\x37\x49\x41\x68\x37\x69\x30\x49\x7a\x44\x6e\x59\x76\x56', serverURL: '\x68\x74\x74\x70\x73\x3a\x2f\x2f\x62\x77\x6c\x72\x63\x67\x64\x76\x2e\x6c\x63\x2d\x63\x6e\x2d\x6e\x31\x2d\x73\x68\x61\x72\x65\x64\x2e\x63\x6f\x6d' })
|
AV.init({ appId: '\x42\x77\x4c\x72\x43\x67\x64\x56\x79\x4c\x73\x35\x32\x6d\x4a\x4f\x31\x48\x63\x72\x58\x61\x6b\x49\x2d\x67\x7a\x47\x7a\x6f\x48\x73\x7a', appKey: '\x32\x35\x67\x4e\x77\x7a\x77\x34\x64\x56\x37\x49\x41\x68\x37\x69\x30\x49\x7a\x44\x6e\x59\x76\x56', serverURL: '\x68\x74\x74\x70\x73\x3a\x2f\x2f\x62\x77\x6c\x72\x63\x67\x64\x76\x2e\x6c\x63\x2d\x63\x6e\x2d\x6e\x31\x2d\x73\x68\x61\x72\x65\x64\x2e\x63\x6f\x6d' })
|
||||||
|
|
||||||
const app = createApp(App)
|
const app = createApp(App)
|
||||||
app.use(ElementPlus)
|
app.use(ElementPlus)
|
||||||
app.mount('#app')
|
app.mount('#app')
|
||||||
|
@ -3,7 +3,6 @@ module.exports = {
|
|||||||
devServer: {
|
devServer: {
|
||||||
port: 8080,
|
port: 8080,
|
||||||
proxy: {
|
proxy: {
|
||||||
// 配置前端代理转发地址
|
|
||||||
'/api': {
|
'/api': {
|
||||||
target: 'https://api.zhanhongzhu.top',
|
target: 'https://api.zhanhongzhu.top',
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
@ -13,4 +12,4 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user