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

学做西餐的网站wordpress美图模板

学做西餐的网站,wordpress美图模板,怎样把自己的网站进行推广,莆田seo外包公司首发于Enaium的个人博客 在上一篇文章中#xff0c;我们已经建立了资源模型#xff0c;接下来我们需要解析游戏的配置文件。 首先我们添加serde_json依赖和model依赖。 model { path ../model } serde_json 1.0之后我们在lib.rs中添加解析的tra…首发于Enaium的个人博客 在上一篇文章中我们已经建立了资源模型接下来我们需要解析游戏的配置文件。 首先我们添加serde_json依赖和model依赖。 model { path ../model } serde_json 1.0之后我们在lib.rs中添加解析的trait。 pub trait ParseT: Sized {type Error;fn parse(value: T) - ResultSelf, Self::Error; }之后将所有的model都实现这个trait并测试它们。这里其实只用将需要手动解析的实现这个trait其他的会在我们用reqwest下载的时候自动解析。 asset.rs use model::asset::*;use crate::Parse;impl Parsestr for AssetIndex {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::AssetIndex(value)} }impl Parsestr for Index {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Index(value)} }impl Parsestr for Object {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Object(value)} }#[cfg(test)] mod tests {use super::*;#[test]fn test_asset_index() {let asset_index AssetIndex::parse(r#{id: 17, sha1: fab15439bdef669e389e25e815eee8f1b2aa915e, size: 447033, totalSize: 799252591, url: https://piston-meta.mojang.com/v1/packages/fab15439bdef669e389e25e815eee8f1b2aa915e/17.json}#).unwrap_or_else(|err| panic!({:?},err));assert_eq!(17, asset_index.id);assert_eq!(fab15439bdef669e389e25e815eee8f1b2aa915e, asset_index.sha1);assert_eq!(447033, asset_index.size);assert_eq!(799252591, asset_index.total_size);assert_eq!(https://piston-meta.mojang.com/v1/packages/fab15439bdef669e389e25e815eee8f1b2aa915e/17.json, asset_index.url);}#[test]fn test_index() {let index Index::parse(r#{objects: {icons/icon_128x128.png: {hash: b62ca8ec10d07e6bf5ac8dae0c8c1d2e6a1e3356, size: 9101}}}#).unwrap_or_else(|err| panic!({:?},err));assert_eq!(1, index.objects.len());assert_eq!(b62ca8ec10d07e6bf5ac8dae0c8c1d2e6a1e3356,index.objects.get(icons/icon_128x128.png).unwrap().hash);assert_eq!(9101,index.objects.get(icons/icon_128x128.png).unwrap().size);} }library.rs use model::library::*;use crate::Parse;impl Parsestr for Library {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Library(value)} }impl Parsestr for Rule {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Rule(value)} }impl Parsestr for Os {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Os(value)} }impl Parsestr for Download {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Download(value)} }impl Parsestr for Artifact {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Artifact(value)} }#[cfg(test)] mod tests {use super::*;#[test]fn test_library() {let library Library::parse(r#{downloads: {artifact: {path: ca/weblite/java-objc-bridge/1.1/java-objc-bridge-1.1.jar, sha1: 1227f9e0666314f9de41477e3ec277e542ed7f7b, size: 1330045, url: https://libraries.minecraft.net/ca/weblite/java-objc-bridge/1.1/java-objc-bridge-1.1.jar}}, name: ca.weblite:java-objc-bridge:1.1, rules: [{action: allow, os: {name: osx}}]}#,).unwrap_or_else(|err| panic!({:?},err));assert_eq!(ca.weblite:java-objc-bridge:1.1, library.name);assert_eq!(ca/weblite/java-objc-bridge/1.1/java-objc-bridge-1.1.jar,library.downloads.artifact.path);assert_eq!(1227f9e0666314f9de41477e3ec277e542ed7f7b,library.downloads.artifact.sha1);assert_eq!(1330045, library.downloads.artifact.size);assert_eq!(https://libraries.minecraft.net/ca/weblite/java-objc-bridge/1.1/java-objc-bridge-1.1.jar,library.downloads.artifact.url);let rules library.rules.unwrap();assert_eq!(allow, rules[0].action);assert_eq!(osx, rules[0].os.name);} }version_manifest.rs use model::version_manifest::*;use crate::Parse;impl Parsestr for VersionManifest {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::VersionManifest(value)} }impl Parsestr for Latest {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Latest(value)} }impl Parsestr for Version {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Version(value)} }#[cfg(test)] mod tests {use super::*;#[test]fn test_version() {let version Version::parse(r#{id: 1.21, type: release, url: https://piston-meta.mojang.com/v1/packages/177e49d3233cb6eac42f0495c0a48e719870c2ae/1.21.json, time: 2024-06-13T08:32:3800:00, releaseTime: 2024-06-13T08:24:0300:00}#,).unwrap_or_else(|err| panic!({:?},err));assert_eq!(1.21, version.id);assert_eq!(release, version.type_);assert_eq!(https://piston-meta.mojang.com/v1/packages/177e49d3233cb6eac42f0495c0a48e719870c2ae/1.21.json, version.url);assert_eq!(2024-06-13T08:32:3800:00, version.time);assert_eq!(2024-06-13T08:24:0300:00, version.release_time);}#[test]fn test_latest() {let latest Latest::parse(r#{release: 1.21, snapshot: 1.21}#).unwrap_or_else(|err| panic!({:?}, err));assert_eq!(1.21, latest.release);assert_eq!(1.21, latest.snapshot);}#[test]fn test_version_manifest() {let version_manifest VersionManifest::parse(r#{latest: {release: 1.21, snapshot: 1.21}, versions: [{id: 1.21, type: release, url: https://piston-meta.mojang.com/v1/packages/177e49d3233cb6eac42f0495c0a48e719870c2ae/1.21.json, time: 2024-06-13T08:32:3800:00, releaseTime: 2024-06-13T08:24:0300:00}]}#).unwrap_or_else(|err| panic!({:?}, err));assert_eq!(1.21, version_manifest.latest.release);assert_eq!(1.21, version_manifest.latest.snapshot);assert_eq!(1.21, version_manifest.versions[0].id);assert_eq!(release, version_manifest.versions[0].type_);assert_eq!(https://piston-meta.mojang.com/v1/packages/177e49d3233cb6eac42f0495c0a48e719870c2ae/1.21.json, version_manifest.versions[0].url);assert_eq!(2024-06-13T08:32:3800:00,version_manifest.versions[0].time);assert_eq!(2024-06-13T08:24:0300:00,version_manifest.versions[0].release_time);} }version.rs use crate::Parse; use model::version::*;impl Parsestr for Version {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Version(value)} }impl Parsestr for Download {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Download(value)} }impl Parsestr for Client {type Error serde_json::Error;fn parse(value: str) - ResultSelf, Self::Error {serde_json::from_str::Client(value)} }#[cfg(test)] mod tests {use super::*;#[test]fn test_version() {let game Version::parse(r#{downloads: {client: {sha1: 0e9a07b9bb3390602f977073aa12884a4ce12431, size: 26836080, url: https://piston-data.mojang.com/v1/objects/0e9a07b9bb3390602f977073aa12884a4ce12431/client.jar}}, id: 1.21, libraries: [], mainClass: net.minecraft.client.main.Main, releaseTime: 2024-06-13T08:24:0300:00, time: 2024-06-13T08:32:3800:00, type: release}#,).unwrap_or_else(|err| panic!({:?},err));let client game.downloads.client;assert_eq!(0e9a07b9bb3390602f977073aa12884a4ce12431, client.sha1);assert_eq!(26836080, client.size);assert_eq!(https://piston-data.mojang.com/v1/objects/0e9a07b9bb3390602f977073aa12884a4ce12431/client.jar, client.url);assert_eq!(1.21, game.id);assert_eq!(net.minecraft.client.main.Main, game.main_class);assert_eq!(2024-06-13T08:24:0300:00, game.release_time);assert_eq!(2024-06-13T08:32:3800:00, game.time);assert_eq!(release, game.type_);} }最后我们将这些tait导出。 pub mod asset; pub mod library; pub mod version; pub mod version_manifest;项目地址
http://www.w-s-a.com/news/396995/

