Commit 0b26760f by LiuJunYi

api

parent 756ac1fa
......@@ -28,10 +28,10 @@ class Base extends Controller
// echo $this->getSignature($params); exit;
//验证签名
if (!$this->checkSignature($params)) {
echo json_encode(["code" => 1, "msg" => "auth failed"]);
die;
}
if (!$this->checkSignature($params)) {
echo json_encode(["code" => 1, "msg" => "auth failed"]);
die;
}
// 用户信息
if (input('post.token')) {
......
......@@ -29,7 +29,7 @@ class Comment extends Base
$p = input('post.p/d', 1);
$page = input('post.p/d', 8);
$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)
->select();
if (!$comment) {
......@@ -61,7 +61,7 @@ class Comment extends Base
$order = OrderModel::get([
'uid' => $this->userinfo[0],
'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) {
......@@ -75,8 +75,7 @@ class Comment extends Base
'pid' => $order->pid,
'uid' => $this->userinfo[0],
]);
$order->is_comment = config('user_comment_status.examine');
$order->is_comment = config('comment_status.to_examine');
$order->save();
//查询订单
return ['code' => 0, 'msg' => '评论成功'];
......
......@@ -55,7 +55,7 @@ class Order extends Base
//检验该活动是否有效期
if (time() > strtotime($project->sign_endtime)) {
//活动过期
return ['code' => 1, 'msg' => '活动已过期'];
return ['code' => 1, 'msg' => '活动已截止报名'];
}
//生成订单
try {
......@@ -70,11 +70,15 @@ class Order extends Base
$order->uid = $this->userinfo[0];
$order->pid = $project['id'];
$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->status = config('order_status.noPay');
$order->extras = [
//TODO::支付状态应该是noPay,测试换成pay
$order->status = config('order_status.pay');
// $order->status = config('order_status.no_pay');
$order->extras = [
'nickname' => input('post.nickname'),
'phone' => input('post.phone'),
'adult_number' => input('post.adult_number'),
......@@ -90,38 +94,44 @@ class Order extends Base
$data['order_id'] = intval($order->id);
$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();
} catch (\Exception $e) {
Db::rollback();
return ['code' => 1, 'msg' => $e->getMessage()];
}
//TODO::删除伪成功
return ['code' => 0, 'msg' => '报名成功'];
}
/**
......@@ -140,19 +150,22 @@ class Order extends Base
$res = $validate->check(input('post.'));
if (!$res) return ['code' => 1, 'msg' => $validate->getError()];
//生成订单
try {
//开始事务
Db::startTrans();
$year = intval(input('post.year'));
//生成订单入库
$order = new OrderModel();
$order->type = config('order_type.vip');
$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有效期
$user = UserModel::get($this->userinfo);
$user = UserModel::get($this->userinfo[0]);
if ($user->is_vip == 1) {
if ($user->vip_endtime > time()) {//累加
if (strtotime($user->vip_endtime) > time()) {//累加
$vip_endtime = strtotime("{$user->vip_endtime} +{$year} year");
} else {
$vip_endtime = strtotime("+{$year} year");
......@@ -160,12 +173,14 @@ class Order extends Base
} else {
$vip_endtime = strtotime("+{$year} year");
}
$vip_endtime = date('Y-m-d H:i:s', $vip_endtime);
$order->status = config('order_status.noPay');
$vip_endtime = date('Y-m-d H:i:s', $vip_endtime);
//TODO::支付状态应该是noPay,测试换成pay
$order->status = config('order_status.pay');
// $order->status = config('order_status.no_pay');
$order->extras = [
'year' => $year,
'vip_endtime' => $vip_endtime,
'price' => config('vip.price'),
'price' => config('wx_pay.vip_price'),
'remark' => input('post.remark'),
];
if (!$order->save()) {
......@@ -174,38 +189,50 @@ class Order extends Base
$data['order_id'] = intval($order->id);
$data['total_fee'] = doubleval($order->total_fee);
//生成订单
// 更新订单号-防止签名失败
$order->out_trade_no = (new \WxPayConfig())->GetMerchantId() . time() . $order->id;
//TODO::关闭支付接口
// // 更新订单号-防止签名失败
// $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();
$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('订单签名失败');
}
$user = UserModel::get($this->userinfo[0]);
$user->is_vip = 1;
$user->vip_endtime = $vip_endtime;
$user->save();
//----------------------------------------结束
Db::commit();
} catch (\Exception $e) {
Db::rollback();
return ['code' => 1, 'msg' => $e->getMessage()];
}
//TODO::删除伪成功
return ['code' => 0, 'msg' => '开通成功'];
}
/**
......@@ -264,7 +291,7 @@ class Order extends Base
$order->status = config("order_status.pay");
$order->trade_status = 'SUCCESS';
$order->save();
if ($order->type == confih('order_type.vip')) {
if ($order->type == config('order_type.vip')) {
//给user表加数据
$user = UserModel::get($this->userinfo[0]);
$user->is_vip = 1;
......@@ -315,7 +342,7 @@ class Order extends Base
*/
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
$p = input('post.p/d', 1);
$page = input('post.page/d', 8);
$status = input('post.status/d', 1);
$order = OrderModel::where('status', $status)
$order = OrderModel::with('project')
->where('status', $status)
->where('uid', $this->userinfo[0])
->where('type', 1)
->page($p, $page)
->select();
$order = $order ? collection($order)->toArray() : [];
if (!$order) return ['code' => 1, 'msg' => '没有更多'];
$order = collection($order);
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];
}
......@@ -353,10 +384,10 @@ class Order extends Base
->where('uid', $this->userinfo[0])
->where('type', config('order_type.project'))
->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();
if (!$order) return ['code' => 1, 'msg' => '订单错误'];
$order->is_refund = config('order_is_refund.refund');
$order->is_refund = config('refund_status.to_examine');
$order->save();
//提交退款表
RefundModel::create([
......
......@@ -3,6 +3,7 @@
namespace app\api\controller;
use app\common\model\User as UserModel;
use app\admin\controller\Upload;
class User extends Base
{
......@@ -14,8 +15,8 @@ class User extends Base
*/
public function token()
{
$uid = input('post.uid');
$user = UserModel::get($uid);
$uid = input('post.uid');
$user = UserModel::get($uid);
$token = $this->usertoken($user);
return ["code" => 0, "msg" => "成功", "token" => $token, "user" => $user];
}
......@@ -34,12 +35,12 @@ class User extends Base
// $signature = input("post.signature");
// $rawData = input("post.rawData");
$encryptedData = input("post.encryptedData");
$iv = input('post.iv');
$iv = input('post.iv');
// 获取session_key
$appId = config("wxapp.appKey");
$appId = config("wxapp.appKey");
$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);
if (isset($response->errcode) && $response->errcode > 0) {
......@@ -49,20 +50,20 @@ class User extends Base
// session_key 和 openid
// 过期时间2小时 7200s
$session_key = $response->session_key;
$openid = $response->openid;
$openid = $response->openid;
// 解密加密数据
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);
if ($errCode == 0) {
$data = json_decode($data);
$user = UserModel::where(['openid' => $data->openId])->find();
if ($user) {
//更新
// 省份和城市
$user->city = $data->city;
$user->city = $data->city;
$user->province = $data->province;
//ip
$user->ip = request()->ip();
......@@ -72,15 +73,15 @@ class User extends Base
return ["code" => 0, "msg" => "登录成功", "token" => $token, "user" => $user];
} else {
//第一次注册
$user = new UserModel;
$user->openid = $data->openId;
$user = new UserModel;
$user->openid = $data->openId;
$user->nickname = $data->nickName;;
// 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
$user->gender = intval($data->gender);
$user->avatar = $data->avatarUrl;
$user->is_vip = 0; // 0非会员 1会员 默认为非会员
// 省份和城市
$user->city = $data->city;
$user->city = $data->city;
$user->province = $data->province;
//ip
$user->ip = request()->ip();
......@@ -107,9 +108,9 @@ class User extends Base
*/
public function getPhoneNumber()
{
$jscode = input("post.code");
$jscode = input("post.code");
$encryptedData = input("post.encryptedData");
$iv = input('post.iv');
$iv = input('post.iv');
if (!$jscode || !$encryptedData || !$iv) {
return ["code" => 1, "msg" => "参数错误"];
......@@ -119,28 +120,28 @@ class User extends Base
}
// 获取session_key
$appId = config("wxapp.appKey");
$appId = config("wxapp.appKey");
$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);
// session_key 和 openid
// 过期时间2小时 7200s
$session_key = $response->session_key;
$openid = $response->openid;
$openid = $response->openid;
// 解密加密数据
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);
if ($errCode == 0) {
$data = json_decode($data);
$phone = $data->purePhoneNumber;
$data = json_decode($data);
$phone = $data->purePhoneNumber;
$hidephone = substr_replace($phone, '****', 3, 4);
$user = UserModel::get($this->userinfo[0]);
$user = UserModel::get($this->userinfo[0]);
$user->phone = $phone;
$user->save();
......@@ -155,9 +156,75 @@ class User extends Base
public function index()
{
//用户UID
$uid = $this->userinfo[0];
$user = UserModel::get($uid);
$uid = $this->userinfo[0];
$user = UserModel::get($uid);
$user['hidephone'] = substr_replace($user['phone'], '****', 3, 4);
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
......@@ -9,32 +9,109 @@
namespace app\common\model;
use app\common\model\BaseModel;
use think\Collection;
use traits\model\SoftDelete;
use app\common\model\Project as ProjectModel;
use app\common\model\User as UserModel;
class Order extends BaseModel
{
use SoftDelete;
// 设置当前模型对应的完整数据表名称
protected $table = 'mr_user_orders';
//获取订单商品
public function project(){
return $this->belongsTo('Project','pid','id');
public function project()
{
return $this->belongsTo('Project', 'pid', 'id');
}
//获取下单用户信息
public function userInfo(){
return $this->belongsTo('User','uid','id');
public function userInfo()
{
return $this->belongsTo('User', 'uid', 'id');
}
//处理订单状态
public function getStatusNameAttr($value,$data){
public function getStatusNameAttr($value, $data)
{
$statusNameArr = array(
'0'=>['color'=>'#cc2e2e','name'=>'待付款'],
'1'=>['color'=>'#c33eff','name'=>'进行中'],
'2'=>['color'=>'#68dff0','name'=>'待评价'],
'3'=>['color'=>'#4acc2e','name'=>'已完成']
'0' => ['color' => '#cc2e2e', 'name' => '待付款'],
'1' => ['color' => '#c33eff', 'name' => '进行中'],
'2' => ['color' => '#68dff0', 'name' => '待评价'],
'3' => ['color' => '#4acc2e', 'name' => '已完成']
);
return $statusNameArr[$data['status']];
// 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;
}
}
......@@ -29,7 +29,7 @@ $config = [
// 注册的根命名空间
'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',
// 默认AJAX 数据返回格式,可选json xml ...
......@@ -119,7 +119,7 @@ $config = [
// | 模板设置
// +----------------------------------------------------------------------
'template' => [
'template' => [
// 模板引擎类型 支持 php think 支持扩展
'type' => 'Think',
// 模板路径
......@@ -139,30 +139,30 @@ $config = [
],
// 视图输出字符串内容替换
'view_replace_str' => [],
'view_replace_str' => [],
// 默认跳转页面对应的模板文件
'dispatch_success_tmpl' => ROOT_PATH.'/public/dispatch_jump.html',
'dispatch_error_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',
// +----------------------------------------------------------------------
// | 异常及错误设置
// +----------------------------------------------------------------------
// 异常页面的模板文件
'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
'exception_handle' => '',
'exception_handle' => '',
// +----------------------------------------------------------------------
// | 日志设置
// +----------------------------------------------------------------------
'log' => [
'log' => [
// 日志记录方式,内置 file socket 支持扩展
'type' => 'File',
// 日志保存目录
......@@ -174,7 +174,7 @@ $config = [
// +----------------------------------------------------------------------
// | Trace设置 开启 app_trace 后 有效
// +----------------------------------------------------------------------
'trace' => [
'trace' => [
// 内置Html Console 支持扩展
'type' => 'Html',
],
......@@ -183,7 +183,7 @@ $config = [
// | 缓存设置
// +----------------------------------------------------------------------
'cache' => [
'cache' => [
// 驱动方式
'type' => 'File',
// 缓存保存目录
......@@ -198,7 +198,7 @@ $config = [
// | 会话设置
// +----------------------------------------------------------------------
'session' => [
'session' => [
'id' => '',
// SESSION_ID的提交变量,解决flash上传跨域
'var_session_id' => '',
......@@ -209,11 +209,11 @@ $config = [
// 是否自动开启 SESSION
'auto_start' => true,
],
// +----------------------------------------------------------------------
// | Cookie设置
// +----------------------------------------------------------------------
'cookie' => [
'cookie' => [
// cookie 名称前缀
'prefix' => '',
// cookie 保存时间
......@@ -231,48 +231,101 @@ $config = [
],
//分页配置
'paginate' => [
'paginate' => [
'type' => 'bootstrap',
'var_page' => 'page',
'list_rows' => 15,
],
// 访问错误
'http_exception_template' => [
404 => ROOT_PATH.'/public/404.html',
500 => ROOT_PATH.'/public/500.html',
404 => ROOT_PATH . '/public/404.html',
500 => ROOT_PATH . '/public/500.html',
],
'app_name' => '美行者亲子游',
'domain' => 'http://app.maveler.com',
'app_name' => '美行者亲子游',
'domain' => 'http://app.maveler.com',
// 微信小程序配置
'wxapp' => [
'appKey' => 'wx1b834552a7d49bb3',
'appSecret' => '9708059f5f0a280bea0779df44389231',
'wxapp' => [
'appKey' => 'wx1b834552a7d49bb3',
'appSecret' => '9708059f5f0a280bea0779df44389231',
// 模版消息ID
// 微信支付订单-付款成功-7天内可推送3条模版消息
'template_id_paied' => 'p8VgRZJ8pFnnVfKKwGILs203k6g1IhCTpsGWrVTCAZs',
],
// 阿里云短信配置
'aliyun_sms' => [
'AccessKeyID' => 'LTAIOjPntRMQBboP',
'AccessKeySecret' => '6OaSAf7LifDrjxv9VIEh3FlmjLUlWR',
'AccessKeyID' => 'LTAIOjPntRMQBboP',
'AccessKeySecret' => '6OaSAf7LifDrjxv9VIEh3FlmjLUlWR',
// 短信签名
'signature' => '阿里云短信测试专用',
'signature' => '阿里云短信测试专用',
// 短信验证码 -- 参数:${code}
'sms_phone_captcha' => 'SMS_111665080',
],
'qiniu' => [
'accessKey' => 'vjfvCi41rzV71iGZl1Q7DS8IzoeuRDVLk5eWU7oK',
'secretKey' => 'FuiGofChZbYMxC3MKeCj28E-dwU8Ji-wLgByczjG',
'domain' => 'http://pezwu2vm9.bkt.clouddn.com',
'bucket' => 'meixingzhe',
]
'domain' => 'http://pezwu2vm9.bkt.clouddn.com',
'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;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment