• 最新文章
  • linux
  • php
  • sql
  • 服务端
  • tool
  • cocos

魔方速成教学大全,高级玩法CFOP合集

资源名称 魔方高级玩法CFOP合集 资源链接 百度网盘:https://pan.baidu.com/s/12woQC4RXN7ZY-iMYcqLJxQ#list/path=%2F 提取码: 45cy 魔方速成教学大全,带娃必备神技 百度云盘:https://pan.baidu.com/s/14biOyNbKxp0iroO54at1wg 提取码:c475

祁连山 太极英语 漫画万词

太极英语8.0全程班开创英语学习新模式,通过独创的”听说读写生态链”教学法帮助学习者构建完整知识体系。课程涵盖入门指导、考级通关、口语突破三大板块,配以全场景互动练习,特别推出”生活情境脱口秀”模块,有效解决传统学习中的”哑巴英语”难题。 课程模块深度解读 零基础筑基模块通过”语法密码破译”与”发音肌肉训练”,运用九宫格记忆法帮助学员快速建立英语思维框架。每日15分钟碎片化学习设计,配合AI发音评测系统,确保入门阶段的精准纠音。 考试突击方案 四六级真题大数据分析 考研英语长难句解码器 雅思口语话题预判训练 创新教学特色 课程独创”口语反应堆”训练系统,将脱口秀即兴技巧与商务场景结合,通过影视台词重构和新闻热点转述等实践环节,培养真实的语言运用能力。每周直播课采用”双师互动模式”,实现个性化学习反馈。 附赠学习装备 独家研发的词根词缀学习工具包包含便携式记忆卡片和双语对照贴纸,其中PDF版《词根词缀猫咪图鉴》通过萌宠插画解析500+核心词素,将枯燥的词汇学习转化为趣味游戏。 需要的回贴,或联系微信:gameFish230

XCloud音乐:多源在线播放器,畅享高品质音乐

XCloud音乐是一款集成多家主流音源的在线音乐播放器,为用户提供一站式音乐播放、搜索、收藏与歌单管理体验。平台覆盖网易云音乐、酷我音乐与JOOX等资源,支持网页端与移动设备访问,无需安装客户端即可畅听百万曲库,提供“省流”“标准”“极高”与“无损”四档码率,根据网络与设备灵活切换,支持各种音质下载。 XCloud音乐核心功能 多音源整合:兼容网易云、酷我与JOOX等主流平台,自动切换备用音源,保证播放稳定。 丰富音质选择:提供“省流”“标准”“极高”与“无损”四档码率,根据网络与设备灵活切换。 歌单与收藏管理:支持歌曲收藏、导入外部歌单及按榜单排名一键收藏,轻松整理音乐列表。 下载与离线:右键或播放后点击下载,即可获取歌曲文件;安卓用户也可通过网页端下载。 用户体验优化 XCloud音乐不断通过更新迭代提升稳定性与兼容性,让使用流程更贴合多终端需求。 动态更新与榜单 新增官方日更榜单,包括网易云“飙升”“新歌”“原创”“热歌”多种榜单,另增说唱、电音、欧美热歌、Billboard、Beatport、韩语与UK榜等多元排行。 歌手名及多人合作项可一键点击,直接查看该艺术家或单人合作作品搜索结果。 兼容性与稳定性 iOS端:解决后台播放跳曲、进度条与显示不同步等问题,优化系统播放器表现。 随机播放与循环逻辑稳定,避免重复当前曲目。 移动端音量控件调整为使用实体键,简化页面视觉干扰。 XCloud音乐官网地址 地址:https://music.xcloudv.top/

寻道大千,合成龙珠模拟器

寻道大千,合成龙珠模拟器,可以试着尝试合成一下,小程序如果有问题,或是有什么建议修改的,可以跟贴。 如果有需要关闭广告的,可以留言微信名称。

Go语言Http调用之Get、Post请求详解

