分类 网络大神 下的文章 - Yloadtech
首页
视频
音乐
直播
壁纸
友情链接
统计
反馈
更多
关于
搜 索
1
【教程】Typecho Joe主题开启并修复壁纸相册不显示问题
187 阅读
2
如何利用PHP开发一个简单的在线视频播放器
172 阅读
3
解决 win11 连接共享打印机,报错 0x00000709 问题
165 阅读
4
php实现基本的日历显示与实时查询功能
152 阅读
5
NTP反射放大攻击!
148 阅读
PHP
Java
IT
网络大神
社会一角
登录
/
注册
搜 索
标签搜索
半篇 关注
Yloadtech
累计撰写
34
篇文章
累计收到
6
条评论
首页
栏目
PHP
Java
IT
网络大神
社会一角
页面
视频
音乐
直播
壁纸
友情链接
统计
反馈
关于
用户登录
登录
注册
找到
3
篇与
网络大神
相关的结果
2024-09-29
设置网站伪静态报红字错误
解决方法见:Quanyin 说:https://www.imtqy.com/typecho-rewrite.html
2024年09月29日
118 阅读
0 评论
0 点赞
2024-06-08
【教程】Typecho Joe主题开启并修复壁纸相册不显示问题
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]背景说明 Joe主题本身支持“壁纸”功能,其实就是相册。当时还在网上找了好久相册部署的开源项目,太傻了。 但是网上教程很少,一没说如何开启壁纸功能,二没说开启后为何不显示图片,三没说如何显示自定义图片。 通过层层深扒源码,我已经成功修复并实现了上述问题。所以,这个重任还是由我来吧。接下来将是非常详细的图文教程,小白有手就行。 开启壁纸 进入后台,创建独立页面 标题随便填,最关键的是模板要选“壁纸” 直接发布页面即可 发布后点上面这个提示进去页面 比如我的:http://www.yloadtech.com/index.php/11.html 此时你会看到一直在转圈圈,你也不知道如何去添加图片 修复显示 SSH进入服务器后台,进到Joe主题下面的public目录。这个路径都是一样的,直接复制即可 javascriptcd /var/www/html/usr/themes/Joe/public/ 打开route.php,直接替换里面的两个函数 javascriptvim route.phpfunction _getWallpaperType($self) 改成javascript/ 获取壁纸分类 已测试 √ /function _getWallpaperType($self){header('Content-Type: application/json'); $self->response->setStatus(200); $json = file_get_contents("http://cdn.apc.360.cn/index.php?c=WallPaper&a=getAllCategoriesV2&from=360chrome"); $res = json_decode($json, TRUE); if ($res['errno'] == 0) { $self->response->throwJson([ "code" => 1, "data" => $res['data'] ]); } else { $self->response->throwJson([ "code" => 0, "data" => null ]); }}function _getWallpaperList($self) 改成javascript/ 获取壁纸列表 已测试 √ /function _getWallpaperList($self){header('Content-Type: application/json'); $self->response->setStatus(200); $cid = $self->request->cid; $start = $self->request->start; $count = $self->request->count; $json = file_get_contents("http://wallpaper.apc.360.cn/index.php?c=WallPaper&a=getAppsByCategory&cid=&start=&count=&from=360chrome"); $res = json_decode($json, TRUE); if ($res['errno'] == 0) { // 数据总数 $total = $res['total']; $self->response->throwJson([ "code" => 1, "data" => $res['data'], "total" => $total ]); } else { $self->response->throwJson([ "code" => 0, "data" => null ]); } } 保存后刷新页面,就可以惊喜的发现能成功显示360壁纸了 自定义图片 那如何让它显示我们自己的图片呢?Joe显示壁纸的代码是固定的,所以我们只需要按照360壁纸的接口来设计我们的服务api就行。 壁纸分类接口 先看壁纸分类,360接口示例: http://cdn.apc.360.cn/index.php?c=WallPaper&a=getAllCategoriesV2&from=360chrome 实际有用的 javascript{"errno": "0", "total": "1", "data": [ { "id": "1", "name": "xxx" } ]} 如果你有服务程序开着,那么就返回这种类型的数据就行。我不想单独再开个监听服务程序,所以后面会讲我的简单方法。 壁纸图片接口 对于根据分类获取图片的360接口: http://wallpaper.apc.360.cn/index.php?c=WallPaper&a=getAppsByCategory&cid={ 实际有用的: javascript{ "errno": "0", "total": "1884", "data": [{ "id": "1", "url": "http://xfxuezhang.cn/mypics/1/0366_PT1814-2_7E8DB7C0.jpg" },]} 同样的, 如果你有服务程序开着,那么就返回这种类型的数据就行。我不想单独再开个监听服务程序,所以后面会讲我的简单方法。 替换自己的图片 超级简单的方法。直接在网站目录下创建一个文件夹,里面每个子目录就是一个分类,子目录名是cid,分类信息用image_types.json保存,图片信息用image_details_.json保存,而generate.py可以根据子目录自动生成image_details_.json。 举个栗子,我创建了mypics目录 javascriptmkdir /var/www/html/mypics 目录结构: 子目录1中的内容: image_types.json:javascript{"errno": "0", "total": "1", "data": [ { "id": "1", "name": "涂料印花" } ]}generate.py:javascriptimport osimport json指定图片存放的目录pics_directory = "./"遍历pics_directory目录下的子目录for cid in os.listdir(pics_directory):if not os.path.isdir(cid): continue print(f">> 正在处理:") # 构建JSON文件路径 json_file_path = os.path.join(pics_directory, cid, f"image_details_.json") output_file = os.path.join(pics_directory, f"image_details_.json") # 获取子目录下的所有图片文件 image_files = os.listdir(os.path.join(pics_directory, cid)) # 构建JSON数据 json_data = { "errno": "0", "total": str(len(image_files)), "data": [/"} for i, image in enumerate(image_files)] } # 将JSON数据写入文件 with open(output_file, 'w') as json_file: json.dump(json_data, json_file, indent=2) print(f"Generated ")执行generate.py生成image_details_1.json:javascriptpython generate.pyimage_details_1.json:javascript{ "errno": "0", "total": "2", "data": [{ "id": "1", "url": "http://xfxuezhang.cn/mypics/1/0366_PT1814-2_7E8DB7C0.jpg" }, { "id": "3", "url": "http://xfxuezhang.cn/mypics/1/0366_PT1814-2_7E8DB7C0.jpg" },]} 最主要的!还要去修改route.php中的两个函数! function _getWallpaperType($self) 改为javascript/ 获取壁纸分类 已测试 √ /function _getWallpaperType($self){// 允许所有域的跨域请求 header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); header("Access-Control-Allow-Headers: Content-Type"); header("Access-Control-Max-Age: 86400"); header('Content-Type: application/json'); $self->response->setStatus(200); // $json = file_get_contents("http://cdn.apc.360.cn/index.php?c=WallPaper&a=getAllCategoriesV2&from=360chrome"); $json = file_get_contents("http://xfxuezhang.cn/mypics/image_types.json"); $res = json_decode($json, TRUE); if ($res['errno'] == 0) { $self->response->throwJson([ "code" => 1, "data" => $res['data'] ]); } else { $self->response->throwJson([ "code" => 0, "data" => null ]); }}function _getWallpaperList($self) 改为javascript/ 获取壁纸列表 已测试 √ /function _getWallpaperList($self){// 允许所有域的跨域请求 header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); header("Access-Control-Allow-Headers: Content-Type"); header("Access-Control-Max-Age: 86400"); header('Content-Type: application/json'); $self->response->setStatus(200); $cid = $self->request->cid; $start = $self->request->start; $count = $self->request->count; // $json = file_get_contents("http://wallpaper.apc.360.cn/index.php?c=WallPaper&a=getAppsByCategory&cid=&start=&count=&from=360chrome"); $json = file_get_contents("http://xfxuezhang.cn/mypics/image_details_.json"); $res = json_decode($json, TRUE); if ($res['errno'] == 0) { // 数据总数 $total = $res['total']; // 对数据进行分割 $startIndex = $start; $endIndex = $startIndex + $count; $slicedData = array_slice($res['data'], $startIndex, $count); $self->response->throwJson([ "code" => 1, "data" => $slicedData, "total" => $total ]); } else { $self->response->throwJson([ "code" => 0, "data" => null ]); } } 改完保存后,去刷新壁纸页面,就可以看到已经顺便变成我们自己的图了 后续修改 之后要调整内容,就只需要在mypics目录下放个子目录,然后手动将这个子目录信息写到image_types.json,然后直接执行generate.py就可以了。 进阶加速方法 图片会占用大量内存,如果资金充足可以买一个CDN。另一种方法是加上缓存。对于Typecho可以用这个插件: GitHub - gogobody/TpCache: 一个 typecho 缓存插件 注意需要开启php-redis,比如我的是php8.1版本: javascriptsudo apt install php8.1-redis 然后安装redis: javascriptsudo apt install redis-server -y 然后就是常规插件的开启方法,大家都会的。
2024年06月08日
187 阅读
0 评论
0 点赞
2024-05-31
Joe(执念)主题编辑器使用自己图床-星泽V社
前言:目前很多人都在使用执念改过(joe)的模板,执念改过的模板的确有很多功能好用。在此附上执念修改版joe链接,喜欢的朋友可以试一下。 执念修改版Joe 执念他在joe编辑器里最后一个加了一个图床上传,可以一键上传到他的图床网站并且返回到自己文章里显示图片,这样呢我们就不需要给文件添加附件,图片就不用存到服务器里,用他的图床也很方便。但是,我们还是喜欢用自己搭建的图床机进行上传,图片全部保存到github里边,这样即使执念哪天网站备案掉了,想不开了跑了( 虽然不会 ),就造成了麻烦。使用执念改过的图床 原版的也可以 (原因下边说)烟雨图床安装教程自行百度源码下载https://wwe.lanzouo.com/iQyT9xgrjvg下载源码后,将 install.sql 导入到数据库之后修改 APP/DataBase.php 文件中的数据库连接,将 Public 目录设置为运行目录即可找到api位置,添加防跨站代码,代码自行百度Joe(执念)主题修改 在 Joe-master/assets/js/custom.js 文件,具体位置请看图片,把接口换成自己的。注意:需要去外观,自定义设置,翻到最下边有个图床token添加自己网站的就OK了
2024年05月31日
143 阅读
0 评论
1 点赞