Ver código fonte

Merge branch 'master' of http://47.101.159.18:3000/Muchinfo/THJ_Mobile

li.shaoyi 3 anos atrás
pai
commit
7004224677

+ 172 - 172
public/proto/thj.proto

@@ -16,20 +16,20 @@ message MessageHead {
 // 用户登录请求
 message LoginReq {
 	optional MessageHead Header = 1;
-		optional uint64 LoginID = 2; // 登录ID
-		optional string LoginPWD = 3; // 登录密码
-		optional uint32 LoginType = 4; // 登陆类型
-		optional uint32 ClientType = 5; // 终端软件类型
-		optional string Version = 6; // 终端软件版本号
-		optional string MobilePhone = 7; // 移动电话
-		optional string GUID = 8; // 唯一标识码
-		optional string LoginIp = 9; // 登录IP地址
-		optional uint32 LoginPort = 10; // 登陆通信端口
-		optional string DeviceID = 11; // 设备标识
-		optional string EnvironmentInfo = 12; // 软件环境信息
-		optional string LoginCode = 13; // 登陆码
-		optional bytes ClientSystemInfo = 14; // 终端系统信息
-		optional string ClientAppID = 15; // 终端AppID
+	optional uint64 LoginID = 2; // 登录ID
+	optional string LoginPWD = 3; // 登录密码
+	optional uint32 LoginType = 4; // 登陆类型
+	optional uint32 ClientType = 5; // 终端软件类型
+	optional string Version = 6; // 终端软件版本号
+	optional string MobilePhone = 7; // 移动电话
+	optional string GUID = 8; // 唯一标识码
+	optional string LoginIp = 9; // 登录IP地址
+	optional uint32 LoginPort = 10; // 登陆通信端口
+	optional string DeviceID = 11; // 设备标识
+	optional string EnvironmentInfo = 12; // 软件环境信息
+	optional string LoginCode = 13; // 登陆码
+	optional bytes ClientSystemInfo = 14; // 终端系统信息
+	optional string ClientAppID = 15; // 终端AppID
 }
 
 // 用户登录应答
@@ -37,30 +37,30 @@ message LoginRsp {
 	optional MessageHead Header = 1; // 消息头
 	optional int32 RetCode = 2; // 返回码
 	optional string RetDesc = 3; // 描述信息
-		optional uint64 LoginID = 4; // 登录ID
-		optional uint32 LoginUserType = 5; // 登陆用户类型
-		optional uint32 AccountStatus = 6; // 用户状态
-		optional uint32 UserID = 7; // 用户ID
-		optional uint32 MemberUserID = 8; // 用户所属会员用户ID
-		repeated uint64 AccountIDs = 9; // 账户ID列表(有权限的)
-		optional string Token = 10; // 用户令牌
-		optional uint64 SystemTime = 11; // 系统时间
-		optional uint32 HasUpdatedPwd = 12; // 是否已更改密码
-		optional uint32 PwdWrongCnt = 13; // 当前密码输入错误次数
-		optional uint32 PwdWrongLockCnt = 14; // 登陆账号锁定密码输入错误次数
-		optional uint32 LoginLockHourNum = 15; // 登陆账号锁定时长(小时)
-		optional string LoginCode = 16; // 登陆码
-		optional bytes ClientSystemInfo = 17; // 终端系统信息
-		optional uint64 ClientID = 18; // 终端ID(登陆服务分配,用于通道交易关联链路)
+	optional uint64 LoginID = 4; // 登录ID
+	optional uint32 LoginUserType = 5; // 登陆用户类型
+	optional uint32 AccountStatus = 6; // 用户状态
+	optional uint32 UserID = 7; // 用户ID
+	optional uint32 MemberUserID = 8; // 用户所属会员用户ID
+	repeated uint64 AccountIDs = 9; // 账户ID列表(有权限的)
+	optional string Token = 10; // 用户令牌
+	optional uint64 SystemTime = 11; // 系统时间
+	optional uint32 HasUpdatedPwd = 12; // 是否已更改密码
+	optional uint32 PwdWrongCnt = 13; // 当前密码输入错误次数
+	optional uint32 PwdWrongLockCnt = 14; // 登陆账号锁定密码输入错误次数
+	optional uint32 LoginLockHourNum = 15; // 登陆账号锁定时长(小时)
+	optional string LoginCode = 16; // 登陆码
+	optional bytes ClientSystemInfo = 17; // 终端系统信息
+	optional uint64 ClientID = 18; // 终端ID(登陆服务分配,用于通道交易关联链路)
 }
 
 // 用户登出请求
 message LogoutReq {
 	optional MessageHead Header = 1;
-		optional uint64 LoginID = 2; // 登录ID
-		optional string Token = 3; // 登录时返回的用户令牌
-		optional string LoginIp = 4; // 登出IP地址
-		optional uint32 LoginPort = 5; // 登出通信端口
+	optional uint64 LoginID = 2; // 登录ID
+	optional string Token = 3; // 登录时返回的用户令牌
+	optional string LoginIp = 4; // 登出IP地址
+	optional uint32 LoginPort = 5; // 登出通信端口
 }
 
 // 用户登出应答
@@ -73,10 +73,10 @@ message LogoutRsp {
 // 用户令牌校验请求
 message TokenCheckReq {
 	optional MessageHead Header = 1;
-		optional uint64 LoginID = 2; // 登陆账户ID
-		optional string Token = 3; // 用户令牌
-		optional uint64 SystemTime = 4; // 校验时的系统时间
-		optional uint32 CheckType = 5; // 校验类型
+	optional uint64 LoginID = 2; // 登陆账户ID
+	optional string Token = 3; // 用户令牌
+	optional uint64 SystemTime = 4; // 校验时的系统时间
+	optional uint32 CheckType = 5; // 校验类型
 }
 
 // 用户令牌校验应答
@@ -84,22 +84,22 @@ message TokenCheckRsp {
 	optional MessageHead Header = 1; // 消息头
 	optional int32 RetCode = 2; // 返回码
 	optional string RetDesc = 3; // 描述信息
-		optional uint64 LoginID = 4; // 登陆账户ID
-		optional uint32 TokenStatus = 5; // 令牌状态
-		optional uint32 LoginUserType = 6; // 登陆用户类型
-		optional uint32 UserID = 7; // 用户ID
-		optional uint32 MemberUserID = 8; // 用户所属会员用户ID
-		repeated uint64 AccountIDs = 9; // 账户ID列表(有权限的)
-		optional uint64 SystemTime = 10; // 返回服务器最新时间
+	optional uint64 LoginID = 4; // 登陆账户ID
+	optional uint32 TokenStatus = 5; // 令牌状态
+	optional uint32 LoginUserType = 6; // 登陆用户类型
+	optional uint32 UserID = 7; // 用户ID
+	optional uint32 MemberUserID = 8; // 用户所属会员用户ID
+	repeated uint64 AccountIDs = 9; // 账户ID列表(有权限的)
+	optional uint64 SystemTime = 10; // 返回服务器最新时间
 }
 
 // 修改账户密码请求
 message ModifyPwdReq {
 	optional MessageHead Header = 1;
-		optional uint32 ModifyPwdType = 2; // 修改密码类型1:登陆密码2:资金账户密码
-		optional uint64 ModifyPwdID = 3; // 被修改的ID(ModifyType=1:LoginIDModifyType=2:AccountID)
-		optional string OldPwd = 4; // 旧资金密码
-		optional string NewPwd = 5; // 新资金密码
+	optional uint32 ModifyPwdType = 2; // 修改密码类型1:登陆密码2:资金账户密码
+	optional uint64 ModifyPwdID = 3; // 被修改的ID(ModifyType=1:LoginIDModifyType=2:AccountID)
+	optional string OldPwd = 4; // 旧资金密码
+	optional string NewPwd = 5; // 新资金密码
 }
 
 // 修改账户密码应答
@@ -112,8 +112,8 @@ message ModifyPwdRsp {
 // 投资者销户申请请求
 message InvestorDelReq {
 	optional MessageHead Header = 1;
-		optional uint64 UserID = 2; // 用户ID
-		optional string ImageUrl = 3; // 图片地址
+	optional uint64 UserID = 2; // 用户ID
+	optional string ImageUrl = 3; // 图片地址
 }
 
 // 投资者销户申请请求响应
@@ -126,8 +126,8 @@ message InvestorDelRsp {
 // 登录查询请求
 message LoginQueryReq {
 	optional MessageHead Header = 1;
-		optional uint64 LoginID = 2; // 登陆账号id
-		optional string QueryItem = 3; // 不填返回全部结果集,填写后表示按需查询,多个以“,”隔开1-账号信息2-资金账户列表3-
+	optional uint64 LoginID = 2; // 登陆账号id
+	optional string QueryItem = 3; // 不填返回全部结果集,填写后表示按需查询,多个以“,”隔开1-账号信息2-资金账户列表3-
 }
 
 // 登录查询应答
@@ -135,94 +135,94 @@ message LoginQueryRsp {
 	optional MessageHead Header = 1; // 消息头
 	optional int32 RetCode = 2; // 返回码
 	optional string RetDesc = 3; // 描述信息
-		optional AccountInfo AccountInfo = 4; // 账号信息
-		repeated TAAccountAll TAAccountList = 5; // 资金账户列表
-		repeated GoodsRuleAndFee GoodsRuleAndFeeList = 6; // 商品交易规则和费用规则列表
-		repeated ParamValue ParamValues = 7; // 时间戳集合
-		optional uint32 ServerLastNoticeId = 8; // 最大通知id
+	optional AccountInfo AccountInfo = 4; // 账号信息
+	repeated TAAccountAll TAAccountList = 5; // 资金账户列表
+	repeated GoodsRuleAndFee GoodsRuleAndFeeList = 6; // 商品交易规则和费用规则列表
+	repeated ParamValue ParamValues = 7; // 时间戳集合
+	optional uint32 ServerLastNoticeId = 8; // 最大通知id
 }
 
 // 账户信息
 message AccountInfo {
-		optional uint32 UserID = 1; // 用户ID
-		optional uint32 UserType = 2; // 账户类型
-		optional uint32 ParentUserID = 3; // 所属机构ID
-		optional string AccountName = 4; // 账户名称
-		optional string CustomerName = 5; // 用户名称(签约用)
-		optional uint32 UserInfoType = 6; // 1:个人2:企业(签约用)
-		optional uint32 CardTypeID = 7; // 证件类型(签约用)
-		optional string CardNum = 8; // 证件号码(签约用)
-		optional string Mobile = 9; // 手机号码(签约用)
-		optional uint32 HasAuth = 10; // 是否已实名认证-0:未认证
-		optional uint64 MemberUserid = 11; // 所属会员
-			optional uint32 IsAnonymous = 12; // 是否匿名0否
-			optional uint32 taaccountrighttype = 13; // 资金账号权限类型-1:不选默认为所有权限
+	optional uint32 UserID = 1; // 用户ID
+	optional uint32 UserType = 2; // 账户类型
+	optional uint32 ParentUserID = 3; // 所属机构ID
+	optional string AccountName = 4; // 账户名称
+	optional string CustomerName = 5; // 用户名称(签约用)
+	optional uint32 UserInfoType = 6; // 1:个人2:企业(签约用)
+	optional uint32 CardTypeID = 7; // 证件类型(签约用)
+	optional string CardNum = 8; // 证件号码(签约用)
+	optional string Mobile = 9; // 手机号码(签约用)
+	optional uint32 HasAuth = 10; // 是否已实名认证-0:未认证
+	optional uint64 MemberUserid = 11; // 所属会员
+	optional uint32 IsAnonymous = 12; // 是否匿名0否
+	optional uint32 taaccountrighttype = 13; // 资金账号权限类型-1:不选默认为所有权限
 }
 
 // 账户相关信息
 message TAAccountAll {
-		optional TaAccountInfo TaAccountInfo = 1; // 资金账户信息
-		repeated TradePosition TradePositionList = 2; // 持仓头寸列表
-		repeated uint32 MarketsIdList = 3; // 市场id数组
+	optional TaAccountInfo TaAccountInfo = 1; // 资金账户信息
+	repeated TradePosition TradePositionList = 2; // 持仓头寸列表
+	repeated uint32 MarketsIdList = 3; // 市场id数组
 }
 
 // 资金账户信息
 message TaAccountInfo {
-		optional uint64 AccountId = 1; // 账户id
-		optional uint32 TradeStatus = 2; // 交易状态
-		optional string Currency = 3; // 币种
-		optional uint32 IsMain = 4; // 是否母账户
-		optional uint64 ParentAccountID = 5; // 所属母账户
-		optional uint32 TAAccountType = 6; // 内、外部
-		optional uint64 RelatedMainAccountID = 7; // 关联账户
-		optional double Balance = 8; // 期初余额
-		optional double CurrentBalance = 9; // 期末余额
-		optional double UsedMargin = 10; // 占用保证金
-		optional double FreezeMargin = 11; // 冻结保证金
-		optional double OtherFreezeMargin = 12; // 其他冻结保证金
-		optional double FreezeCharge = 13; // 手续费冻结
-		optional double MortgageCredit = 14; // 授信金额
-		optional double OtherCredit = 15; // 其它授信金额
-		optional double OutAmountFreeze = 16; // 出金冻结
-		optional double InAmount = 17; // 今日入金
-		optional double OutAmount = 18; // 今日出金
-		optional double PayCharge = 19; // 今日手续费支出
-		optional double ClosePL = 20; // 今日平仓盈亏
-		optional double CreditIncrease = 21; // 今日授信增加
-		optional double CreditDecrease = 22; // 今日授信减少
-		optional double OtherCreditIncrease = 23; // 今日其它授信增加
-		optional double OtherCreditDecrease = 24; // 今日其它授信减少
-		optional double TransferAmount = 25; // 今日划转金额
-		optional double OtherPay = 26; // 其他支出
-		optional double OtherIncome = 27; // 其他收入
-		optional double OutThreshold = 28; // 出金阀值
-		optional uint32 IsMarketAccount = 29; // 是否机构接单账号0:不是1:是
-		optional uint32 Currencyid = 30; // 报价货币ID
+	optional uint64 AccountId = 1; // 账户id
+	optional uint32 TradeStatus = 2; // 交易状态
+	optional string Currency = 3; // 币种
+	optional uint32 IsMain = 4; // 是否母账户
+	optional uint64 ParentAccountID = 5; // 所属母账户
+	optional uint32 TAAccountType = 6; // 内、外部
+	optional uint64 RelatedMainAccountID = 7; // 关联账户
+	optional double Balance = 8; // 期初余额
+	optional double CurrentBalance = 9; // 期末余额
+	optional double UsedMargin = 10; // 占用保证金
+	optional double FreezeMargin = 11; // 冻结保证金
+	optional double OtherFreezeMargin = 12; // 其他冻结保证金
+	optional double FreezeCharge = 13; // 手续费冻结
+	optional double MortgageCredit = 14; // 授信金额
+	optional double OtherCredit = 15; // 其它授信金额
+	optional double OutAmountFreeze = 16; // 出金冻结
+	optional double InAmount = 17; // 今日入金
+	optional double OutAmount = 18; // 今日出金
+	optional double PayCharge = 19; // 今日手续费支出
+	optional double ClosePL = 20; // 今日平仓盈亏
+	optional double CreditIncrease = 21; // 今日授信增加
+	optional double CreditDecrease = 22; // 今日授信减少
+	optional double OtherCreditIncrease = 23; // 今日其它授信增加
+	optional double OtherCreditDecrease = 24; // 今日其它授信减少
+	optional double TransferAmount = 25; // 今日划转金额
+	optional double OtherPay = 26; // 其他支出
+	optional double OtherIncome = 27; // 其他收入
+	optional double OutThreshold = 28; // 出金阀值
+	optional uint32 IsMarketAccount = 29; // 是否机构接单账号0:不是1:是
+	optional uint32 Currencyid = 30; // 报价货币ID
 }
 
 // 资金变化通知
 message MoneyChangedNtf {
 	optional MessageHead Header = 1; // 消息头
-		optional NotifyHead NtfHeader = 2; // NotifyHead 公共消息头
-		optional uint64 AccountID = 3; // uint64 交易账号
+	optional NotifyHead NtfHeader = 2; // NotifyHead 公共消息头
+	optional uint64 AccountID = 3; // uint64 交易账号
 }
 
 // 新增修改收货地址请求
 message UserReceiveInfoReq {
 	optional MessageHead Header = 1;
-		optional uint64 ClientSerialID = 2; // 客户端唯一ID
-		optional uint32 UserID = 3; // 用户ID
-		optional string ReceiverName = 4; // 提货人姓名
-		optional uint32 CardTypeID = 5; // 证件类型
-		optional string CardNum = 6; // 证件号码
-		optional string PhoneNum = 7; // 提货人联系方式
-		optional uint32 CountryID = 8; // 国家
-		optional uint32 ProvinceID = 9; // 省
-		optional uint32 CityID = 10; // 市
-		optional uint32 DistrictID = 11; // 地区
-		optional string Address = 12; // 提货人详细地址
-		optional string TakeRemark = 13; // 提货备注
-		optional uint64 ReceiveInfoId = 14; // 修改时填收货地址id
+	optional uint64 ClientSerialID = 2; // 客户端唯一ID
+	optional uint32 UserID = 3; // 用户ID
+	optional string ReceiverName = 4; // 提货人姓名
+	optional uint32 CardTypeID = 5; // 证件类型
+	optional string CardNum = 6; // 证件号码
+	optional string PhoneNum = 7; // 提货人联系方式
+	optional uint32 CountryID = 8; // 国家
+	optional uint32 ProvinceID = 9; // 省
+	optional uint32 CityID = 10; // 市
+	optional uint32 DistrictID = 11; // 地区
+	optional string Address = 12; // 提货人详细地址
+	optional string TakeRemark = 13; // 提货备注
+	optional uint64 ReceiveInfoId = 14; // 修改时填收货地址id
 }
 
 // 新增修改收货地址请求响应
@@ -230,13 +230,13 @@ message UserReceiveInfoRsp {
 	optional MessageHead Header = 1; // 消息头
 	optional int32 RetCode = 2; // 返回码
 	optional string RetDesc = 3; // 描述信息
-		optional uint64 ReceiveInfoId = 4; // 响应返回autoid
+	optional uint64 ReceiveInfoId = 4; // 响应返回autoid
 }
 
 // 删除收货地址请求
 message DelUserReceiveInfoReq {
 	optional MessageHead Header = 1;
-		optional uint64 ReceiveInfoId = 2; // 收货地址id
+	optional uint64 ReceiveInfoId = 2; // 收货地址id
 }
 
 // 删除收货地址请求响应
@@ -249,8 +249,8 @@ message DelUserReceiveInfoRsp {
 // 设置默认收货地址请求
 message UserReceiveIsDefaultReq {
 	optional MessageHead Header = 1;
-		optional uint64 AutoId = 2; // 提货地址ID
-		optional uint64 UserId = 3; // 用户ID
+	optional uint64 AutoId = 2; // 提货地址ID
+	optional uint64 UserId = 3; // 用户ID
 }
 
 // 设置默认收货地址应答
@@ -258,23 +258,23 @@ message UserReceiveIsDefaultRsp {
 	optional MessageHead Header = 1; // 消息头
 	optional int32 RetCode = 2; // 返回码
 	optional string RetDesc = 3; // 描述信息
-		optional uint64 AutoId = 4; // 提货地址ID
+	optional uint64 AutoId = 4; // 提货地址ID
 }
 
 // 新增修改用户发票信息请求
 message UserReceiptInfoReq {
 	optional MessageHead Header = 1;
-		optional uint64 ClientSerialID = 2; // 客户端唯一ID
-		optional uint32 UserID = 3; // 用户ID
-		optional string UserName = 4; // 发票抬头姓名
-		optional uint32 ReceiptType = 5; // 发票类型
-		optional string TaxpayerID = 6; // 纳税人识别号
-		optional string ContactInfo = 7; // 联系方式
-		optional uint64 ReceiptInfoId = 8; // 修改时填用户发票信息id
-		optional string ReceiptBank = 9; // 发票开户行[发票类型:企业]
-		optional string ReceiptAccount = 10; // 发票帐号[发票类型:企业]
-		optional string Address = 11; // 地址[发票类型:企业]
-		optional string IDNum = 12; // 身份证号码[发票类型:个人]
+	optional uint64 ClientSerialID = 2; // 客户端唯一ID
+	optional uint32 UserID = 3; // 用户ID
+	optional string UserName = 4; // 发票抬头姓名
+	optional uint32 ReceiptType = 5; // 发票类型
+	optional string TaxpayerID = 6; // 纳税人识别号
+	optional string ContactInfo = 7; // 联系方式
+	optional uint64 ReceiptInfoId = 8; // 修改时填用户发票信息id
+	optional string ReceiptBank = 9; // 发票开户行[发票类型:企业]
+	optional string ReceiptAccount = 10; // 发票帐号[发票类型:企业]
+	optional string Address = 11; // 地址[发票类型:企业]
+	optional string IDNum = 12; // 身份证号码[发票类型:个人]
 }
 
 // 新增修改用户发票信息请求响应
@@ -282,13 +282,13 @@ message UserReceiptInfoRsp {
 	optional MessageHead Header = 1; // 消息头
 	optional int32 RetCode = 2; // 返回码
 	optional string RetDesc = 3; // 描述信息
-		optional uint64 ReceiptInfoId = 4; // 响应返回发票信息id
+	optional uint64 ReceiptInfoId = 4; // 响应返回发票信息id
 }
 
 // 删除用户发票信息请求
 message DelUserReceiptInfoReq {
 	optional MessageHead Header = 1;
-		optional uint64 ReceiptInfoId = 2; // 删除发票信息id
+	optional uint64 ReceiptInfoId = 2; // 删除发票信息id
 }
 
 // 删除用户发票信息请求响应
@@ -301,39 +301,39 @@ message DelUserReceiptInfoRsp {
 // 签约请求
 message t2bBankSignReq {
 	optional MessageHead Header = 1;
-		required uint64 ExtOperatorID = 2; // 外部操作流水号
-		optional string ExchId = 3; // 交易所编号
-		optional string TradeDate = 4; // 交易所业务日期
-		optional string ExchTicket = 5; // 交易所流水号
-		required string AccountCode = 6; // 账户
-		required string AccountName = 7; // 客户名称
-		required string CusBankID = 8; // 托管银行编号
-		required int32 OperateType = 9; // 变更类型[1-增加;2-修改;4-绑卡;
-		required int32 IsForce = 10; // 是否强制[0-否;1-是]强制,只更新中心签约信息,不发送银行。用于银行信息不一致的情况
-		optional string Currency = 11; // 币种
-		optional int32 AccountType = 12; // 账户类型[1-对私;2-对公]
-		required string OpenBankAccId = 13; // 银行卡行号
-		optional string ForceSignBankAccountNo = 14; // 银行账户[强制签约时填写]
-		optional string ForceSignBankAccountName = 15; // 银行账户名称[强制签约时填写]
-		required string BankAccountNo = 16; // 银行账户
-		optional string BankAccountName = 17; // 银行账户名称
-		required string ExBankName = 18; // 开户行名称
-		optional string OpenBankNo = 19; // 开户支行编号
-		optional string OpenBankName = 20; // 开户支行名称
-		required string CertType = 21; // 证件类型
-		required string CertID = 22; // 证件号码
-		optional string BankAccountPWD = 23; // 银行账户密码
-		optional string AgentName = 24; // 授权代理人姓名
-		optional int32 AgentCertType = 25; // 授权代理人证件类型
-		optional string AgentCertID = 26; // 授权代理人证件号
-		optional int32 BankAccountType = 27; // 银行账户类型
-		optional string BankProvince = 28; // 开户银行所在省份
-		optional string BankCity = 29; // 开户银行所在市
-		optional int32 BankCardType = 30; // 银行卡类型
-		optional string MobilePhone = 31; // 移动电话
-		optional string IdentifyCode = 32; // 验证码
-		optional string email = 33; // 电子邮箱
-		optional string Extend_Info = 34; // 扩展信息(JSON串,参考配置要求进行填充)
+	required uint64 ExtOperatorID = 2; // 外部操作流水号
+	optional string ExchId = 3; // 交易所编号
+	optional string TradeDate = 4; // 交易所业务日期
+	optional string ExchTicket = 5; // 交易所流水号
+	required string AccountCode = 6; // 账户
+	required string AccountName = 7; // 客户名称
+	required string CusBankID = 8; // 托管银行编号
+	required int32 OperateType = 9; // 变更类型[1-增加;2-修改;4-绑卡;
+	required int32 IsForce = 10; // 是否强制[0-否;1-是]强制,只更新中心签约信息,不发送银行。用于银行信息不一致的情况
+	optional string Currency = 11; // 币种
+	optional int32 AccountType = 12; // 账户类型[1-对私;2-对公]
+	required string OpenBankAccId = 13; // 银行卡行号
+	optional string ForceSignBankAccountNo = 14; // 银行账户[强制签约时填写]
+	optional string ForceSignBankAccountName = 15; // 银行账户名称[强制签约时填写]
+	required string BankAccountNo = 16; // 银行账户
+	optional string BankAccountName = 17; // 银行账户名称
+	required string ExBankName = 18; // 开户行名称
+	optional string OpenBankNo = 19; // 开户支行编号
+	optional string OpenBankName = 20; // 开户支行名称
+	required string CertType = 21; // 证件类型
+	required string CertID = 22; // 证件号码
+	optional string BankAccountPWD = 23; // 银行账户密码
+	optional string AgentName = 24; // 授权代理人姓名
+	optional int32 AgentCertType = 25; // 授权代理人证件类型
+	optional string AgentCertID = 26; // 授权代理人证件号
+	optional int32 BankAccountType = 27; // 银行账户类型
+	optional string BankProvince = 28; // 开户银行所在省份
+	optional string BankCity = 29; // 开户银行所在市
+	optional int32 BankCardType = 30; // 银行卡类型
+	optional string MobilePhone = 31; // 移动电话
+	optional string IdentifyCode = 32; // 验证码
+	optional string email = 33; // 电子邮箱
+	optional string Extend_Info = 34; // 扩展信息(JSON串,参考配置要求进行填充)
 }
 
 // 签约应答
@@ -493,9 +493,9 @@ message SpotPresaleDestingOrderRsp {
 	optional MessageHead Header = 1; // 消息头
 	optional int32 RetCode = 2; // 返回码
 	optional string RetDesc = 3; // 描述信息
-		optional uint64 PresaleApplyID = 4; // 预售申请ID
-		optional uint64 WRTradeDetailID = 5; // 成交单ID
-		optional string ClientSerialNo = 6; // 客户端流水号
+	optional uint64 PresaleApplyID = 4; // 预售申请ID
+	optional uint64 WRTradeDetailID = 5; // 成交单ID
+	optional string ClientSerialNo = 6; // 客户端流水号
 }
 
 // 铁合金现货预售交收确认接口请求

+ 4 - 4
src/business/goods/index.ts

@@ -79,10 +79,10 @@ export function useWrstandardDetails(wrstandardid: number) {
 
 
 // 添加用户商品收藏信息
-export function useAddUserFavoriteGoods(goodsid: number) {
+export function useAddUserFavoriteGoods() {
     const { getUserId } = useLoginStore()
 
-    const getAddUserFavoriteGoods = () => {
+    const getAddUserFavoriteGoods = (goodsid: number) => {
         return addUserFavoriteGoods({
             data: {
                 userID: getUserId(),
@@ -97,10 +97,10 @@ export function useAddUserFavoriteGoods(goodsid: number) {
 
 
 // 移除用户商品收藏信息
-export function useRemoveUserFavoriteGoods(goodsid: number) {
+export function useRemoveUserFavoriteGoods() {
     const { getUserId } = useLoginStore()
 
-    const getRemoveUserFavoriteGoods = () => {
+    const getRemoveUserFavoriteGoods = (goodsid: number) => {
         return removeUserFavoriteGoods({
             data: {
                 userID: getUserId(),

+ 9 - 1
src/packages/mobile/router/index.ts

@@ -128,12 +128,20 @@ const routes: Array<RouteRecordRaw> = [
     component: Page,
     children: [
       {
-        path: '',
+        path: 'product',
         name: 'product',
         component: () => import('../views/product/index.vue'),
         meta: {
           ignoreAuth: true,
         },
+      },
+      {
+        path: 'productdetail',
+        name: 'product-detail',
+        component: () => import('../views/product/detail/index.vue'),
+        meta: {
+          ignoreAuth: true,
+        },
       }
     ]
   },

+ 70 - 0
src/packages/mobile/views/product/detail/index.vue

@@ -0,0 +1,70 @@
+<template>
+    <app-view class="productdetail">
+      <template #header>
+        <app-navbar class="productdetail__header" title="商品详情" />
+      </template>
+      <Swipe :autoplay="3000" indicator-color="white" lazy-render>
+        <SwipeItem v-for="(item, index) in topBanners" :key="index">
+          <img :src="getImageUrl(item)" />
+        </SwipeItem>
+      </Swipe>
+      
+      <div class="goods-details__container">
+            <div class="goods-details__container price">
+                <span>{{ details.goodsinfo?.wrstandardname }}</span>
+                <span> 参考价 {{ details.goodsinfo?.spotgoodsprice ?? 0.0 }}元/{{ getGoodsUnitName(details.goodsinfo?.unitid) }} </span>
+                <Button icon="{{ active === 0 ? 'star-o' : 'start' }}" @click="favorite"></Button>
+            </div>
+            <Divider>历史价格走势</Divider>
+            <Divider>商品详情</Divider>
+            <div class="">
+                <template v-for="(url, index) in goodsImages" :key="index">
+                    <img :src="url" alt="" />
+                </template>
+            </div>
+        </div>
+    </app-view>
+</template>
+
+<script lang="ts" setup>
+
+import { computed } from 'vue'
+import { useNavigation } from '@/hooks/navigation'
+import { Divider, Swipe, SwipeItem, Button } from 'vant'
+import { getImageUrl } from "@/filters";
+import { useWrstandardDetails, useAddUserFavoriteGoods, useRemoveUserFavoriteGoods } from '@/business/goods'
+import { getGoodsUnitName } from '@/constants/unit'
+
+const { getQueryStringToNumber } = useNavigation()
+const wrstandardid = getQueryStringToNumber('wrstandardid')
+var active = getQueryStringToNumber('active')
+const { details, getWrstandardDetails } = useWrstandardDetails(wrstandardid)
+const { getAddUserFavoriteGoods } = useAddUserFavoriteGoods()
+const { getRemoveUserFavoriteGoods } = useRemoveUserFavoriteGoods()
+
+// 商品图片列表
+const goodsImages = computed(() => {
+    const pictureurls = details?.value.goodsinfo?.pictureurls ?? ''
+    return pictureurls.split(',').map((path) => getImageUrl(path))
+})
+
+// 商品banner
+const topBanners = computed(() => {
+    const bannerpicurls = details?.value.goodsinfo?.bannerpicurl ?? ''
+    return bannerpicurls.split(',').map((path) => getImageUrl(path))
+})
+
+/// 收藏
+const favorite = () => {
+    if (active === 0) {
+        active = 1
+        getAddUserFavoriteGoods(wrstandardid)
+    } else {
+        active = 0 
+        getRemoveUserFavoriteGoods(wrstandardid)
+    }
+}
+
+getWrstandardDetails()
+    
+</script>

+ 28 - 28
src/packages/mobile/views/product/index.vue

@@ -18,46 +18,46 @@
             <template #title>
               <img :src="getImageUrl(item.bannerpicurl)" />
               <span>{{ item.wrstandardname }}</span>
-              <Button type="primary" round size="small">立即进入</Button>
+              <Button type="primary" round size="small" @click="$router.push({name: 'product-detail', query: { wrstandardid: item.wrstandardid, active: active } })">立即进入</Button>
             </template>
           </Cell>
         </template>
       </app-pull-refresh>
     </app-view>
-  </template>
+</template>
   
-  <script lang="ts" setup>
-  import { shallowRef, ref } from 'vue'
-  import { Cell, Tabs, Tab, Button, Empty } from 'vant'
-  import { getImageUrl } from '@/filters'
-  import { useQueryTHJProductLists } from '@/business/goods'
-  import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
-  
-  const { pageIndex, pageCount, getQueryTHJProductLists, active } = useQueryTHJProductLists()
-  const pullRefreshRef = shallowRef()
-  const dataList = shallowRef<Model.THJProductRsp[]>([])
-  const error = shallowRef(false)
+<script lang="ts" setup>
+import { shallowRef } from 'vue'
+import { Cell, Tabs, Tab, Button, Empty } from 'vant'
+import { getImageUrl } from '@/filters'
+import { useQueryTHJProductLists } from '@/business/goods'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
+
+const { pageIndex, pageCount, getQueryTHJProductLists, active } = useQueryTHJProductLists()
+const pullRefreshRef = shallowRef()
+const dataList = shallowRef<Model.THJProductRsp[]>([])
+const error = shallowRef(false)
 
-  // Tab触发
+// Tab触发
 const onClickTab = () => {
-  pullRefreshRef.value?.refresh()
+pullRefreshRef.value?.refresh()
 }
-  
+
 const onRefresh = (finish: () => void) => {
-  /// 获取产品列表
-  getQueryTHJProductLists().then((res) => {
-    if (pageIndex.value === 1) {
-      dataList.value = []
-    }
-    dataList.value.push(...res)
-  }).catch(() => {
-    error.value = true
-  }).finally(() => {
-    finish()
-  })
+/// 获取产品列表
+getQueryTHJProductLists().then((res) => {
+  if (pageIndex.value === 1) {
+    dataList.value = []
+  }
+  dataList.value.push(...res)
+}).catch(() => {
+  error.value = true
+}).finally(() => {
+  finish()
+})
 }
 
-  </script>
+</script>
 
 <style lang="less">
 @import './index.less';

+ 1 - 0
src/types/model/goods.d.ts

@@ -112,6 +112,7 @@ declare namespace Model {
         }[];
         goodsinfo: {
             pictureurls: string; // 详情图片(逗号分隔)
+            bannerpicurl: string;  // bannerpicurl(逗号分隔)
             spotgoodsprice: number; // 现货价格
             unitid: number; // 现货商品单位ID
             wrstandardcode: string; // 现货商品代码