Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
newShopBack
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
newshop
newShopBack
Commits
b9633797
Commit
b9633797
authored
Nov 05, 2019
by
孙磊
Browse files
Options
Browse Files
Download
Plain Diff
conflict
parents
e4626835
b791fd6d
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
169 additions
and
18 deletions
+169
-18
authorizationFilter.php
backend/components/v1/authorizationFilter.php
+42
-0
main.php
backend/config/main.php
+7
-2
BaseController.php
backend/controllers/v1/BaseController.php
+5
-5
BranchController.php
backend/controllers/v1/shop/branch/BranchController.php
+0
-8
ShopUserMembergradeController.php
...ontrollers/v1/shop/user/ShopUserMembergradeController.php
+47
-0
UserController.php
backend/controllers/v1/user/UserController.php
+1
-1
ShopUserMembergrade.php
backend/models/v1/shop/user/ShopUserMembergrade.php
+64
-0
LoginForm.php
backend/models/v1/user/LoginForm.php
+2
-1
swagger.yaml
backend/web/swagger-yaml/v1/swagger.yaml
+1
-1
No files found.
backend/components/v1/authorizationFilter.php
0 → 100644
View file @
b9633797
<?php
namespace
backend\components\v1
;
use
Yii
;
use
yii\base\ActionFilter
;
use
yii\helpers\StringHelper
;
class
authorizationFilter
extends
ActionFilter
{
public
$optional
;
public
function
beforeAction
(
$action
)
{
if
(
$this
->
isOptional
(
$action
))
{
return
true
;
}
// Yii::$app->user->identity;
}
/**
* Checks, whether authentication is optional for the given action.
*
* @param Action $action action to be checked.
* @return bool whether authentication is optional or not.
* @see optional
* @since 2.0.7
*/
protected
function
isOptional
(
$action
)
{
$id
=
$this
->
getActionId
(
$action
);
foreach
(
$this
->
optional
as
$pattern
)
{
if
(
StringHelper
::
matchWildcard
(
$pattern
,
$id
))
{
return
true
;
}
}
return
false
;
}
}
\ No newline at end of file
backend/config/main.php
View file @
b9633797
...
...
@@ -47,11 +47,16 @@ return [
'rules'
=>
[
[
'class'
=>
'yii\rest\UrlRule'
,
'controller'
=>
[
'swagger'
,
'v1/shop/branch/branch'
,
'v1/user/user'
],
'controller'
=>
[
'swagger'
,
'v1/shop/branch/branch'
,
'v1/shop/user/shop-user-membergrade'
,
'v1/user/user'
],
'extraPatterns'
=>
[
'GET,OPTIONS test'
=>
'test'
,
'GET swagger'
=>
'swagger'
,
'POST login'
=>
'login'
,
'POST login'
=>
'login
1
'
,
],
],
'GET swaggers/swagger/<id>'
=>
'swagger/swagger'
,
...
...
backend/controllers/v1/BaseController.php
View file @
b9633797
...
...
@@ -20,7 +20,7 @@ use backend\components\v1\authorizationFilter;
* ),
* @OA\Server(
* description="Api server",
* url="/
guoyongzhi
",
* url="/
yaoshuxia/shopback
",
* ),
* @OA\SecurityScheme(
* securityScheme="Authorization",
...
...
@@ -57,10 +57,10 @@ class BaseController extends ActiveController
'optional'
=>
[
'login'
],
];
// 授权
$behaviors
[
'authorizationFilter'
]
=
[
'class'
=>
authorizationFilter
::
className
(),
'optional'
=>
[],
//过滤不需要验证的action
];
//
$behaviors['authorizationFilter']=[
//
'class' => authorizationFilter::className(),
//
'optional' => [],//过滤不需要验证的action
//
];
return
$behaviors
;
}
}
backend/controllers/v1/shop/branch/BranchController.php
View file @
b9633797
...
...
@@ -40,14 +40,6 @@ class BranchController extends BaseController
public
function
actionTest
()
{
$get
=
Yii
::
$app
->
request
->
get
();
// $key = 'username';
// $redis = Yii::$app->redis;
// if ($val = $redis->get($key)) {
// Yii::trace('redis',$val );
// } else {
// $redis->set($key, 'test');
// // $redis->expire($key, 5);
// }
return
$get
;
}
...
...
backend/controllers/v1/shop/user/ShopUserMembergradeController.php
0 → 100644
View file @
b9633797
<?php
namespace
backend\controllers\v1\shop\user
;
use
Yii
;
use
backend\controllers\v1\BaseController
;
class
ShopUserMembergradeController
extends
BaseController
{
public
$modelClass
=
'app\models\v1\shop\user\ShopUserMembergrade'
;
public
$serializer
=
[
'class'
=>
'yii\rest\Serializer'
,
'collectionEnvelope'
=>
'shop_user_membergrade'
,
];
//重定义action方法
public
function
actions
()
{
$actions
=
parent
::
actions
();
// 禁用 "delete" 和 "create" 动作
//unset($actions['delete'], $actions['create']);
// 使用 "prepareDataProvider()" 方法自定义数据 provider
// $actions['index']['prepareDataProvider'] = [$this, 'prepareDataProvider'];
return
$actions
;
}
/**
* @OA\Post(
* path="/backend/web/v1/shop/user/shop-user-membergrades",
* tags={"用户组列表"},
* summary="用户组列表接口",
* description="用户组列表接口",
* @OA\RequestBody(
* @OA\MediaType(
* mediaType="application/json",
* @OA\Schema(
*
* )
* )
* ),
* @OA\Response(response=200,description="成功时返回access-token")
* )
*/
}
backend/controllers/v1/user/UserController.php
View file @
b9633797
...
...
@@ -14,7 +14,7 @@ class UserController extends BaseController
];
/**
* @OA\Post(
* path="/
weiShopNew/
backend/web/v1/user/users/login",
* path="/backend/web/v1/user/users/login",
* tags={"用户&员工接口"},
* summary="后台登陆接口",
* description="后台登陆接口",
...
...
backend/models/v1/shop/user/ShopUserMembergrade.php
0 → 100644
View file @
b9633797
<?php
namespace
app\models\v1\shop\user
;
use
Yii
;
use
\yii\db\ActiveRecord
;
/**
* This is the model class for table "shop_user_membergrade".
*
* @property string $GUID 会员等级GUID
* @property string $ORG_GUID 组织机构号
* @property string $NAME 会员等级名称
* @property int $IS_DEFAULT 是否默认等级 1:是 0:否
* @property string $CREATE_TIME 添加时间
* @property string $GRADE_PERCENT 优惠百分比
* @property string $USER_POINTS 成为该等级所需积分
* @property string $MONEY_POINT_SRATE 购物获得积分比率
* @property int $IS_SETRANGE 0:全店通用 1:指定商品 3.指定促销分类
*/
class
ShopUserMembergrade
extends
ActiveRecord
{
/**
* {@inheritdoc}
*/
public
static
function
tableName
()
{
return
'shop_user_membergrade'
;
}
/**
* {@inheritdoc}
*/
public
function
rules
()
{
return
[
[[
'GUID'
,
'CREATE_TIME'
],
'required'
],
[[
'IS_DEFAULT'
,
'IS_SETRANGE'
],
'integer'
],
[[
'CREATE_TIME'
],
'safe'
],
[[
'GRADE_PERCENT'
,
'USER_POINTS'
,
'MONEY_POINT_SRATE'
],
'number'
],
[[
'GUID'
,
'ORG_GUID'
],
'string'
,
'max'
=>
50
],
[[
'NAME'
],
'string'
,
'max'
=>
100
],
[[
'GUID'
],
'unique'
],
];
}
/**
* {@inheritdoc}
*/
public
function
attributeLabels
()
{
// return [
// 'GUID' => 'Guid',
// 'ORG_GUID' => 'Org Guid',
// 'NAME' => 'Name',
// 'IS_DEFAULT' => 'Is Default',
// 'CREATE_TIME' => 'Create Time',
// 'GRADE_PERCENT' => 'Grade Percent',
// 'USER_POINTS' => 'User Points',
// 'MONEY_POINT_SRATE' => 'Money Point Srate',
// 'IS_SETRANGE' => 'Is Setrange',
// ];
}
}
backend/models/v1/user/LoginForm.php
View file @
b9633797
<?php
namespace
app
\models\v1\user
;
namespace
backend
\models\v1\user
;
use
Yii
;
use
yii\base\Model
;
...
...
@@ -56,6 +56,7 @@ class LoginForm extends Model
if
(
$this
->
validate
())
{
$accessToken
=
$this
->
_shopRbacUser
->
generateAccessToken
();
// 生成的access_token保存一份到mysql和redis中
var_dump
(
$this
->
_shopRbacUser
);
exit
;
$this
->
_shopRbacUser
->
save
();
return
$accessToken
;
}
...
...
backend/web/swagger-yaml/v1/swagger.yaml
View file @
b9633797
{
"
openapi"
:
"
3.0.0"
,
"
info"
:{
"
title"
:
"
\u540e\u53f0\u63a5\u53e3
v1
\u7248
"
,
"
version"
:
"
v1"
},
"
servers"
:[{
"
url"
:
"
\
/guoyongzhi"
,
"
description"
:
"
Api
server"
}],
"
paths"
:{
"
\
/weiShopNew
\
/backend
\
/web
\
/v1
\
/shop
\
/branch
\
/branches
\
/test"
:{
"
get"
:{
"
tags"
:[
"
swagger
\u4e8b\u4f8b
"
],
"
summary"
:
"
swagger
\u4e8b\u4f8b
"
,
"
description"
:
"
swagger
\u4e8b\u4f8b
"
,
"
operationId"
:
"
returnGetParam"
,
"
parameters"
:[{
"
name"
:
"
param"
,
"
in"
:
"
query"
,
"
required"
:
true
,
"
schema"
:{
"
type"
:
"
string"
}}],
"
responses"
:{
"
200"
:{
"
description"
:
"
OK
\u3002\u4e00\u5207\u6b63\u5e38
"
},
"
201"
:{
"
description"
:
"
\u54cd\u5e94
POST
\u8bf7\u6c42\u65f6\u6210\u529f\u521b\u5efa\u4e00\u4e2a\u8d44\u6e90
"
},
"
204"
:{
"
description"
:
"
\u8be5\u8bf7\u6c42\u88ab\u6210\u529f\u5904\u7406\uff0c\u54cd\u5e94\u4e0d\u5305\u542b\u6b63\u6587\u5185\u5bb9
(
\u7c7b\u4f3c
DELETE
\u8bf7\u6c42
)"
},
"
304"
:{
"
description"
:
"
\u8d44\u6e90\u6ca1\u6709\u88ab\u4fee\u6539\u3002\u53ef\u4ee5\u4f7f\u7528\u7f13\u5b58\u7684\u7248\u672c
"
},
"
400"
:{
"
description"
:
"
\u9519\u8bef\u7684\u8bf7\u6c42\u3002\u53ef\u80fd\u901a\u8fc7\u7528\u6237\u65b9\u9762\u7684\u591a\u79cd\u539f\u56e0\u5f15\u8d77\u7684\uff0c\u4f8b\u5982\u5728\u8bf7\u6c42\u4f53\u5185\u6709\u65e0\u6548\u7684
JSON
\u6570\u636e\uff0c\u65e0\u6548\u7684\u64cd\u4f5c\u53c2\u6570\uff0c\u7b49\u7b49
"
},
"
401"
:{
"
description"
:
"
\u9a8c\u8bc1\u5931\u8d25
"
},
"
403"
:{
"
description"
:
"
\u5df2\u7ecf\u7ecf\u8fc7\u8eab\u4efd\u9a8c\u8bc1\u7684\u7528\u6237\u4e0d\u5141\u8bb8\u8bbf\u95ee\u6307\u5b9a\u7684
API
\u672b\u7aef
"
},
"
404"
:{
"
description"
:
"
\u6240\u8bf7\u6c42\u7684\u8d44\u6e90\u4e0d\u5b58\u5728\u3002
"
},
"
405"
:{
"
description"
:
"
\u4e0d\u88ab\u5141\u8bb8\u7684\u65b9\u6cd5\u3002
\u8bf7\u68c0\u67e5
Allow
header
\u5141\u8bb8\u7684
HTTP
\u65b9\u6cd5
"
},
"
415"
:{
"
description"
:
"
\u4e0d\u652f\u6301\u7684\u5a92\u4f53\u7c7b\u578b\u3002
\u6240\u8bf7\u6c42\u7684\u5185\u5bb9\u7c7b\u578b\u6216\u7248\u672c\u53f7\u662f\u65e0\u6548\u7684
"
},
"
422"
:{
"
description"
:
"
\u6570\u636e\u9a8c\u8bc1\u5931\u8d25
(
\u4f8b\u5982\uff0c\u54cd\u5e94\u4e00\u4e2a
POST
\u8bf7\u6c42
)
\u3002
\u8bf7\u68c0\u67e5\u54cd\u5e94\u4f53\u5185\u8be6\u7ec6\u7684\u9519\u8bef\u6d88\u606f
"
},
"
429"
:{
"
description"
:
"
\u8bf7\u6c42\u8fc7\u591a\u3002
\u7531\u4e8e\u9650\u901f\u8bf7\u6c42\u88ab\u62d2\u7edd
"
},
"
500"
:{
"
description"
:
"
\u5185\u90e8\u670d\u52a1\u5668\u9519\u8bef\u3002
\u8fd9\u53ef\u80fd\u662f\u7531\u4e8e\u5185\u90e8\u7a0b\u5e8f\u9519\u8bef\u5f15\u8d77\u7684
"
}},
"
security"
:[{
"
Authorization"
:[]}]}},
"
\
/weiShopNew
\
/backend
\
/web
\
/v1
\
/user
\
/users
\
/login"
:{
"
post"
:{
"
tags"
:[
"
\u7528\u6237
&
\u5458\u5de5\u63a5\u53e3
"
],
"
summary"
:
"
\u540e\u53f0\u767b\u9646\u63a5\u53e3
"
,
"
description"
:
"
\u540e\u53f0\u767b\u9646\u63a5\u53e3
"
,
"
operationId"
:
"
backend
\\
controllers
\\
v1
\\
user
\\
UserController::actionLogin"
,
"
requestBody"
:{
"
content"
:{
"
application
\
/json"
:{
"
schema"
:{
"
properties"
:{
"
CODE"
:{
"
type"
:
"
string"
},
"
PASSWORD"
:{
"
type"
:
"
string"
}},
"
type"
:
"
object"
,
"
example"
:{
"
CODE"
:
1234567890
,
"
PASSWORD"
:
"
123"
}}}}},
"
responses"
:{
"
200"
:{
"
description"
:
"
\u6210\u529f\u65f6\u8fd4\u56de
access-token"
}}}}},
"
components"
:{
"
securitySchemes"
:{
"
Authorization"
:{
"
type"
:
"
apiKey"
,
"
name"
:
"
Authorization"
,
"
in"
:
"
header"
}}}}
\ No newline at end of file
{
"
openapi"
:
"
3.0.0"
,
"
info"
:{
"
title"
:
"
\u540e\u53f0\u63a5\u53e3
v1
\u7248
"
,
"
version"
:
"
v1"
},
"
servers"
:[{
"
url"
:
"
\
/guoyongzhi
\
/weiShopNew"
,
"
description"
:
"
Api
server"
}],
"
paths"
:{
"
\
/backend
\
/web
\
/v1
\
/shop
\
/branch
\
/branches
\
/test"
:{
"
get"
:{
"
tags"
:[
"
swagger
\u4e8b\u4f8b
"
],
"
summary"
:
"
swagger
\u4e8b\u4f8b
"
,
"
description"
:
"
swagger
\u4e8b\u4f8b
"
,
"
operationId"
:
"
returnGetParam"
,
"
parameters"
:[{
"
name"
:
"
param"
,
"
in"
:
"
query"
,
"
required"
:
true
,
"
schema"
:{
"
type"
:
"
string"
}}],
"
responses"
:{
"
200"
:{
"
description"
:
"
OK
\u3002\u4e00\u5207\u6b63\u5e38
"
},
"
201"
:{
"
description"
:
"
\u54cd\u5e94
POST
\u8bf7\u6c42\u65f6\u6210\u529f\u521b\u5efa\u4e00\u4e2a\u8d44\u6e90
"
},
"
204"
:{
"
description"
:
"
\u8be5\u8bf7\u6c42\u88ab\u6210\u529f\u5904\u7406\uff0c\u54cd\u5e94\u4e0d\u5305\u542b\u6b63\u6587\u5185\u5bb9
(
\u7c7b\u4f3c
DELETE
\u8bf7\u6c42
)"
},
"
304"
:{
"
description"
:
"
\u8d44\u6e90\u6ca1\u6709\u88ab\u4fee\u6539\u3002\u53ef\u4ee5\u4f7f\u7528\u7f13\u5b58\u7684\u7248\u672c
"
},
"
400"
:{
"
description"
:
"
\u9519\u8bef\u7684\u8bf7\u6c42\u3002\u53ef\u80fd\u901a\u8fc7\u7528\u6237\u65b9\u9762\u7684\u591a\u79cd\u539f\u56e0\u5f15\u8d77\u7684\uff0c\u4f8b\u5982\u5728\u8bf7\u6c42\u4f53\u5185\u6709\u65e0\u6548\u7684
JSON
\u6570\u636e\uff0c\u65e0\u6548\u7684\u64cd\u4f5c\u53c2\u6570\uff0c\u7b49\u7b49
"
},
"
401"
:{
"
description"
:
"
\u9a8c\u8bc1\u5931\u8d25
"
},
"
403"
:{
"
description"
:
"
\u5df2\u7ecf\u7ecf\u8fc7\u8eab\u4efd\u9a8c\u8bc1\u7684\u7528\u6237\u4e0d\u5141\u8bb8\u8bbf\u95ee\u6307\u5b9a\u7684
API
\u672b\u7aef
"
},
"
404"
:{
"
description"
:
"
\u6240\u8bf7\u6c42\u7684\u8d44\u6e90\u4e0d\u5b58\u5728\u3002
"
},
"
405"
:{
"
description"
:
"
\u4e0d\u88ab\u5141\u8bb8\u7684\u65b9\u6cd5\u3002
\u8bf7\u68c0\u67e5
Allow
header
\u5141\u8bb8\u7684
HTTP
\u65b9\u6cd5
"
},
"
415"
:{
"
description"
:
"
\u4e0d\u652f\u6301\u7684\u5a92\u4f53\u7c7b\u578b\u3002
\u6240\u8bf7\u6c42\u7684\u5185\u5bb9\u7c7b\u578b\u6216\u7248\u672c\u53f7\u662f\u65e0\u6548\u7684
"
},
"
422"
:{
"
description"
:
"
\u6570\u636e\u9a8c\u8bc1\u5931\u8d25
(
\u4f8b\u5982\uff0c\u54cd\u5e94\u4e00\u4e2a
POST
\u8bf7\u6c42
)
\u3002
\u8bf7\u68c0\u67e5\u54cd\u5e94\u4f53\u5185\u8be6\u7ec6\u7684\u9519\u8bef\u6d88\u606f
"
},
"
429"
:{
"
description"
:
"
\u8bf7\u6c42\u8fc7\u591a\u3002
\u7531\u4e8e\u9650\u901f\u8bf7\u6c42\u88ab\u62d2\u7edd
"
},
"
500"
:{
"
description"
:
"
\u5185\u90e8\u670d\u52a1\u5668\u9519\u8bef\u3002
\u8fd9\u53ef\u80fd\u662f\u7531\u4e8e\u5185\u90e8\u7a0b\u5e8f\u9519\u8bef\u5f15\u8d77\u7684
"
}},
"
security"
:[{
"
Authorization"
:[]}]}},
"
\
/backend
\
/web
\
/v1
\
/user
\
/users
\
/login"
:{
"
post"
:{
"
tags"
:[
"
\u7528\u6237
&
\u5458\u5de5\u63a5\u53e3
"
],
"
summary"
:
"
\u540e\u53f0\u767b\u9646\u63a5\u53e3
"
,
"
description"
:
"
\u540e\u53f0\u767b\u9646\u63a5\u53e3
"
,
"
operationId"
:
"
backend
\\
controllers
\\
v1
\\
user
\\
UserController::actionLogin"
,
"
requestBody"
:{
"
content"
:{
"
application
\
/json"
:{
"
schema"
:{
"
properties"
:{
"
CODE"
:{
"
type"
:
"
string"
},
"
PASSWORD"
:{
"
type"
:
"
string"
}},
"
type"
:
"
object"
,
"
example"
:{
"
CODE"
:
1234567890
,
"
PASSWORD"
:
"
123"
}}}}},
"
responses"
:{
"
200"
:{
"
description"
:
"
\u6210\u529f\u65f6\u8fd4\u56de
access-token"
}}}}},
"
components"
:{
"
securitySchemes"
:{
"
Authorization"
:{
"
type"
:
"
apiKey"
,
"
name"
:
"
Authorization"
,
"
in"
:
"
header"
}}}}
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