国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
2. 製品管理インターフェースの実裝
3、商品管理接口的測試
ホームページ WeChat アプレット WeChatの開発 C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。

C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。

Mar 01, 2017 am 10:51 AM

1. 商品管理インターフェースの定義

前回の記事では、以下に示す WeChat ストアのオブジェクト モデルを紹介しました。

C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。

このグラフィックは基本的に WeChat ストアの関連オブジェクトをカバーし、それらの間の関係を紹介します。

基本的な製品情報(bào)の管理から始めます。以下に示すように、製品インターフェイスには追加、変更、クエリ、削除などのインターフェイスが含まれていることがわかります。

C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。

商品情報(bào)はすべての小規(guī)模店舗の基盤であるため、その管理業(yè)務(wù)をより明確かつ完全にする必要があります。

上記の機(jī)能を要約すると、WeChat 製品のインターフェースは次のように定義できます。

#region?商品信息
????????///?<summary>
????????///?創(chuàng)建商品
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>商品對象
????????///?<returns></returns>
????????AddMerchantResult?AddMerchant(string?accessToken,?MerchantJson?merchantJson);

????????///?<summary>
????????///?刪除商品
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>商品ID
????????///?<returns></returns>
????????CommonResult?DeleteMerchant(string?accessToken,?string?productId);

????????///?<summary>
????????///?修改商品
????????///?product_id表示要更新的商品的ID,其他字段說明請參考增加商品接口。
????????///?從未上架的商品所有信息均可修改,否則商品的名稱(name)、商品分類(category)、商品屬性(property)這三個字段不可修改。
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>修改商品的信息
????????///?<returns></returns>
????????CommonResult?UpdateMerchant(string?accessToken,?MerchantJson?merchantJson);

????????///?<summary>
????????///?根據(jù)ID查詢商品信息,如果成功返回MerchantJson信息,否則返回null
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>商品的Id
????????///?<returns></returns>
????????MerchantJson?GetMerchant(string?accessToken,?string?productId);

????????///?<summary>
????????///?獲取指定狀態(tài)的所有商品
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>商品狀態(tài)(0-全部,?1-上架,?2-下架)
????????///?<returns></returns>
????????List<merchantjson>?GetMerchantByStatus(string?accessToken,?int?status);

????????///?<summary>
????????///?商品上下架
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>商品上下架標(biāo)識(0-下架,?1-上架)
????????///?<returns></returns>
????????CommonResult?UpdateMerchantStatus(string?accessToken,?string?productId,?int?status);?

????????#endregion</merchantjson>

もちろん、WeChat 製品にはカテゴリ、カテゴリ屬性、カテゴリ SKU の基本的な管理も含まれているため、製品管理にもこのコンテンツを追加する必要があります

C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。

それらの機(jī)能インターフェイスの定義は次のとおりです。次のインターフェイスを通じて、製品分類 (製品グループ化ではありません)、SKU 情報(bào)、分類屬性などの情報(bào)を簡単に取得できます。

#region?商品分類及屬性
????????///?<summary>
????????///?獲取指定分類的所有子分類
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>大分類ID(根節(jié)點(diǎn)分類id為1)
????????///?<returns></returns>
????????List<subcategory>?GetSub(string?accessToken,?int?cate_id);

????????///?<summary>
????????///?獲取指定子分類的所有SKU
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>商品子分類ID
????????///?<returns></returns>
????????List<subcategorysku>?GetSku(string?accessToken,?int?cate_id);

????????///?<summary>
????????///?獲取指定分類的所有屬性
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>分類ID
????????///?<returns></returns>
????????List<subcategoryproperty>?GetProperty(string?accessToken,?int?cate_id);?

????????#endregion</subcategoryproperty></subcategorysku></subcategory>

2. 製品管理インターフェースの実裝

上記のインターフェースは、対応する製品のインターフェースを定義します。

インターフェースの実裝については、通常、公式Webサイトのインターフェースの説明に従ってURLにデータを送信し、データをPOSTし、それを通常の処理メソッドに整理し、結(jié)果を取得して対応するものに変換します。積演算の追加の実裝コードは次のとおりです。

