起因

应为最近刷视频刷到真寻的壁纸,索性去Wallpaper订阅了一下,发现天气那个地方一直显示天气这两个字。

我心里已经意识到接口出问题了,我去留言区看了一下,这个问题已经持续很久了,看作者更新还是在上次,所以我就决定自己修改一下。

修改完后发现启动CSGO全屏发现会自动开启樱花显示…然后就一并解决了。

修复过程

需要懂一些计算机操作以及动手能力。

本人表达能力不好,所以教程大家看着会有些复杂,抱歉啦。

天气接口修复

看更新1

更新1

2023年4月2日17点04分:自从我写了这个教程后发现接口调用次数过大(官网上的),

所以在官网文档发现它自带免费套餐,每日500次请求差不多够了,注册无需手机号,可以只用邮箱。接口掌握在自己手上。

不用担心那种个人分享以及抓取的接口而随时失效的问题,这里也是希望大家能合理使用。

注册获取接口

首先去http://yiketianqi.com/user/register 注册一个账号

然后去这个页面http://www.tianqiapi.com/index/doc?version=day

点击右上角的在线测试接口(先登录)按钮就会跳转到你的api接口链接,将链接复制

修改天气文件

首先得去Wallpaper里找到Perfect Wallpaper-完美壁纸...的这个壁纸,然后右键,

点击在资源管理器中打开,进去后注意一下地址栏显示的文件夹是否为884307090

之后呢,进去后进入目录js找到time.js文件,右键编辑,

将347行-363行左右的代码替换成以下代码(需要将代码块里的全部代码替换原有的),并在指定位置修改API。然后保存重启WallPaper即可

(在群里看到很多人就只告诉了修改接口,这个是错误的,因为还修改了数据名。)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
function getWeatherByCity(city, strHtml){
    $.get("这里填写你的api链接" + city, function(res, status){
       
        console.log(JSON.stringify(res));
        let data = res;
 
        cityname = res.city;
		feels = data.tem;
		high = data.tem_day;
		low = data.tem_night;
		weathernow = data.wea;
		wind = data.win;
		windLv = data.win_speed;
        weather.innerHTML = FormatWeather(strHtml);
    });
    
}

樱花修复

这里先修改sakura.js文件,将814行左右的makeCanvasHide代码替换成以下代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
/** 显示樱花 */
function displayCanvas(canvas) {
    canvas.style.display = 'block';
}

/** 隐藏樱花 */
function displayCanvasHide(canvas) {
    //canvas.width = 0;
    //canvas.height = 0;
    canvas.style.display = 'none';
}

然后再去main.js文件的581-591行的代码替换为以下代码即可

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
        //樱花特效
        if(properties.showSakura){
            showSakura = properties.showSakura.value;
            if(showSakura){
                // 开启樱花,全屏樱花
                displayCanvas(sakura);
            }else{
                // 关闭樱花,隐藏樱花
                displayCanvasHide(sakura);
            }
        }

代码对照图

打包文件下载

考虑很多人不会修改,我这里将3个文件已打包上传,

但是天气的api接口还是需要你自己按照上面的更新1去创建账号,获取接口修改上去,接口位置在time.js348

https://blog.wuw.moe/files/9/js.zip

将里面的文件放入js目录下覆盖即可。

最后重启一下Wallpaper即可。

如有什么问题,请下方评论区告诉我。

关于更新

特别鸣谢

  • Perfect Wallpaper-交流②群支持本篇文章的群友及其管理员们

③群没进去,所以不知道其他群的情况