日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET架构小技巧(4)——反射,架构人员法宝II

發布時間:2023/12/4 asp.net 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET架构小技巧(4)——反射,架构人员法宝II 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一篇博文中,利用屬性反射的特點,用兩個方法完成了字符轉實體,實體轉字符的工作,但有些復雜的場景,上面方法就沒那么好用了,就需要更復雜的方式來組裝處理。

先來看一個接口文檔,下面是接口的調用方式

long OltpTransData(unsigned long msgType,unsigned long packageType,unsigned?long?packageLength,char?*str,LPTSTR?com);

I.msgType:業務請求類型;

II.packageType:數據解析格式類型,系統重組數據時使用

III.packageLength:數據串的長度;

IV.?str:數據串;調用時,通過數據串傳入參數;函數返回時,數據串中包含返回的數據,數據按字符串方式組合,并且在字符串第一位保留一個空格;另外,除了16位日期右補空格,其他的字段均以左空格補位

V.?com:數據請求串口

業務請求類型

數據解析格式類型

數據串最小長度

說明

1001

101

126

實時驗卡(讀卡、驗卡)

1002

12

610

實時結算

1003

7

291

實時明細數據傳輸

1004

9

253

實時住院登記數據傳輸

1005

8

309

實時醫囑數據傳輸

1006

12

610

實時結算預算

1007

2

1101

實時住院首次病程記錄傳輸

1009

504

85

醫師信息查詢

1010

510

331

出入院標準傳輸

讀卡

序號

定義

數據原型

起始位置

數據長度

備注

數據填充

1

個人編號

CHAR

1

8

醫保編號,以’E’開頭的為異地社保卡,詳見說明

院端

2

姓名

CHAR

9

20


中心

3

身份證號

CHAR

29

18

18位或15位

中心

4

IC卡號

CHAR

47

9


院端

5

治療序號

NUM

56

4


中心

6

職工就醫類別

CHAR

60

1

A在職、B退休、L事業離休、T特診、Q企業離休、E退老、N農民工、X未成年居民、O老年居民(老年居民、低收入人員、殘疾人)、D低保人員、S ?三無人員、U 大學生

中心

7

基本個人帳戶余額

NUM

61

10


中心

8

補助個人帳戶余額

NUM

71

10

現用于公務員單獨列帳

中心

9

統籌累計

NUM

81

10


中心

10

門診慢病統籌累計

NUM

91

10


中心

11

月繳費基數

NUM

101

10

月繳費工資

中心

12

帳戶狀態

CHAR

111

1

A正常、B半止付、C全止付、D銷戶

中心

13

參保類別1

CHAR

112

1

是否享受高額:

0 不享受高額、1 ?享受高額、2 醫療保險不可用

中心

14

參保類別2

CHAR

113

1

是否享受補助(商業補助、公務員補助):0 ?不享受、1 商業、2 ?公務員、3事業離休差額撥款人員

中心

15

參保類別3

CHAR

114

1

0 企保、1 事保、2企業慢病、3事業慢病、4異地就醫,詳見說明

中心

16

參保類別4

CHAR

115

1

0或2生育不可用、1或3生育可用

中心

17

參保類別5

CHAR

116

1

0工傷不可用、1工傷可用

中心

18

住院次數累計

NUM

117

4


中心

19

家床次數累計

NUM

121

4


中心

查詢醫師

序號

定義

數據原型

起始位置

數據長度

備注

填寫方式

1

醫師編碼

CHAR

1

8


院端

2

醫師姓名

CHAR

9

20


中心

3

身份證號

CHAR

29

18


中心

4

可出診醫院編號

CHAR

47

20

詳見說明

中心

5

終止日期

DATETIME

67

16

YYYYMMDDHHMMSS

中心

6

有效標志

CHAR

83

1

‘0’無效,‘1’有效

中心

這個接口是拼接方式,每個數據項都有固定的長度,有些數據也有固定的格式,比如日期,還有很多類型,都是有固定值固定含義的。這種情況下需要更多的信息來告訴兩個轉換方法該怎么轉換,這里就引出了Attribute——一個專門來給類或屬性方法加特征的知識點。

/// <summary>/// 發送報文類型/// </summary>[AttributeUsage(AttributeTargets.Class)]public class PackageTypeAttribute : Attribute{/// <summary>/// 發關報文實體類屬性特性類/// </summary>/// <param name="SN">屬性的序號,從1開始</param>/// <param name="Length">屬性轉成字符串后長度</param>public PackageTypeAttribute(uint OperationType, uint DataFormaterType, uint MinLength){this.OperationType = OperationType;this.DataFormaterType = DataFormaterType;this.MinLength = MinLength;}/// <summary>/// 業務請求類型/// </summary>public uint OperationType{ get; private set; }/// <summary>/// 數據解析格式類型/// </summary>public uint DataFormaterType{ get; private set; }/// <summary>/// 數據串最小長度/// </summary>public uint MinLength{ get; private set; }}/// <summary>/// 報文中屬性的順序SN和長度Length/// </summary>[AttributeUsage(AttributeTargets.Property)]public class PackageAttribute : Attribute{/// <summary>/// 序號,從1開始/// </summary>public int SN{ get; private set; }/// <summary>/// 轉成字符串后的長度/// </summary>public int Length{ get; private set; }/// <summary>/// 發關報文實體類屬性特性類/// </summary>/// <param name="SN">屬性的序號,從1開始</param>/// <param name="Length">屬性轉成字符串后長度</param>public PackageAttribute(int SN, int Length){this.SN = SN;this.Length = Length;}/// <summary>/// 是否是時間類型,因為時間類型是左對齊,右補空格/// </summary>public bool IsDateTime{ get; set; }}/// <summary>/// 取枚舉的值還是/// </summary>[AttributeUsage(AttributeTargets.Enum)]public class EnumValeuNumberAttribute : Attribute{/// <summary>/// 是否把枚舉類型屬性的的值數轉成Char類型/// </summary>public bool IsChar{ get; set; }}

定義了三個特性類,PackageTypeAttribute主用來區分不同的交易類型,從實體類上獲取不同交易的函數參數;PackageAttribute是在實體類的屬性上的,是核心特性類,它標記了屬性的序號,和每個屬性的長度,和屬性是否是DateTime類型;EnumValeuNumberAttribute是用來專門處理枚舉類型的屬性的。

