Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
backend
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
亲子游项目
backend
Commits
0b26760f
Commit
0b26760f
authored
Sep 28, 2018
by
LiuJunYi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
api
parent
756ac1fa
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
373 additions
and
145 deletions
+373
-145
application/api/controller/Base.php
+4
-4
application/api/controller/Comment.php
+3
-4
application/api/controller/Order.php
+100
-69
application/api/controller/User.php
+91
-23
application/common/model/Order.php
+86
-9
application/config.php
+89
-36
No files found.
application/api/controller/Base.php
View file @
0b26760f
...
@@ -28,10 +28,10 @@ class Base extends Controller
...
@@ -28,10 +28,10 @@ class Base extends Controller
// echo $this->getSignature($params); exit;
// echo $this->getSignature($params); exit;
//验证签名
//验证签名
if
(
!
$this
->
checkSignature
(
$params
))
{
if
(
!
$this
->
checkSignature
(
$params
))
{
echo
json_encode
([
"code"
=>
1
,
"msg"
=>
"auth failed"
]);
echo
json_encode
([
"code"
=>
1
,
"msg"
=>
"auth failed"
]);
die
;
die
;
}
}
// 用户信息
// 用户信息
if
(
input
(
'post.token'
))
{
if
(
input
(
'post.token'
))
{
...
...
application/api/controller/Comment.php
View file @
0b26760f
...
@@ -29,7 +29,7 @@ class Comment extends Base
...
@@ -29,7 +29,7 @@ class Comment extends Base
$p
=
input
(
'post.p/d'
,
1
);
$p
=
input
(
'post.p/d'
,
1
);
$page
=
input
(
'post.p/d'
,
8
);
$page
=
input
(
'post.p/d'
,
8
);
$comment
=
CommentModel
::
with
(
'user'
)
$comment
=
CommentModel
::
with
(
'user'
)
->
where
([
'pid'
=>
input
(
'post.pid'
),
'status'
=>
config
(
'
user_
comment_status.pass'
)])
->
where
([
'pid'
=>
input
(
'post.pid'
),
'status'
=>
config
(
'comment_status.pass'
)])
->
page
(
$p
,
$page
)
->
page
(
$p
,
$page
)
->
select
();
->
select
();
if
(
!
$comment
)
{
if
(
!
$comment
)
{
...
@@ -61,7 +61,7 @@ class Comment extends Base
...
@@ -61,7 +61,7 @@ class Comment extends Base
$order
=
OrderModel
::
get
([
$order
=
OrderModel
::
get
([
'uid'
=>
$this
->
userinfo
[
0
],
'uid'
=>
$this
->
userinfo
[
0
],
'id'
=>
input
(
'post.order_id'
),
'id'
=>
input
(
'post.order_id'
),
'is_comment'
=>
[
'in'
,
[
config
(
'
user_comment_status.audit'
),
config
(
'user_
comment_status.no_pass'
)]]
'is_comment'
=>
[
'in'
,
[
config
(
'
comment_status.no'
),
config
(
'
comment_status.no_pass'
)]]
]);
]);
//检验是否重复写入
//检验是否重复写入
if
(
!
$order
)
{
if
(
!
$order
)
{
...
@@ -75,8 +75,7 @@ class Comment extends Base
...
@@ -75,8 +75,7 @@ class Comment extends Base
'pid'
=>
$order
->
pid
,
'pid'
=>
$order
->
pid
,
'uid'
=>
$this
->
userinfo
[
0
],
'uid'
=>
$this
->
userinfo
[
0
],
]);
]);
$order
->
is_comment
=
config
(
'comment_status.to_examine'
);
$order
->
is_comment
=
config
(
'user_comment_status.examine'
);
$order
->
save
();
$order
->
save
();
//查询订单
//查询订单
return
[
'code'
=>
0
,
'msg'
=>
'评论成功'
];
return
[
'code'
=>
0
,
'msg'
=>
'评论成功'
];
...
...
application/api/controller/Order.php
View file @
0b26760f
...
@@ -55,7 +55,7 @@ class Order extends Base
...
@@ -55,7 +55,7 @@ class Order extends Base
//检验该活动是否有效期
//检验该活动是否有效期
if
(
time
()
>
strtotime
(
$project
->
sign_endtime
))
{
if
(
time
()
>
strtotime
(
$project
->
sign_endtime
))
{
//活动过期
//活动过期
return
[
'code'
=>
1
,
'msg'
=>
'活动已
过期
'
];
return
[
'code'
=>
1
,
'msg'
=>
'活动已
截止报名
'
];
}
}
//生成订单
//生成订单
try
{
try
{
...
@@ -70,11 +70,15 @@ class Order extends Base
...
@@ -70,11 +70,15 @@ class Order extends Base
$order
->
uid
=
$this
->
userinfo
[
0
];
$order
->
uid
=
$this
->
userinfo
[
0
];
$order
->
pid
=
$project
[
'id'
];
$order
->
pid
=
$project
[
'id'
];
$order
->
title
=
$project
[
'title'
];
$order
->
title
=
$project
[
'title'
];
//查看是否为会员
$user
=
UserModel
::
get
(
$this
->
userinfo
[
0
]);
//活动总价
//活动总价
$price
=
$
project
[
'is_vip'
]
?
$project
[
'price'
]
:
$project
[
'vip_price'
];
$price
=
$
user
[
'is_vip'
]
?
$project
[
'price'
]
:
$project
[
'vip_price'
];
$order
->
total_fee
=
$price
*
100
*
input
(
'post.sign_limits'
)
/
100
;
$order
->
total_fee
=
$price
*
100
*
input
(
'post.sign_limits'
)
/
100
;
$order
->
status
=
config
(
'order_status.noPay'
);
//TODO::支付状态应该是noPay,测试换成pay
$order
->
extras
=
[
$order
->
status
=
config
(
'order_status.pay'
);
// $order->status = config('order_status.no_pay');
$order
->
extras
=
[
'nickname'
=>
input
(
'post.nickname'
),
'nickname'
=>
input
(
'post.nickname'
),
'phone'
=>
input
(
'post.phone'
),
'phone'
=>
input
(
'post.phone'
),
'adult_number'
=>
input
(
'post.adult_number'
),
'adult_number'
=>
input
(
'post.adult_number'
),
...
@@ -90,38 +94,44 @@ class Order extends Base
...
@@ -90,38 +94,44 @@ class Order extends Base
$data
[
'order_id'
]
=
intval
(
$order
->
id
);
$data
[
'order_id'
]
=
intval
(
$order
->
id
);
$data
[
'total_fee'
]
=
doubleval
(
$order
->
total_fee
);
$data
[
'total_fee'
]
=
doubleval
(
$order
->
total_fee
);
//生成订单
//生成订单
//TODO::关闭支付接口
// 更新订单号-防止签名失败
// 更新订单号-防止签名失败
$order
->
out_trade_no
=
(
new
\WxPayConfig
())
->
GetMerchantId
()
.
time
()
.
$order
->
id
;
// $order->out_trade_no = (new \WxPayConfig())->GetMerchantId() . time() . $order->id;
// $input = new \WxPayUnifiedOrder();
// $input->SetBody($order->title);
// $input->SetAttach($order->id);
// $input->SetOut_trade_no($order->out_trade_no);
// $input->SetTotal_fee(floatval($order->total_fee) * 100); // 单位为分
// $input->SetTime_start(date("YmdHis"));
// $input->SetTime_expire(date("YmdHis", time() + 600));
// //$input->SetGoods_tag("wx-xcx");
// $input->SetNotify_url(config('wx_pay.notify_url'));
// $input->SetTrade_type("JSAPI");
// $input->SetOpenid($this->userinfo[1]);
// $unifiedOrder = \WxPayApi::unifiedOrder($input);
// if ($unifiedOrder["return_code"] == 'FAIL') {
// return ['code' => 1, 'msg' => $unifiedOrder['return_msg']];
// }
// // 保存 prepay_id 用于发送模版消息
// $order->prepay_id = $unifiedOrder['prepay_id'];
// $order->save();
// $jsApiParameters = $this->GetJsApiParameters($unifiedOrder);
// if ($jsApiParameters) {
// return ['code' => 0, 'msg' => '支付参数', 'data' => $data, 'result' => json_decode($jsApiParameters)];
// } else {
// throw new \Exception('订单签名失败');
// }
$input
=
new
\WxPayUnifiedOrder
();
$input
->
SetBody
(
$order
->
title
);
$input
->
SetAttach
(
$order
->
id
);
$input
->
SetOut_trade_no
(
$order
->
out_trade_no
);
$input
->
SetTotal_fee
(
floatval
(
$order
->
total_fee
)
*
100
);
// 单位为分
$input
->
SetTime_start
(
date
(
"YmdHis"
));
$input
->
SetTime_expire
(
date
(
"YmdHis"
,
time
()
+
600
));
// $input->SetGoods_tag("wx-xcx");
$input
->
SetNotify_url
(
config
(
'wx_pay.notify_url'
));
$input
->
SetTrade_type
(
"JSAPI"
);
$input
->
SetOpenid
(
$this
->
userinfo
[
1
]);
$unifiedOrder
=
\WxPayApi
::
unifiedOrder
(
$input
);
if
(
$unifiedOrder
[
"return_code"
]
==
'FAIL'
)
{
return
[
'code'
=>
1
,
'msg'
=>
$unifiedOrder
[
'return_msg'
]];
}
// 保存 prepay_id 用于发送模版消息
$order
->
prepay_id
=
$unifiedOrder
[
'prepay_id'
];
$order
->
save
();
$jsApiParameters
=
$this
->
GetJsApiParameters
(
$unifiedOrder
);
if
(
$jsApiParameters
)
{
return
[
'code'
=>
0
,
'msg'
=>
'支付参数'
,
'data'
=>
$data
,
'result'
=>
json_decode
(
$jsApiParameters
)];
}
else
{
throw
new
\Exception
(
'订单签名失败'
);
}
Db
::
commit
();
Db
::
commit
();
}
catch
(
\Exception
$e
)
{
}
catch
(
\Exception
$e
)
{
Db
::
rollback
();
Db
::
rollback
();
return
[
'code'
=>
1
,
'msg'
=>
$e
->
getMessage
()];
return
[
'code'
=>
1
,
'msg'
=>
$e
->
getMessage
()];
}
}
//TODO::删除伪成功
return
[
'code'
=>
0
,
'msg'
=>
'报名成功'
];
}
}
/**
/**
...
@@ -140,19 +150,22 @@ class Order extends Base
...
@@ -140,19 +150,22 @@ class Order extends Base
$res
=
$validate
->
check
(
input
(
'post.'
));
$res
=
$validate
->
check
(
input
(
'post.'
));
if
(
!
$res
)
return
[
'code'
=>
1
,
'msg'
=>
$validate
->
getError
()];
if
(
!
$res
)
return
[
'code'
=>
1
,
'msg'
=>
$validate
->
getError
()];
//生成订单
//生成订单
try
{
try
{
//开始事务
Db
::
startTrans
();
$year
=
intval
(
input
(
'post.year'
));
$year
=
intval
(
input
(
'post.year'
));
//生成订单入库
//生成订单入库
$order
=
new
OrderModel
();
$order
=
new
OrderModel
();
$order
->
type
=
config
(
'order_type.vip'
);
$order
->
type
=
config
(
'order_type.vip'
);
$order
->
uid
=
$this
->
userinfo
[
0
];
$order
->
uid
=
$this
->
userinfo
[
0
];
$order
->
title
=
config
(
'
vip.
title'
);
$order
->
title
=
config
(
'
wx_pay.vip_
title'
);
//活动总价
//活动总价
$order
->
total_fee
=
config
(
'
vip.
price'
)
*
100
*
$year
/
100
;
$order
->
total_fee
=
config
(
'
wx_pay.vip_
price'
)
*
100
*
$year
/
100
;
//查看vip有效期
//查看vip有效期
$user
=
UserModel
::
get
(
$this
->
userinfo
);
$user
=
UserModel
::
get
(
$this
->
userinfo
[
0
]
);
if
(
$user
->
is_vip
==
1
)
{
if
(
$user
->
is_vip
==
1
)
{
if
(
$user
->
vip_endtime
>
time
())
{
//累加
if
(
strtotime
(
$user
->
vip_endtime
)
>
time
())
{
//累加
$vip_endtime
=
strtotime
(
"
{
$user
->
vip_endtime
}
+
{
$year
}
year"
);
$vip_endtime
=
strtotime
(
"
{
$user
->
vip_endtime
}
+
{
$year
}
year"
);
}
else
{
}
else
{
$vip_endtime
=
strtotime
(
"+
{
$year
}
year"
);
$vip_endtime
=
strtotime
(
"+
{
$year
}
year"
);
...
@@ -160,12 +173,14 @@ class Order extends Base
...
@@ -160,12 +173,14 @@ class Order extends Base
}
else
{
}
else
{
$vip_endtime
=
strtotime
(
"+
{
$year
}
year"
);
$vip_endtime
=
strtotime
(
"+
{
$year
}
year"
);
}
}
$vip_endtime
=
date
(
'Y-m-d H:i:s'
,
$vip_endtime
);
$vip_endtime
=
date
(
'Y-m-d H:i:s'
,
$vip_endtime
);
$order
->
status
=
config
(
'order_status.noPay'
);
//TODO::支付状态应该是noPay,测试换成pay
$order
->
status
=
config
(
'order_status.pay'
);
// $order->status = config('order_status.no_pay');
$order
->
extras
=
[
$order
->
extras
=
[
'year'
=>
$year
,
'year'
=>
$year
,
'vip_endtime'
=>
$vip_endtime
,
'vip_endtime'
=>
$vip_endtime
,
'price'
=>
config
(
'
vip.
price'
),
'price'
=>
config
(
'
wx_pay.vip_
price'
),
'remark'
=>
input
(
'post.remark'
),
'remark'
=>
input
(
'post.remark'
),
];
];
if
(
!
$order
->
save
())
{
if
(
!
$order
->
save
())
{
...
@@ -174,38 +189,50 @@ class Order extends Base
...
@@ -174,38 +189,50 @@ class Order extends Base
$data
[
'order_id'
]
=
intval
(
$order
->
id
);
$data
[
'order_id'
]
=
intval
(
$order
->
id
);
$data
[
'total_fee'
]
=
doubleval
(
$order
->
total_fee
);
$data
[
'total_fee'
]
=
doubleval
(
$order
->
total_fee
);
//生成订单
//生成订单
// 更新订单号-防止签名失败
//TODO::关闭支付接口
$order
->
out_trade_no
=
(
new
\WxPayConfig
())
->
GetMerchantId
()
.
time
()
.
$order
->
id
;
// // 更新订单号-防止签名失败
// $order->out_trade_no = (new \WxPayConfig())->GetMerchantId() . time() . $order->id;
//
// $input = new \WxPayUnifiedOrder();
// $input->SetBody($order->title);
// $input->SetAttach($order->id);
// $input->SetOut_trade_no($order->out_trade_no);
// $input->SetTotal_fee(floatval($order->total_fee) * 100); // 单位为分
// $input->SetTime_start(date("YmdHis"));
// $input->SetTime_expire(date("YmdHis", time() + 600));
// // $input->SetGoods_tag("wx-xcx");
// $input->SetNotify_url(config('wx_pay.notify_url'));
// $input->SetTrade_type("JSAPI");
// $input->SetOpenid($this->userinfo[1]);
// $unifiedOrder = \WxPayApi::unifiedOrder($input);
// if ($unifiedOrder["return_code"] == 'FAIL') {
// return ['code' => 1, 'msg' => $unifiedOrder['return_msg']];
// }
// // 保存 prepay_id 用于发送模版消息
// $order->prepay_id = $unifiedOrder['prepay_id'];
// $order->save();
// $jsApiParameters = $this->GetJsApiParameters($unifiedOrder);
// if ($jsApiParameters) {
// return ['code' => 0, 'msg' => '支付参数', 'data' => $data, 'result' => json_decode($jsApiParameters)];
// } else {
// throw new \Exception('订单签名失败');
// }
//TODO::删除测试代码 --------------------开始
$input
=
new
\WxPayUnifiedOrder
();
$user
=
UserModel
::
get
(
$this
->
userinfo
[
0
]);
$input
->
SetBody
(
$order
->
title
);
$user
->
is_vip
=
1
;
$input
->
SetAttach
(
$order
->
id
);
$user
->
vip_endtime
=
$vip_endtime
;
$input
->
SetOut_trade_no
(
$order
->
out_trade_no
);
$user
->
save
();
$input
->
SetTotal_fee
(
floatval
(
$order
->
total_fee
)
*
100
);
// 单位为分
//----------------------------------------结束
$input
->
SetTime_start
(
date
(
"YmdHis"
));
$input
->
SetTime_expire
(
date
(
"YmdHis"
,
time
()
+
600
));
// $input->SetGoods_tag("wx-xcx");
$input
->
SetNotify_url
(
config
(
'wx_pay.notify_url'
));
$input
->
SetTrade_type
(
"JSAPI"
);
$input
->
SetOpenid
(
$this
->
userinfo
[
1
]);
$unifiedOrder
=
\WxPayApi
::
unifiedOrder
(
$input
);
if
(
$unifiedOrder
[
"return_code"
]
==
'FAIL'
)
{
return
[
'code'
=>
1
,
'msg'
=>
$unifiedOrder
[
'return_msg'
]];
}
// 保存 prepay_id 用于发送模版消息
$order
->
prepay_id
=
$unifiedOrder
[
'prepay_id'
];
$order
->
save
();
$jsApiParameters
=
$this
->
GetJsApiParameters
(
$unifiedOrder
);
if
(
$jsApiParameters
)
{
return
[
'code'
=>
0
,
'msg'
=>
'支付参数'
,
'data'
=>
$data
,
'result'
=>
json_decode
(
$jsApiParameters
)];
}
else
{
throw
new
\Exception
(
'订单签名失败'
);
}
Db
::
commit
();
}
catch
(
\Exception
$e
)
{
}
catch
(
\Exception
$e
)
{
Db
::
rollback
();
Db
::
rollback
();
return
[
'code'
=>
1
,
'msg'
=>
$e
->
getMessage
()];
return
[
'code'
=>
1
,
'msg'
=>
$e
->
getMessage
()];
}
}
//TODO::删除伪成功
return
[
'code'
=>
0
,
'msg'
=>
'开通成功'
];
}
}
/**
/**
...
@@ -264,7 +291,7 @@ class Order extends Base
...
@@ -264,7 +291,7 @@ class Order extends Base
$order
->
status
=
config
(
"order_status.pay"
);
$order
->
status
=
config
(
"order_status.pay"
);
$order
->
trade_status
=
'SUCCESS'
;
$order
->
trade_status
=
'SUCCESS'
;
$order
->
save
();
$order
->
save
();
if
(
$order
->
type
==
confi
h
(
'order_type.vip'
))
{
if
(
$order
->
type
==
confi
g
(
'order_type.vip'
))
{
//给user表加数据
//给user表加数据
$user
=
UserModel
::
get
(
$this
->
userinfo
[
0
]);
$user
=
UserModel
::
get
(
$this
->
userinfo
[
0
]);
$user
->
is_vip
=
1
;
$user
->
is_vip
=
1
;
...
@@ -315,7 +342,7 @@ class Order extends Base
...
@@ -315,7 +342,7 @@ class Order extends Base
*/
*/
public
function
getVipPrice
()
public
function
getVipPrice
()
{
{
return
[
'code'
=>
1
,
'msg'
=>
'success'
,
'price'
=>
number_format
(
config
(
'
vip.
price'
),
2
)];
return
[
'code'
=>
1
,
'msg'
=>
'success'
,
'price'
=>
number_format
(
config
(
'
wx_pay.vip_
price'
),
2
)];
}
}
/**
/**
...
@@ -330,13 +357,17 @@ class Order extends Base
...
@@ -330,13 +357,17 @@ class Order extends Base
$p
=
input
(
'post.p/d'
,
1
);
$p
=
input
(
'post.p/d'
,
1
);
$page
=
input
(
'post.page/d'
,
8
);
$page
=
input
(
'post.page/d'
,
8
);
$status
=
input
(
'post.status/d'
,
1
);
$status
=
input
(
'post.status/d'
,
1
);
$order
=
OrderModel
::
where
(
'status'
,
$status
)
$order
=
OrderModel
::
with
(
'project'
)
->
where
(
'status'
,
$status
)
->
where
(
'uid'
,
$this
->
userinfo
[
0
])
->
where
(
'uid'
,
$this
->
userinfo
[
0
])
->
where
(
'type'
,
1
)
->
where
(
'type'
,
1
)
->
page
(
$p
,
$page
)
->
page
(
$p
,
$page
)
->
select
();
->
select
();
$order
=
$order
?
collection
(
$order
)
->
toArray
()
:
[];
$order
=
collection
(
$order
);
if
(
!
$order
)
return
[
'code'
=>
1
,
'msg'
=>
'没有更多'
];
if
(
$order
->
isEmpty
())
{
return
[
'code'
=>
1
,
'msg'
=>
'没有更多'
];
}
$order
->
visible
([
'id'
,
'pid'
,
'title'
,
'total_fee'
,
'project.poster'
,
'created_at'
,
'status'
,
'is_refund'
,
'is_comment'
])
->
append
([
'status_text'
])
->
toArray
();
return
[
'code'
=>
0
,
'msg'
=>
'success'
,
'data'
=>
$order
];
return
[
'code'
=>
0
,
'msg'
=>
'success'
,
'data'
=>
$order
];
}
}
...
@@ -353,10 +384,10 @@ class Order extends Base
...
@@ -353,10 +384,10 @@ class Order extends Base
->
where
(
'uid'
,
$this
->
userinfo
[
0
])
->
where
(
'uid'
,
$this
->
userinfo
[
0
])
->
where
(
'type'
,
config
(
'order_type.project'
))
->
where
(
'type'
,
config
(
'order_type.project'
))
->
where
(
'status'
,
config
(
'order_status.pay'
))
->
where
(
'status'
,
config
(
'order_status.pay'
))
->
where
(
'is_refund'
,
config
(
'order_is_refund.no_refund'
)
)
->
where
(
'is_refund'
,
'in'
,
[
config
(
'refund_status.no'
),
config
(
'refund_status.no_pass'
)]
)
->
find
();
->
find
();
if
(
!
$order
)
return
[
'code'
=>
1
,
'msg'
=>
'订单错误'
];
if
(
!
$order
)
return
[
'code'
=>
1
,
'msg'
=>
'订单错误'
];
$order
->
is_refund
=
config
(
'
order_is_refund.refund
'
);
$order
->
is_refund
=
config
(
'
refund_status.to_examine
'
);
$order
->
save
();
$order
->
save
();
//提交退款表
//提交退款表
RefundModel
::
create
([
RefundModel
::
create
([
...
...
application/api/controller/User.php
View file @
0b26760f
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
namespace
app\api\controller
;
namespace
app\api\controller
;
use
app\common\model\User
as
UserModel
;
use
app\common\model\User
as
UserModel
;
use
app\admin\controller\Upload
;
class
User
extends
Base
class
User
extends
Base
{
{
...
@@ -14,8 +15,8 @@ class User extends Base
...
@@ -14,8 +15,8 @@ class User extends Base
*/
*/
public
function
token
()
public
function
token
()
{
{
$uid
=
input
(
'post.uid'
);
$uid
=
input
(
'post.uid'
);
$user
=
UserModel
::
get
(
$uid
);
$user
=
UserModel
::
get
(
$uid
);
$token
=
$this
->
usertoken
(
$user
);
$token
=
$this
->
usertoken
(
$user
);
return
[
"code"
=>
0
,
"msg"
=>
"成功"
,
"token"
=>
$token
,
"user"
=>
$user
];
return
[
"code"
=>
0
,
"msg"
=>
"成功"
,
"token"
=>
$token
,
"user"
=>
$user
];
}
}
...
@@ -34,12 +35,12 @@ class User extends Base
...
@@ -34,12 +35,12 @@ class User extends Base
// $signature = input("post.signature");
// $signature = input("post.signature");
// $rawData = input("post.rawData");
// $rawData = input("post.rawData");
$encryptedData
=
input
(
"post.encryptedData"
);
$encryptedData
=
input
(
"post.encryptedData"
);
$iv
=
input
(
'post.iv'
);
$iv
=
input
(
'post.iv'
);
// 获取session_key
// 获取session_key
$appId
=
config
(
"wxapp.appKey"
);
$appId
=
config
(
"wxapp.appKey"
);
$appSecret
=
config
(
"wxapp.appSecret"
);
$appSecret
=
config
(
"wxapp.appSecret"
);
$wxurl
=
"https://api.weixin.qq.com/sns/jscode2session?appid="
.
$appId
.
"&secret="
.
$appSecret
.
"&js_code="
.
$jscode
.
"&grant_type=authorization_code"
;
$wxurl
=
"https://api.weixin.qq.com/sns/jscode2session?appid="
.
$appId
.
"&secret="
.
$appSecret
.
"&js_code="
.
$jscode
.
"&grant_type=authorization_code"
;
$response
=
http_get
(
$wxurl
);
$response
=
http_get
(
$wxurl
);
if
(
isset
(
$response
->
errcode
)
&&
$response
->
errcode
>
0
)
{
if
(
isset
(
$response
->
errcode
)
&&
$response
->
errcode
>
0
)
{
...
@@ -49,20 +50,20 @@ class User extends Base
...
@@ -49,20 +50,20 @@ class User extends Base
// session_key 和 openid
// session_key 和 openid
// 过期时间2小时 7200s
// 过期时间2小时 7200s
$session_key
=
$response
->
session_key
;
$session_key
=
$response
->
session_key
;
$openid
=
$response
->
openid
;
$openid
=
$response
->
openid
;
// 解密加密数据
// 解密加密数据
include_once
VENDOR_PATH
.
'aesphp/wxBizDataCrypt.php'
;
include_once
VENDOR_PATH
.
'aesphp/wxBizDataCrypt.php'
;
$pc
=
new
\WXBizDataCrypt
(
$appId
,
$session_key
);
$pc
=
new
\WXBizDataCrypt
(
$appId
,
$session_key
);
$errCode
=
$pc
->
decryptData
(
$encryptedData
,
$iv
,
$data
);
$errCode
=
$pc
->
decryptData
(
$encryptedData
,
$iv
,
$data
);
if
(
$errCode
==
0
)
{
if
(
$errCode
==
0
)
{
$data
=
json_decode
(
$data
);
$data
=
json_decode
(
$data
);
$user
=
UserModel
::
where
([
'openid'
=>
$data
->
openId
])
->
find
();
$user
=
UserModel
::
where
([
'openid'
=>
$data
->
openId
])
->
find
();
if
(
$user
)
{
if
(
$user
)
{
//更新
//更新
// 省份和城市
// 省份和城市
$user
->
city
=
$data
->
city
;
$user
->
city
=
$data
->
city
;
$user
->
province
=
$data
->
province
;
$user
->
province
=
$data
->
province
;
//ip
//ip
$user
->
ip
=
request
()
->
ip
();
$user
->
ip
=
request
()
->
ip
();
...
@@ -72,15 +73,15 @@ class User extends Base
...
@@ -72,15 +73,15 @@ class User extends Base
return
[
"code"
=>
0
,
"msg"
=>
"登录成功"
,
"token"
=>
$token
,
"user"
=>
$user
];
return
[
"code"
=>
0
,
"msg"
=>
"登录成功"
,
"token"
=>
$token
,
"user"
=>
$user
];
}
else
{
}
else
{
//第一次注册
//第一次注册
$user
=
new
UserModel
;
$user
=
new
UserModel
;
$user
->
openid
=
$data
->
openId
;
$user
->
openid
=
$data
->
openId
;
$user
->
nickname
=
$data
->
nickName
;;
$user
->
nickname
=
$data
->
nickName
;;
// 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
// 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
$user
->
gender
=
intval
(
$data
->
gender
);
$user
->
gender
=
intval
(
$data
->
gender
);
$user
->
avatar
=
$data
->
avatarUrl
;
$user
->
avatar
=
$data
->
avatarUrl
;
$user
->
is_vip
=
0
;
// 0非会员 1会员 默认为非会员
$user
->
is_vip
=
0
;
// 0非会员 1会员 默认为非会员
// 省份和城市
// 省份和城市
$user
->
city
=
$data
->
city
;
$user
->
city
=
$data
->
city
;
$user
->
province
=
$data
->
province
;
$user
->
province
=
$data
->
province
;
//ip
//ip
$user
->
ip
=
request
()
->
ip
();
$user
->
ip
=
request
()
->
ip
();
...
@@ -107,9 +108,9 @@ class User extends Base
...
@@ -107,9 +108,9 @@ class User extends Base
*/
*/
public
function
getPhoneNumber
()
public
function
getPhoneNumber
()
{
{
$jscode
=
input
(
"post.code"
);
$jscode
=
input
(
"post.code"
);
$encryptedData
=
input
(
"post.encryptedData"
);
$encryptedData
=
input
(
"post.encryptedData"
);
$iv
=
input
(
'post.iv'
);
$iv
=
input
(
'post.iv'
);
if
(
!
$jscode
||
!
$encryptedData
||
!
$iv
)
{
if
(
!
$jscode
||
!
$encryptedData
||
!
$iv
)
{
return
[
"code"
=>
1
,
"msg"
=>
"参数错误"
];
return
[
"code"
=>
1
,
"msg"
=>
"参数错误"
];
...
@@ -119,28 +120,28 @@ class User extends Base
...
@@ -119,28 +120,28 @@ class User extends Base
}
}
// 获取session_key
// 获取session_key
$appId
=
config
(
"wxapp.appKey"
);
$appId
=
config
(
"wxapp.appKey"
);
$appSecret
=
config
(
"wxapp.appSecret"
);
$appSecret
=
config
(
"wxapp.appSecret"
);
$wxurl
=
"https://api.weixin.qq.com/sns/jscode2session?appid="
.
$appId
.
"&secret="
.
$appSecret
.
"&js_code="
.
$jscode
.
"&grant_type=authorization_code"
;
$wxurl
=
"https://api.weixin.qq.com/sns/jscode2session?appid="
.
$appId
.
"&secret="
.
$appSecret
.
"&js_code="
.
$jscode
.
"&grant_type=authorization_code"
;
$response
=
http_get
(
$wxurl
);
$response
=
http_get
(
$wxurl
);
// session_key 和 openid
// session_key 和 openid
// 过期时间2小时 7200s
// 过期时间2小时 7200s
$session_key
=
$response
->
session_key
;
$session_key
=
$response
->
session_key
;
$openid
=
$response
->
openid
;
$openid
=
$response
->
openid
;
// 解密加密数据
// 解密加密数据
include_once
VENDOR_PATH
.
'aesphp/wxBizDataCrypt.php'
;
include_once
VENDOR_PATH
.
'aesphp/wxBizDataCrypt.php'
;
$pc
=
new
\WXBizDataCrypt
(
$appId
,
$session_key
);
$pc
=
new
\WXBizDataCrypt
(
$appId
,
$session_key
);
$errCode
=
$pc
->
decryptData
(
$encryptedData
,
$iv
,
$data
);
$errCode
=
$pc
->
decryptData
(
$encryptedData
,
$iv
,
$data
);
if
(
$errCode
==
0
)
{
if
(
$errCode
==
0
)
{
$data
=
json_decode
(
$data
);
$data
=
json_decode
(
$data
);
$phone
=
$data
->
purePhoneNumber
;
$phone
=
$data
->
purePhoneNumber
;
$hidephone
=
substr_replace
(
$phone
,
'****'
,
3
,
4
);
$hidephone
=
substr_replace
(
$phone
,
'****'
,
3
,
4
);
$user
=
UserModel
::
get
(
$this
->
userinfo
[
0
]);
$user
=
UserModel
::
get
(
$this
->
userinfo
[
0
]);
$user
->
phone
=
$phone
;
$user
->
phone
=
$phone
;
$user
->
save
();
$user
->
save
();
...
@@ -155,9 +156,75 @@ class User extends Base
...
@@ -155,9 +156,75 @@ class User extends Base
public
function
index
()
public
function
index
()
{
{
//用户UID
//用户UID
$uid
=
$this
->
userinfo
[
0
];
$uid
=
$this
->
userinfo
[
0
];
$user
=
UserModel
::
get
(
$uid
);
$user
=
UserModel
::
get
(
$uid
);
$user
[
'hidephone'
]
=
substr_replace
(
$user
[
'phone'
],
'****'
,
3
,
4
);
$user
[
'hidephone'
]
=
substr_replace
(
$user
[
'phone'
],
'****'
,
3
,
4
);
return
[
'code'
=>
0
,
'msg'
=>
'success'
,
'data'
=>
$user
];
return
[
'code'
=>
0
,
'msg'
=>
'success'
,
'data'
=>
$user
];
}
}
/**
* 更新用户
* @url /api/User/update
* @param nickname 姓名
* @param sex 性别
* @return json
*/
public
function
update
()
{
//用户ID
$uid
=
$this
->
userinfo
[
0
];
$user
=
UserModel
::
get
(
$uid
);
//可选更新
if
(
input
(
'post.nickname'
))
$user
->
nickname
=
input
(
'post.nickname'
);
if
(
input
(
'post.gender'
))
$user
->
gender
=
input
(
'post.gender'
);
$user
->
save
();
return
[
'code'
=>
0
,
'msg'
=>
'更新成功'
];
}
/**
* 用户收藏列表
* @url /api/User/userCollections
* @param p 当前页
* @param page 一页显示几条
* @return json
*/
public
function
userCollections
()
{
$uid
=
$this
->
userinfo
[
0
];
$p
=
input
(
'post.p/d'
,
1
);
$page
=
input
(
'post.page/d'
,
8
);
$list
=
collection
(
UserModel
::
get
(
$uid
)
->
project
()
->
page
(
$p
,
$page
)
->
select
());
if
(
$list
->
isEmpty
())
{
return
[
'code'
=>
1
,
'msg'
=>
'没有更多'
];
}
$list
=
$list
->
visible
([
'title'
,
'night_num'
,
'price'
,
'vip_price'
,
'poster'
,])
->
append
([
'sign_endtime_str'
]);
return
[
'code'
=>
0
,
'msg'
=>
'success'
,
'data'
=>
$list
];
}
/**
* 更新头像
* @url /api/User/uploadAvatar
* @param avatar 头像资源
* @return json
*/
public
function
uploadAvatar
()
{
$file
=
request
()
->
file
(
'avatar'
);
$upload
=
new
Upload
();
$result
=
$upload
->
sava
(
$file
);
if
(
$result
[
'error'
]
==
1
)
{
return
[
'code'
=>
1
,
'msg'
=>
$result
[
'msg'
]];
}
$url
=
$result
[
'result'
][
'url'
];
//上传头像
$user
=
UserModel
::
get
(
$this
->
userinfo
[
0
]);
$user
->
avatar
=
$url
;
$user
->
save
();
return
[
'code'
=>
0
,
'msg'
=>
'更新成功'
,
'avatar_url'
=>
$user
->
avatar
];
}
}
}
\ No newline at end of file
application/common/model/Order.php
View file @
0b26760f
...
@@ -9,32 +9,109 @@
...
@@ -9,32 +9,109 @@
namespace
app\common\model
;
namespace
app\common\model
;
use
app\common\model\BaseModel
;
use
app\common\model\BaseModel
;
use
think\Collection
;
use
traits\model\SoftDelete
;
use
traits\model\SoftDelete
;
use
app\common\model\Project
as
ProjectModel
;
use
app\common\model\Project
as
ProjectModel
;
use
app\common\model\User
as
UserModel
;
use
app\common\model\User
as
UserModel
;
class
Order
extends
BaseModel
class
Order
extends
BaseModel
{
{
use
SoftDelete
;
use
SoftDelete
;
// 设置当前模型对应的完整数据表名称
// 设置当前模型对应的完整数据表名称
protected
$table
=
'mr_user_orders'
;
protected
$table
=
'mr_user_orders'
;
//获取订单商品
//获取订单商品
public
function
project
(){
public
function
project
()
return
$this
->
belongsTo
(
'Project'
,
'pid'
,
'id'
);
{
return
$this
->
belongsTo
(
'Project'
,
'pid'
,
'id'
);
}
}
//获取下单用户信息
//获取下单用户信息
public
function
userInfo
(){
public
function
userInfo
()
return
$this
->
belongsTo
(
'User'
,
'uid'
,
'id'
);
{
return
$this
->
belongsTo
(
'User'
,
'uid'
,
'id'
);
}
}
//处理订单状态
//处理订单状态
public
function
getStatusNameAttr
(
$value
,
$data
){
public
function
getStatusNameAttr
(
$value
,
$data
)
{
$statusNameArr
=
array
(
$statusNameArr
=
array
(
'0'
=>
[
'color'
=>
'#cc2e2e'
,
'name'
=>
'待付款'
],
'0'
=>
[
'color'
=>
'#cc2e2e'
,
'name'
=>
'待付款'
],
'1'
=>
[
'color'
=>
'#c33eff'
,
'name'
=>
'进行中'
],
'1'
=>
[
'color'
=>
'#c33eff'
,
'name'
=>
'进行中'
],
'2'
=>
[
'color'
=>
'#68dff0'
,
'name'
=>
'待评价'
],
'2'
=>
[
'color'
=>
'#68dff0'
,
'name'
=>
'待评价'
],
'3'
=>
[
'color'
=>
'#4acc2e'
,
'name'
=>
'已完成'
]
'3'
=>
[
'color'
=>
'#4acc2e'
,
'name'
=>
'已完成'
]
);
);
return
$statusNameArr
[
$data
[
'status'
]];
return
$statusNameArr
[
$data
[
'status'
]];
// 0-未付款,1-进行中,2-待评价,3-已完成
// 0-未付款,1-进行中,2-待评价,3-已完成
}
}
//extras转化成数组
public
function
getExtrasAttr
(
$value
)
{
return
json_decode
(
$value
,
true
);
}
//转化成json
public
function
setExtrasAttr
(
$value
)
{
return
json_encode
(
$value
);
}
//检验家庭组限制->已上锁
public
static
function
getGroupNumberByProject
(
$pid
,
$sign_limits
)
{
//获取家庭组限制
$project
=
ProjectModel
::
get
(
$pid
);
$order
=
self
::
lock
(
true
)
->
where
([
'status'
=>
config
(
'order_status.no_pay'
),
'created_at'
=>
[
'> time'
,
date
(
'Y-m-d H:i:s'
,
time
()
-
300
)]])
->
whereOr
(
'status'
,
'in'
,
[
config
(
'order_status.pay'
),
config
(
'order_status.wait_comment'
),
config
(
'order_status.complete'
)])
->
select
();
$count
=
0
;
if
(
$order
)
{
foreach
(
$order
as
$k
=>
$v
)
{
if
(
$v
[
'type'
]
==
config
(
'order_type.project'
)){
$count
+=
$v
[
'extras'
][
'sign_limits'
];
}
}
}
if
(
$count
+
$sign_limits
>
$project
[
'sign_limits'
])
{
return
true
;
}
return
false
;
}
//订单状态
public
function
getStatusTextAttr
(
$value
,
$data
)
{
$str
=
''
;
if
(
$data
[
'status'
]
==
config
(
'order_status.pay'
)){
//进行中
if
(
$data
[
'is_refund'
]
==
config
(
'refund_status.no'
)){
$str
=
'申请退款'
;
}
elseif
(
$data
[
'is_refund'
]
==
config
(
'refund_status.to_examine'
)){
$str
=
'退款申请中'
;
}
elseif
(
$data
[
'is_refund'
]
==
config
(
'refund_status.no_pass'
)){
$str
=
'退款失败'
;
}
}
elseif
(
$data
[
'status'
]
==
config
(
'order_status.wait_comment'
)){
//待评价
if
(
$data
[
'is_comment'
]
==
config
(
'comment_status.no'
)){
$str
=
'待评价'
;
}
elseif
(
$data
[
'is_comment'
]
==
config
(
'comment_status.to_examine'
)){
$str
=
'评价审核中'
;
}
elseif
(
$data
[
'is_comment'
]
==
config
(
'comment_status.no_pass'
)){
$str
=
'评价失败'
;
}
}
elseif
(
$data
[
'status'
]
==
config
(
'order_status.complete'
)){
//待评价
if
(
$data
[
'is_comment'
]
==
config
(
'comment_status.pass'
)){
$str
=
'已完成'
;
}
if
(
$data
[
'is_refund'
]
==
config
(
'refund_status.pass'
)){
$str
=
'已退款'
;
}
}
return
$str
;
}
}
}
application/config.php
View file @
0b26760f
...
@@ -29,7 +29,7 @@ $config = [
...
@@ -29,7 +29,7 @@ $config = [
// 注册的根命名空间
// 注册的根命名空间
'root_namespace'
=>
[],
'root_namespace'
=>
[],
// 扩展函数文件
// 扩展函数文件
'extra_file_list'
=>
[
APP_PATH
.
'helper.php'
,
THINK_PATH
.
'helper'
.
EXT
],
'extra_file_list'
=>
[
APP_PATH
.
'helper.php'
,
THINK_PATH
.
'helper'
.
EXT
],
// 默认输出类型
// 默认输出类型
'default_return_type'
=>
'html'
,
'default_return_type'
=>
'html'
,
// 默认AJAX 数据返回格式,可选json xml ...
// 默认AJAX 数据返回格式,可选json xml ...
...
@@ -119,7 +119,7 @@ $config = [
...
@@ -119,7 +119,7 @@ $config = [
// | 模板设置
// | 模板设置
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
'template'
=>
[
'template'
=>
[
// 模板引擎类型 支持 php think 支持扩展
// 模板引擎类型 支持 php think 支持扩展
'type'
=>
'Think'
,
'type'
=>
'Think'
,
// 模板路径
// 模板路径
...
@@ -139,30 +139,30 @@ $config = [
...
@@ -139,30 +139,30 @@ $config = [
],
],
// 视图输出字符串内容替换
// 视图输出字符串内容替换
'view_replace_str'
=>
[],
'view_replace_str'
=>
[],
// 默认跳转页面对应的模板文件
// 默认跳转页面对应的模板文件
'dispatch_success_tmpl'
=>
ROOT_PATH
.
'/public/dispatch_jump.html'
,
'dispatch_success_tmpl'
=>
ROOT_PATH
.
'/public/dispatch_jump.html'
,
'dispatch_error_tmpl'
=>
ROOT_PATH
.
'/public/dispatch_jump.html'
,
'dispatch_error_tmpl'
=>
ROOT_PATH
.
'/public/dispatch_jump.html'
,
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
// | 异常及错误设置
// | 异常及错误设置
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
// 异常页面的模板文件
// 异常页面的模板文件
'exception_tmpl'
=>
THINK_PATH
.
'tpl'
.
DS
.
'think_exception.tpl'
,
'exception_tmpl'
=>
THINK_PATH
.
'tpl'
.
DS
.
'think_exception.tpl'
,
// 错误显示信息,非调试模式有效
// 错误显示信息,非调试模式有效
'error_message'
=>
'页面错误!请稍后再试~'
,
'error_message'
=>
'页面错误!请稍后再试~'
,
// 显示错误信息
// 显示错误信息
'show_error_msg'
=>
true
,
'show_error_msg'
=>
true
,
// 异常处理handle类 留空使用 \think\exception\Handle
// 异常处理handle类 留空使用 \think\exception\Handle
'exception_handle'
=>
''
,
'exception_handle'
=>
''
,
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
// | 日志设置
// | 日志设置
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
'log'
=>
[
'log'
=>
[
// 日志记录方式,内置 file socket 支持扩展
// 日志记录方式,内置 file socket 支持扩展
'type'
=>
'File'
,
'type'
=>
'File'
,
// 日志保存目录
// 日志保存目录
...
@@ -174,7 +174,7 @@ $config = [
...
@@ -174,7 +174,7 @@ $config = [
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
// | Trace设置 开启 app_trace 后 有效
// | Trace设置 开启 app_trace 后 有效
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
'trace'
=>
[
'trace'
=>
[
// 内置Html Console 支持扩展
// 内置Html Console 支持扩展
'type'
=>
'Html'
,
'type'
=>
'Html'
,
],
],
...
@@ -183,7 +183,7 @@ $config = [
...
@@ -183,7 +183,7 @@ $config = [
// | 缓存设置
// | 缓存设置
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
'cache'
=>
[
'cache'
=>
[
// 驱动方式
// 驱动方式
'type'
=>
'File'
,
'type'
=>
'File'
,
// 缓存保存目录
// 缓存保存目录
...
@@ -198,7 +198,7 @@ $config = [
...
@@ -198,7 +198,7 @@ $config = [
// | 会话设置
// | 会话设置
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
'session'
=>
[
'session'
=>
[
'id'
=>
''
,
'id'
=>
''
,
// SESSION_ID的提交变量,解决flash上传跨域
// SESSION_ID的提交变量,解决flash上传跨域
'var_session_id'
=>
''
,
'var_session_id'
=>
''
,
...
@@ -209,11 +209,11 @@ $config = [
...
@@ -209,11 +209,11 @@ $config = [
// 是否自动开启 SESSION
// 是否自动开启 SESSION
'auto_start'
=>
true
,
'auto_start'
=>
true
,
],
],
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
// | Cookie设置
// | Cookie设置
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
'cookie'
=>
[
'cookie'
=>
[
// cookie 名称前缀
// cookie 名称前缀
'prefix'
=>
''
,
'prefix'
=>
''
,
// cookie 保存时间
// cookie 保存时间
...
@@ -231,48 +231,101 @@ $config = [
...
@@ -231,48 +231,101 @@ $config = [
],
],
//分页配置
//分页配置
'paginate'
=>
[
'paginate'
=>
[
'type'
=>
'bootstrap'
,
'type'
=>
'bootstrap'
,
'var_page'
=>
'page'
,
'var_page'
=>
'page'
,
'list_rows'
=>
15
,
'list_rows'
=>
15
,
],
],
// 访问错误
// 访问错误
'http_exception_template'
=>
[
'http_exception_template'
=>
[
404
=>
ROOT_PATH
.
'/public/404.html'
,
404
=>
ROOT_PATH
.
'/public/404.html'
,
500
=>
ROOT_PATH
.
'/public/500.html'
,
500
=>
ROOT_PATH
.
'/public/500.html'
,
],
],
'app_name'
=>
'美行者亲子游'
,
'app_name'
=>
'美行者亲子游'
,
'domain'
=>
'http://app.maveler.com'
,
'domain'
=>
'http://app.maveler.com'
,
// 微信小程序配置
// 微信小程序配置
'wxapp'
=>
[
'wxapp'
=>
[
'appKey'
=>
'wx1b834552a7d49bb3'
,
'appKey'
=>
'wx1b834552a7d49bb3'
,
'appSecret'
=>
'9708059f5f0a280bea0779df44389231'
,
'appSecret'
=>
'9708059f5f0a280bea0779df44389231'
,
// 模版消息ID
// 模版消息ID
// 微信支付订单-付款成功-7天内可推送3条模版消息
// 微信支付订单-付款成功-7天内可推送3条模版消息
'template_id_paied'
=>
'p8VgRZJ8pFnnVfKKwGILs203k6g1IhCTpsGWrVTCAZs'
,
'template_id_paied'
=>
'p8VgRZJ8pFnnVfKKwGILs203k6g1IhCTpsGWrVTCAZs'
,
],
],
// 阿里云短信配置
// 阿里云短信配置
'aliyun_sms'
=>
[
'aliyun_sms'
=>
[
'AccessKeyID'
=>
'LTAIOjPntRMQBboP'
,
'AccessKeyID'
=>
'LTAIOjPntRMQBboP'
,
'AccessKeySecret'
=>
'6OaSAf7LifDrjxv9VIEh3FlmjLUlWR'
,
'AccessKeySecret'
=>
'6OaSAf7LifDrjxv9VIEh3FlmjLUlWR'
,
// 短信签名
// 短信签名
'signature'
=>
'阿里云短信测试专用'
,
'signature'
=>
'阿里云短信测试专用'
,
// 短信验证码 -- 参数:${code}
// 短信验证码 -- 参数:${code}
'sms_phone_captcha'
=>
'SMS_111665080'
,
'sms_phone_captcha'
=>
'SMS_111665080'
,
],
],
'qiniu'
=>
[
'qiniu'
=>
[
'accessKey'
=>
'vjfvCi41rzV71iGZl1Q7DS8IzoeuRDVLk5eWU7oK'
,
'accessKey'
=>
'vjfvCi41rzV71iGZl1Q7DS8IzoeuRDVLk5eWU7oK'
,
'secretKey'
=>
'FuiGofChZbYMxC3MKeCj28E-dwU8Ji-wLgByczjG'
,
'secretKey'
=>
'FuiGofChZbYMxC3MKeCj28E-dwU8Ji-wLgByczjG'
,
'domain'
=>
'http://pezwu2vm9.bkt.clouddn.com'
,
'domain'
=>
'http://pezwu2vm9.bkt.clouddn.com'
,
'bucket'
=>
'meixingzhe'
,
'bucket'
=>
'meixingzhe'
,
]
],
// +----------------------------------------------------------------------
// | 退款状态
// +----------------------------------------------------------------------
'refund_status'
=>
[
'no'
=>
0
,
//无
'to_examine'
=>
1
,
//审核
'no_pass'
=>
2
,
//驳回
'pass'
=>
3
//通过
],
// +----------------------------------------------------------------------
// | 评论状态
// +----------------------------------------------------------------------
'comment_status'
=>
[
'no'
=>
0
,
//无
'to_examine'
=>
1
,
//审核
'no_pass'
=>
2
,
//驳回
'pass'
=>
3
//通过
],
// +----------------------------------------------------------------------
// | 下单类型
// +----------------------------------------------------------------------
'order_type'
=>
[
'project'
=>
1
,
'vip'
=>
2
],
// +----------------------------------------------------------------------
// | 下单状态
// +----------------------------------------------------------------------
'order_status'
=>
[
'no_pay'
=>
0
,
//待付款
'pay'
=>
1
,
//进行中(已支付)
'wait_comment'
=>
2
,
//等评论
'complete'
=>
3
//已完成
],
// +----------------------------------------------------------------------
// | 微信支付
// +----------------------------------------------------------------------
'wx_pay'
=>
[
'notify_url'
=>
'域名/api/Order/callback'
,
'vip_title'
=>
'美行者会员VIP'
,
'vip_price'
=>
49.00
],
];
];
return
$config
;
return
$config
;
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