草庐IT

vue+.net入门级书签项目

ZYPLJ 2023-03-28 原文

vu3+.net6 webApi 书签管理项目

本项目已接入ChatGpt

前言

Gitee项目地址:https://gitee.com/zyplj/book-marks
Github项目地址:https://github.com/ZyPLJ/BookMarks

作为一个bug程序员,保存了很多书签,直接用浏览器的每次都还要找,很麻烦,比如我自己的Google浏览器就200多个书签。所以做了个简单的项目去管理他们,同样该项目可以作为vue3、.net6 webApi入门项目,很容易上手。

部署项目需要用到.net6 SDK,百度去官网下载即可。

使用到的技术

  • 前端:vue3
  • 后端:.net core webApi,EF Core
  • 数据库:mysql
  • 插件:VueUse-useDark(切换主题),一为API(通过url获取网站图标),x-pageList(分页)

接口文档

如何用控制台运行项目 :点击跳转

.net6 webapi自带Swagger接口文档,运行项目后,根据运行的url地址和端口号可以访问Swagger,如图所示:

前端地址

书签前端地址

如何使用命令行打包项目

对于使用其他编辑器的人,可以选择命令行、终端打包项目
命令行打包

vue如何docker部署

Docker部署vue

项目截图

新增原神首页
可以跳转最近很火的AI chatgpt

新增百度搜索功能

新增筛选功能

新增自定义菜单功能


初始化书签界面

查看所有书签-可以模糊查询,分页。

书签置顶栏-只能置顶12个书签,刚好一页。

点击跳转

主题切换

项目部署

建议采用Docker部署,方便快捷,还可以部署在自己电脑的本地,非常的nice

Docker下载链接:https://docs.docker.com/

后端部署

首先确保有数据库,如果没有则根据图片去创建,或者采用codefirst模式,或者执行sql文件,都行,3选1。

codefirst模式就不做演示了,需要的话可以去看我的另一个博客项目中有写。
博客项目地址:https://gitee.com/zyplj/personalblog

数据库名 BookMark

数据库表结构:

bookmarks表:

主键不需要自增

bookTops表:

主键需自增

class表:

主键需自增

数据库创建完成后就要修改项目的连接字符串了,如果不采用codefirst模式生成数据库,则只需要修改 Program.cs中的connStr即可,注意后面5,7,40是mysql数据库的版本号!

Server=数据库地址;Port=端口;Database=BookMark; User=root;Password=123456;

Server=localhost;Port=3306;Database=BookMark; User=root;Password=123456;

开始部署

打包项目,Visual Studio 2022去官网下免费的,然后步骤在博客项目中可以看到。

如果没有Visual Studio 2022如何打包呢,可以使用命名行,进入项目BrowserBookmarks目录(bin文件的那一层),输入dotnet publish即可
然后在BrowserBookmarks\bin\Debug\net6.0\publish 中可以看到打包的项目,打包后目录如图所示:

如果没有Dockerfile文件,可以使用本项目中的参考的文件copy进去

进入书签项目部署的目录,打开控制台,输入docker build -t 名称 .,如图:可以和我一样的名称

然后等待镜像下载完成,继续输入docker run -d --restart=always -p 9031:9031 --name 名称 名称,--restart=always让容器开机自动启动。如图:

出现一串字符就代表docker部署成功了。

注意端口号本项目默认9031,如果需要更改则要更改后端Dockerfile文件和Program.cs文件,如图:

前端部署

首先需要修改项目目录http中index.ts中httApi的值,它取决于你的后端部署url

然后修改初始化书签组件中上传文件的url路径

可以去看一下我的博客园文章,步骤一样。

https://www.cnblogs.com/ZYPLJ/p/17103691.html

跨域问题

需要修改Program.cs中文件代码,根据自己去修改,如果是本地则只需要关注端口号,如图所示:

项目使用介绍

怎么使用呢,非常简单,只需要找到你使用的浏览器的Boolmarks文件目录即可,然后上传文件。

//这是我的Google浏览器目录
C:\Users\Lenovo\AppData\Local\Google\Chrome\User Data\Default\Bookmarks

更新日记

2023/3/5

新增书签筛选,一开始准备用vue前端filter去解决,但是分页只展示12个书签。所以还是用后端去解决了,新增Classid参数。修改了书签的排列顺序,最新添加的书签将放在最前面。

优化了linq查询,将join联表换成了导航属性查询。

2023/3/14

新增百度搜索,一开始用axios去请求接口,但是发现部署之后会出现跨域问题,然后百度了很久,采用了script的方式做请求,也不是很明白,不过能用。

2023/3/21

新增菜单功能,可以自定义添加图标链接,可跳转/删除。现版本推荐使用sql文件(在git后端项目中)创建数据库。

遇到问题

有关vue+.net入门级书签项目的更多相关文章

  1. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  2. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  3. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  4. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  5. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  6. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  7. ruby - Net::HTTP 获取源代码和状态 - 2

    我目前正在使用以下方法获取页面的源代码:Net::HTTP.get(URI.parse(page.url))我还想获取HTTP状态,而无需发出第二个请求。有没有办法用另一种方法做到这一点?我一直在查看文档,但似乎找不到我要找的东西。 最佳答案 在我看来,除非您需要一些真正的低级访问或控制,否则最好使用Ruby的内置Open::URI模块:require'open-uri'io=open('http://www.example.org/')#=>#body=io.read[0,50]#=>"["200","OK"]io.base_ur

  8. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  9. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  10. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

随机推荐