///?<summary>
????????///?創(chuàng)建商品
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>商品對象
????????///?<returns></returns>
????????public?AddMerchantResult?AddMerchant(string?accessToken,?MerchantJson?merchantJson)
????????{
????????????var?url?=?string.Format("https://api.weixin.qq.com/merchant/create?access_token={0}",?accessToken);
????????????string?postData?=?merchantJson.ToJson();

????????????return?JsonHelper<addmerchantresult>.ConvertJson(url,?postData);
????????}</addmerchantresult>

そして結(jié)果を返す、これは以下に示すように、追加された商品やその他のコンテンツのIDを取得するオブジェクトを定義します。

///&lt; summary&gt; { get; set; 正常に作成された ID が返されたので、特定の製品情報(bào)を照會したり、変更や削除などの操作を?qū)g行したりできます。 

製品情報(bào)の変更または削除は、成功のレコードを返すだけでよいため、統(tǒng)一応答オブジェクト CommonResult を定義します。製品の変更?削除用のインターフェース実裝コードは以下のとおりです。

コードを高度に改良して整理したので、各種処理コードが比較的理解しやすくなっています。


///?<summary>
????///?微信返回Json結(jié)果的錯誤數(shù)據(jù)
????///?</summary>
????public?class?ErrorJsonResult?
????{
????????///?<summary>
????????///?返回代碼
????????///?</summary>
????????public?ReturnCode?errcode?{?get;?set;?}

????????///?<summary>
????????///?錯誤消息
????????///?</summary>
????????public?string?errmsg?{?get;?set;?}
????}


商品の詳細(xì)情報(bào)を取得するには、取得した情報(bào)を使いやすく処理しやすいエンティティクラス情報(bào)に変換できるように、商品のエンティティオブジェクトを定義する必要があります。

製品情報(bào)には、製品の各部分のコンテンツを構(gòu)成する多數(shù)の小さな定義されたクラスが含まれています。主なエンティティ クラス情報(bào)は次のとおりです。

比較的複雑な製品情報(bào)エンティティを定義した後、オブジェクトを通じてそれを処理できます。

商品詳細(xì)を取得するための実裝コードは以下の通りです。

///?<summary>
????????///?刪除商品
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>商品ID
????????///?<returns></returns>
????????public?CommonResult?DeleteMerchant(string?accessToken,?string?productId)
????????{
????????????var?url?=?string.Format("https://api.weixin.qq.com/merchant/del?access_token={0}",?accessToken);
????????????var?data?=?new
????????????{
????????????????product_id?=?productId
????????????};
????????????string?postData?=?data.ToJson();

????????????return?Helper.GetExecuteResult(url,?postData);
????????}

????????///?<summary>
????????///?修改商品
????????///?product_id表示要更新的商品的ID,其他字段說明請參考增加商品接口。
????????///?從未上架的商品所有信息均可修改,否則商品的名稱(name)、商品分類(category)、商品屬性(property)這三個字段不可修改。
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>修改商品的信息
????????///?<returns></returns>
????????public?CommonResult?UpdateMerchant(string?accessToken,?MerchantJson?merchantJson)
????????{
????????????var?url?=?string.Format("https://api.weixin.qq.com/merchant/update?access_token={0}",?accessToken);
????????????string?postData?=?merchantJson.ToJson();

????????????return?Helper.GetExecuteResult(url,?postData);
????????}

プロダクトのエンティティ情報(bào)は非常に複雑ですが、一度定義すれば、結(jié)果を変換して処理するのは簡単です。主なことは、上記のコードを理解することです。データを送信した後のデータ。

もちろん、次のコードに示すように、さまざまな狀態(tài)の製品リストのコンテンツを取得することもできます。

????????///?<summary>
????????///?根據(jù)ID查詢商品信息,如果成功返回MerchantJson信息,否則返回null????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>商品的Id
????????///?<returns></returns>
????????public?MerchantJson?GetMerchant(string?accessToken,?string?productId)
????????{????????????var?url?=?string.Format("http://www.miracleart.cn/{0}",?accessToken);????????????var?data?=?new
????????????{
????????????????product_id?=?productId
????????????};????????????string?postData?=?data.ToJson();

????????????MerchantJson?merchant?=?null;
????????????GetMerchantResult?result?=?JsonHelper<getmerchantresult>.ConvertJson(url,?postData);????????????if?(result?!=?null)
????????????{
????????????????merchant?=?result.product_info;
????????????}????????????return?merchant;
????????}</getmerchantresult>
C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。

商品を追加する場合、商品のカテゴリー情報(bào)、カテゴリー屬性、カテゴリー SKU 情報(bào)も非常に重要です。WeChat ストアに追加する前に、対応する商品カテゴリーを指定する必要があります。

獲取商品分類的操作實(shí)現(xiàn)代碼如下所示。

///?<summary>
????????///?獲取指定分類的所有子分類
????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>大分類ID(根節(jié)點(diǎn)分類id為1)
????????///?<returns></returns>
????????public?List<subcategory>?GetSub(string?accessToken,?int?cate_id)
????????{
????????????var?url?=?string.Format("https://api.weixin.qq.com/merchant/category/getsub?access_token={0}",?accessToken);
????????????var?data?=?new
????????????{
????????????????cate_id?=?cate_id
????????????};
????????????string?postData?=?data.ToJson();

????????????List<subcategory>?list?=?new?List<subcategory>();
????????????GetSubResult?result?=?JsonHelper<getsubresult>.ConvertJson(url,?postData);
????????????if(result?!=?null)
????????????{
????????????????list?=?result.cate_list;
????????????}
????????????return?list;
????????}</getsubresult></subcategory></subcategory></subcategory>

?

3、商品管理接口的測試

為了驗(yàn)證我們開發(fā)的接口,我們需要增加一個測試項(xiàng)目,方便對我們編寫的API進(jìn)行測試,測試完全成功后,我們才能正式在項(xiàng)目中使用。

我為了方便,創(chuàng)建了一個Winform項(xiàng)目,分別對各個接口進(jìn)行測試。

C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。

本篇主要介紹商品管理方面的接口,因此下面主要介紹其中商品管理部分的接口測試代碼,以及對應(yīng)的結(jié)果。

其中商品常規(guī)管理的接口測試代碼如下所示。

private?void?btnMerchant_Click(object?sender,?EventArgs?e)
????????{
????????????//商品管理
????????????IMerchantApi?api?=?new?MerchantApi();

????????????//獲取所有商品信息
????????????Console.WriteLine("獲取所有商品信息");
????????????List<merchantjson>?list?=?api.GetMerchantByStatus(token,?0);
????????????foreach(MerchantJson?json?in?list)
????????????{
????????????????Console.WriteLine(json.ToJson());
????????????????Console.WriteLine();
????????????}

????????????//更新商品狀態(tài)
????????????Console.WriteLine("更新商品狀態(tài)");
????????????foreach?(MerchantJson?json?in?list)
????????????{
????????????????CommonResult?result?=?api.UpdateMerchantStatus(token,?json.product_id,?1);
????????????????Console.WriteLine("商品ID:{0},商品名稱:{1},?操作:{2}",?
????????????????????json.product_id,?json.product_base.name,?result.Success???"成功"?:?"失敗");
????????????}

????????????Thread.Sleep(1000);
????????????//根據(jù)商品ID獲取商品信息
????????????Console.WriteLine("根據(jù)商品ID獲取商品信息");
????????????foreach?(MerchantJson?json?in?list)
????????????{
????????????????MerchantJson?getJson?=?api.GetMerchant(token,?json.product_id);
????????????????if(json?!=?null)
????????????????{
????????????????????Console.WriteLine("商品ID:{0},商品名稱:{1}",?getJson.product_id,?getJson.product_base.name);
????????????????}
????????????}
????????}</merchantjson>

測試后結(jié)果如下所示(就是返回我微店鋪里面的商品信息),一切正常。

返回的商品Json數(shù)據(jù)如下所示:

