网站首页 > 技术文章 正文
之前在学习Python的时候,有去抓取过金山词霸每日一句的页面,这也只是简单的练习而且,如果真需要每日一句,其实可以直接调用金山词霸开放平台提供的API接口
从图中我们可以看到,要想获取当前的每日一句非常简单,只需要在浏览器直接访问就可以得到,我们先来尝试一下吧
好了,接口就长这个样子。我今天主要是想把我的微信小程序里面加一个金山词霸,每日一句的功能页面,先做个简单的展示吧。这里先新建一页面,在页面中加入
<image src="{{img_url}}" mode="widthFix"></image>
<view class="padding">
<button class="cu-btn block bg-blue margin-tb-sm lg" type="" bindtap="copyEnglish">复制英文</button>
<button class="cu-btn block bg-blue margin-tb-sm lg" type="" bindtap="copyChinese">复制中文</button>
</view>
主要就是显示每日一句的分享图片以及复制英文内容和中文内容,现在就开始编写js代码,首先需要一个获取当前日期的函数
getToday: function () {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var day = now.getDate();
if (month < 10) {
month = '0' + month;
}
if (day < 10) {
day = '0' + day;
}
var nowDate = year + '-' + month + '-' + day;
return nowDate;
}
然后就可以直接使用wx.request来请求词霸每日一句的API了,这里我直接把请求放在onload方法中
onLoad: function (options) {
let url = `https://open.iciba.com/dsapi/?date=${this.getToday()}`;
let that=this;
wx.request({
url: url,
success: function (data) {
console.log(data);
},
fail: function (e) {
}
})
}
这样一来,我们进入到这个 页面就出触发onload方法
这里需要主要的是,把https://open.iciba.com加入到后端request合法域名
现在,我们需要在data中加入3个属性用于存放每日一句的图片、英文、汉译的内容
data: {
img_url:'',
english:'',
chinese:''
}
然后在wx.request请求成功后对三个属性赋值
onLoad: function (options) {
let url = `https://open.iciba.com/dsapi/?date=${this.getToday()}`;
let that=this;
wx.request({
url: url,
success: function (data) {
that.setData({img_url:data.data.fenxiang_img,english:data.data.content,chinese:data.data.note});
},
fail: function (e) {
}
})
}
好了,现在就可以看到这样的效果了
小程序的话,我们肯定会分享给好朋友吧,所以,我们还需要对分享事件特殊处理一下
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
return {
title: "金山词霸,每日一句",
path: '/pages/ciba/index',
imageUrl: this.data.img_url,
}
}
这样一来,点击分享的时候,就会展示我们自定义的内容了
至此一个简单的页面就搞好了,是不是过于简单了一点,现在来看看真机上的效果吧
我只是记录我的学习过程,由于书读得少,可能很多地方表述或者是理解得不对,请轻喷并指正。
猜你喜欢
- 2025-05-10 19年前司机被沉尸水库!凶手落网,竟已是身家千万的大老板
- 2025-05-10 常见跨域解决方案(一)(解决跨域的几种方法)
- 2025-05-10 生态文明建设四年巡礼 〉浦城:“三大创新”集成叠加 绿色发展再开新局
- 2025-05-10 福建推进河(湖)长制工作:当好“施工队长”建设八闽幸福河湖
- 2025-05-10 满意在三明 | 三明站附近变美啦,你发现了吗
- 2025-05-10 前端使用FileReader 读取本地文件和校验文件唯一
- 2025-05-10 这是一道“送命题”...辅导孩子写作业,45岁男子被气出脑出血
- 2025-05-10 深入理解Android NDK日志符号化(android日志在什么位置)
- 2025-05-10 JavaScript精通到深入(javascript编程精解)
- 2025-05-10 精选前端核心面试题及解答 - 基础篇
- 1506℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 483℃MySQL service启动脚本浅析(r12笔记第59天)
- 470℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 461℃启用MySQL查询缓存(mysql8.0查询缓存)
- 458℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 442℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 420℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 416℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)