This commit is contained in:
CN32479-詹红柱 2022-04-28 08:47:43 +08:00
parent 3b0021a275
commit dfe2739bf3
17 changed files with 30 additions and 43 deletions

View File

@ -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.

View File

@ -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,11 +273,9 @@ 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)

View File

@ -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>

View File

@ -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) => {

View File

@ -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) => {

View File

@ -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)

View File

@ -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;

View File

@ -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>

View File

@ -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')

View File

@ -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,