/// <summary>/// 醫師信息查詢/// </summary>[PackageType(1009, 504, 85)]public class DoctorQuery : Entity{/// <summary>/// 醫師編碼/// </summary>[Package(1, 8)]public virtual String DoctorCode{get; set;}/// <summary>/// 醫師姓名/// </summary>[Package(2, 20)]public virtual String DoctorName{ get; set; }/// <summary>/// 身份證號/// </summary>[Package(3, 18)]public virtual string PersonID{ get; set; }///編號為0002的醫院, 下屬有編號為0113的定點, 在總院注冊登記的醫師可以在這樣的2家醫院出診, 則“可出診醫院編號”為00020113,若長度不足20位則前補空格。/// <summary>/// 可出診醫院編號/// </summary>[Package(4, 20)]public virtual string CanVisitHospitalCode{ get; set; }/// <summary>/// 終止日期/// </summary>[Package(5, 16, IsDateTime = true)]public virtual string TerminationTime{ get; set; }/// <summary>/// 有效標志/// </summary>[Package(6, 1)]public virtual DLYBAvailableMarker DLYBAvailableMarker{ get; set; }}/// <summary>/// 有效標志/// </summary>[EnumValeuNumber]public enum DLYBAvailableMarker{/// <summary>/// 無效/// </summary>nullity = 0,/// <summary>/// 有效/// </summary>Valid = 1}/// <summary>/// 實時驗卡(讀卡、驗卡)/// </summary>[PackageType(1001, 101, 126)] public class QueryCardEntity : Entity{ /// <summary>/// 個人編號/// </summary>[Package(1, 8)]public virtual string PersonNumber{ get; set; }/// <summary>/// 姓名/// </summary>[Package(2, 20)]public virtual string Name{ get; set; }/// <summary>/// 身份證號/// </summary>[Package(3, 18)]public virtual string PersonID{ get; set; }/// <summary>/// IC卡號/// </summary>[Package(4, 9)]public virtual string ICCardNumber{ get; set; }long therapyNumber;/// <summary>/// 治療序號/// </summary>[Package(5, 4)]public virtual long TherapyNumber{get{return therapyNumber;}set{if (value >= 0 && value <= 9999){therapyNumber = value;}else{throw new Exception("治療號在0-9999之間");}}}/// <summary>/// 職工就醫類別/// </summary>[Package(6, 1)]public virtual string TherapyCategory{ get; set; }/// <summary>/// 基本個人帳戶余額/// </summary>[Package(7, 10)]public virtual decimal BasePersonBalance{ get; set; }/// <summary>/// 補助個人帳戶余額/// </summary>[Package(8, 10)]public virtual decimal SubsidyPersonBalance{ get; set; }/// <summary>/// 統籌累計/// </summary>[Package(9, 10)]public virtual decimal PlannerTotal{ get; set; }/// <summary>/// 門診慢病統籌累計///新/// </summary>[Package(10, 10)]public virtual decimal MZSlowDisease{ get; set; }/// <summary>/// 月繳費基數/// </summary>[Package(11, 10)]public virtual decimal BaseFeeByMonth{ get; set; }/// <summary>/// 帳戶狀態/// </summary>[Package(12, 1)]public virtual string AccoutState{ get; set; }/// <summary>/// 參保類別1/// </summary>[Package(13, 1)]public virtual string InsuranceCategory1{ get; set; }/// <summary>/// 參保類別2/// </summary>[Package(14, 1)]public virtual string InsuranceCategory2{ get; set; }/// <summary>/// 參保類別3/// </summary>[Package(15, 1)]public virtual string InsuranceCategory3{ get; set; }/// <summary>/// 參保類別4/// </summary>[Package(16, 1)]public virtual string InsuranceCategory4{ get; set; }/// <summary>/// 參保類別5/// </summary>[Package(17, 1)]public virtual string InsuranceCategory5{ get; set; }/// <summary>/// 住院次數累計新/// </summary>[Package(18, 4)]public virtual int ZYAddNumber{ get; set; }/// <summary>/// 家床次數累計新/// </summary>[Package(19, 4)]public virtual int AddBedNumber{ get; set; }}

上面的實體類分別使用了特性類,參照文檔就OK。

