本项目用来输入url返回一个jpg图片的spring boot项目
具体包括两个html网页: index.html和template.html
  1. index的css分开到另外的文件,html里只包含三个部分的elements和相应的java script.
    1. login
    2. urlform(
      1. 包括顶部一个图片,取自180.76.187.12/logo.png,
      2. 这个图片其实被webConfi设置为取自/uploads/目录下.,
      3. 这个图片其实应该允许用户自定义的,就是说比如财经日报网的的话,应该看到的是财经日报网的logo显示在这里.但是因为目前这个界面在登录之前就已经显示了,所以有点难办....目前考虑:
        1. 要么每个客户单独建立一个branch(分别独立主机部署的策略
        2. 要么还是走整合的策略可能最终还是要整合的策略的.那么得保证登录前不要显示index上面的其他部件,只loginpar可见,登录后才进入主界面的感觉. 如果本地有cookie的话,可以先显示主界面.
        3. 也可以在登录时,登录框背景显示个广告图片.(这样格局就打开了)
    3. setting
      1. setting里面的输入框区域的内容是动态生成的.
      2. setting区域显示时会向后台userController发送请求,获得user,然后判断user.属性!== null && !== ‘null‘就能用了.
      3. 底部的图片其实是按钮,点了弹出文件选择器,选择完文件直接上传,不需要再此确认的,(这个跟默认的文件选择器不同,是转门做成这样的,为了用起来感觉更顺畅)
      4. 底部两个图片还有保存设置按钮不是动态生成的.但是两个图片的src属性是动态的,因为要判断user.username这个属性对应的/uploads/下的目录+user.logo属性对应的文件名是否存在,不存在的话要显示默认的logo:  /uploads/logo.png
      5. icon同理.
  2. template.html的css在文件内的.返回前会替换掉其中所有的{{xxxxx}}
    1. 背景允许定制
    2. 左下角的logo是从/uploads/{{user.username}}/{{user.logo}} 取得.
    3. 右下角的QRCode是QRCode和/uploads/{{user.username}}/{{user.icon}}的结合
  3. 有多个controller类,一个Service类,多个generator类,
    1. configuration目录下有baidu和doubao对应的设置文件,含密钥
    2. 针对财经日报网转门做了一个类别映射表.(省却调用ai,省点钱)
    3. 4个控制器,分别对应Login(系统启动时设置属性装在和身份认证)Fileupload,userController,和summarizerController
    4. service类的主要流程:
      1. 先WebScrpbpery爬虫抓取url的内容,获得title,content和时间,时间抓不到就用当前时间减去设置中的deley(假设图片比原文总是晚一天或固定的时间生成)
      2.  如果设置成利用文档中的图片,还要从WebScraper来抓取最大的一个图片.
      3. 调用百度ai获得文本对应的类别,(如果时财经日报网,会根据路径获得类别)
      4. 调用百度ai获得文章的summary.
      5. 调用豆包(以前调用百度)根据类别生成主题图片.
      6. 更新url,生成最终html
      7. 把html显示到浏览器中,并生成jpg
  4. 服务器上要配置两个目录,设置成完全可控,分别是/uploads/还有/var/www/html/分别用来放置:
    1. 用户上传的文件
    2. 系统生成的文件.

  1. 找到图标
  2. 生成带图标的QRCode
  3. 要能从一个新位置上获取被缩小了的图片(不用了,全用临时的,因为只有最后那个jpg有用)
  4. 要能得到图片的类别(从路径获得)
  5. 要每个类别创建一个目录,里面定期更新一批图片。(不用了,全部AI生成)
  6. 要根据类别从对应的目录中锁定一个图片
  7. 要根据类别从特定目录中锁定一个背景图片 
-- Sam 01:10 18/11/2024

 奇怪现象:
  1. 有些网站从我本地能访问,但是从a2hosting就访问不了,估计是因为曾经有黑客从这个a2hosting发送过攻击,后来导致所有从那个服务器上发送的请求都不给某些网站受理了,如:https://www.cbirc.gov.cn/cn/view/pages/ItemDetail.html?docId=1184919&itemId=915
  2. 同样国内的服务器不能访问国外的很多网址。
-- Sam 01:25 30/11/2024
 QRcode变得好小
主页的logo要居中,要不能太大
了解为啥豆包不能用了
改用其他的中文的
试用chatGPT的api
-- Sam 10:24 27/11/2024
 baidu账号:
https://login.bce.baidu.com/?redirect=https%3A%2F%2Fconsole.bce.baidu.com%2Fai%2F%3F_%3D1732411645507#/ai/intelligentwriting/overview/index
(密码不灵了,不知为啥,但是可以点上次登录来进入,而不用让新华手机收验证码)
(豆包账号则需要新华手机验证码。)
-- Sam 23:17 25/11/2024
为了减少带来麻烦,把这个程序设置成系统服务了,服务文件在etc/systemd/system/springboot.service

root@ls_6DpgWfUJ:~# sudo systemctl daemon-reload                //上传文件后重新装载
root@ls_6DpgWfUJ:~# sudo systemctl start springboot.service       //启动服务
root@ls_6DpgWfUJ:~# sudo systemctl enable springboot.service       //设成开机启动
Created symlink /etc/systemd/system/multi-user.target.wants/springboot.service → /etc/systemd/system/springboot.service.
root@ls_6DpgWfUJ:~# sudo systemctl status springboot.service        //状态查询
● springboot.service - Spring Boot Application
   Loaded: loaded (/etc/systemd/system/springboot.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2024-11-24 08:36:50 CST; 22s ago
 Main PID: 30134 (java)
    Tasks: 30 (limit: 1028)
   CGroup: /system.slice/springboot.service
           └─30134 /usr/bin/java -jar /root/summarizer-0.0.1-SNAPSHOT.jar

Nov 24 08:36:50 ls_6DpgWfUJ systemd[1]: Started Spring Boot Application.
root@ls_6DpgWfUJ:~#
-- Sam 19:40 23/11/2024
 服务器命令:
root@ls_6DpgWfUJ:~# ps -ef | grep summarizer-0.0.1-SNAPSHOT.jar
root     17034     1  0 Nov17 ?        00:00:39 java -jar summarizer-0.0.1-SNAPSHOT.jar
root     39210 39164  0 06:17 pts/0    00:00:00 grep --color=auto summarizer-0.0.1-SNAPSHOT.jar
root@ls_6DpgWfUJ:~# kill 17034
root@ls_6DpgWfUJ:~# nohup java -jar summarizer-0.0.1-SNAPSHOT.jar > application.log 2>&1 &
[1] 39233

-- Sam 01:09 18/11/2024
 零散规则:
  1. 如果添加了logo,那么icon要么也上传,不上传的话就会显示空了,不会在现实defualt icon
  2. http://localhost/addUser?accountName=Hehe&balance=40这个命令用来添加新用户,或者修改老用户的balance实现充值。
  3. 用sharethegoodones作为超级管理员密码来用用户的账户登录,实现问题重现和研究。
-- Sam 01:06 18/11/2024
 图标改一下叫闻捷
登录需要身份认证,允许设置点数。
  1. 可以预设几个账户,每个账户里面有余额
  2. 界面提供一个login按钮,login以后才能使用
改用豆包作图。
-- Sam 01:07 18/11/2024
  1.  背景图片暂时用一个,从例子上面扣
  2. 测试生成图片的代码是否work
  3. 生成的图片如何保存在硬盘上可能直接提供预览即可.
  4. html的文件变化有问题,颜色变白以后,title字体变小了。
  5. 从正文中获取时间并下载图片上面居左。
  6. 提供个界面用户直接pasturl然后提交,打开另一个tab页面显示预览
    1. 界面上增加设置功能,
      1. 图片风格
      2. 字体设置
      3. 背景设置
      4. 账户密码以及剩余次数
  7. 改用sdk访问服务以提高性能,目前每次都发个请求申请token,浪费了时间。(改为设置了过期时间,不用sdk因为sdk最终也是发送rest request,还隐藏了细节,而且官网demo也没有用sdk)
  8. QRCode放大一点
-- Sam 01:08 18/11/2024

Please click here to login and add comments! || automatically refresh content every seconds