提交 83667b13 编写于 作者: G gongfuxiang

支付宝小程序

上级 6a461c54
<?php
namespace app\api\controller;
use app\service\AnswerService;
/**
* 用户留言
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Answer extends Common
{
/**
* [__construct 构造方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
}
/**
* [Index 获取列表]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-02-22T16:50:32+0800
*/
public function Index()
{
// 登录校验
$this->Is_Login();
// 参数
$params = input();
$params['user'] = $this->user;
// 分页
$number = 10;
$page = max(1, isset($this->data_post['page']) ? intval($this->data_post['page']) : 1);
// 条件
$where = AnswerService::AnswerListWhere($params);
// 获取总数
$total = AnswerService::AnswerTotal($where);
$page_total = ceil($total/$number);
$start = intval(($page-1)*$number);
// 获取列表
$data_params = array(
'm' => $start,
'n' => $number,
'where' => $where,
);
$data = AnswerService::AnswerList($data_params);
// 返回数据
$result = [
'total' => $total,
'page_total' => $page_total,
'data' => $data['data'],
];
return json(DataReturn('success', 0, $result));
}
/**
* 用户留言添加
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-07-17
* @desc description
*/
public function Add()
{
// 登录校验
$this->Is_Login();
$params = $this->data_post;
$params['user'] = $this->user;
$ret = AnswerService::Add($params);
return json($ret);
}
}
?>
\ No newline at end of file
<?php
namespace app\api\controller;
use app\service\GoodsService;
use app\service\UserService;
use app\service\PaymentService;
use app\service\BuyService;
/**
* 购买
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Buy extends Common
{
/**
* 构造方法
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-11-30
* @desc description
*/
public function __construct()
{
parent::__construct();
// 是否登录
$this->Is_Login();
}
/**
* [Index 首页]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-02-22T16:50:32+0800
*/
public function Index()
{
// 获取商品列表
$params = $this->data_post;
$params['user'] = $this->user;
$ret = BuyService::BuyTypeGoodsList($params);
// 商品校验
if(isset($ret['code']) && $ret['code'] == 0)
{
// 用户默认地址
$address = UserService::UserDefaultAddress(['user'=>$this->user]);
// 商品/基础信息
$base = [
'total_price' => empty($ret['data']) ? 0 : array_sum(array_column($ret['data'], 'total_price')),
'total_stock' => empty($ret['data']) ? 0 : array_sum(array_column($ret['data'], 'stock')),
'address' => empty($address['data']) ? null : $address['data'],
];
// 支付方式
$payment_list = PaymentService::BuyPaymentList(['is_enable'=>1, 'is_open_user'=>1]);
// 扩展展示数据
$extension_list = [
// ['name'=>'感恩节9折', 'tips'=>'-¥23元'],
// ['name'=>'运费', 'tips'=>'+¥10元'],
];
// 数据返回组装
$result = [
'goods_list' => $ret['data'],
'payment_list' => $payment_list,
'base' => $base,
'extension_list' => $extension_list,
'common_order_is_booking' => (int) MyC('common_order_is_booking', 0),
];
return json(DataReturn('success', 0, $result));
} else {
return json($ret);
}
}
/**
* 订单添加
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-25
* @desc description
*/
public function Add()
{
$params = $this->data_post;
$params['user'] = $this->user;
$ret = BuyService::OrderAdd($params);
return json($ret);
}
}
?>
\ No newline at end of file
<?php
namespace app\api\controller;
use app\service\BuyService;
/**
* 购物车
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Cart extends Common
{
/**
* [__construct 构造方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
// 是否登录
$this->Is_Login();
}
/**
* [Index 首页]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-02-22T16:50:32+0800
*/
public function Index()
{
$ret = BuyService::CartList(['user'=>$this->user]);
return json($ret);
}
/**
* 购物车保存
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-13
* @desc description
*/
public function Save()
{
$params = $this->data_post;
$params['user'] = $this->user;
$ret = BuyService::CartAdd($params);
return json($ret);
}
/**
* 购物车删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-14
* @desc description
*/
public function Delete()
{
$params = $this->data_post;
$params['user'] = $this->user;
$ret = BuyService::CartDelete($params);
return json($ret);
}
/**
* 数量保存
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-14
* @desc description
*/
public function Stock()
{
$params = $this->data_post;
$params['user'] = $this->user;
$ret = BuyService::CartStock($params);
return json($ret);
}
}
?>
\ No newline at end of file
......@@ -128,5 +128,21 @@ class Goods extends Common
$ret = GoodsService::GoodsSpecDetail($params);
return json($ret);
}
/**
* 商品分类
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-14
* @desc description
*/
public function Category()
{
// 开始处理
$params = $this->data_post;
$data = GoodsService::GoodsCategory($params);
return json(DataReturn('success', 0, $data));
}
}
?>
\ No newline at end of file
<?php
namespace app\api\controller;
use app\service\MessageService;
/**
* 消息
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Message extends Common
{
/**
* [__construct 构造方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
// 是否登录
$this->Is_Login();
}
/**
* [Index 获取记录]
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-04-08T15:08:01+0800
*/
public function Index()
{
// 参数
$params = $this->data_post;
$params['user'] = $this->user;
// 消息更新未已读
MessageService::MessageRead($params);
// 分页
$number = 10;
$page = max(1, isset($this->data_post['page']) ? intval($this->data_post['page']) : 1);
// 条件
$where = MessageService::MessageListWhere($params);
// 获取总数
$total = MessageService::MessageTotal($where);
$page_total = ceil($total/$number);
$start = intval(($page-1)*$number);
// 获取列表
$data_params = array(
'limit_start' => $start,
'limit_number' => $number,
'where' => $where,
);
$data = MessageService::MessageList($data_params);
// 返回数据
$result = [
'total' => $total,
'page_total' => $page_total,
'data' => $data['data'],
];
return json(DataReturn('success', 0, $result));
}
}
?>
\ No newline at end of file
<?php
namespace app\api\controller;
use app\service\PaymentService;
use app\service\OrderService;
/**
* 我的订单
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Order extends Common
{
/**
* [__construct 构造方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
// 是否登录
$this->Is_Login();
}
/**
* [Index 获取订单列表]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-02-22T16:50:32+0800
*/
public function Index()
{
// 参数
$params = $this->data_post;
$params['user'] = $this->user;
// 分页
$number = 10;
$page = max(1, isset($this->data_post['page']) ? intval($this->data_post['page']) : 1);
// 条件
$where = OrderService::OrderListWhere($params);
// 获取总数
$total = OrderService::OrderTotal($where);
$page_total = ceil($total/$number);
$start = intval(($page-1)*$number);
// 获取列表
$data_params = array(
'limit_start' => $start,
'limit_number' => $number,
'where' => $where,
);
$data = OrderService::OrderList($data_params);
// 支付方式
$payment_list = PaymentService::BuyPaymentList(['is_enable'=>1, 'is_open_user'=>1]);
// 返回数据
$result = [
'total' => $total,
'page_total' => $page_total,
'data' => $data['data'],
'payment_list' => $payment_list,
];
return json(DataReturn('success', 0, $result));
}
/**
* [Detail 获取详情]
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-05-21T10:18:27+0800
*/
public function Detail()
{
// 参数
$params = $this->data_post;
$params['user'] = $this->user;
// 条件
$where = OrderService::OrderListWhere($params);
// 获取列表
$data_params = array(
'limit_start' => 0,
'limit_number' => 1,
'where' => $where,
);
$data = OrderService::OrderList($data_params);
if(!empty($data['data'][0]))
{
return json(DataReturn('success', 0, $data['data'][0]));
}
return json(DataReturn('数据不存在或已删除', -100));
}
/**
* 订单支付
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-28
* @desc description
*/
public function Pay()
{
$params = $this->data_post;
$params['user'] = $this->user;
$ret = OrderService::Pay($params);
return json($ret);
}
/**
* [Cancel 订单取消]
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-05-21T10:48:48+0800
*/
public function Cancel()
{
$params = $this->data_post;
$params['user_id'] = $this->user['id'];
$params['creator'] = $this->user['id'];
$params['creator_name'] = $this->user['user_name_view'];
$ret = OrderService::OrderCancel($params);
return json($ret);
}
/**
* [Collect 订单收货]
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-05-21T10:48:48+0800
*/
public function Collect()
{
$params = $this->data_post;
$params['user_id'] = $this->user['id'];
$params['creator'] = $this->user['id'];
$params['creator_name'] = $this->user['user_name_view'];
$ret = OrderService::OrderCollect($params);
return json($ret);
}
/**
* 订单删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-30
* @desc description
*/
public function Delete()
{
$params = $this->data_post;
$params['user_id'] = $this->user['id'];
$params['creator'] = $this->user['id'];
$params['creator_name'] = $this->user['user_name_view'];
$params['user_type'] = 'user';
$ret = OrderService::OrderDelete($params);
return json($ret);
}
}
?>
\ No newline at end of file
<?php
namespace app\api\controller;
use app\service\OrderService;
/**
* 订单支付异步通知
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2018-05-21T10:48:48+0800
*/
class OrderNotify extends Common
{
/**
* [__construct 构造方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
}
/**
* [Notify 支付异步处理]
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-03-04T14:35:38+0800
*/
public function Notify()
{
$ret = OrderService::Notify($_REQUEST);
if($ret['code'] == 0)
{
exit('success');
}
exit('error');
}
}
?>
\ No newline at end of file
<?php
namespace app\api\controller;
use app\service\RegionService;
/**
* 地区
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Region extends Common
{
/**
* [__construct 构造方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
}
/**
* [Index 获取地区]
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-04-08T15:08:01+0800
*/
public function Index()
{
// 获取地区
$params = [
'where' => [
'pid' => isset($this->data_post['pid']) ? intval($this->data_post['pid']) : 0,
],
];
$data = RegionService::RegionNode($params);
return json(DataReturn('success', 0, $data));
}
}
?>
\ No newline at end of file
<?php
namespace app\api\controller;
use app\service\SearchService;
use app\service\GoodsService;
/**
* 商品搜索
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Search extends Common
{
/**
* [__construct 构造方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
}
/**
* 商品搜索
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-07-12
* @desc description
*/
public function Index()
{
// 搜索记录
$this->data_post['user_id'] = isset($this->user['id']) ? $this->user['id'] : 0;
SearchService::SearchAdd($this->data_post);
// 获取数据
$result = SearchService::GoodsList($this->data_post);
// 分类
if(!empty($this->data_post['category_id']))
{
$result['category'] = GoodsService::GoodsCategoryRow(['id'=>$this->data_post['category_id']]);
} else {
$result['category'] = [];
}
return json(DataReturn('success', 0, $result));
}
}
?>
\ No newline at end of file
......@@ -7,7 +7,7 @@ use app\service\GoodsService;
use app\service\MessageService;
/**
* 首页
* 用户
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
......
<?php
namespace app\api\controller;
use app\service\UserService;
/**
* 用户地址
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-03-02T22:48:35+0800
*/
class UserAddress extends Common
{
/**
* [__construct 构造方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
// 是否登录
$this->Is_Login();
}
/**
* 获取用户地址详情
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-07-18
* @desc description
*/
public function Detail()
{
$params = $this->data_post;
$params['user'] = $this->user;
$ret = UserService::UserAddressRow($params);
return json($ret);
}
/**
* 获取用户地址列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-07-18
* @desc description
*/
public function Index()
{
$ret = UserService::UserAddressList(['user'=>$this->user]);
return json($ret);
}
/**
* 用户地址保存
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-07-18
* @desc description
*/
public function Save()
{
$params = $this->data_post;
$params['user'] = $this->user;
$ret = UserService::UserAddressSave($params);
return json($ret);
}
/**
* 删除地址
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-07-18
* @desc description
*/
public function Delete()
{
$params = $this->data_post;
$params['user'] = $this->user;
$ret = UserService::UserAddressDelete($params);
return json($ret);
}
/**
* 默认地址设置
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-07-18
* @desc description
*/
public function SetDefault()
{
$params = $this->data_post;
$params['user'] = $this->user;
$ret = UserService::UserAddressDefault($params);
return json($ret);
}
}
?>
\ No newline at end of file
<?php
namespace app\api\controller;
use app\service\GoodsService;
/**
* 用户商品浏览
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class UserGoodsBrowse extends Common
{
/**
* [__construct 构造方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
// 是否登录
$this->Is_Login();
}
/**
* 商品浏览列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-10-09
* @desc description
*/
public function Index()
{
// 参数
$params = $this->data_post;
$params['user'] = $this->user;
// 分页
$number = 10;
$page = max(1, isset($this->data_post['page']) ? intval($this->data_post['page']) : 1);
// 条件
$where = GoodsService::UserGoodsBrowseListWhere($params);
// 获取总数
$total = GoodsService::GoodsBrowseTotal($where);
$page_total = ceil($total/$number);
$start = intval(($page-1)*$number);
// 获取列表
$data_params = array(
'limit_start' => $start,
'limit_number' => $number,
'where' => $where,
);
$data = GoodsService::GoodsBrowseList($data_params);
// 返回数据
$result = [
'total' => $total,
'page_total' => $page_total,
'data' => $data['data'],
];
return json(DataReturn('success', 0, $result));
}
/**
* 商品浏览删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-14
* @desc description
*/
public function Delete()
{
$params = $this->data_post;
$params['user'] = $this->user;
$ret = GoodsService::GoodsBrowseDelete($params);
return json($ret);
}
}
?>
\ No newline at end of file
<?php
namespace app\api\controller;
use app\service\GoodsService;
/**
* 用户商品收藏
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class UserGoodsFavor extends Common
{
/**
* [__construct 构造方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
// 是否登录
$this->Is_Login();
}
/**
* [Index 获取列表]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-02-22T16:50:32+0800
*/
public function Index()
{
// 参数
$params = input();
$params['user'] = $this->user;
// 分页
$number = 10;
$page = max(1, isset($this->data_post['page']) ? intval($this->data_post['page']) : 1);
// 条件
$where = GoodsService::UserGoodsFavorListWhere($params);
// 获取总数
$total = GoodsService::GoodsFavorTotal($where);
$page_total = ceil($total/$number);
$start = intval(($page-1)*$number);
// 获取列表
$data_params = array(
'm' => $start,
'n' => $number,
'where' => $where,
);
$data = GoodsService::GoodsFavorList($data_params);
// 返回数据
$result = [
'total' => $total,
'page_total' => $page_total,
'data' => $data['data'],
];
return json(DataReturn('success', 0, $result));
}
/**
* 用户商品收藏取消
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-07-17
* @desc description
*/
public function Cancel()
{
$params = $this->data_post;
$params['user'] = $this->user;
$ret = GoodsService::GoodsFavor($params);
return json($ret);
}
}
?>
\ No newline at end of file
<?php
namespace app\api\controller;
use app\service\IntegralService;
/**
* 用户积分管理
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class UserIntegral extends Common
{
/**
* [__construct 构造方法]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
// 是否登录
$this->Is_Login();
}
/**
* 用户积分列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-28
* @desc description
*/
public function Index()
{
// 参数
$params = $this->data_post;
$params['user'] = $this->user;
// 分页
$number = 10;
$page = max(1, isset($this->data_post['page']) ? intval($this->data_post['page']) : 1);
// 条件
$where = IntegralService::UserIntegralLogListWhere($params);
// 获取总数
$total = IntegralService::UserIntegralLogTotal($where);
$page_total = ceil($total/$number);
$start = intval(($page-1)*$number);
// 获取列表
$data_params = array(
'limit_start' => $start,
'limit_number' => $number,
'where' => $where,
);
$data = IntegralService::UserIntegralLogList($data_params);
// 返回数据
$result = [
'total' => $total,
'page_total' => $page_total,
'data' => $data['data'],
];
return json(DataReturn('success', 0, $result));
}
}
?>
\ No newline at end of file
......@@ -91,7 +91,7 @@
<i class="am-icon-long-arrow-down"></i>
</a>
</li>
<li data-field="price" data-type="desc">
<li data-field="min_price" data-type="desc">
<a href="javascript:;" title="价格">
<span>价格</span>
<i class="am-icon-long-arrow-down"></i>
......
......@@ -2,7 +2,6 @@
namespace app\service;
use think\Db;
use app\service\GoodsService;
/**
* 问答/留言服务层
......@@ -126,6 +125,61 @@ class AnswerService
return $where;
}
/**
* 用户留言添加
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-07-17
* @desc description
* @param [array] $params [输入参数]
*/
public static function Add($params = [])
{
// 参数校验
$p = [
[
'checked_type' => 'empty',
'key_name' => 'name',
'error_msg' => '联系人有误',
],
[
'checked_type' => 'empty',
'key_name' => 'tel',
'error_msg' => '联系电话有误',
],
[
'checked_type' => 'empty',
'key_name' => 'content',
'error_msg' => '详细内容有误',
],
[
'checked_type' => 'empty',
'key_name' => 'user',
'error_msg' => '用户信息有误',
],
];
$ret = ParamsChecked($params, $p);
if($ret !== true)
{
return DataReturn($ret, -1);
}
// 开始操作
$data = [
'user_id' => $params['user']['id'],
'name' => $params['name'],
'tel' => $params['tel'],
'content' => $params['content'],
'add_time' => time(),
];
if(Db::name('Answer')->insertGetId($data) > 0)
{
return DataReturn('提交成功', 0);
}
return DataReturn('提交失败', -100);
}
/**
* 删除
* @author Devil
......
......@@ -112,9 +112,9 @@ class SearchService
$order_by = '';
if(!empty($params['order_by_field']) && !empty($params['order_by_type']) && $params['order_by_field'] != 'default')
{
$order_by = $params['order_by_field'].' '.$params['order_by_type'];
$order_by = 'g.'.$params['order_by_field'].' '.$params['order_by_type'];
} else {
$order_by = 'access_count '.$params['order_by_type'].', sales_count '.$params['order_by_type'];
$order_by = 'g.access_count desc, g.sales_count desc';
}
// 分页计算
......@@ -157,7 +157,7 @@ class SearchService
$params['screening_price'] = $screening_price;
$params['ymd'] = date('Ymd');
$params['add_time'] = time();
unset($params['screening_price_id']);
unset($params['screening_price_id'], $params['page'], $params['max_price'], $params['min_price']);
// 添加日志
Db::name('SearchHistory')->insert($params);
......
......@@ -462,16 +462,25 @@ class UserService
$is_default = isset($params['is_default']) ? intval($params['is_default']) : 0;
$data = [
'name' => $params['name'],
'alias' => $params['alias'],
'tel' => $params['tel'],
'province' => $params['province'],
'city' => $params['city'],
'county' => $params['county'],
'address' => $params['address'],
'is_default' => $is_default,
'lng' => floatval($params['lng']),
'lat' => floatval($params['lat']),
];
if(!empty($params['alias']))
{
$data['alias'] = floatval($params['alias']);
}
if(!empty($params['lng']))
{
$data['lng'] = floatval($params['lng']);
}
if(!empty($params['lat']))
{
$data['lat'] = floatval($params['lat']);
}
Db::startTrans();
......@@ -1399,6 +1408,11 @@ class UserService
'key_name' => 'mobile',
'error_msg' => '手机号码不能为空',
],
[
'checked_type' => 'empty',
'key_name' => 'verify',
'error_msg' => '验证码不能为空',
],
[
'checked_type' => 'empty',
'key_name' => 'app_type',
......
......@@ -50,7 +50,7 @@ App({
// 请求地址
//request_url: "{{request_url}}",
//request_url: "https://demo.shopxo.net/",
//request_url: "https://demo.shopxo.net/index.php?s=",
request_url: 'http://tp5-dev.com/index.php?s=',
// 基础信息
......
{
"pages": ["pages/goods-detail/goods-detail",
"pages": [
"pages/index/index",
"pages/goods-category/goods-category",
"pages/cart/cart",
......@@ -8,7 +8,7 @@
"pages/login/login",
"pages/paytips/paytips",
"pages/goods-search/goods-search",
"pages/goods-detail/goods-detail",
"pages/goods-attribute/goods-attribute",
"pages/buy/buy",
"pages/user-address/user-address",
......
......@@ -25,8 +25,8 @@
<image class="goods-image fl" src="{{item.images}}" mode="aspectFill" />
<view class="goods-base">
<view class="goods-title multi-text">{{item.title}}</view>
<block a:if="{{item.attribute != null}}">
<view class="goods-attribute cr-888" a:for="{{item.attribute}}" a:for-item="attr">{{attr.attr_type_name}}:{{attr.attr_name}}
<block a:if="{{item.spec != null}}">
<view class="goods-attribute cr-888" a:for="{{item.spec}}" a:for-item="spec">{{spec.type}}:{{spec.value}}
</view>
</block>
</view>
......
......@@ -72,7 +72,7 @@ Page({
var data = this.data.params;
data['address_id'] = this.data.address_id;
my.httpRequest({
url: app.get_request_url("Index", "Buy"),
url: app.get_request_url("index", "buy"),
method: "POST",
data: data,
dataType: "json",
......@@ -157,7 +157,7 @@ Page({
this.setData({ buy_submit_disabled_status: true });
my.httpRequest({
url: app.get_request_url("Add", "Buy"),
url: app.get_request_url("add", "buy"),
method: "POST",
data: data,
dataType: "json",
......
......@@ -24,6 +24,7 @@
}
.goods-base {
min-height: 160rpx;
margin-left: 180rpx;
}
.goods-price {
position: relative;
......@@ -55,7 +56,7 @@
font-weight: bold;
}
.number-content input {
width: 50px;
width: 30px;
}
.number-content .number-submit,
.number-content input
......
......@@ -17,8 +17,8 @@
<view class="goods-base">
<view class="goods-title multi-text">{{item.title}}
</view>
<block a:if="{{item.attribute != null}}">
<view class="goods-attribute cr-888" a:for="{{item.attribute}}" a:for-item="attr">{{attr.attr_type_name}}:{{attr.attr_name}}</view>
<block a:if="{{item.spec != null}}">
<view class="goods-attribute cr-888" a:for="{{item.spec}}" a:for-item="spec">{{spec.type}}:{{spec.value}}</view>
</block>
</view>
<!-- 数量 -->
......
......@@ -23,7 +23,7 @@ Page({
// 加载loding
my.httpRequest({
url: app.get_request_url("GoodsCategory", "Resources"),
url: app.get_request_url("category", "goods"),
method: "POST",
data: {},
dataType: "json",
......
......@@ -19,7 +19,7 @@
z-index: 2;
}
.goods-popup-base {
height: 220rpx;
height: 230rpx;
position: relative;
}
.goods-popup-base image {
......@@ -32,7 +32,7 @@
.goods-popup-base-content {
position: absolute;
left: 220rpx;
bottom: 20rpx;
bottom: 30rpx;
}
.goods-popup-base-content .goods-price {
margin-bottom: 10rpx;
......
......@@ -31,7 +31,7 @@ Page({
},
onLoad(params) {
params['goods_id']=12;
//params['goods_id']=12;
this.setData({params: params});
this.init();
},
......@@ -251,7 +251,7 @@ Page({
},
// 加入购物车事件
goods_cart_event(e) {
goods_cart_event(e, spec) {
var user = app.GetUserInfo(this, 'goods_cart_event');
if (user != false) {
// 用户未绑定用户则转到登录页面
......@@ -261,21 +261,11 @@ Page({
});
return false;
} else {
var attribute_all_cart = {};
var temp_attribute_active = this.data.temp_attribute_active;
if (app.get_length(temp_attribute_active) > 0)
{
var goods_specifications_choose = this.data.goods_specifications_choose;
for (var i in temp_attribute_active) {
attribute_all_cart[goods_specifications_choose[i]['id']] = goods_specifications_choose[i]['find'][temp_attribute_active[i]]['id'];
}
}
my.showLoading({ content: '处理中...' });
my.httpRequest({
url: app.get_request_url('save', 'cart'),
method: 'POST',
data: { "goods_id": this.data.goods.id, "stock": this.data.temp_buy_number, "attr": JSON.stringify(attribute_all_cart) },
data: { "goods_id": this.data.goods.id, "stock": this.data.temp_buy_number, "spec": JSON.stringify(spec) },
dataType: 'json',
success: (res) => {
my.hideLoading();
......@@ -409,7 +399,6 @@ Page({
break;
}
}
console.log(temp_value, temp_status, res.data)
if(temp_status == true)
{
temp_data[i]['value'][k]['is_disabled'] = '';
......@@ -521,7 +510,7 @@ Page({
goods_buy_number_func(buy_number) {
var buy_min_number = parseInt(this.data.goods.buy_min_number) || 1;
var buy_max_number = parseInt(this.data.goods.buy_max_number) || 0;
var inventory = parseInt(this.data.goods.inventory);
var inventory = parseInt(this.data.goods.goods_spec_base_inventory);
var inventory_unit = this.data.goods.inventory_unit;
if(buy_number < buy_min_number)
{
......@@ -556,25 +545,30 @@ Page({
return false;
} else {
// 属性
var goods_specifications_choose = this.data.goods_specifications_choose;
var temp_attribute_active = this.data.temp_attribute_active;
var attr_count = goods_specifications_choose.length;
var attribute_all = {};
if(attr_count > 0)
var temp_data = this.data.goods_specifications_choose;
var sku_count = temp_data.length;
var active_count = 0;
var spec = [];
if(sku_count > 0)
{
var attr_active_count = app.get_length(temp_attribute_active);
if(attr_active_count < attr_count)
for(var i in temp_data)
{
for(var k in temp_data[i]['value'])
{
if((temp_data[i]['value'][k]['is_active'] || null) != null)
{
active_count++;
spec.push({"type": temp_data[i]['name'], "value": temp_data[i]['value'][k]['name']});
}
}
}
if(active_count < sku_count)
{
my.showToast({
type: 'fail',
content: '请选择属性'
});
return false;
} else {
for(var i in temp_attribute_active)
{
attribute_all[goods_specifications_choose[i]['id']] = goods_specifications_choose[i]['find'][temp_attribute_active[i]]['id'];
}
}
}
......@@ -586,7 +580,7 @@ Page({
"buy_type": "goods",
"goods_id": this.data.goods.id,
"stock": this.data.temp_buy_number,
"attr": JSON.stringify(attribute_all)
"spec": JSON.stringify(spec)
};
my.navigateTo({
url: '/pages/buy/buy?data=' + JSON.stringify(data)
......@@ -595,7 +589,7 @@ Page({
break;
case 'cart' :
this.goods_cart_event();
this.goods_cart_event(e, spec);
break;
default :
......
......@@ -13,7 +13,7 @@ Page({
search_nav_sort_list: [
{ name: "综合", field: "default", sort: "asc", "icon": null },
{ name: "销量", field: "sales_count", sort: "asc", "icon": "default" },
{ name: "价格", field: "price", sort: "asc", "icon": "default" },
{ name: "价格", field: "min_price", sort: "asc", "icon": "default" },
],
},
......@@ -64,7 +64,7 @@ Page({
// 获取数据
my.httpRequest({
url: app.get_request_url("Index", "Search"),
url: app.get_request_url("index", "search"),
method: "POST",
data: post_data,
dataType: "json",
......
......@@ -60,7 +60,7 @@ Page({
my.showLoading({ content: "加载中..." });
my.httpRequest({
url: app.get_request_url("Detail", "UserAddress"),
url: app.get_request_url("detail", "useraddress"),
method: "POST",
data: self.data.params,
dataType: "json",
......@@ -104,7 +104,7 @@ Page({
get_province_list() {
var self = this;
my.httpRequest({
url: app.get_request_url("Index", "Region"),
url: app.get_request_url("index", "region"),
method: "POST",
data: {},
dataType: "json",
......@@ -134,7 +134,7 @@ Page({
var self = this;
if (self.data.province_id) {
my.httpRequest({
url: app.get_request_url("Index", "Region"),
url: app.get_request_url("index", "region"),
method: "POST",
data: {
pid: self.data.province_id
......@@ -168,7 +168,7 @@ Page({
if (self.data.city_id) {
// 加载loding
my.httpRequest({
url: app.get_request_url("Index", "Region"),
url: app.get_request_url("index", "region"),
method: "POST",
data: {
pid: self.data.city_id
......@@ -282,7 +282,7 @@ Page({
my.showLoading({ content: "处理中..." });
my.httpRequest({
url: app.get_request_url("Save", "UserAddress"),
url: app.get_request_url("save", "useraddress"),
method: "POST",
data: form_data,
dataType: "json",
......
......@@ -44,7 +44,7 @@ Page({
// 获取数据
my.httpRequest({
url: app.get_request_url("Index", "UserAddress"),
url: app.get_request_url("index", "useraddress"),
method: "POST",
data: {},
dataType: "json",
......@@ -132,7 +132,7 @@ Page({
// 获取数据
my.httpRequest({
url: app.get_request_url("Delete", "UserAddress"),
url: app.get_request_url("delete", "useraddress"),
method: "POST",
data: {id: value},
dataType: "json",
......@@ -212,7 +212,7 @@ Page({
// 获取数据
my.httpRequest({
url: app.get_request_url("SetDefault", "UserAddress"),
url: app.get_request_url("setdefault", "useraddress"),
method: "POST",
data: {id: value},
dataType: "json",
......
......@@ -26,6 +26,7 @@
.goods-base {
min-height: 160rpx;
margin-left: 180rpx;
}
.goods .goods-item:not(:last-child) {
border-bottom: 1px dashed #efefef;
......
......@@ -16,9 +16,9 @@
<image class="goods-image fl" src="{{item.images}}" mode="aspectFill" />
<view class="goods-base">
<view class="goods-title multi-text">{{item.title}}</view>
<block a:if="{{item.attribute != null}}">
<view class="goods-attribute cr-888" a:for="{{item.attribute}}" a:for-item="attr">
{{attr.attr_type_name}}:{{attr.attr_name}}
<block a:if="{{item.spec != null}}">
<view class="goods-attribute cr-888" a:for="{{item.spec}}" a:for-item="spec">
{{spec.type}}:{{spec.value}}
</view>
</block>
</view>
......
......@@ -26,7 +26,7 @@ Page({
});
my.httpRequest({
url: app.get_request_url("Detail", "Order"),
url: app.get_request_url("detail", "order"),
method: "POST",
data: {
id: this.data.params.id
......
......@@ -19,9 +19,9 @@
<image class="goods-image fl" src="{{detail.images}}" mode="aspectFill" />
<view class="goods-base">
<view class="goods-title multi-text" >{{detail.title}}</view>
<block a:if="{{detail.attribute != null}}">
<view class="goods-attribute cr-888" a:for="{{detail.attribute}}" a:for-item="attr">
{{attr.attr_type_name}}:{{attr.attr_name}}
<block a:if="{{detail.spec != null}}">
<view class="goods-spec cr-888" a:for="{{detail.spec}}" a:for-item="spec">
{{spec.type}}:{{spec.value}}
</view>
</block>
</view>
......
......@@ -89,7 +89,7 @@ Page({
// 获取数据
my.httpRequest({
url: app.get_request_url("Index", "Order"),
url: app.get_request_url("index", "order"),
method: "POST",
data: {
page: this.data.data_page,
......@@ -222,7 +222,7 @@ Page({
my.showLoading({ content: "请求中..." });
my.httpRequest({
url: app.get_request_url("Pay", "Order"),
url: app.get_request_url("pay", "order"),
method: "POST",
data: {
id: order_id,
......@@ -306,7 +306,7 @@ Page({
my.showLoading({ content: "处理中..." });
my.httpRequest({
url: app.get_request_url("Cancel", "Order"),
url: app.get_request_url("cancel", "order"),
method: "POST",
data: {id: id},
dataType: "json",
......@@ -359,7 +359,7 @@ Page({
my.showLoading({ content: "处理中..." });
my.httpRequest({
url: app.get_request_url("Collect", "Order"),
url: app.get_request_url("collect", "order"),
method: "POST",
data: {id: id},
dataType: "json",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册