public static class StringExtension{ /// <summary>/// 右邊不夠長度補空格,漢字算兩個空格/// </summary>/// <param name="str"></param>/// <param name="length">設定長度</param>/// <returns></returns>public static string ChineseCharacterLeft(this string str, int length){var len = Encoding.Default.GetBytes(str).Length;if (len < length){for (int i = 0; i < length - len; i++){str = " " + str;}}return str;}/// <summary>/// 右邊不夠長度補空格,漢字算兩個空格/// </summary>/// <param name="str"></param>/// <param name="length">設定長度</param>/// <returns></returns>public static string ChineseCharacterRight(this string str, int length){var len = Encoding.Default.GetBytes(str).Length;if (len < length){for (int i = 0; i < length - len; i++){str += " ";}}return str;}/// <summary>/// 切除字符串/// </summary>public static string ChineseCharacterSubstring(this string str, int length, out string remaining){var arr = Encoding.Default.GetBytes(str);var barr = arr.Take(length).ToArray();var valuestr = Encoding.Default.GetString(barr);barr = arr.Skip(length).ToArray();remaining = Encoding.Default.GetString(barr); ;return valuestr;}}

?上面代碼是對某些屬性的對齊方式作了處理。

/// <summary>/// 報文類的父類/// </summary>public abstract class Entity{/// <summary>/// 組裝發送報文格式/// </summary>/// <returns></returns>public override string ToString(){var pros = this.GetType().GetProperties();var sortPro = new SortedList<int, PropertyInfo>(); foreach (var pro in pros){foreach (var att in pro.GetCustomAttributes(false)){if (att is PackageAttribute){var packageAtt = att as PackageAttribute; sortPro.Add(packageAtt.SN, pro);}}}var content = new StringBuilder();#region 組合發送字符串//遍歷屬性 foreach (var pro in sortPro){//遍歷屬性上的特性 foreach (var att in pro.Value.GetCustomAttributes(false)){//判斷是否為自定義的PackageAttribute類型if (att is PackageAttribute){//轉換屬性上的特性類var packageAtt = att as PackageAttribute;//取拼接時字符長度var length = packageAtt.Length;//取屬性的值var proValue = pro.Value.GetValue(this, new Object[0]);//對decimal作處理if (pro.Value.PropertyType.Name.ToLower() == "decimal"){proValue = Math.Round(Convert.ToDecimal(proValue), 2);if (Encoding.Default.GetByteCount(proValue.ToString()) > length){proValue = "0";}}//判斷字符串長度過長if (proValue != null && (pro.Value.PropertyType.Name.ToLower() == "string")){if (System.Text.Encoding.Default.GetBytes(proValue.ToString()).Length > length){throw new Exception(string.Format("屬性{0}的值{1},長度超過{2}", pro.Value.Name, proValue, length));}}//如果值為非空if (proValue != null){//日期是右補空格,其他是左補空格if (!packageAtt.IsDateTime){//這里注冊,有些屬性是枚舉類型,有些屬性拼接枚舉的值,有些取枚舉值對應的枚舉數值,這里是從該屬性類型上的EnumValeuNumberAttribute特性的IsValue屬性來判斷的,IsValue為true,就取枚舉的值,為false取該值對應的枚舉數if (pro.Value.PropertyType.IsEnum){foreach (var eatt in pro.Value.PropertyType.GetCustomAttributes(false)){if (eatt is EnumValeuNumberAttribute){var enumVaNu = eatt as EnumValeuNumberAttribute;if (enumVaNu.IsChar){var enumNumber = ((char)(int)Enum.Parse(pro.Value.PropertyType, proValue.ToString())).ToString();content.Append(enumNumber.ChineseCharacterLeft(length));}else{var enumNumber = ((int)Enum.Parse(pro.Value.PropertyType, proValue.ToString())).ToString();content.Append(enumNumber.ChineseCharacterLeft(length));}}}}else{content.Append(proValue.ToString().ChineseCharacterLeft(length));}}else//日期類型右補空格{content.Append(proValue.ToString().ChineseCharacterRight(length));}}else{content.Append("".ChineseCharacterLeft(length));}}}}#endregionreturn content.ToString();}/// <summary>/// 把一個字符串轉成一個對象/// </summary>/// <param name="content"></param>/// <returns></returns>public Entity ToEntity(Type entityType,string content){var pros = entityType.GetProperties();//按照特性類上的SN序號把屬性名存入集合proPackageList中List<PropertyInfo> proPackageList = new List<PropertyInfo>(pros.Length);//初始化屬性集合for (int i = 0; i < pros.Length; i++){foreach (var att in pros[i].GetCustomAttributes(false)){if (att is PackageAttribute){proPackageList.Add(null);break;}}}//按屬性順序排列屬性foreach (var pro in pros){foreach (var att in pro.GetCustomAttributes(false)){if (att is PackageAttribute){var packageAtt = att as PackageAttribute;var index = packageAtt.SN - 1;proPackageList[index] = pro;}}}//創建實體對象var constructor = entityType.GetConstructor(new Type[0]);var?entity?=?constructor.Invoke(new?object[0]);foreach (var pro in proPackageList){//遍歷屬性上的特性foreach (var att in pro.GetCustomAttributes(false)){//判斷是否為自定義的PackageAttribute類型if (att is PackageAttribute){//轉換屬性上的特性類var packageAtt = att as PackageAttribute;var length = packageAtt.Length;var valuestr = content.ChineseCharacterSubstring(length, out content).Trim();if (pro.PropertyType.IsEnum){foreach (var eatt in pro.PropertyType.GetCustomAttributes(false)){if (eatt is EnumValeuNumberAttribute){var eat = eatt as EnumValeuNumberAttribute;if (eat.IsChar){var chr = Convert.ToChar(valuestr);var value = Convert.ChangeType(Enum.Parse(pro.PropertyType, ((int)chr).ToString()), pro.PropertyType);pro.SetValue(entity, value, null);}else{var value = Convert.ChangeType(Enum.Parse(pro.PropertyType, valuestr), pro.PropertyType);pro.SetValue(entity, value, null);}break;}}}else{var value = Convert.ChangeType(valuestr, pro.PropertyType);pro.SetValue(entity, value, null);}}}}return (Entity)entity;}}

這兩個方法核心里通過反射屬性上的特性,取特性中定義的固定值,來生成接口要求的字符串,合理的設計特性,可以使兩個轉換方法更優雅,更簡便,在開發過程中,也需要不斷調整理,適配,逐漸完善。

可以用下面的代碼完成測試

using?System; namespace ArchitectureDemo04 {class Program{static void Main(string[] args){var backQueryCard = Send(new QueryCardEntity { PersonNumber = "0000001", ICCardNumber = "C00000001" });var backDoctorQuery = Send(new DoctorQuery { DoctorCode = "0001" });}/// <summary>/// 發送/// </summary>/// <param name="entity"></param>/// <returns></returns>static Entity Send(Entity entity){try{foreach (var att in entity.GetType().GetCustomAttributes(false)){if (att is PackageTypeAttribute){var attPackage = att as PackageTypeAttribute; Console.WriteLine($"入參:");Console.WriteLine(entity);Console.WriteLine("模擬函數調用:");Console.WriteLine($"OltpTransData({attPackage.OperationType},{attPackage.DataFormaterType},{attPackage.MinLength},{entity})");var backContent = BackOperation(entity);var backEntity = entity.ToEntity(entity.GetType(),backContent);return backEntity;}}return null;}catch{throw;}}/// <summary>/// 模擬醫保中心返回/// </summary>/// <param name="entity">參數</param>/// <returns></returns>static string BackOperation(Entity entity){switch (entity.GetType().Name){case "QueryCardEntity":return " 0000001 Jack210213198411113111C00000001 1A 1000.66 0 0 0 1800A00131 0 0"; case "DoctorQuery":return " 0001 DcotorLi210211198707182233 0002011320201029190850 1";}return null;}} }

總結

以上是生活随笔為你收集整理的.NET架构小技巧(4)——反射,架构人员法宝II的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产精品久久久久久久久久久久午 | 五月花激情 | 国产你懂的在线 | 精品视频区 | 久久免费a | 天堂在线一区 | 免费看色的网站 | 玖玖在线免费视频 | 婷婷国产视频 | 日本电影久久 | 久久久黄色免费网站 | 蜜桃视频在线观看一区 | 久久久99精品免费观看 | 日韩免费在线观看网站 | 午夜精品久久久久久久99婷婷 | 免费看的视频 | 欧美精品久久久 | 高潮久久久 | 国产亚洲精品久久19p | 特黄特色特刺激视频免费播放 | 麻豆国产精品一区二区三区 | 99视频免费看| 超碰人人草 | 一区二区高清在线 | 97人人模人人爽人人少妇 | 精品女同一区二区三区在线观看 | 中文字幕乱偷在线 | 日韩精品你懂的 | 91av视频在线免费观看 | 伊人午夜视频 | 日韩高清一二三区 | 日韩av快播电影网 | 在线精品亚洲一区二区 | 一区二区三区电影在线播 | 成人av片免费看 | 国产区久久 | 97视频免费观看 | 国产伦理久久精品久久久久_ | 成人黄色小说网 | 精品在线视频一区二区三区 | 国产原创在线 | 久久精品高清视频 | 狠狠色综合网站久久久久久久 | 日本夜夜草视频网站 | 成人av一区二区在线观看 | 久久一区二区三区超碰国产精品 | 黄色软件在线观看视频 | 欧美 高跟鞋交 xxxxhd | 在线播放国产精品 | 日韩视频一区二区在线 | 91精品1区| av日韩中文 | 婷婷丁香社区 | 成人h电影 | 青青视频一区 | 国产精品久久久亚洲 | 成人精品久久久 | 在线观看涩涩 | 国产亚洲精品久久网站 | 日韩精品一区二区在线 | 天天草天天干天天 | 色99久久 | 亚洲五月六月 | 亚洲另类视频 | 久久综合色8888 | 日韩精品电影在线播放 | 欧美精品视 | 久久精品久久久精品美女 | 国产高清av在线播放 | 99精品视频在线观看免费 | 国产精品一区二区视频 | 奇米影视777四色米奇影院 | 九九九九热精品免费视频点播观看 | 国产亚洲精品久久久久久无几年桃 | 日韩精品在线观看视频 | 日本字幕网| 99精品影视 | 天天操天天干天天摸 | 91麻豆精品国产自产在线游戏 | 国产一级免费观看视频 | 亚洲区精品视频 | 久久av在线| 在线日本看片免费人成视久网 | 天天射天天舔天天干 | 免费av大片 | 91亚洲激情 | 天堂在线成人 | 国产中文字幕视频在线观看 | 91视频88av| 美腿丝袜一区二区三区 | 日韩91在线| 一区在线免费观看 | 久久国产精品精品国产色婷婷 | 亚洲精品久久在线 | 主播av在线| 人人澡澡人人 | 六月天综合网 | 91在线日韩 | 国产永久免费高清在线观看视频 | 国产美女精品人人做人人爽 | 精品久久国产精品 | 亚洲精品99 | 国产午夜三级一二三区 | 激情av在线播放 | 国产黄色电影 | 精品国产一区二区三区男人吃奶 | 久久无码av一区二区三区电影网 | 亚洲综合激情网 | 亚洲欧美日韩一二三区 | 久久国产精品二国产精品中国洋人 | 在线观看自拍 | 亚洲免费在线看 | 69精品在线 | 国产这里只有精品 | 欧美亚洲成人免费 | 99久久日韩精品视频免费在线观看 | 91日韩精品视频 | 国产69精品久久久久99尤 | 久久天天操 | 色婷婷综合久久久久中文字幕1 | 国产精品久久久久三级 | 成人99免费视频 | 国产精品一区二区三区99 | 国产99久久久国产精品免费看 | 精品久久久久久久久久久久 | 成人影音在线 | 韩国av免费看 | 日本字幕网 | 9999免费视频| 亚洲最大成人免费网站 | 五月婷婷在线视频观看 | 亚洲成人av一区二区 | 久久精品久久精品久久 | 成人国产精品久久久春色 | 久久精品国产99 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 成人av资源| av软件在线观看 | 久综合网 | 人人干人人做 | 日韩有码网站 | 久久影视精品 | 亚洲免费av观看 | 狠狠狠狠狠色综合 | 欧美性生爱| 久久免费视频在线观看30 | 国产福利小视频在线 | 丁香婷婷综合激情五月色 | 欧美老少交| 最近乱久中文字幕 | 国产精品一区二区你懂的 | 久久手机免费视频 | 五月婷婷欧美 | 337p西西人体大胆瓣开下部 | 欧美做受高潮1 | 在线视频国产区 | 午夜成人免费电影 | 欧美极品少妇xbxb性爽爽视频 | 99久久国产免费,99久久国产免费大片 | 成人一区二区三区中文字幕 | 四虎影院在线观看av | 久产久精国产品 | 久久五月婷婷丁香 | 99视频国产精品免费观看 | 五月综合久久 | 中文字幕黄色网址 | 国产日韩av在线 | 亚洲一区免费在线 | 国产99久久久国产精品免费二区 | 欧美久久久久久久久久久久 | 91精品视频在线 | 91九色最新 | 麻豆视频www | 久久最新视频 | 色视频网站在线 | 精品久久久久久久久亚洲 | 国产精品免费成人 | 亚洲婷婷在线 | av日韩中文 | 国产一二三区av | 免费在线观看成人小视频 | 国产亚洲人 | 激情五月婷婷 | 欧美天天综合网 | 久热色超碰 | 91亚洲精品久久久蜜桃借种 | 亚洲国产美女精品久久久久∴ | 久久精品高清视频 | 麻豆免费视频观看 | 国产精品久久久久婷婷二区次 | 91久久精品一区二区二区 | 久久成人精品电影 | 天天操天天操天天操天天操天天操 | 国产精品自拍在线 | 精品美女久久久久 | 日日插日日干 | 99久久精品久久久久久清纯 | www.在线观看av | 国产999精品久久久影片官网 | 九九爱免费视频在线观看 | 欧美最猛性xxxx | 亚洲日韩中文字幕 | 国产精品久久久久999 | 911精品美国片911久久久 | 91av蜜桃 | 狠狠躁夜夜av | 99re久久精品国产 | 麻豆视频www | av成人在线看 | 97超碰色 | 成人97视频一区二区 | 日日夜夜精品免费 | 日本xxxx.com| 婷婷色综合色 | 91精品免费在线观看 | 精品国产一区二区三区四区vr | 国产一区91 | 综合激情伊人 | 亚洲精品欧美视频 | 美女国产网站 | 一区二区三区观看 | 国产精品99久久久精品免费观看 | 在线免费视频一区 | 久久不卡免费视频 | 国产精品久久视频 | 天天干,夜夜操 | 久久久免费电影 | 中文乱幕日产无线码1区 | 手机成人av | 日韩在线第一 | 亚州视频在线 | a色视频 | 中文字幕在线观看免费观看 | 亚洲国产成人精品电影在线观看 | 午夜色性片 | 人人狠 | 成人免费看片98欧美 | 久久er99热精品一区二区 | 在线电影a | 玖玖视频免费在线 | 亚洲精品99久久久久中文字幕 | 精品视频在线观看 | 欧洲色综合 | 成人网在线免费视频 | 麻豆国产在线播放 | 香蕉影院在线 | 久久爽久久爽久久av东京爽 | 深夜免费福利视频 | 日韩在线免费观看视频 | 亚洲精品激情 | 精品亚洲免a | 特级毛片aaa | 最新av免费在线观看 | 日韩精品偷拍 | 日本一区二区三区免费看 | 7799av| 久久精品婷婷 | 久久久久国产精品免费网站 | 日本黄色免费在线 | 成人性生爱a∨ | 国产精品久久免费看 | 欧美激情综合五月色丁香 | 久久99精品久久久久婷婷 | 精品国产一区二区三区四区在线观看 | 日本中文一级片 | 国内精品久久久久久久久 | 久久婷婷国产色一区二区三区 | 六月丁香社区 | 在线观看免费版高清版 | 国产成人精品一区二区三区网站观看 | 国产 日韩 欧美 在线 | 麻豆影视网| 99综合电影在线视频 | 久久久 精品 | 欧美日韩激情网 | 日韩av一区二区三区在线观看 | 日本韩国精品一区二区在线观看 | 日韩v在线 | 欧美午夜精品久久久久 | 亚洲精品18p | 亚洲综合涩 | 国产精品国产三级国产 | 黄网站色欧美视频 | 亚洲精品视频在线免费播放 | 亚洲精品免费视频 | 国产色视频网站2 | 久久久黄色免费网站 | 玖草在线观看 | 午夜视频色 | 天天操天天能 | 成年人免费观看在线视频 | 日韩经典一区二区三区 | 久久国产三级 | 亚洲精品高清一区二区三区四区 | 久久99国产精品视频 | 日韩一区二区在线免费观看 | 国产精品黄色 | 久久免费福利 | 国产专区日韩专区 | 国产日韩在线播放 | 国产精品99免视看9 国产精品毛片一区视频 | 久久国产a | 亚洲国产99 | 黄av免费在线观看 | 五月婷婷开心 | 亚洲精品乱码白浆高清久久久久久 | 欧美一区三区四区 | 亚洲国产精品资源 | 国产在线精品区 | 天天操网| 91福利社在线观看 | avcom在线| av在线精品 | 国产精品久久久久久久久久久久久久 | 欧美精品国产精品 | 日韩 在线观看 | 国产中文字幕久久 | 中文字幕精品一区二区精品 | 国产无遮挡又黄又爽在线观看 | 久久国产视频网站 | 亚洲国内精品 | 不卡的av片| 国产精品专区在线 | 国产91亚洲 | 一区二区 精品 | 国产福利91精品 | 色姑娘综合网 | 成人小视频在线 | 国产精品美女久久久久久久 | 亚洲一本视频 | 成人精品视频 | www.国产在线观看 | 美女在线免费视频 | 国产一级在线 | 一区av在线播放 | 天天爱天天操天天爽 | 久久久免费观看视频 | 成年人免费电影在线观看 | 成人午夜电影网站 | 久久久久亚洲精品中文字幕 | 久久黄色片子 | 十八岁免进欧美 | 欧美成人性网 | 91人人爽人人爽人人精88v | 国产欧美久久久精品影院 | 欧美日在线 | 久久九九影院 | 欧美激情精品久久久久久变态 | 亚洲综合成人专区片 | 99r精品视频在线观看 | 国产精品久久一卡二卡 | 免费精品在线 | 园产精品久久久久久久7电影 | 久久天天拍 | 亚洲全部视频 | 国产一级久久 | 欧美视频国产视频 | 亚洲欧美综合精品久久成人 | 国产美女主播精品一区二区三区 | 午夜少妇一区二区三区 | 91精品久久久久久 | 日韩欧美在线综合网 | 亚洲精品乱码久久久久久 | 国产免费专区 | 国产日产精品一区二区三区四区 | 免费高清在线视频一区· | 久草视频免费在线观看 | 五月婷婷婷婷婷 | 天天爽夜夜爽人人爽一区二区 | 亚洲精品自拍视频在线观看 | 国内精品中文字幕 | 色婷婷在线视频 | 亚洲粉嫩av| 视频二区在线视频 | 国产精品久久电影网 | 日韩欧美黄色网址 | 免费黄a大片 | 国产91国语对白在线 | 五月婷婷影院 | 黄色片免费看 | 成人在线播放视频 | 青青草国产成人99久久 | 欧美日韩国产精品一区二区 | 国产精品99免视看9 国产精品毛片一区视频 | 亚洲一级二级 | 国产精品99久久久久久人免费 | 久久综合狠狠狠色97 | 亚洲精品综合一区二区 | 91丨九色丨国产丨porny精品 | 一二三久久久 | 久久久久久久久久久免费视频 | 日韩精品一区在线观看 | 日韩精品视频免费看 | 在线看日韩av| 婷婷国产视频 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 成年人免费在线播放 | 国产精品专区在线观看 | 丁香激情综合国产 | 国产一级精品在线观看 | 在线国产日韩 | 国产在线播放一区二区三区 | 国产在线高清精品 | 亚洲片在线资源 | 在线观看 国产 | 激情黄色av | 精品在线二区 | 亚洲第一区在线播放 | 不卡视频国产 | 久久久一本精品99久久精品66 | 91大片成人网 | 欧美午夜性 | 欧美综合久久 | 91精品1区2区 | 在线看国产一区 | 国产精品久久久久久久久久ktv | 在线观看视频一区二区 | av先锋影音少妇 | 亚洲男模gay裸体gay | www.久久91 | 久久,天天综合 | 五月天激情视频 | 国产一线天在线观看 | 在线免费观看视频你懂的 | 天天干 天天摸 天天操 | 日本精品小视频 | 超碰国产在线 | www.xxxx欧美| 国产黄色片在线免费观看 | 成人作爱视频 | 日韩久久久久久久久久 | 精品国产免费人成在线观看 | 日韩av一区二区三区四区 | 国产午夜精品在线 | 成人午夜在线电影 | 欧美一级日韩三级 | 三级黄色大片在线观看 | 韩日精品视频 | 超碰97国产在线 | 97在线视频免费看 | 久久久91精品国产一区二区三区 | 激情婷婷在线观看 | 日日爱视频 | 97超碰在线资源 | 97夜夜澡人人双人人人喊 | 国产手机av | 色婷婷欧美 | 国产精品大片免费观看 | 中文字幕一区在线观看视频 | 久久av网址 | 国产一级片免费视频 | 国产精品一区二区免费在线观看 | 国产精品自拍av | 婷婷在线免费 | 日韩视频图片 | 在线播放日韩av | 91精品秘密在线观看 | 在线免费观看黄网站 | 四虎影视国产精品免费久久 | 欧美综合在线视频 | 国产在线专区 | 亚洲性xxxx| 国产视频在线播放 | 天天插天天干 | www.天天综合 | 成人亚洲网| 国产成人三级在线观看 | 欧美一区二区三区在线视频观看 | 日韩大片在线观看 | 免费亚洲黄色 | 天天干天天拍 | 国产精品久久久久久久午夜片 | 久久9视频| 4438全国亚洲精品在线观看视频 | 亚洲禁18久人片 | 精品久久久久免费极品大片 | av中文在线影视 | 九月婷婷综合网 | 免费看黄色毛片 | 精品999久久久 | 欧美一区二区精美视频 | 日日夜夜网 | 亚洲激情校园春色 | 成人久久综合 | 国内精品久久久久影院男同志 | 97精品视频在线播放 | 欧美在线1区 | 久久精品久久久精品美女 | 午夜精品成人一区二区三区 | 欧美午夜久久久 | 91麻豆免费视频 | 婷婷久久综合九色综合 | 国产午夜在线观看视频 | 国产成人91 | 精品国产一二三四区 | 婷婷成人综合 | 亚洲第一av在线 | 天天摸天天干天天操天天射 | 91视频中文字幕 | 国产视频精选在线 | 久久久久久久久久久影视 | 国产精品毛片一区二区在线 | 亚洲高清在线视频 | 日韩欧美国产精品 | 黄色成人毛片 | 欧美作爱视频 | 色网站在线免费 | 日韩欧美一区二区三区在线观看 | 国产一区二区手机在线观看 | 亚洲欧洲日韩在线观看 | 免费在线观看日韩 | 午夜精品99久久免费 | 久草视频中文在线 | 在线免费看黄网站 | 亚洲精品玖玖玖av在线看 | 亚洲一区二区高潮无套美女 | 中文字幕视频免费观看 | 国产精品完整版 | 欧美日韩一级在线 | 新版资源中文在线观看 | 久99久精品 | 国产成人福利在线观看 | 精品国产大片 | 成人片在线播放 | 日韩欧美视频免费观看 | 欧美国产精品久久久久久免费 | 国产护士在线 | 天天操天天色天天射 | 一本色道久久精品 | 99在线精品免费视频九九视 | 99视频99 | 亚洲精品欧洲精品 | 成人免费在线视频观看 | 国产最新视频在线观看 | 午夜精品久久久久99热app | 成人久久毛片 | 国产成人精品一区二 | 亚洲精品在线免费看 | 黄色网中文字幕 | 国产成人性色生活片 | 午夜精品久久久久 | 91视频com | 最近日韩中文字幕中文 | a级国产乱理论片在线观看 特级毛片在线观看 | 成人黄色一级视频 | 97偷拍视频 | 日韩精品2区| 国产麻豆精品免费视频 | 最新av免费在线观看 | 中文字幕在线观看完整 | 在线观看免费一级片 | 4438全国亚洲精品观看视频 | 久久久精品 | 久精品一区 | 探花视频免费观看高清视频 | 午夜精品久久一牛影视 | 西西44人体做爰大胆视频 | 亚洲黄色在线免费观看 | 香蕉视频啪啪 | 国产一级片不卡 | 在线观看va | 国产裸体永久免费视频网站 | 2023国产精品自产拍在线观看 | 婷婷六月久久 | 日韩黄色在线电影 | 最近更新中文字幕 | 国产成人精品aaa | 国产亚洲精品久久久久久 | 99精品国产福利在线观看免费 | 97在线视频网站 | av在线官网 | 日日夜夜噜 | 菠萝菠萝蜜在线播放 | 又黄又爽又刺激 | 在线午夜 | www.天天操 | 在线导航av| 精品色综合 | 99久高清在线观看视频99精品热在线观看视频 | 91精品国产欧美一区二区 | 中文字幕视频播放 | 国产小视频免费在线网址 | 深夜免费福利视频 | 国产aaa大片 | 韩国在线一区二区 | 成人av电影在线播放 | 欧美乱码精品一区 | 国产亚洲视频系列 | 亚洲va欧洲va国产va不卡 | 亚洲成人黄色 | 国产九色在线播放九色 | 黄视频色网站 | 欧美 亚洲 另类 激情 另类 | 日韩欧美在线免费 | 国产在线观看不卡 | 亚洲成人免费在线 | 日韩精品在线看 | 狠狠色丁香婷婷综合橹88 | www.久久久.com| 国产精品第52页 | 日韩av看片 | 日产乱码一二三区别免费 | 国产男女爽爽爽免费视频 | 中文字幕精品在线 | 久久久久久久久久免费视频 | 久久久久国产精品www | 免费亚洲视频在线观看 | 极品国产91在线网站 | 久久99日韩| 免费日韩一区 | 久草精品视频 | 日本在线观看黄色 | 欧美日韩视频精品 | 成年人在线观看免费视频 | 二区三区在线视频 | 97成人精品区在线播放 | 中国老女人日b | 欧美一区二区三区激情视频 | 亚洲一区美女视频在线观看免费 | 久久久久久久久影视 | 国产精品久久99精品毛片三a | 国产二区视频在线 | 国产一区二区在线影院 | 97超视频免费观看 | 2019中文字幕第一页 | 天天综合成人网 | 99久久精品免费看国产麻豆 | 国产成人综合精品 | 亚洲一级免费电影 | 91精品国产乱码 | 久久精品国产亚洲精品2020 | 公与妇乱理三级xxx 在线观看视频在线观看 | 丁香六月在线 | 久久99久久99精品免观看软件 | 国产亚洲一区二区在线观看 | 日韩精品不卡在线观看 | av在线播放快速免费阴 | 在线免费国产 | 国产亚洲欧洲 | av免费看电影| 亚洲高清不卡av | 91免费版在线 | 亚洲japanese制服美女 | 国产一区二区三区四区大秀 | 欧美一区在线观看视频 | 久久久蜜桃一区二区 | 久久久久免费精品视频 | av在线一 | 国产精品久久久久永久免费 | 国产中文字幕精品 | 五月婷婷丁香六月 | 国产又粗又猛又色 | 国产精品中文字幕在线观看 | 成人毛片a | 亚洲爱av | 在线看福利av | 免费网址你懂的 | 欧美在线一二 | www.狠狠干 | 日韩av资源站| 久久精品中文视频 | 激情文学综合丁香 | 99福利片| av成人免费在线 | 特级西西444www大胆高清无视频 | 久久久久www| 亚洲国产精品一区二区久久hs | 日本中文字幕在线视频 | av片一区二区 | 日韩中文久久 | 亚洲专区视频在线观看 | 亚洲最新av网址 | 人人舔人人爱 | av免费在线观 | 欧美精品免费一区二区 | 综合在线色 | 久久国产精品一区二区三区四区 | 亚州精品在线视频 | 亚洲精品久久久久中文字幕m男 | 中文字幕资源网在线观看 | 999电影免费在线观看2020 | 在线观看日本韩国电影 | 久久久久免费精品国产小说色大师 | 免费看的av片 | 色夜视频 | 一级久久精品 | 国产人成精品一区二区三 | 在线电影日韩 | 天堂网在线视频 | 久久精品网站视频 | 午夜91在线| 在线观看一区 | 日韩欧美高清一区二区 | 超碰97在线资源 | 久久精品视频2 | 日韩高清一 | 天天干天天做天天操 | 欧美久久久久 | 国产精品久久久久av福利动漫 | 在线观看黄色国产 | 午夜av在线免费 | 国产精品成人在线 | 国产小视频免费在线网址 | 欧美精品v国产精品 | 天天色天天操综合网 | 亚洲成人999 | 成人久久久久久久久久 | 国产在线欧美在线 | 最新av网站在线观看 | 欧美最猛性xxxxx(亚洲精品) | 亚洲国产欧美在线看片xxoo | 日b黄色片 | www.色婷婷.com | 久香蕉| 免费在线观看中文字幕 | 激情婷婷在线观看 | 69亚洲乱 | 一区在线免费观看 | 亚洲aⅴ在线 | 国产黄免费在线观看 | 日本久久久精品视频 | 免费久久99精品国产 | 精品在线亚洲视频 | 91视视频在线直接观看在线看网页在线看 | 久久久在线视频 | 四虎免费在线观看视频 | 色婷婷狠狠操 | 韩国av免费 | av一级免费 | 黄色福利网站 | 麻豆影视网 | 国产剧情一区二区在线观看 | 91免费国产在线观看 | 伊人天堂网 | 欧美不卡视频在线 | 欧美日韩精品免费观看视频 | 欧美国产在线看 | 日日麻批40分钟视频免费观看 | 黄网站色成年免费观看 | 日本少妇高清做爰视频 | 人人爱在线视频 | 美女中文字幕 | 成人综合婷婷国产精品久久免费 | 国产va饥渴难耐女保洁员在线观看 | 91在线精品播放 | 国产在线 一区二区三区 | 在线观看中文字幕视频 | 久久久久国产一区二区三区四区 | 手机在线观看国产精品 | 日日弄天天弄美女bbbb | 91精品国自产在线观看 | av资源免费在线观看 | 亚洲乱码精品久久久 | 国产精品欧美激情在线观看 | 免费日韩三级 | 中文字幕精品一区二区三区电影 | 日韩欧美精品在线视频 | 亚洲精品tv久久久久久久久久 | 日韩av影片在线观看 | 在线免费观看黄色 | 亚洲精品午夜久久久久久久 | 在线视频电影 | 免费观看一级成人毛片 | 成人免费看片网址 | 亚洲欧美999 | 欧美人牲| 婷婷色吧| 午夜电影一区 | 免费成人在线观看 | 日韩欧美在线高清 | 国产精品com | 啪啪凸凸| 精品日韩av| 97日日碰人人模人人澡分享吧 | 成人资源在线观看 | 国产在线精品国自产拍影院 | 操一草 | 欧美激情精品久久久久久免费 | 国产精品去看片 | 日日麻批40分钟视频免费观看 | 亚洲成人国产精品 | 最近中文字幕久久 | 日韩激情综合 | 三级黄色网络 | 国产91精品一区二区麻豆网站 | 国产精品网红直播 | 丝袜美女在线 | 亚洲欧美日韩国产一区二区 | 奇米7777狠狠狠琪琪视频 | 中文字幕在线观看国产 | 六月丁香久久 | 久久er99热精品一区二区三区 | 99久久精品免费看国产免费软件 | 亚洲国产精品va在线看黑人动漫 | 亚洲精品美女久久久久 | 久久精品网| 丁香综合激情 | 久久久国产精品视频 | 欧美精品在线观看一区 | 色婷婷国产精品一区在线观看 | 欧美国产精品久久久久久免费 | 黄色亚洲精品 | 国产剧情一区二区在线观看 | 最近2019好看的中文字幕免费 | 欧美激情综合五月色丁香 | 99热手机在线观看 | av在线网站大全 | av免费黄色| 久久一区二区三区国产精品 | 久艹在线免费观看 | 美女视频黄的免费的 | 国内精品久久久久影院一蜜桃 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 18久久久久 | 中文字幕av有码 | 国产黄色在线看 | 成人av免费在线看 | 伊人五月天av | 97视频在线观看成人 | 成人免费视频播放 | 日产乱码一二三区别免费 | 99视频免费观看 | 国产一级不卡毛片 | 久久精品欧美日韩精品 | 国产无遮挡猛进猛出免费软件 | 亚洲精品国产拍在线 | 粉嫩一区二区三区粉嫩91 | 黄网在线免费观看 | 亚洲五月综合 | 91黄色成人 | 欧美日韩精品在线观看视频 | 美女网站在线观看 | 国产一区二区不卡视频 | 三日本三级少妇三级99 | 在线观看精品黄av片免费 | 日韩毛片在线一区二区毛片 | 国产 一区二区三区 在线 | 精品视频免费 | 最近中文字幕在线 | 人人爽人人乐 | 最近中文字幕在线中文高清版 | 精品色综合 | 日批在线观看 | 波多野结衣电影一区二区 | 在线播放日韩av | 一区二区三区免费网站 | 亚洲黄色成人网 | 黄色国产高清 | 免费看污污视频的网站 | 国产一区二区免费看 | 91在线中文 | 亚洲午夜精品久久久久久久久 | 91精选在线| 久久久在线免费观看 | 亚洲人人爱 | 亚洲人成人天堂h久久 | 免费h在线观看 | 狠狠干狠狠色 | 亚洲国产美女久久久久 | 三级a毛片 | 欧美五月婷婷 | 九九视频免费在线观看 | 狠狠干网站 | 人人爽人人看 | 中文字幕资源在线观看 | 麻豆免费观看视频 | 久久久久国产免费免费 | 欧美日一级片 | 久久久久成人精品 | 免费看污片 | 国产精品久久久久久久久久久久午夜片 | 国产精品嫩草影视久久久 | 国产精品久久久亚洲 | 探花视频在线观看免费版 | 人人插人人艹 | 国产无套精品久久久久久 | 色黄久久久久久 | www.com操| 中国一级特黄毛片大片久久 | 日韩天堂在线观看 | 成人av久久 | 精品久久久久久久久久久院品网 | 国产免费久久精品 | 久久亚洲在线 | 成人久久久久久久久 | .国产精品成人自产拍在线观看6 | 制服丝袜成人在线 | 麻豆久久一区二区 | av网站手机在线观看 | 国产视频精选 | 精品福利国产 | 国内丰满少妇猛烈精品播 | 国内外激情视频 | 国产免费观看久久黄 | 久草视频手机在线 | 911av视频| 看片网站黄色 | 日韩av伦理片 | 99精品视频网 | 亚洲日韩精品欧美一区二区 | 手机成人av | 欧美日韩国产精品一区二区三区 | 最近中文字幕大全中文字幕免费 | 热久久免费视频精品 | 精品一区二区影视 | 精品日韩在线 | 欧美黑人xxxx猛性大交 | 国产美女在线免费观看 | 久久久久久久久久影院 | 日韩91av | 综合婷婷 | 久草免费色站 | 久久成人亚洲欧美电影 | 91大神dom调教在线观看 | 麻豆果冻剧传媒在线播放 | 日韩在线观看第一页 | 午夜av剧场 | 国产精品美女www爽爽爽视频 | 亚洲手机天堂 | 在线免费精品视频 | av线上看| av女优中文字幕在线观看 | 激情综合网在线观看 | 国产精品11| 波多野结衣在线播放一区 | 日日夜夜免费精品视频 | 狠狠色狠狠色合久久伊人 | 丰满少妇在线观看资源站 | 五月天激情婷婷 | 久久精品伊人 | 久草在线视频国产 | 免费成人在线观看 | 久久成人精品电影 | 91成熟丰满女人少妇 | 久久国产精品一国产精品 | 亚洲一区二区视频在线 | 久久精品婷婷 | 久久久国产精品免费 | 色多视频在线观看 | 亚洲高清视频在线观看 | 中文av日韩 | av品善网| 91丨porny丨九色 | 日韩欧美精选 | 91av在线精品| 国产视频一区在线 | 天天天在线综合网 | 国产麻豆电影 | 玖玖999| 欧美肥妇free | 久久成人亚洲欧美电影 | 日韩爱爱网站 | 久久电影色 | 久久久久国产免费免费 | 国产精品一区专区欧美日韩 | 狠狠网| 综合婷婷| 婷婷久久五月天 | a视频免费看 | 丁香婷婷激情网 | 久操综合| 97av精品 | 欧美日韩国产网站 | 国产精品91一区 | 激情五月伊人 | 超碰97国产精品人人cao | 激情婷婷丁香 | 在线免费看片 | 日韩videos| 久久99国产一区二区三区 | 一区二区三区在线观看中文字幕 | 日本最新高清不卡中文字幕 | 国产999在线 | 五月婷婷激情综合网 | 波多野结衣在线播放视频 | www.99在线观看 | 国产999精品久久久久久 | 丁香网五月天 | 日日夜av| 成年人黄色大片在线 | 欧美日韩免费在线视频 | www.久久免费 | 五月天综合婷婷 | 久草在线视频首页 | 最近中文字幕大全中文字幕免费 | 久久久国产一区二区三区 | 狠狠色丁香婷婷综合 | 激情网站五月天 | 精品福利在线 | 九九视频免费观看视频精品 | 人操人| 日本精品视频免费 | 午夜精品在线看 | 欧美日韩精品国产 | 国产黄大片 | 91超级碰碰 | 啪啪激情网 | 国产传媒一区在线 |