Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
freemud.be.toolbox
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈宁
freemud.be.toolbox
Commits
2d276183
Commit
2d276183
authored
Jun 19, 2020
by
陈宁
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
# dev 券码服务
parent
e9408e1f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
452 additions
and
128 deletions
+452
-128
Freemud.BE.Toolbox.Testing/GeneralTest.cs
+37
-0
Freemud.BE.Toolbox.WebApi/Controllers/RequestResourceController.cs
+8
-2
Freemud.BE.Toolbox.WebApi/Freemud.BE.Toolbox.WebApi.csproj
+4
-0
Freemud.BE.Toolbox.WebApi/Infrastructure/Helpers/HttpHeper.cs
+19
-2
Freemud.BE.Toolbox.WebApi/Model/Request/GetCouponInfoRequest.cs
+2
-0
Freemud.BE.Toolbox.WebApi/Model/Request/GetProductInfoRequest.cs
+1
-1
Freemud.BE.Toolbox.WebApi/Model/Response/RequestResourceResponse.cs
+7
-5
Freemud.BE.Toolbox.WebApi/Proxy/BaseProxy.cs
+120
-0
Freemud.BE.Toolbox.WebApi/Proxy/FmCouponProxy.cs
+72
-0
Freemud.BE.Toolbox.WebApi/Proxy/FmProductProxy.cs
+59
-0
Freemud.BE.Toolbox.WebApi/Proxy/FmStoreProxy.cs
+11
-0
Freemud.BE.Toolbox.WebApi/Services/IRequestResourceService.cs
+3
-1
Freemud.BE.Toolbox.WebApi/Services/Impl/RequestResourceService.cs
+0
-0
Freemud.BE.Toolbox.WebApi/Startup.cs
+1
-1
freemud.be.toolboxview/.eslintrc.js
+1
-1
freemud.be.toolboxview/src/assets/css/global.css
+5
-0
freemud.be.toolboxview/src/dist/main.dev.js
+1
-1
freemud.be.toolboxview/src/dist/main.prod.js
+2
-2
freemud.be.toolboxview/src/main.js
+1
-1
freemud.be.toolboxview/src/views/Home.vue
+3
-3
freemud.be.toolboxview/src/views/requestresource/CouponProductSearch.vue
+28
-80
freemud.be.toolboxview/src/views/requestresource/RequestResource.vue
+66
-26
freemud.be.toolboxview/vue.config.js
+1
-2
No files found.
Freemud.BE.Toolbox.Testing/GeneralTest.cs
View file @
2d276183
...
...
@@ -2,7 +2,9 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
using
Newtonsoft.Json
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System.Collections.Generic
;
using
System.Dynamic
;
using
System.Threading.Tasks
;
namespace
Freemud.BE.Toolbox.Testing
{
...
...
@@ -32,6 +34,12 @@ namespace Freemud.BE.Toolbox.Testing
Console
.
WriteLine
(
obj
.
ToString
());
Console
.
WriteLine
(
JsonConvert
.
SerializeObject
(
obj
));
Console
.
WriteLine
(
"obj is: "
+
JsonConvert
.
SerializeObject
(
obj
));
Console
.
WriteLine
(
obj
.
name
);
Console
.
WriteLine
(
obj
.
Name
);
Console
.
WriteLine
(
obj
.
Sex
);
Console
.
WriteLine
(
obj
.
Sex
.
toString
());
}
private
dynamic
getDynamic
()
...
...
@@ -43,6 +51,35 @@ namespace Freemud.BE.Toolbox.Testing
return
obj
;
}
[
TestMethod
]
public
void
asdasdasdasd
()
{
long
a
=
0
;
int
b
=
990
;
decimal
c
=
(
decimal
)
b
/
100
;
Console
.
WriteLine
(
c
);
}
[
TestMethod
]
public
void
asdlkjasdlkjaslkdjaskldj
()
{
Customer
c
=
null
;
Console
.
WriteLine
(
c
?.
Channel
==
(
int
)
ChannelEnum
.
Delivery
);
c
=
new
Customer
{
Channel
=
2
};
Console
.
WriteLine
(
c
?.
Channel
==
(
int
)
ChannelEnum
.
Delivery
);
c
.
Channel
=
5
;
Console
.
WriteLine
(
c
?.
Channel
==
(
int
)
ChannelEnum
.
Delivery
);
}
}
public
class
Customer
{
public
int
Channel
{
get
;
set
;
}
}
public
enum
ChannelEnum
...
...
Freemud.BE.Toolbox.WebApi/Controllers/RequestResourceController.cs
View file @
2d276183
...
...
@@ -17,16 +17,22 @@ namespace Freemud.BE.Toolbox.WebApi.Controllers
this
.
requestResourceService
=
requestResourceService
;
}
[
HttpPost
(
"get-coupon
-info
"
)]
[
HttpPost
(
"get-coupon"
)]
public
async
Task
<
IActionResult
>
GetCouponInfo
([
FromBody
]
GetCouponInfoRequest
request
)
{
return
Ok
(
data
:
await
requestResourceService
.
GetCouponInfo
(
request
));
}
[
HttpPost
(
"get-product
-info
"
)]
[
HttpPost
(
"get-product"
)]
public
async
Task
<
IActionResult
>
GetProductInfo
([
FromBody
]
GetProductInfoRequest
request
)
{
return
Ok
(
data
:
await
requestResourceService
.
GetProductInfo
(
request
));
}
[
HttpPost
(
"get-store-by-position"
)]
public
async
Task
<
IActionResult
>
GetStoreByPosition
([
FromBody
]
GetProductInfoRequest
request
)
{
return
Ok
(
data
:
await
requestResourceService
.
GetProductInfo
(
request
));
}
}
}
Freemud.BE.Toolbox.WebApi/Freemud.BE.Toolbox.WebApi.csproj
View file @
2d276183
...
...
@@ -13,4 +13,8 @@
<PackageReference Include="UAParser" Version="3.1.44" />
</ItemGroup>
<ItemGroup>
<Folder Include="Infrastructure\Http\" />
</ItemGroup>
</Project>
Freemud.BE.Toolbox.WebApi/Infrastructure/Helpers/HttpHeper.cs
View file @
2d276183
using
RestSharp
;
using
Newtonsoft.Json
;
using
RestSharp
;
using
Serilog
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
...
...
@@ -29,8 +31,15 @@ namespace Freemud.BE.Toolbox.WebApi.Infrastructure.Helpers
}
}
Log
.
Information
(
$"url:
{
url
}
"
);
Log
.
Information
(
$"header:
{
JsonConvert
.
SerializeObject
(
headers
)}
"
);
Log
.
Information
(
$"query:
{
JsonConvert
.
SerializeObject
(
queries
)}
"
);
var
response
=
await
client
.
ExecuteAsync
<
TResult
>(
request
);
return
response
;
Log
.
Information
(
$"response:
{
response
.
Content
}
"
);
return
null
;
}
public
static
async
Task
<
IRestResponse
<
TResult
>>
Post
<
TResult
>(
string
url
,
Dictionary
<
string
,
object
>
headers
=
null
,
Dictionary
<
string
,
object
>
queries
=
null
,
object
jsonBody
=
null
)
...
...
@@ -59,7 +68,15 @@ namespace Freemud.BE.Toolbox.WebApi.Infrastructure.Helpers
request
.
AddJsonBody
(
jsonBody
);
}
Log
.
Information
(
$"url:
{
url
}
"
);
Log
.
Information
(
$"header:
{
JsonConvert
.
SerializeObject
(
headers
)}
"
);
Log
.
Information
(
$"query:
{
JsonConvert
.
SerializeObject
(
queries
)}
"
);
Log
.
Information
(
$"data:
{
JsonConvert
.
SerializeObject
(
jsonBody
)}
"
);
var
response
=
await
client
.
ExecuteAsync
<
TResult
>(
request
);
Log
.
Information
(
$"response:
{
response
.
Content
}
"
);
return
response
;
}
}
...
...
Freemud.BE.Toolbox.WebApi/Model/Request/GetCouponInfoRequest.cs
View file @
2d276183
...
...
@@ -10,5 +10,7 @@ namespace Freemud.BE.Toolbox.WebApi.Model.Request
public
string
CouponCode
{
get
;
set
;
}
public
string
StoreId
{
get
;
set
;
}
public
DateTime
Time
{
get
;
set
;
}
}
}
Freemud.BE.Toolbox.WebApi/Model/Request/GetProductInfoRequest.cs
View file @
2d276183
...
...
@@ -7,7 +7,7 @@ namespace Freemud.BE.Toolbox.WebApi.Model.Request
{
public
class
GetProductInfoRequest
:
BaseRequestResourceRequest
{
public
string
ProductId
{
get
;
set
;
}
public
List
<
string
>
ProductId
{
get
;
set
;
}
public
string
StoreId
{
get
;
set
;
}
...
...
Freemud.BE.Toolbox.WebApi/Model/Response/RequestResourceResponse.cs
View file @
2d276183
...
...
@@ -7,16 +7,18 @@ namespace Freemud.BE.Toolbox.WebApi.Model.Response
{
public
class
RequestResourceResponse
{
public
string
Name
{
get
;
set
;
}
public
string
Url
{
get
;
set
;
}
public
object
RequestHeaders
{
get
;
set
;
}
public
dynamic
RequestHeaders
{
get
;
set
;
}
public
object
RequestBody
{
get
;
set
;
}
public
dynamic
RequestBody
{
get
;
set
;
}
public
object
ResponseHeaders
{
get
;
set
;
}
public
dynamic
ResponseHeaders
{
get
;
set
;
}
public
object
ResponseBody
{
get
;
set
;
}
public
dynamic
ResponseBody
{
get
;
set
;
}
public
string
ResponseError
{
get
;
set
;
}
public
dynamic
ResponseError
{
get
;
set
;
}
}
}
Freemud.BE.Toolbox.WebApi/Proxy/BaseProxy.cs
0 → 100644
View file @
2d276183
using
Freemud.BE.Toolbox.WebApi.Model
;
using
Freemud.BE.Toolbox.WebApi.Model.Constants
;
using
Freemud.BE.Toolbox.WebApi.Model.Response
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Threading.Tasks
;
namespace
Freemud.BE.Toolbox.WebApi.Proxy
{
public
abstract
class
BaseProxy
{
private
readonly
List
<
RequestResourceConfiguration
>
requestResources
;
protected
BaseProxy
(
List
<
RequestResourceConfiguration
>
requestResources
)
{
this
.
requestResources
=
requestResources
;
}
/// <summary>
/// 获取服务地址
/// </summary>
/// <param name="env"></param>
/// <param name="group"></param>
/// <param name="name"></param>
/// <returns></returns>
public
string
GetUrl
(
string
env
,
string
group
,
string
name
)
{
var
config
=
requestResources
?.
FirstOrDefault
(
d
=>
d
.
Name
.
Equals
(
group
,
StringComparison
.
OrdinalIgnoreCase
));
if
(
config
==
null
)
return
string
.
Empty
;
var
baseUrl
=
string
.
Empty
;
switch
(
env
)
{
case
ToolboxConstants
.
ENV_DEV
:
baseUrl
=
config
.
DevBaseUrl
;
break
;
case
ToolboxConstants
.
ENV_PROD
:
baseUrl
=
config
.
ProdBaseUrl
;
break
;
default
:
return
string
.
Empty
;
}
var
path
=
config
.
Resources
?.
FirstOrDefault
(
d
=>
d
.
Name
.
Equals
(
name
,
StringComparison
.
OrdinalIgnoreCase
))?.
Path
;
if
(
string
.
IsNullOrWhiteSpace
(
path
))
return
string
.
Empty
;
return
$"
{
baseUrl
}{
path
}
"
;
}
/// <summary>
/// 标准化请求资源输出
/// </summary>
/// <param name="name"></param>
/// <param name="url"></param>
/// <param name="requestHeaders"></param>
/// <param name="requestBody"></param>
/// <param name="responseHeaders"></param>
/// <param name="responseBody"></param>
/// <param name="responseError"></param>
/// <returns></returns>
protected
RequestResourceResponse
Response
(
string
name
,
string
url
,
object
requestHeaders
=
null
,
object
requestBody
=
null
,
object
responseHeaders
=
null
,
object
responseBody
=
null
,
string
responseError
=
""
)
{
return
new
RequestResourceResponse
{
Name
=
name
,
Url
=
url
,
RequestHeaders
=
requestHeaders
,
RequestBody
=
requestBody
,
ResponseHeaders
=
responseHeaders
,
ResponseBody
=
responseBody
,
ResponseError
=
responseError
};
}
protected
string
GetChannelPartnerId
(
string
channel
)
{
if
(
string
.
IsNullOrWhiteSpace
(
channel
))
return
string
.
Empty
;
switch
(
channel
)
{
case
ToolboxConstants
.
CHANNEL_DELIVERY
:
return
"F8538588-C692-4958-A591-A4C71D976209"
;
case
ToolboxConstants
.
CHANNEL_MCOFFEE
:
return
"C57FE34D-7C14-4FB7-ACF7-398C9F8875ED"
;
case
ToolboxConstants
.
CHANNEL_KIOSK
:
return
"83F6C6F9-8535-4CB9-BE18-5DB050999FA3"
;
default
:
return
string
.
Empty
;
}
}
protected
string
GetChannelUnifyId
(
string
channel
,
string
env
)
{
if
(
string
.
IsNullOrWhiteSpace
(
channel
))
return
string
.
Empty
;
switch
(
channel
)
{
case
ToolboxConstants
.
CHANNEL_DELIVERY
:
return
"30b5f0ca-399a-4be3-9063-12a3d2622a38"
;
case
ToolboxConstants
.
CHANNEL_MCOFFEE
:
return
"c2e95f53-e21b-4445-a6b1-dd4d2d8a7b96"
;
case
ToolboxConstants
.
CHANNEL_KIOSK
:
if
(
ToolboxConstants
.
ENV_DEV
.
Equals
(
env
,
StringComparison
.
OrdinalIgnoreCase
))
return
"1618"
;
else
if
(
ToolboxConstants
.
ENV_PROD
.
Equals
(
env
,
StringComparison
.
OrdinalIgnoreCase
))
return
"5578b01b-9904-46ca-a9aa-33f8f80b0b67"
;
else
return
string
.
Empty
;
default
:
return
string
.
Empty
;
}
}
}
}
Freemud.BE.Toolbox.WebApi/Proxy/FmCouponProxy.cs
0 → 100644
View file @
2d276183
using
Freemud.BE.Toolbox.WebApi.Infrastructure.Helpers
;
using
Freemud.BE.Toolbox.WebApi.Model
;
using
Freemud.BE.Toolbox.WebApi.Model.Constants
;
using
Freemud.BE.Toolbox.WebApi.Model.Request
;
using
Freemud.BE.Toolbox.WebApi.Model.Response
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Threading.Tasks
;
namespace
Freemud.BE.Toolbox.WebApi.Proxy
{
public
class
FmCouponProxy
:
BaseProxy
{
public
FmCouponProxy
(
List
<
RequestResourceConfiguration
>
requestResources
)
:
base
(
requestResources
)
{
}
/// <summary>
/// 获取券码核销渠道
/// 0(Unknown), 1(POS), 2(Online), 3(Pickup), 4(Delivery), 5(McCofe), 6(Kiosk)
/// </summary>
/// <param name="channel"></param>
/// <returns></returns>
private
string
GetFreemudCouponChannel
(
string
channel
)
{
switch
(
channel
)
{
case
ToolboxConstants
.
CHANNEL_DELIVERY
:
return
"4"
;
case
ToolboxConstants
.
CHANNEL_MCOFFEE
:
return
"5"
;
case
ToolboxConstants
.
CHANNEL_KIOSK
:
return
"6"
;
default
:
return
"0"
;
}
}
/// <summary>
/// 查询券码信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public
async
Task
<
RequestResourceResponse
>
GetCouponInfos
(
GetCouponInfoRequest
request
)
{
var
url
=
GetUrl
(
request
.
Env
,
"FreemudCoupon"
,
"coupon_product"
);
var
headers
=
new
Dictionary
<
string
,
object
>
{
{
"pi"
,
GetChannelPartnerId
(
request
.
Channel
)
}
};
var
body
=
new
{
reqtype
=
88
,
// 操作类型; 0(卡券查询), 2(卡券交易查询), 3(卡券冲正), 71(卡券核销), 88(批量查询)
station_id
=
"999"
,
// POS机编号
operator_id
=
"999"
,
// 营业员编号
store_id
=
request
.
StoreId
,
// 门店编号
couponlist
=
request
.
CouponCode
.
Split
(
","
).
ToList
(),
// 优惠券编号
channel
=
GetFreemudCouponChannel
(
request
.
Channel
)
// 核销渠道; 0(Unknown), 1(POS), 2(Online), 3(Pickup), 4(Delivery), 5(McCofe), 6(Kiosk)
};
var
response
=
await
HttpHeper
.
Post
<
dynamic
>(
url
,
headers
,
jsonBody
:
body
);
return
new
RequestResourceResponse
{
Name
=
"获取券码信息"
,
Url
=
url
,
RequestHeaders
=
headers
,
RequestBody
=
body
,
ResponseBody
=
response
.
Data
,
ResponseError
=
response
.
ErrorMessage
};
}
}
}
Freemud.BE.Toolbox.WebApi/Proxy/FmProductProxy.cs
0 → 100644
View file @
2d276183
using
Freemud.BE.Toolbox.WebApi.Infrastructure.Helpers
;
using
Freemud.BE.Toolbox.WebApi.Model
;
using
Freemud.BE.Toolbox.WebApi.Model.Request
;
using
Freemud.BE.Toolbox.WebApi.Model.Response
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Threading.Tasks
;
namespace
Freemud.BE.Toolbox.WebApi.Proxy
{
public
class
FmProductProxy
:
BaseProxy
{
public
FmProductProxy
(
List
<
RequestResourceConfiguration
>
requestResources
)
:
base
(
requestResources
)
{
}
/// <summary>
/// 获取商品基本信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public
async
Task
<
RequestResourceResponse
>
GetProductBaseInfos
(
GetProductInfoRequest
request
)
{
var
url
=
GetUrl
(
request
.
Env
,
"FreemudProduct"
,
"listBaseInfosByTimeV2"
);
url
=
string
.
Format
(
url
,
string
.
Join
(
','
,
request
.
ProductId
),
$"
{
GetChannelUnifyId
(
request
.
Channel
,
request
.
Env
)}
_
{
request
.
StoreId
}
"
,
request
.
Time
.
ToString
(
"HH:mm:ss"
),
true
);
var
response
=
await
HttpHeper
.
Get
<
dynamic
>(
url
);
return
new
RequestResourceResponse
{
Name
=
"获取商品信息"
,
Url
=
url
,
ResponseBody
=
response
.
Data
,
ResponseError
=
response
.
ErrorMessage
};
}
/// <summary>
/// 获取商品扩展信息
/// </summary>
/// <param name="env"></param>
/// <param name="productId"></param>
/// <returns></returns>
public
async
Task
<
RequestResourceResponse
>
GetProductExtensionInfo
(
string
env
,
int
productId
)
{
var
url
=
GetUrl
(
env
,
"FreemudProduct"
,
"getProductExtensionInfo"
);
url
=
string
.
Format
(
url
,
productId
);
var
response
=
await
HttpHeper
.
Get
<
dynamic
>(
url
);
return
new
RequestResourceResponse
{
Name
=
"获取商品扩展信息"
,
Url
=
url
,
ResponseBody
=
response
.
Data
,
ResponseError
=
response
.
ErrorMessage
};
}
}
}
Freemud.BE.Toolbox.WebApi/Proxy/FmStoreProxy.cs
0 → 100644
View file @
2d276183
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Threading.Tasks
;
namespace
Freemud.BE.Toolbox.WebApi.Proxy
{
public
class
FmStoreProxy
{
}
}
Freemud.BE.Toolbox.WebApi/Services/IRequestResourceService.cs
View file @
2d276183
...
...
@@ -9,8 +9,10 @@ namespace Freemud.BE.Toolbox.WebApi.Services
{
public
interface
IRequestResourceService
{
Task
<
RequestResourceResponse
>
GetCouponInfo
(
GetCouponInfoRequest
request
);
Task
<
List
<
RequestResourceResponse
>
>
GetCouponInfo
(
GetCouponInfoRequest
request
);
Task
<
RequestResourceResponse
>
GetProductInfo
(
GetProductInfoRequest
request
);
Task
<
RequestResourceResponse
>
GetStoreByPosition
(
GetStoreByPositionRequest
request
);
}
}
Freemud.BE.Toolbox.WebApi/Services/Impl/RequestResourceService.cs
View file @
2d276183
This diff is collapsed.
Click to expand it.
Freemud.BE.Toolbox.WebApi/Startup.cs
View file @
2d276183
...
...
@@ -84,7 +84,7 @@ namespace Freemud.BE.Toolbox.WebApi
app
.
UseGlobalExceptionHandler
();
app
.
UseRequestClientInfoReceiver
();
//
app.UseRequestWebWorkContext();
app
.
UseRequestWebWorkContext
();
app
.
UseEndpoints
(
endpoints
=>
{
...
...
freemud.be.toolboxview/.eslintrc.js
View file @
2d276183
...
...
@@ -13,6 +13,6 @@ module.exports = {
rules
:
{
'no-console'
:
process
.
env
.
NODE_ENV
===
'production'
?
'error'
:
'off'
,
'no-debugger'
:
process
.
env
.
NODE_ENV
===
'production'
?
'error'
:
'off'
,
'vue/no-parsing-error'
:
[
2
,
{
"x-invalid-end-tag"
:
false
}]
'vue/no-parsing-error'
:
[
2
,
{
'x-invalid-end-tag'
:
false
}]
}
}
freemud.be.toolboxview/src/assets/css/global.css
View file @
2d276183
...
...
@@ -11,4 +11,8 @@ html, body, #app {
.ivu-input
:focus
{
border-color
:
#57a3f3
;
box-shadow
:
0
0
0px
4px
rgba
(
45
,
140
,
240
,
0.2
);
}
.ivu-tabs-bar
{
margin-bottom
:
5px
;
}
\ No newline at end of file
freemud.be.toolboxview/src/dist/main.dev.js
View file @
2d276183
...
...
@@ -19,7 +19,7 @@ var _lodash = _interopRequireDefault(require("lodash"));
function
_interopRequireDefault
(
obj
)
{
return
obj
&&
obj
.
__esModule
?
obj
:
{
"default"
:
obj
};
}
// dev
_axios
[
"default"
].
defaults
.
baseURL
=
'http://
localhost:5113
8/api'
;
// prod
_axios
[
"default"
].
defaults
.
baseURL
=
'http://
129.211.139.23:801
8/api'
;
// prod
// axios.defaults.baseURL = '/api'
_axios
[
"default"
].
interceptors
.
request
.
use
(
function
(
config
)
{
...
...
freemud.be.toolboxview/src/dist/main.prod.js
View file @
2d276183
"use strict"
;
var
_vue
=
_interopRequireDefault
(
require
(
"vue"
)),
_App
=
_interopRequireDefault
(
require
(
"./App.vue"
)),
_router
=
_interopRequireDefault
(
require
(
"./router"
)),
_viewDesign
=
_interopRequireDefault
(
require
(
"view-design"
));
require
(
"view-design/dist/styles/iview.css"
),
require
(
"./assets/css/global.css"
);
var
_axios
=
_interopRequireDefault
(
require
(
"axios"
)),
_lodash
=
_interopRequireDefault
(
require
(
"lodash"
));
function
_interopRequireDefault
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
_axios
.
default
.
defaults
.
baseURL
=
"http://localhost:51138/api"
,
_axios
.
default
.
interceptors
.
request
.
use
(
function
(
e
){
var
u
=
window
.
sessionStorage
.
getItem
(
"au"
);
return
u
&&
(
e
.
headers
.
au
=
u
),
e
}),
_vue
.
default
.
prototype
.
$http
=
_axios
.
default
,
_vue
.
default
.
prototype
.
_
=
_lodash
.
default
,
_vue
.
default
.
use
(
_viewDesign
.
default
),
_vue
.
default
.
config
.
productionTip
=!
1
,
new
_vue
.
default
({
router
:
_router
.
default
,
render
:
function
(
e
){
return
e
(
_App
.
default
)}}).
$mount
(
"#app"
);
\ No newline at end of file
"use strict"
;
var
_vue
=
_interopRequireDefault
(
require
(
"vue"
)),
_App
=
_interopRequireDefault
(
require
(
"./App.vue"
)),
_router
=
_interopRequireDefault
(
require
(
"./router"
)),
_viewDesign
=
_interopRequireDefault
(
require
(
"view-design"
));
require
(
"view-design/dist/styles/iview.css"
),
require
(
"./assets/css/global.css"
);
var
_axios
=
_interopRequireDefault
(
require
(
"axios"
)),
_lodash
=
_interopRequireDefault
(
require
(
"lodash"
));
function
_interopRequireDefault
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
_axios
.
default
.
defaults
.
baseURL
=
"http://129.211.139.23:8018/api"
,
_axios
.
default
.
interceptors
.
request
.
use
(
function
(
e
){
var
u
=
window
.
sessionStorage
.
getItem
(
"au"
);
return
u
&&
(
e
.
headers
.
au
=
u
),
e
}),
_vue
.
default
.
prototype
.
$http
=
_axios
.
default
,
_vue
.
default
.
prototype
.
_
=
_lodash
.
default
,
_vue
.
default
.
use
(
_viewDesign
.
default
),
_vue
.
default
.
config
.
productionTip
=!
1
,
new
_vue
.
default
({
router
:
_router
.
default
,
render
:
function
(
e
){
return
e
(
_App
.
default
)}}).
$mount
(
"#app"
);
\ No newline at end of file
freemud.be.toolboxview/src/main.js
View file @
2d276183
...
...
@@ -8,7 +8,7 @@ import axios from 'axios'
import
_
from
'lodash'
// dev
axios
.
defaults
.
baseURL
=
'http://
localhost:5113
8/api'
axios
.
defaults
.
baseURL
=
'http://
129.211.139.23:801
8/api'
// prod
// axios.defaults.baseURL = '/api'
axios
.
interceptors
.
request
.
use
(
config
=>
{
...
...
freemud.be.toolboxview/src/views/Home.vue
View file @
2d276183
...
...
@@ -13,10 +13,10 @@
<Layout>
<Sider
hide-trigger
class=
"layout-sider"
>
<p
class=
"menu-parting"
></p>
<Menu
theme=
"dark"
width=
"auto"
:active-name=
"
this.$route.path
"
>
<Menu
theme=
"dark"
width=
"auto"
:active-name=
"
'/' + this.$route.path.split('/')[1]
"
>
<!--
<MenuItem
name=
"/dashboard"
to=
"/dashboard"
>
<Icon
type=
"logo-xbox"
/>
首页
</MenuItem>
-->
</MenuItem>
-->
<MenuItem
name=
"/environment-configure"
to=
"/environment-configure"
>
<Icon
type=
"md-construct"
/>
环境切换
</MenuItem>
...
...
@@ -25,7 +25,7 @@
</MenuItem>
<!--
<MenuItem
name=
"/be-logging"
to=
"/be-logging"
>
<Icon
type=
"md-list-box"
/>
日志查询
</MenuItem>
-->
</MenuItem>
-->
</Menu>
</Sider>
<Layout>
...
...
freemud.be.toolboxview/src/views/requestresource/CouponProductSearch.vue
View file @
2d276183
<
template
>
<div>
<h2
class=
"resource-title"
>
码券对应商品信息
</h2>
<Form
:label-width=
"80"
>
<Row>
<Col
span=
"12"
>
...
...
@@ -27,13 +26,13 @@
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"
券
号"
>
<
Input
type=
"text"
v-model=
"couponCode"
placeholder=
"券号"
></Input
>
<FormItem
label=
"
门店
号"
>
<
AutoComplete
v-model=
"storeId"
:data=
"[1450026, 99998, 99995]"
placeholder=
"门店编号"
></AutoComplete
>
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"
门店
号"
>
<Input
type=
"text"
v-model=
"
storeId"
placeholder=
"门店编
号"
></Input>
<FormItem
label=
"
券
号"
>
<Input
type=
"text"
v-model=
"
couponCode"
placeholder=
"券
号"
></Input>
</FormItem>
</Col>
<Col
span=
"12"
>
...
...
@@ -51,33 +50,17 @@
<Tabs
:animated=
"false"
>
<TabPane
label=
"结果"
icon=
"md-list-box"
>
<List
border
>
<ListItem>
描述说明 -
暂无
</ListItem>
<ListItem>
暂无
</ListItem>
</List>
</TabPane>
<TabPane
label=
"元信息"
icon=
"md-bug"
>
<div
class=
"resource-result-metadata-panel"
>
<div
class=
"resource-result-metadata-item"
>
<span
class=
"resource-result-metadata-item-title"
>
URL
</span>
<span
class=
"resource-result-metadata-item-title"
>
Request
</span>
<codemirror
v-model=
"metaDataRequestUrl"
:options=
"cmOptions"
></codemirror>
</div>
<div
class=
"resource-result-metadata-item"
>
<span
class=
"resource-result-metadata-item-title"
>
Request Header
</span>
<codemirror
v-model=
"metaDataRequestHeader"
:options=
"cmOptions"
></codemirror>
</div>
<div
class=
"resource-result-metadata-item"
>
<span
class=
"resource-result-metadata-item-title"
>
Request Body
</span>
<codemirror
v-model=
"metaDataRequestBody"
:options=
"cmOptions"
></codemirror>
</div>
<div
class=
"resource-result-metadata-item"
>
<span
class=
"resource-result-metadata-item-title"
>
Response Error
</span>
<Alert
type=
"error"
>
{{
this
.
metaDataResponseError
}}
</Alert>
</div>
<div
class=
"resource-result-metadata-item"
>
<span
class=
"resource-result-metadata-item-title"
>
Response Header
</span>
<codemirror
v-model=
"metaDataResponseHeader"
:options=
"cmOptions"
></codemirror>
</div>
<div
class=
"resource-result-metadata-item"
>
<span
class=
"resource-result-metadata-item-title"
>
Response Body
</span>
<span
class=
"resource-result-metadata-item-title"
>
Response
</span>
<codemirror
v-model=
"metaDataResponseBody"
:options=
"cmOptions"
></codemirror>
</div>
</div>
...
...
@@ -103,15 +86,11 @@ export default {
loadingSearch
:
false
,
channel
:
'delivery'
,
env
:
'dev'
,
couponCode
:
'
573185005512078
'
,
storeId
:
'
1450026
'
,
couponCode
:
''
,
storeId
:
''
,
viewData
:
''
,
metaDataRequestUrl
:
''
,
metaDataRequestHeader
:
''
,
metaDataRequestBody
:
''
,
metaDataResponseHeader
:
''
,
metaDataResponseBody
:
''
,
metaDataResponseError
:
''
,
cmOptions
:
{
lineNumbers
:
true
,
readOnly
:
true
,
...
...
@@ -126,22 +105,31 @@ export default {
},
methods
:
{
async
search
()
{
if
(
!
this
.
storeId
)
{
this
.
$Message
.
warning
(
'请输入门店号'
)
return
}
if
(
!
this
.
couponCode
)
{
this
.
$Message
.
warning
(
'请输入券号'
)
return
}
this
.
loadingSearch
=
true
const
params
=
{
env
:
this
.
env
,
channel
:
this
.
channel
,
couponCode
:
this
.
couponCode
,
storeId
:
this
.
storeId
}
const
{
data
:
response
}
=
await
this
.
$http
.
post
(
'/requestresource/get-coupon
-product
'
,
params
)
const
{
data
:
response
}
=
await
this
.
$http
.
post
(
'/requestresource/get-coupon'
,
params
)
if
(
response
.
code
!==
200
)
{
this
.
$Message
.
error
(
response
.
message
)
}
else
{
// const codeStr = '{"title":"json在线解析(简版) -JSON在线解析","json.url":"https://www.sojson.com/simple_json.html","keywords":"json在线解析","功能":["JSON美化","JSON数据类型显示","JSON数组显示角标","高亮显示","错误提示",{"备注":["www.sojson.com","json.la"]}],"加入我们":{"qq群":"259217951","年龄":18,"IsChange":false}}'
// const json = JSON.parse(codeStr)
// this.viewData = JSON.stringify(json, null, '\t')
// this.$Message.success('请求成功')
this
.
metaDataRequestUrl
=
response
.
data
.
url
this
.
metaDataRequestHeader
=
JSON
.
stringify
(
response
.
data
.
requestHeaders
,
null
,
'
\
t'
)
this
.
metaDataRequestBody
=
JSON
.
stringify
(
response
.
data
.
requestBody
,
null
,
'
\
t'
)
this
.
metaDataResponseHeader
=
JSON
.
stringify
(
response
.
data
.
responseHeaders
,
null
,
'
\
t'
)
this
.
metaDataRequestUrl
=
'================ URL ================
\
r
\
n'
+
response
.
data
.
url
+
'
\
n
\
n'
+
'================ HEADERS ============
\
r
\
n'
+
JSON
.
stringify
(
response
.
data
.
requestHeaders
,
null
,
'
\
t'
)
+
'
\
r
\
n'
+
'================ DATA ===============
\
r
\
n'
+
JSON
.
stringify
(
response
.
data
.
requestBody
,
null
,
'
\
t'
)
this
.
metaDataResponseBody
=
JSON
.
stringify
(
response
.
data
.
responseBody
,
null
,
'
\
t'
)
this
.
metaDataResponseError
=
response
.
data
.
responseError
this
.
$Message
.
success
(
'查询成功'
)
}
...
...
@@ -150,43 +138,3 @@ export default {
}
}
</
script
>
<
style
lang=
"less"
scoped
>
//
.resource-title
{
//
display
:
inline-block
;
//
border-left
:
5px
solid
#be1f19
f5
;
//
text-indent
:
10px
;
//
margin-left
:
2px
;
//
font-weight
:
bold
;
//
font-size
:
20px
;
//
margin-bottom
:
20px
;
//
}
//
.result-panel
{
//
.item
{
//
margin-bottom
:
20px
;
//
span
{
//
display
:
inline-block
;
//
border-left
:
5px
solid
#19be6b80
;
//
text-indent
:
10px
;
//
margin-bottom
:
10px
;
//
margin-left
:
2px
;
//
font-weight
:
bold
;
//
font-size
:
25px
;
//
font-family
:
fantasy
;
//
}
//
}
//
}
</
style
>
<
style
lang=
"less"
>
.CodeMirror
{
border
:
1px
solid
#eee
;
height
:
100%
!important
;
}
.CodeMirror-scroll
{
height
:
auto
;
overflow-y
:
hidden
;
overflow-x
:
auto
;
}
</
style
>
freemud.be.toolboxview/src/views/requestresource/RequestResource.vue
View file @
2d276183
...
...
@@ -3,39 +3,41 @@
<h1>
请求资源
</h1>
<div
class=
"request-resource"
>
<div
class=
"request-resource-menu"
>
<Menu>
<Menu
:active-name=
"'/' + this.$route.path.split('/')[2]"
@
on-select=
"menuSelect"
>
<MenuGroup
title=
"券码"
>
<MenuItem
name=
"
1-1
"
to=
"/request-resource/coupon-product"
>
<Icon
type=
"md-cube"
/>
码券
对应
商品信息
<MenuItem
name=
"
/coupon-product
"
to=
"/request-resource/coupon-product"
>
<Icon
type=
"md-cube"
/>
码券商品信息
</MenuItem>
<MenuItem
name=
"
1-2
"
to=
"/request-resource/user-coupons"
>
<MenuItem
name=
"
/user-coupons
"
to=
"/request-resource/user-coupons"
>
<Icon
type=
"md-cube"
/>
用户券数据
</MenuItem>
<MenuItem
name=
"
1-3
"
to=
"/request-resource/coupon-freeze"
>
<MenuItem
name=
"
/coupon-freeze
"
to=
"/request-resource/coupon-freeze"
>
<Icon
type=
"md-cube"
/>
激活
&
冻结
</MenuItem>
</MenuGroup>
<MenuGroup
title=
"商品"
>
<MenuItem
name=
"
3-5
"
to=
"/request-resource/product"
>
<MenuItem
name=
"
/product
"
to=
"/request-resource/product"
>
<Icon
type=
"md-cube"
/>
商品信息查询
</MenuItem>
<MenuItem
name=
"3-6"
to=
"/request-resource/product-exentsion"
>
<Icon
type=
"md-cube"
/>
商品扩展信息
</MenuItem>
</MenuGroup>
<MenuGroup
title=
"订单"
>
<MenuItem
name=
"
4-1
"
to=
"/request-resource/order"
>
<MenuItem
name=
"
/order
"
to=
"/request-resource/order"
>
<Icon
type=
"md-cube"
/>
根据订单编号查询订单
</MenuItem>
</MenuGroup>
<MenuGroup
title=
"门店"
>
<MenuItem
name=
"
2-1
"
to=
"/request-resource/candao-store"
>
<MenuItem
name=
"
/candao-store
"
to=
"/request-resource/candao-store"
>
<Icon
type=
"md-cube"
/>
餐道经纬度查询门店
</MenuItem>
</MenuGroup>
</Menu>
</div>
<div
class=
"request-resource-content"
>
<Breadcrumb>
<BreadcrumbItem>
请求资源
</BreadcrumbItem>
<BreadcrumbItem>
{{
currentPage
}}
</BreadcrumbItem>
</Breadcrumb>
<br
/>
<router-view></router-view>
</div>
</div>
...
...
@@ -44,6 +46,31 @@
<
script
>
export
default
{
data
()
{
return
{
resources
:
[
{
name
:
'/coupon-product'
,
text
:
'码券商品信息'
},
{
name
:
'/user-coupons'
,
text
:
'用户券数据'
},
{
name
:
'/coupon-freeze'
,
text
:
'激活&冻结'
},
{
name
:
'/product'
,
text
:
'商品信息查询'
},
{
name
:
'/order'
,
text
:
'根据订单编号查询订单'
},
{
name
:
'/candao-store'
,
text
:
'餐道经纬度查询门店'
}
],
currentPage
:
''
}
},
created
()
{
this
.
setCurrentPageOnLoad
()
},
methods
:
{
setCurrentPageOnLoad
()
{
const
name
=
'/'
+
this
.
$route
.
path
.
split
(
'/'
)[
2
]
this
.
currentPage
=
this
.
_
.
find
(
this
.
resources
,
s
=>
s
.
name
===
name
).
text
},
menuSelect
(
name
)
{
this
.
currentPage
=
this
.
_
.
find
(
this
.
resources
,
s
=>
s
.
name
===
name
).
text
}
}
}
</
script
>
...
...
@@ -51,26 +78,26 @@ export default {
.request-resource
{
display
:
flex
;
.request-resource-menu
{
flex
:
0
0
240px
;
flex
:
0
0
140px
;
.ivu-menu
{
width
:
180px
!important
;
.ivu-menu-item
{
padding
:
8px
8px
;
}
.ivu-menu-item-group-title
{
height
:
35px
;
line-height
:
35px
;
}
}
}
.request-resource-content
{
flex
:
1
;
padding
:
0
5
px
;
padding
:
0
10
px
;
height
:
50px
;
.ivu-form-item
{
margin-bottom
:
10px
;
}
.resource-title
{
display
:
inline-block
;
border-left
:
5px
solid
#be1f19
f5
;
text-indent
:
10px
;
margin-left
:
2px
;
font-weight
:
bold
;
font-size
:
20px
;
margin-bottom
:
20px
;
}
.resource-result-metadata-item
{
margin-bottom
:
20px
;
.resource-result-metadata-item-title
{
...
...
@@ -80,10 +107,23 @@ export default {
margin-bottom
:
10px
;
margin-left
:
2px
;
font-weight
:
bold
;
font-size
:
25
px
;
font-family
:
fantasy
;
font-size
:
12
px
;
font-family
:
monospace
;
}
}
}
}
</
style
>
<
style
lang=
"less"
>
.CodeMirror
{
border
:
1px
solid
#eee
;
height
:
100%
!important
;
}
.CodeMirror-scroll
{
height
:
auto
;
overflow-y
:
hidden
;
overflow-x
:
auto
;
}
</
style
>
freemud.be.toolboxview/vue.config.js
View file @
2d276183
...
...
@@ -2,4 +2,4 @@ module.exports = {
css
:
{
extract
:
false
}
}
\ No newline at end of file
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment