当前位置: 首页 > news >正文

找网站推广济南网站建设首选传承网络

找网站推广,济南网站建设首选传承网络,典型的o2o平台有哪些,软件开发工程师有前途吗不知道大家在写代码的时候,摸不摸鱼,是不是时不时得打开一下微博,看看今天发生了什么大事,又有谁塌房,而你没有及时赶上。 为此,我决定开发一个vscode插件,来查看微博热搜 插件名称&#xff1…

不知道大家在写代码的时候,摸不摸鱼,是不是时不时得打开一下微博,看看今天发生了什么大事,又有谁塌房,而你没有及时赶上。

为此,我决定开发一个vscode插件,来查看微博热搜

插件名称:Fish Tools
vscode扩展可搜索安装

1、热搜

首先实现在侧边栏中展示前20个热搜,没必要太多

1、package.json 增加配置

"views": {"fish-activityBar": [{"id": "fishView","name": "fish weibo"}]},"viewsContainers": {"activitybar": [{"id": "fish-activityBar","title": "Fish Weibo","icon": "resources/dark/weibo.svg"}]},

如此,侧边栏就会展示微博按钮

按钮有了,内容可以通过树视图展示,vscode.window.createTreeView 可以创建树视图

 const customView = vscode.window.createTreeView("fishView", {treeDataProvider: customTreeDataProvider,});
class CustomTreeDataProvider implements vscode.TreeDataProvider<CustomItem>

这里官方文档中有树视图的例子

热搜内容,可以在CustomTreeDataProvider类的getChildren方法中,通过调微博的接口获取

const data = await getHotSearch();
const top20Hot = (data?.data?.realtime || []).slice(0, 20);
const treeData = top10Hot.map((item: any) => {return { label: item?.note, id: item?.mid };
});

到这里,完成情况如图所示,
在这里插入图片描述

只有热搜当然还是不够的,因为我们想了解具体内容的时候,还是需要打开浏览器,所以这里给每条热搜增加点击功能

2、热搜内容

getTreeItem(element: CustomItem): vscode.TreeItem {const treeItem = new vscode.TreeItem(element?.label);// 配置点击行为treeItem.command = {command: "treeView.openContent",title: "Open Content",arguments: [element],};return treeItem;}

这里增加了command,需要注册该命令,并且点击之后打开一个webview,(简单版的也可以直接打开一个文档,展示内容即可)

vscode.commands.registerCommand("treeView.openContent",(treeItem: vscode.TreeItem) => {const panel = vscode.window.createWebviewPanel(webviewId,webviewTitle || "详情",vscode.ViewColumn.One,{enableScripts: true,});// webview内容const scriptPath = vscode.Uri.file(path.join(extensionPath, jsPath));const scriptUri = panel.webview.asWebviewUri(scriptPath);panel.webview.html = `<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>详情</title></head><body><div id="loading">页面初始化中...</div><div id="root"></div><script src=${scriptUri}></script></body></html>`}
)

webview内容,实现方式可以多种,这里scriptUri 直接写路径,是不生效的,详情可以看官方文档。

3、消息传递

这里实现了,热搜,点击事件以及打开了webview窗口,那么数据如何在webview传递,这里因为直接调的微博的接口,所以在webview中,是调不通的,所以调接口查数据的过程在vscode扩展这边实现

这里第一个问题是热搜的详细内容,是需要登录的,所以这里需要一个cookie,cookie的获取,也比较简单,随便找一个接口,就能查询到

第二个问题是详细内容,并不是通过调xhr接口返回的,需要自行去解析dom结构,来获取自己需要的内容。

1、消息的传递,vscode扩展传递到webview,可以通过postMessage

panel.webview.postMessage({command,text
});

2、webview中可以通过 window.addEventListener监听消息

window.addEventListener("message", (event) => {if (message.command === "getMessage") {setContent(message.text);}
}

3、webview传递到vscode中,通过postMessage方法

const vscode = acquireVsCodeApi();
vscode.postMessage({command: "pageUp",text: { page: page - 1 },
});

4、vscode中通过onDidReceiveMessage监听

panel.webview.onDidReceiveMessage((message) => {if (message.command === "pageUp") {getHotDetail();}
});

这里在给webview.html赋值之后,可以调接口拿到微博内容,通过上述方式传到webview中,webview中只需要展示即可。其他的上一页,下一页,刷新,也可以通过相同方式实现。

最后完成情况如下
在这里插入图片描述

4、配置

上述只简单概述插件功能,配置方面,这里增加了cookie的配置,以及热搜的刷新间隔。
在这里插入图片描述

后续可以考虑评论、点赞等功能实现。

http://www.yayakq.cn/news/864722/

相关文章:

  • 网站是陕西省城乡建设综合服务中心化妆品购物网站建设目的
  • 河北专业做网站天津百度推广排名
  • 桂林旅游网站制作ICP备案网站服务内容
  • 深圳市做网站知名公司有哪些网站管理助手创建数据库
  • 深圳营销网站dede title 我的网站
  • 国外饮品网站铁岭网站开发
  • 网站建设哪家公司好成都网站建设logo在线设计标小智
  • 网站html代码做商城网站应该用什么程序
  • 东莞 传媒 网站建设易语言登录WordPress账号
  • 做网站用源码上海市城市建设工程学校网站
  • c2c网站都有哪些如何推进网站建设
  • 电子商务网站建设规划门户网站建设意见
  • 东莞建设小学网站社交网站开发客户
  • 怎么查网站备案号秦淮区建设局网站
  • 视频直播源码刷seo快速排名
  • 做网站赚钱吗?遂宁网站seo
  • 横栏建设网站网站建设项目规划书案例分析
  • 国内餐饮设计网站建设博客建站系统
  • 景区网站怎么做网页版微信二维码登录
  • 毕节建设厅网站网站建设课结课感受
  • 个人网站 做外贸寻花问柳-专注做一家男人的网站猪
  • 服务器2003怎么做网站郑州电商网站设计
  • 宁波品牌网站制作哪家好app开发与网站建设
  • 东莞网站建设收费seo课程培训视频
  • 哪个网站服务器比较好中小公司做网站
  • 成交型网站吉林省白山市建设局官方网站
  • 网站开发语言总结有哪些有限公司破产后债务谁承担
  • 微信小程序怎么做网站wordpress更改邮箱设置
  • 做购物网站小图标wordpress ishome
  • 网站正则表达式怎么做做门户网站代码质量方面具体需要注意什么