网站首页 > 技术文章 正文
之前在学习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-08-02 Three.js + tensorflow.js构建实时人脸点云
- 2025-08-02 总舵主软件崔永亮手把手带你了解uniapp--基础语法
- 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日志在什么位置)
- 08-06中等生如何学好初二数学函数篇
- 08-06C#构造函数
- 08-06初中数学:一次函数学习要点和方法
- 08-06仓颉编程语言基础-数据类型—结构类型
- 08-06C++实现委托机制
- 08-06初中VS高中三角函数:从"固定镜头"到"360°全景",数学视野升级
- 08-06一文讲透PLC中Static和Temp变量的区别
- 08-06类三剑客:一招修改所有对象!类方法与静态方法的核心区别!
- 1531℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 692℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 536℃MySQL service启动脚本浅析(r12笔记第59天)
- 501℃启用MySQL查询缓存(mysql8.0查询缓存)
- 500℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 486℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 469℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 467℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (70)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)