{
??"product_id":?"pSiLnt6FYDuFtrRRPMlkdKbye-rE",
??"product_base":?{
????"category_id":?[
??????"537103312"
????],
????"property":?[
??????{
????????"id":?"類型",
????????"vid":?"軟件產(chǎn)品設(shè)計(jì)"
??????}
????],
????"name":?"代碼生成工具Database2Sharp",
????"sku_info":?[],
????"main_img":?"http://mmbiz.qpic.cn/mmbiz/mLqH9gr11Gyb2sgiaelcsxYtQENGePp0Rb3AZKbjkicnKTUNBrEdo7Dyic97ar46SoAfKRB5x2R94bDUdNpgqiaZzA/0",
????"img":?[
??????"http://mmbiz.qpic.cn/mmbiz/mLqH9gr11Gyb2sgiaelcsxYtQENGePp0RiaheJmVXm7tbvTYUQV7OF3DgfGiaQVMh3WbeEcGDOQQiajQXGKK9tfoeA/0"
????],
????"detail":?[],
????"buy_limit":?0,
????"detail_html":?""
??},
??"sku_list":?[
????{
??????"sku_id":?"",
??????"ori_price":?100000,
??????"price":?50000,
??????"icon_url":?"",
??????"quantity":?1100,
??????"product_code":?""
????}
??],
??"attrext":?{
????"location":?{
??????"country":?"中國",
??????"province":?"廣東",
??????"city":?"廣州",
??????"address":?""
????},
????"isPostFree":?1,
????"isHasReceipt":?0,
????"isUnderGuaranty":?0,
????"isSupportReplace":?0
??},
??"delivery_info":?{
????"delivery_type":?0,
????"template_id":?175807970,
????"express":?[
??????{
????????"id":?10000027,
????????"price":?0
??????},
??????{
????????"id":?10000028,
????????"price":?0
??????},
??????{
????????"id":?10000029,
????????"price":?0
??????}
????]
??},
??"status":?1
}

測試的部分結(jié)果輸出如下所示。

C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。

另外,“商品維護(hù)管理”的功能測試主要就是測試商品的增加、修改、刪除操作,具體代碼如下所示。