HTTP 调用需要通过 http 包里的 Client 结构体里的 Do 方法去实现,因此需要先声明一个 Client 结构体变量,该结构体可以设置超时时间等配置。 对于一个请求里的 URL,查询参数,请求 method 等参数,需要 http 包里的 Request 结构体去封装。我们可以通过 NewRequestWithContext 或 NewRequest 函数获取一个基础的 Request 结构体指针变量。 NewRequestWithContext(ctx context.Context, method, url string, body io.Reader) (*Request, error) 参数 ctx 为 Context 的接口类型,任意实现 Context 接口的自定义类型都可以作为此参数传递。 参数 method 为 HTTP 方法参数,可选值有 GET、POST、DELETE、PUT等。 参数 url 为接口的请求路径。 参数 body,为请求体参数。 通过 client.Do(req) 方法调用之后,返回值有 (*Response, error),第一个是响应结构体参数,第二个是错误参数。通过读取 Response 的 body 的值,可以获取接口的响应体。 一、GET import ( "context" "fmt" "io" "net/http" ) func main() { client := http.Client{} request, err := http.NewRequestWithContext(context.Background(), http.MethodGet, "http://localhost:8080/user?name=tom", nil) if err != nil { return } request.Header.Set("headerParam", "header") resp, err := client.Do(request) if err != nil { fmt.Println(err) return } bytes, err := io.ReadAll(resp.Body) if err != nil { return } defer resp.Body.Close() fmt.Println(string(bytes)) // {"code":0,"data":{"list":},"message":"success"} } 需要携带查询参数时,可以直接拼接在 url 字符串上面。 header 参数可以通过 request 结构体的 Header 字段的 set 方法或 add 方法进行设置。 HTTP 请求响应码可以通过 Response 的 StatusCode 字段进行查看。 接口请求成功之后,通过 io.ReadAll 方法,读取 resp.Body 响应体信息。 除了直接在 url 上拼接 query 参数的方式,我们还可以通过以下方式进行添加 query 参数: params := url.Values{} rawUrl, err := url.Parse("http://localhost:8080/user") if err != nil { return } params.Set("name", "tom") rawUrl.RawQuery = params.Encode() u := rawUrl.String() 通过 url.Values 结构体的 set 方法设置 query参数,url 通过 url.Parse 函数生成一个 URL 结构体指针变量,rawUrl.RawQuery = params.Encode() 通过这行代码将 query 参数和 url 进行绑定,最后通过 String() 方法将 url 转换成 string 类型。 二、POST 发起 HTTP POST

Go 的时间格式化为什么是 2006-01-02 15:04:05?

go语言中有个很特别的时间格式format,在我们使用 Format格式化时间的时候, format的参数格式字符串必须是 2006-01-02 15:04:05 才能格式出正确的时间来, 这是个很特别的字符串, 通过分析拆分后可以得出的每个代表时间和日期的数字都不重复。 这里的 2006-01-02 15:04:05 这里的数字可以对年月日时分秒分别拆分为一个独立的数字格式, 可以看出拆分后的数字都是独立的 都分别代表对应位置的日期,如 2006表示4位年份, 06表示2位年份, 01表示2位月份,1表示不带0的月份, 02表示2位日期,2表示不带0的日期, 15表示小时, 04表示分钟,4表示不带0的分钟, 05表示秒, 5表示不带0的秒等 go time日期时间格式实例: package main import ( "fmt" "time" ) func main() { // 获取当前时间 now := time.Now() // time.Now()返回的类型是 time.Time 详情参考 ~/.gvm/go/src/time/time.go fmt.Printf("%d-%d-%d %d:%d:%d\n", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second()) // 2024-5-5 10:41:37 // 注意这里的Format() // func (t time.Time) Format(layout string) string // 这里的layout必须是这个时间 2006-01-02 15:04:05 其组合格式可以修改,但是数字不可修改 fmt.Printf("%v\n", now.Format("2006-01-02 15:04:05")) // 为什么是这个时间(2006-01-02 15:04:05),据说这个时间是go语言想法诞生的时间 // 2024-05-05 10:45:39 fmt.Printf("%v\n", now.Format("06")) // 年份: 06表示2位年份 如:24, 2006表示4位年份,如 2024 fmt.Printf("%v\n", now.Format("1")) // 当前月份: 1表示 1-12, 如果是01表示 01-12 fmt.Printf("%v\n", now.Format("05")) // 当前秒: 05表示 01-59 , 如果是5则表示秒 1-59 } 为什么这样设计? 实际上 2006-01-02 15:04:05 是一个参考时间的格式,也就是其它语言中 Y-m-d H:i:s 格式,在功能上用于时间的格式化处理和规范。 那为什么是 2006-01-02 15:04:05 呢?其实这些 ”数字“ 是有意义的,每个布局字符串都是一个时间戳的表示,并非随便写的时间点。 Jan 2 15:04:05 2006 MST 1 2 3 4 5 6 -7 我们也可以将其记忆为 2006 年 1 月 2 日 3 点 4 分 5 秒。 不方便记,go将会在 Go1.20 增加如下三个常量: DateTime = "2006-01-02 15:04:05" DateOnly = "2006-01-02" TimeOnly = "15:04:05"

cocoscreator给sprite图片置灰

这段代码演示了如何获取并应用引擎内置的2d-gray-sprite材质到cc.Sprite组件上,通过cc.Material.getBuiltinMaterial方法得到材质,并用setMaterial函数设置到节点的精灵组件中。 //-- 使用引擎自带材质 let mm = cc.Material.getBuiltinMaterial("2d-gray-sprite") node.getComponent(cc.Sprite).setMaterial(0, mm) //1.将图片置灰: sprite_icon.setMaterial(0, cc.Material.createWithBuiltin(cc.Material.BUILTIN_NAME.GRAY_SPRITE, 0)); //2.将置灰图片还原: sprite_icon.setMaterial(0, cc.Material.createWithBuiltin(cc.Material.BUILTIN_NAME.SPRITE, 0));

beego开启CORS

问题 要在Beego中开启CORS,需要使用插件cors,并针对不同的路由类型进行设置。 示例 普通路由 beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{ AllowOrigins: string{"*"}, //AllowMethods: string{"POST", "GET", "OPTIONS"}, //AllowHeaders: string{"Origin"}, //ExposeHeaders: string{"Content-Length"}, //AllowCredentials: true, })) 静态文件路由 beego.InsertFilter("*", beego.BeforeStatic, cors.Allow(&cors.Options{ AllowOrigins: string{"*"}, //AllowMethods: string{"POST", "GET", "OPTIONS"}, //AllowHeaders: string{"Origin"}, //ExposeHeaders: string{"Content-Length"}, //AllowCredentials: true, }))

div内元素居中

在HTML和CSS中,将div元素内容居中可以通过多种方式实现,具体方法取决于你想如何居中:居中其内部的文本、图片、或其他子元素,还是整个div元素在页面上居中。以下是一些常见的方法: 文本居中 如果你想要让div内的文本居中,可以使用text-align属性: <div style="text-align: center;"> 这是一段居中的文本。 </div> 子元素(如图片或内联元素)居中 对于子元素(如图片或内联元素),可以使用text-align: center;在div上实现居中,或者在父div中使用display: flex; justify-content: center; align-items: center;: <!-- 使用 text-align --> <div style="text-align: center;"> <img src="image.jpg" alt="示例图片"> </div> <!-- 使用 Flexbox --> <div style="display: flex; justify-content: center; align-items: center;"> <img src="image.jpg" alt="示例图片"> </div> 整个div元素在页面上居中 方法一:使用Flexbox ‌确定元素的布局方式‌:使用 Flexbox 布局。 ‌为 div 设置适当的 CSS 属性‌:使用 justify-content 和 align-items 属性来实现居中。 <div style="display: flex; justify-content: center; align-items: center; height: 100vh;"> <!-- 内容 --> </div> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Flexbox Centering</title> <style> .container { display: flex; justify-content: center; /* 水平居中 */ align-items: center; /* 垂直居中 */ height: 100vh; /* 使容器高度为视口高度,以便观察居中效果 */ border: 1px solid #000; /* 边框用于可视化容器 */ } .content { /* 子元素的样式,可根据需要调整 */ padding: 20px; background-color: lightblue; } </style> </head> <body> <div class="container"> <div class="content">我是居中的元素</div> </div> </body> </html> 方法二:使用Grid ‌确定元素的布局方式‌:使用 Grid 布局。 ‌为 div 设置适当的 CSS 属性‌:使用 place-items 属性(它是 justify-items 和 align-items 的简写)来实现居中。 ```html <div style="display: grid; place-items: center; height: 100vh;"> <!-- 内容 --> </div> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Grid Centering</title> <style> .container { display: grid; place-items: center; /* 同时实现水平和垂直居中 */ height: 100vh; /* 使容器高度为视口高度,以便观察居中效果 */ border: 1px solid #000; /* 边框用于可视化容器 */ } .content { /* 子元素的样式,可根据需要调整 */ padding: 20px;

vue读取全局配置

创建全局配置文件public/static/config.js window.config = { androidUrl:"https://Android-arm64.apk", googleplayUrl:"#", appsoreUrl:"#", windowsUrl:"#", macUrl:"#", } 在index.html中引入js <head> <script type="module" src="/static/config.js"></script> </head> 在需要的vue中可以直接使用 <script setup> import { ref } from 'vue'; let downUrls = ref(window.config) console.log(downUrls.androidUrl); </script> <div class="download-icon"> <a :href="`${downUrls.appsoreUrl}`" > <img src="../../assets/images/down_appstore.svg" alt=""> </a> <a :href="`${downUrls.googleplayUrl}`" > <img src="../../assets/images/down_googleplay.svg" alt=""> </a> <a :href="`${downUrls.androidUrl}`" > <img src="../../assets/images/down_android.svg" alt=""> </a> <a :href="`${downUrls.windowsUrl}`" > <img src="../../assets/images/down_windows.svg" alt=""> </a> <a :href="`${downUrls.macUrl}`" > <img src="../../assets/images/down_mac.svg" alt=""> </a> </div> 或 <div class="footer-right"> <ul> <li v-for="(v, i) in footerlist" :key="i"> <p>{{ v.title }}</p> <div v-for="(item, j) in v.list" :key="j" @click="clickFoot(i,j)">{{ item.label }}</div> </li> </ul> </div> export default { setup() { const footerlist = ref( }, }, methods: { scrollToElement(refID) { // this.$nextTick(() => { // const element = document.getElementById("service"); // console.log(element); // this.$refs.service.$el.scrollIntoView({ behavior: 'smooth' }); // }); let time=setTimeout(()=>{ this.$nextTick(()=>{ let top=0; let targetElement=document.getElementById(refID); if(targetElement){ // 获取元素距离顶部的距离 top=targetElement.offsetTop; } if(top>0){ // 滚动到指定位置 window.scrollTo({ top: top, behavior: 'smooth' }); } clearTimeout(time); time=null; }) },300); }, clickFoot(i,j) { let clickData = this.footerlist.list; //type,1:打开新的连接,2:跳转到页内指定位置,3:跳转网站内路由页面 switch(clickData.type){ case 1: if( clickData.data && clickData.data != "" ){ window.open(clickData.data, '_blank'); } break; case 2: this.scrollToElement(clickData.data); break; case 3: this.$router.push(clickData.data); window.scrollTo(0, 0);