我的编程空间,编程开发者的网络收藏夹
学习永远不晚

volantis使用php实现Gitee友链

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

volantis使用php实现Gitee友链

介绍

本文使用Gitee实现Volantis主题友链功能,其中友链使用的是site标签,因为该标签可以展示图片,如

{% sites repo:example.json api:https://example.dearxuan.com %}

 友链api的最终路径为 api + “版本” + repo,如上面代码的最终路径为

https://example.dearxuan.com/v1/example.json

其中版本可能会改变,在友链页面查看源代码,Ctrl+F搜索你的api路径即可找到最终路径

在使用前请先创建好对应文件,如上面的例子,则需要创建 网站根目录/v1/example.json

PHP文件

推荐直接下载压缩包,附带我的友链页模板,点此查看我的友链页

在任意网站目录下创建php文件,如"gitee.php"(文件名随意),粘贴以下代码,其中“password”为你自己设置的密码,之后会用到

“path”为你的友链最终路径,其中__FILE__是指运行目录,通常就是你的网站的根目录,也可以改为绝对路径

 $body["iid"],        "title" => $issueBody["title"],        "url" => $issueBody["url"],        "avatar" => $issueBody["avatar"],        "screenshot" => $issueBody["screenshot"],        "description" => $issueBody["description"],    );    //读取文件,转化为数组    global $path;    $str = file_get_contents($path);    $friends = json_decode($str, true)["content"];    if($friends == null){        $friends = array();    }    //是否展示该友链,只有"closed"才要展示    if($body["state"] == "closed"){        //遍历数组查看是否有重复项        foreach ($friends as $key => $value){            if($value["iid"] == $result["iid"]){                //找到重复,则程序结束                echo "url:\"".$result["url"]."\"已存在";                return;            }        }        //没有重复,则添加至末尾        $friends[] = $result;        echo "已添加".$result["url"];    }else{        //不展示该友链        foreach ($friends as $key => $value){            if($value["iid"] == $result["iid"]){                //删除该项                unset($friends[$key]);                echo "已移除".$result["url"];                break;            }        }    }    //生成新的json,且不转义    $newJson = json_encode(array(        "code" => "0",        "content" => array_values($friends),    ), JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);    file_put_contents($path, $newJson);}function Delete($body): void{    $iid = $body["iid"];    //读取文件,转化为数组    global $path;    $str = file_get_contents($path);    $friends = json_decode($str, true)["content"];    foreach ($friends as $key => $value){        if($body["number"] == $iid){            //删除该项            unset($friends[$key]);            echo "已删除\"".$iid."\"";            break;        }    }    //生成新的json,且不转义    $newJson = json_encode(array(        "code" => "0",        "content" => array_values($friends),    ), JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);    file_put_contents($path, $newJson);}

 仓库设置

导入或自建以下仓库

https://gitee.com/dearxuan/friends.git

修改README文件,替换为自己网站的信息

其中.gitee/ISSUE_TEMPLATE.zh-CN.md文件用于存放issue模板,可以视需求修改

在仓库的 “管理”-“WebHooks” 中添加一个新的WebHook,如下图

其中URL为你的php文件的路径,WebHook密码就是上面你自己修改的密码。勾选“Issue”事件,并“激活”

使用

在issue页面新建issue,注意要确保格式正确,否则无法解析为json

修改issue的状态,其中只有“已完成”会展示。原本想用tag,但是gitee不支持issue的tag推送

在webhook页面可以看到历次请求结果

如果先修改状态再删除issue,会导致触发两次删除操作,wenhook页面可以看到报错,但是不影响使用

来源地址:https://blog.csdn.net/qq_39200794/article/details/128447946

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

volantis使用php实现Gitee友链

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么使用PHP实现长链接

这篇文章主要介绍了怎么使用PHP实现长链接的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用PHP实现长链接文章都会有所收获,下面我们一起来看看吧。长链接(Long Connection),也称为持久连接(
2023-07-05

实现dedecms友情链接分栏目调用的方法(图)

dedecms如何实现不同栏目页调用不同的友情链接。网上查了大半天,都是讲些首页和栏目页的分别调用。这里和大家分享下,小伎俩,为什么实现这样的方式,原因就不必多说了。  其实运用object和javascript调用外部文件,也能实现HCT
2022-06-12

怎么使用PHP+Referer实现图片防盗链

今天小编给大家分享一下怎么使用PHP+Referer实现图片防盗链的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、图片防盗
2023-07-04

dedecms友情链接标签flink使用说明及实例代码

DEDEcms的友情链接标签flink用于获取友情链接,其对应后台文件为"includetaglibflink.lib.php", 图片 复制代码代码如下: {dede:flink row='24' type='image' titlele
2022-06-12

怎么使用Vue实现添加好友功能

这篇文章主要介绍了怎么使用Vue实现添加好友功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Vue实现添加好友功能文章都会有所收获,下面我们一起来看看吧。一、前置知识在开始介绍添加好友功能之前,我们需
2023-07-06

怎么使用PHP递归实现链表的反转操作

本文小编为大家详细介绍“怎么使用PHP递归实现链表的反转操作”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用PHP递归实现链表的反转操作”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实现方法在递归反转链表
2023-07-05

Android中使用listview实现qq/微信好友列表

首先附上运行结果:如果你没有学过listview请你先看一看基本知识。不想再说的那么细了 太多了。 首先是listview布局
2022-06-06

如何使用gitee实现项目的下载和部署

这篇文章主要介绍“如何使用gitee实现项目的下载和部署”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用gitee实现项目的下载和部署”文章能帮助大家解决问题。第一步:注册账号在gitee的官
2023-07-05

如何使用Python给女朋友实现比心表白

这篇文章主要介绍如何使用Python给女朋友实现比心表白,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Turtle基本参数python的强大在于它有许多的强大的库,turtle是其中可以交互式的绘画的模块。也是很多提
2023-06-15

Android实战ShareSDk的使用,实现一键分享微信好友

要在Android应用中实现一键分享到微信好友,你可以使用ShareSDK库。下面是使用ShareSDK实现一键分享微信好友的步骤:1. 下载并导入ShareSDK库。你可以从这个网址下载最新版的ShareSDK:https://www.m
2023-09-21

PHP中怎么利用数组实现单链表

本篇文章为大家展示了PHP中怎么利用数组实现单链表,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP数组实现单链表结构此类主要是依靠PHP强大的数组系统来模拟出单链表类型的数据结构。 本人完全凭借
2023-06-17

如何使用C++代码实现双向链表

这篇文章主要介绍“如何使用C++代码实现双向链表”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用C++代码实现双向链表”文章能帮助大家解决问题。双向链表:两个指针域,一个指向前结点,一个指向后
2023-06-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录