private?void?btnMerchantEdit_Click(object?sender,?EventArgs?e)
????????{
????????????IMerchantApi?api?=?new?MerchantApi();
????????????string?img1?=?"http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjD3ulEKogfsiaua49pvLfUS8Ym0GSYjViaLic0FD3vN0V8PILcibEGb2fPfEOmw/0";
????????????string?img2?=?"http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjD3ul1UcLcwxrFdwTKYhH9Q5YZoCfX4Ncx655ZK6ibnlibCCErbKQtReySaVA/0";
????????????string?img3?=?"http://mmbiz.qpic.cn/mmbiz/4whpV1VZl28bJj62XgfHPibY3ORKicN1oJ4CcoIr4BMbfA8LqyyjzOZzqrOGz3f5KWq1QGP3fo6TOTSYD3TBQjuw/0";

????????????//商品增刪改處理
????????????MerchantJson?merchant?=?new?MerchantJson();
????????????merchant.product_base?=?new?Merchant_base();
????????????merchant.product_base.name?=?"測試產(chǎn)品";
????????????merchant.product_base.category_id.Add("537074298");
????????????merchant.product_base.img?=?new?List<string>()?{?img1,?img2,?img3?};
????????????merchant.product_base.main_img?=?img1;
????????????merchant.product_base.detail.AddRange(new?List<merchantdetail>()?{
????????????????????new?MerchantDetail()
????????????????????{
????????????????????????text?=?"test?first"
????????????????????},
????????????????????new?MerchantDetail()
????????????????????{
????????????????????????img?=?img2
????????????????????},?new?MerchantDetail()
????????????????????{
????????????????????????text?=?"test?again"
????????????????????}
????????????});
????????????merchant.product_base.property.AddRange(new?List<merchantproperty>(){
????????????????new?MerchantProperty
????????????????{
????????????????????id=?"1075741879",
????????????????????vid="1079749967"
????????????????},
????????????????new?MerchantProperty{
????????????????????id=?"1075754127",
????????????????????vid=?"1079795198"
????????????????},
????????????????new?MerchantProperty(){
????????????????????id=?"1075777334",
????????????????????vid=?"1079837440"
????????????????}
????????????});
????????????merchant.product_base.sku_info.AddRange(new?List<merchantsku>(){
????????????????new?MerchantSku{
????????????????????id=??"1075741873",
????????????????????vid?=?new?List<string>()?{
????????????????????????"1079742386",
????????????????????????"1079742363"
????????????????????}
????????????????}
????????????});
????????????merchant.product_base.buy_limit?=?10;
????????????//merchant.product_base.detail_html?=?"<div><img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/013/e15f9625115203e4434fdbad670bb402-8.png" class="lazy" alt="C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。" ></div>
<p>test</p>
<div><img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/013/e15f9625115203e4434fdbad670bb402-8.png" class="lazy" alt="C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。" ></div>
<p>test?again</p>";
????????????merchant.sku_list.AddRange(new?List<merchantsku_list>()
????????????{
????????????????new?MerchantSku_list(){
????????????????sku_id="1075741873:1079742386",
????????????????price=30,
????????????????icon_url="http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjD3ulEKogfsiaua49pvLfUS8Ym0GSYjViaLic0FD3vN0V8PILcibEGb2fPfEOmw/0",
????????????????quantity=800,
????????????????product_code="testing",
????????????????ori_price=9000000
????????????????},
????????????????new?MerchantSku_list(){
????????????????????sku_id="1075741873:1079742363",
????????????????????price=30,
????????????????????icon_url="http://mmbiz.qpic.cn/mmbiz/4whpV1VZl28bJj62XgfHPibY3ORKicN1oJ4CcoIr4BMbfA8LqyyjzOZzqrOGz3f5KWq1QGP3fo6TOTSYD3TBQjuw/0",
????????????????????quantity=800,
????????????????????product_code="testingtesting",
????????????????????ori_price=9000000
????????????????}
????????????});
????????????merchant.attrext?=?new?MerchantAttrext()
????????????{
????????????????location?=?new?MerchantLocation()
????????????????{
????????????????????country?=?"中國",
????????????????????province?=?"廣東省",
????????????????????city?=?"廣州市",
????????????????????address?=?"T.I.T創(chuàng)意園"
????????????????},
????????????????isPostFree?=?0,
????????????????isHasReceipt?=?1,
????????????????isUnderGuaranty?=?0,
????????????????isSupportReplace?=?0
????????????};
????????????merchant.delivery_info?=?new?MerchantDelivery()
????????????{
????????????????delivery_type?=?0,
????????????????template_id?=?0,
????????????????express?=?new?List<merchantexpress>(){
????????????????new?MerchantExpress()?{
????????????????????id=10000027,?
????????????????????price=100
????????????????},?
????????????????new?MerchantExpress(){
????????????????????id=10000028,?
????????????????????price=100
????????????????},?
????????????????new?MerchantExpress(){
????????????????????id=10000029,?
????????????????????price=100
????????????????}}
????????????};

????????????Console.WriteLine(merchant.ToJson());

????????????AddMerchantResult?result?=?api.AddMerchant(token,?merchant);
????????????Console.WriteLine("添加商品:{0}",?result.product_id);
????????????if?(!string.IsNullOrEmpty(result.product_id))
????????????{
????????????????//更新商品
????????????????merchant.product_id?=?result.product_id;
????????????????merchant.product_base.name?=?"測試產(chǎn)品22";
????????????????CommonResult?updateResult?=?api.UpdateMerchant(token,?merchant);
????????????????Console.WriteLine("更新商品:{0}",?updateResult.Success???"成功"?:?"失敗");


????????????????CommonResult?deleteResult?=?api.DeleteMerchant(token,?merchant.product_id);
????????????????Console.WriteLine("刪除商品:{0}",?deleteResult.Success???"成功"?:?"失敗");
????????????}
????????}</merchantexpress></merchantsku_list></string></merchantsku></merchantproperty></merchantdetail></string>

測試的輸出結(jié)果如下所示(一切成功)。

C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。

以上就是我對商品管理接口的API定義和實(shí)現(xiàn),以及對接口進(jìn)行測試的闡述,基本上把所有相關(guān)的內(nèi)容都貼出來了,希望大家能夠?qū)ξ⒌觊_發(fā)部分,有更深入的了解和認(rèn)識。

?更多C# は WeChat ポータルを開発し、WeChat ストアの製品管理インターフェイスのカプセル化とテストを適用します。相關(guān)文章請關(guān)注PHP中文網(wǎng)!

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)