相关文章:

  • 网络公司网站图片网站建立好了自己怎么做优化
  • 云主机是不是可以搭建无数个网站百度快速seo优化
  • 房地产怎么做网站推广建立音乐网站
  • 川畅科技联系 网站设计网站开发的教学视频
  • 为什么学网站开发凡科登陆
  • 设计师常备设计网站大全中山精品网站建设信息
  • 杭州建设工程网seo服务是什么
  • 兼职做问卷调查的网站wordpress mysql设置
  • 怎么在百度上能搜到自己的网站山西seo谷歌关键词优化工具
  • 网站搭建免费模板飞鱼crm下载
  • 网站开发竞品分析app制作公司深圳
  • 网站建设ssc源码修复设计班级网站建设
  • 网站重定向凡科做网站不要钱
  • 佛山html5网站建设微信营销软件破解版
  • 网站单页做301南京百度推广
  • 私人做网站要多少钱展芒设计网页
  • 怎样网站制作设计如何在网上推广农产品
  • 做关键词排名卖网站聚名网
  • 吉林省住房城乡建设厅网站首页体育器材网站建设方案
  • 网站建设及维护专业手机金融界网站
  • 常州网站建设工作室建立网站有怎么用途
  • 如何盗取网站推广策划书模板
  • 游戏网站建设计划书网络开发需要学什么
  • 手机网站维护费网站开发包括网站过程
  • 懂做游戏钓鱼网站的网站建设技术的发展
  • 网站被百度收录百度一下你就知道 官网
  • 雅客网站建设做网站用什么做
  • 做宣传海报网站专业网站设计速寻亿企邦
  • 秦皇岛市住房和城乡建设局网站有关网站开发的参考文献
  • 晋城城乡建设局网站深圳外贸业务员工资