Giter Site home page Giter Site logo

kylebing / diary Goto Github PK

View Code? Open in Web Editor NEW
191.0 3.0 26.0 4.47 MB

《标题日记》web 纯文本日记应用,PC+移动端。 Headline Diary, web app, text only, summary of the day | Vue3 | TS | PC & Mobile

Home Page: http://kylebing.cn/diary

License: GNU General Public License v3.0

SCSS 21.64% HTML 0.56% Vue 67.24% Shell 0.06% CSS 0.35% TypeScript 10.15%
diary vue tool website webapp js web date-picker vue3 vuejs

diary's Introduction

标题日记

一个纯文本的日记 web 应用,专注记录生活琐事。

http://kylebing.cn/diary
右下角,体验账号登录试用

界面

2023-08-31 11 27 29


一、日记的使用

1. 正确使用方式

用概括的标题列表来概览你的近期生活。
建议标题字数控制在 20 字以内,这样更方便从列表概览内容。

不要流水帐一样记录很多内容,每天记录一下当天比较重要的事,需要记录的点,比如:

  • 今天干嘛了?理发了?
  • 学习了什么?
  • 看了什么电影,感觉如何
  • 加油了#92 加了多少?油价多少?
  • 回老家了,几点回的家,油耗多少?
  • 等等。。。

其实我感觉最重要的功能就是搜索,搜索过去的某件事发生在什么时间:

  • 上次理发什么时候
  • 上次回老家什么时候
  • 6月12日我做了什么工作
  • 我这个月的支出/收入分别是多少

当你用它记录了足够多小事的时候,就知道这个日记该怎么用了。
就是记下你一天的重要时刻,你怕忘的内容,日后好查找。

2. 主要特性

  • 记录天气、环境温度。
  • 多个关键字搜索日记标题、内容。
  • 日期、类别筛选日记。
  • 分享某篇日记 比如当前这篇日记的分享链接是:http://kylebing.cn/diary/#/share/6766
  • 自动切换黑白两种样式。
  • 日记统计
  • 日记导出,多种格式: json, txt, json, csv
  • 账单(需要指定格式书写) 我一般每周整理一次账单,为了方便整理,建议你统一支付出口,只用一个作为主要支付手段:支付宝、微信,这样在统计的时候好统计,不然你还需要去多个地方统计。

3. 适配多端

有浏览器就能访问,电脑 + 移动端:都能完美显示

4. 文本编辑时支持 JetBrains 相关快捷键

快捷键 功能
CTRL+ D 复制当前行。
Tab 在前面插入 4 个空格。
Shift + Tab 删除行前的空格,多于4个,一次性删除4个,小于四个,清除前面的空格。
CTRL+ 移动到行最左端
CTRL+ 移动到行最右端

二、服务部署

该项目包含两个部分,具体的部署方式在各个项目中都有介绍:

三、邀请码的使用

新用户注册需要邀请码,邀请码有两种:

  • 一种是万能的,在后台系统的配置文件中配置;
  • 另外一种是一次性的,一人一码。
  1. 登入系统后,点开菜单,选择邀请码菜单(用户默认注册后的 group_id2,只有用户 group_id1 的用户才能看到,需要手动去数据库中指定管理员账户),可以生成新的邀请码,点击邀请码就可以复制内容,分享给别人就可以了。
  2. 邀请码页面中显示的是都是未注册的码,复制后邀请码变为绿色,表示已被分享还未使用。

目前初始化的过程还不是很好,所以先手动修改数据吧

四、项目配置

1. 图片存储配置 [选配]

如若不配置:只是不能显示用户头像而已
头像文件是存储到 七牛云 上的,免费注册会有免费额度,够用。
需要修改 /src/projectConfig.ts 文件内容,改成你的七牛云配置。

export default {
  // 七牛云
  // 地址: https://portal.qiniu.com/kodo/overview
  QiniuImgBaseURL: 'http://rnov15v13.hb-bkt.clouddn.com/', // 空间域名,最后面带 `/`
  QiniuBucketName: 'diary-container', // 七牛云对象存储空间的名称
}

2. 和风天气配置 [选配]

如若不配置:只是不能自动获取当地天气和温度而已
用于从 和风天气 中获取地域的天气和温度信息,也是在 /src/projectConfig.ts 文件中

export default {
  // 和风天气开发 key
  // 地址:https://dev.qweather.com/
  HefengWeatherKey: '',
}

3. nginx gzip 配置

部署前端项目时,最好在 nginx 中添加 gzip 开关,这样能有效加快项目载入速度,比如我的 1.3M 的 js 文件,在 gzip 处理后压缩到了 360kb。

可以参阅:1.3mb js 文件压缩至 360kb,加快 vue 项目的加载速度,nginx gzip设置

gzip on;
gzip_static on;
gzip_min_length 1k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types  text/css application/javascript application/json;

五、开发说明

配置存储:
所有配置信息都保存在 LocalStorage

  • DiaryConfig: 用户的配置信息(类别筛选,日期筛选,关键字)
  • Authorization: 用户信息(avatar,city,email,geolocation,group_id,nickname,phone,token,uid

六、用到的 npm 包

  • vue3 + ts + vite
  • vue-router
  • pinia
  • axios
  • clipboard
  • moment
  • @vuepic/vue-datepicker
  • marked
  • echarts
  • floating-vue
  • qiniu-js

七、项目历程

  1. 2017 年的时候想学 iOS 了顺便做了个不太成熟的 iOS 版 app,当时日记是存储在 iCloud 中的,有了 app 的界面样子,但并不能很完美的使用。
  2. 后来过了很久,到 2019 年的时候感觉自己前端技术差不多了,就想把它实现了,最初使用的是 HTML + jQuery
  3. 后来对 Vue 了解的足够多之后,就改成了 HTML + Vue。最初只有移动端的,添加了 PC 版界面。
  4. 再后来就大改了,改成了纯 Vue 模式,此时的 PC 版和移动端还是在两个分支上的。
  5. 又过了好久,移动端和 PC 两个版本整合到一起。
  6. 2024年1月,改写成 vite + ts 版本

八、项目周期

2017-09-27 ~ 现在

因为自己在用这个,也是自己最喜欢、使用频率最高的项目,所以只要我还健在,这个项目就会被一直维护下去。

九、支持

感谢 JetBrains 提供的工具支持

JetBrains

十、界面截图 - 详细

PC 2023-08-31 11 25 31 2023-08-31 11 24 39 2023-08-31 11 23 48

登录
登录

编辑页面
编辑页面

日记详情
日记详情

统计
统计

银行卡列表
银行卡列表

共享日记
共享日记

资料编辑
资料编辑

一键隐藏所有内容
一键隐藏所有内容

账单
账单

类别筛选
类别筛选

菜单
菜单

iPad Pro 截图

主页

移动端

diary's People

Contributors

kylebing avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

diary's Issues

token 不会过期自动过期吗

一整天都还是在线的,感觉token不会自动过期,这个可以设置吗,或者在什么地方改动一下代码能快捷实现的

部署流程

前端了解比较少,希望作者可以优化下部署方式或者写一份详细些的部署过程,感谢!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.