完善商品分类及商品管理

This commit is contained in:
2025-05-03 17:48:41 +08:00
parent 9c7e8b59c2
commit 889f2b8fca
115 changed files with 1418 additions and 272 deletions

View File

@ -1 +1 @@
<view class="content"><view class="store u-flex u-row-between u-p-32"><view><view data-event-opts="{{[['tap',[['chooseStore',['$event']]]]]}}" class="lg bold-600 u-flex" onTap="__e">MEET轻食店<u-icon class="right-icon" vue-id="8deb4120-1" name="arrow-right" size="28" onVueInit="__l"></u-icon></view><view data-event-opts="{{[['tap',[['chooseAddress',['$event']]]]]}}" class="u-flex u-m-t-8" onTap="__e"><u-icon vue-id="8deb4120-2" name="map" size="32" onVueInit="__l"></u-icon>请选择收货地址</view></view><view><u-button vue-id="8deb4120-3" shape="circle" hair-line="{{false}}" hover-class="none" customStyle="{{({backgroundColor:themeColor,color:'#fff',border:'none',padding:'36rpx'})}}" data-event-opts="{{[['^click',[['signin']]]]}}" onClick="__e" onVueInit="__l" vue-slots="{{['default']}}">签到</u-button></view></view><view class="swiper u-relative"><u-swiper vue-id="8deb4120-4" height="524" list="{{list}}" border-radius="0" onVueInit="__l"></u-swiper><view class="balance bg-white u-flex"><view class="u-flex u-row-center"><u-image vue-id="8deb4120-5" src="{{cloudPath+'img/icon_balance.png'}}" width="52" height="52" onVueInit="__l"></u-image><view class="u-m-l-60 u-text-center"><view class="nr">{{userInfo.user_money||0.00}}</view><view class="text-default xs">余额</view></view></view><view class="u-flex u-row-center"><u-image vue-id="8deb4120-6" src="{{cloudPath+'img/icon_points.png'}}" width="52" height="52" onVueInit="__l"></u-image><view class="u-m-l-60 u-text-center"><view class="nr">{{userInfo.user_integral||0}}</view><view class="text-default xs">积分</view></view></view><view class="u-flex u-row-center"><u-image vue-id="8deb4120-7" src="{{cloudPath+'img/icon_coupon.png'}}" width="52" height="52" onVueInit="__l"></u-image><view class="u-m-l-60 u-text-center"><view class="nr">{{userInfo.coupon||0}}</view><view class="text-default xs u-text-center">券</view></view></view></view></view><view class="order u-flex u-row-between"><view data-event-opts="{{[['tap',[['buy',['$event']]]]]}}" class="bg-white u-text-center" onTap="__e"><view class="text-default xxl">预约下单</view><view class="xs text-999">极速送达更便捷</view><view class="u-flex u-row-center"><u-image vue-id="8deb4120-8" src="{{cloudPath+'img/icon_p_order.png'}}" width="132" height="132" onVueInit="__l"></u-image></view></view><view class="bg-white u-text-center"><view class="text-default xxl">现在点单</view><view class="xs text-999">下单更便捷</view><view class="u-flex u-row-center"><u-image vue-id="8deb4120-9" src="{{cloudPath+'img/icon_order.png'}}" width="132" height="133" mode="aspectFit" onVueInit="__l"></u-image></view></view></view><view class="mx20 u-m-b-64"><u-image vue-id="8deb4120-10" src="{{cloudPath+'img/activity.png'}}" height="264" onVueInit="__l"></u-image></view></view>
<view class="content"><view class="store u-flex u-row-between u-p-32"><view><view data-event-opts="{{[['tap',[['chooseStore',['$event']]]]]}}" class="lg bold-600 u-flex" onTap="__e">MEET轻食店<u-icon class="right-icon" vue-id="8deb4120-1" name="arrow-right" size="28" onVueInit="__l"></u-icon></view><view class="u-m-t-8"><navigator class="u-flex" url hover-class="navigator-hover" open-type="navigate"><u-icon vue-id="8deb4120-2" name="map" size="32" onVueInit="__l"></u-icon>{{''+(userAddress||'请选择收货地址')+''}}</navigator></view></view><view><u-button vue-id="8deb4120-3" shape="circle" hair-line="{{false}}" hover-class="none" customStyle="{{({backgroundColor:themeColor,color:'#fff',border:'none',padding:'36rpx'})}}" data-event-opts="{{[['^click',[['signin']]]]}}" onClick="__e" onVueInit="__l" vue-slots="{{['default']}}">签到</u-button></view></view><view class="swiper u-relative"><u-swiper vue-id="8deb4120-4" height="524" list="{{list}}" border-radius="0" onVueInit="__l"></u-swiper><view class="balance bg-white u-flex"><view class="u-flex u-row-center"><u-image vue-id="8deb4120-5" src="{{cloudPath+'img/icon_balance.png'}}" width="52" height="52" onVueInit="__l"></u-image><view class="u-m-l-60 u-text-center"><view class="nr">{{userInfo.user_money||0.00}}</view><view class="text-default xs">余额</view></view></view><view class="u-flex u-row-center"><u-image vue-id="8deb4120-6" src="{{cloudPath+'img/icon_points.png'}}" width="52" height="52" onVueInit="__l"></u-image><view class="u-m-l-60 u-text-center"><view class="nr">{{userInfo.user_integral||0}}</view><view class="text-default xs">积分</view></view></view><view class="u-flex u-row-center"><u-image vue-id="8deb4120-7" src="{{cloudPath+'img/icon_coupon.png'}}" width="52" height="52" onVueInit="__l"></u-image><view class="u-m-l-60 u-text-center"><view class="nr">{{userInfo.coupon||0}}</view><view class="text-default xs u-text-center">券</view></view></view></view></view><view class="order u-flex u-row-between"><view data-event-opts="{{[['tap',[['buy',['$event']]]]]}}" class="bg-white u-text-center" onTap="__e"><view class="text-default xxl">预约下单</view><view class="xs text-999">极速送达更便捷</view><view class="u-flex u-row-center"><u-image vue-id="8deb4120-8" src="{{cloudPath+'img/icon_p_order.png'}}" width="132" height="132" onVueInit="__l"></u-image></view></view><view class="bg-white u-text-center"><view class="text-default xxl">现在点单</view><view class="xs text-999">下单更便捷</view><view class="u-flex u-row-center"><u-image vue-id="8deb4120-9" src="{{cloudPath+'img/icon_order.png'}}" width="132" height="133" mode="aspectFit" onVueInit="__l"></u-image></view></view></view><view class="mx20 u-m-b-64"><u-image vue-id="8deb4120-10" src="{{cloudPath+'img/activity.png'}}" height="264" onVueInit="__l"></u-image></view></view>

View File

@ -177,6 +177,7 @@ exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 10));
var _vuex = __webpack_require__(/*! vuex */ 29);
var _app = __webpack_require__(/*! @/api/app */ 46);
var _user = __webpack_require__(/*! @/api/user */ 30);
var _store = __webpack_require__(/*! @/api/store */ 36);
var _tools = __webpack_require__(/*! @/utils/tools */ 37);
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@ -187,14 +188,29 @@ var _default = {
list: [{
image: "http://jianbing-media.stnav.com/frontend/img/banner.png",
title: "昨夜星辰昨夜风,画楼西畔桂堂东"
}]
}],
userAddress: ''
};
},
onLoad: function onLoad() {
(0, _tools.setTabbar)();
this.getUserAddress();
},
onShow: function onShow() {},
methods: {
onShow: function onShow() {
this.getUser();
this.getCartNum();
},
methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)(['getCartNum', 'getUser'])), {}, {
// 获取默认物流地址
getUserAddress: function getUserAddress() {
var _this = this;
(0, _user.getDefaultAddress)().then(function (res) {
if (res.coed == 1) {
var address = res.data.address;
_this.userAddress = "".concat(province, " ").concat(city, " ").concat(district, " ").concat(address);
}
});
},
// 选择门店
chooseStore: function chooseStore() {
uni.navigateTo({
@ -219,7 +235,7 @@ var _default = {
url: '/pages/signin/signin'
});
}
},
}),
computed: _objectSpread(_objectSpread({}, (0, _vuex.mapGetters)(['cartNum', 'userInfo', 'inviteCode', 'appConfig', 'cityInfo'])), {}, {
statusBar: function statusBar() {
return uni.getSystemInfoSync().statusBarHeight + 10;

View File

@ -1 +1 @@
<view class="login"><view class="u-flex u-row-center logo"><u-image vue-id="359d2442-1" src="{{cloudPath+'img/login-logo.png'}}" width="574rpx" height="432rpx" onVueInit="__l"></u-image></view><view class="u-text-center text-gray"><view>小程序需要登录注册才能使用相关功能,申请获取以下权限</view><view class="u-m-t-20">获得你的公开信息(昵称、头像、手机号码等)</view></view><view class="u-m-t-56"><view class="u-m-b-32"><u-button vue-id="359d2442-2" hover-class="none" customStyle="{{({backgroundColor:themeColor,color:'#fff',border:'none',padding:'16rpx 0'})}}" hair-line="{{false}}" shape="circle" data-event-opts="{{[['^click',[['mpLogin']]]]}}" onClick="__e" onVueInit="__l" vue-slots="{{['default']}}">快捷登录</u-button></view><view><u-button vue-id="359d2442-3" hover-class="none" customStyle="{{$root.a0}}" plain="{{true}}" hair-line="{{false}}" shape="circle" data-event-opts="{{[['^click',[['mobileLogin']]]]}}" onClick="__e" onVueInit="__l" vue-slots="{{['default']}}">手机号登录/注册</u-button></view></view><view class="u-m-t-32 u-flex u-row-center"><view><u-checkbox onInput="__e" vue-id="359d2442-4" shape="circle" active-color="{{themeColor}}" value="{{form.allow}}" data-event-opts="{{[['^input',[['__set_model',['$0','allow','$event',[]],['form']]]]]}}" onVueInit="__l" vue-slots="{{['default']}}"><view class="sm row-start">已阅读并同意</view></u-checkbox></view><view class="u-flex protocol"><navigator style="{{'color:'+(themeColor)+';'}}" hover-class="none" url="/pages/server_explan/server_explan?type=0">《服务协议》</navigator>和<navigator style="{{'color:'+(themeColor)+';'}}" hover-class="none" url="/pages/server_explan/server_explan?type=1">《隐私政策》</navigator></view></view><mplogin onClose="__e" onUpdate="__e" onInput="__e" vue-id="359d2442-5" value="{{mpLoginPopup}}" data-event-opts="{{[['^close',[['e0']]],['^update',[['handleSubmitInfo']]],['^input',[['__set_model',['','mpLoginPopup','$event',[]]]]]]}}" onVueInit="__l"></mplogin><mobile-login onClose="__e" onUpdate="__e" onInput="__e" vue-id="359d2442-6" value="{{mobilePopup}}" data-event-opts="{{[['^close',[['e1']]],['^update',[['handleSubmitMobile']]],['^input',[['__set_model',['','mobilePopup','$event',[]]]]]]}}" onVueInit="__l"></mobile-login></view>
<view class="login"><view class="u-flex u-row-center logo"><u-image vue-id="359d2442-1" src="{{cloudPath+'img/login-logo.png'}}" width="574rpx" height="432rpx" onVueInit="__l"></u-image></view><view class="u-text-center text-gray"><view>小程序需要登录注册才能使用相关功能,申请获取以下权限</view><view class="u-m-t-20">获得你的公开信息(昵称、头像、手机号码等)</view></view><view class="u-m-t-56"><view class="u-m-b-32"><u-button vue-id="359d2442-2" hover-class="none" customStyle="{{({backgroundColor:themeColor,color:'#fff',border:'none',padding:'16rpx 0'})}}" hair-line="{{false}}" shape="circle" data-event-opts="{{[['^click',[['mpLogin']]]]}}" onClick="__e" onVueInit="__l" vue-slots="{{['default']}}">快捷登录</u-button></view><view><u-button vue-id="359d2442-3" hover-class="none" customStyle="{{$root.a0}}" plain="{{true}}" hair-line="{{false}}" shape="circle" data-event-opts="{{[['^click',[['mobileLogin']]]]}}" onClick="__e" onVueInit="__l" vue-slots="{{['default']}}">手机号登录/注册</u-button></view><u-button vue-id="359d2442-4" hover-class="none" customStyle="{{({backgroundColor:themeColor,color:'#fff',border:'none',padding:'16rpx 0'})}}" hair-line="{{false}}" shape="circle" data-event-opts="{{[['^click',[['testLogin']]]]}}" onClick="__e" onVueInit="__l" vue-slots="{{['default']}}">测试账号一键登录</u-button></view><view class="u-m-t-32 u-flex u-row-center"><view><u-checkbox onInput="__e" vue-id="359d2442-5" shape="circle" active-color="{{themeColor}}" value="{{form.allow}}" data-event-opts="{{[['^input',[['__set_model',['$0','allow','$event',[]],['form']]]]]}}" onVueInit="__l" vue-slots="{{['default']}}"><view class="sm row-start">已阅读并同意</view></u-checkbox></view><view class="u-flex protocol"><navigator style="{{'color:'+(themeColor)+';'}}" hover-class="none" url="/pages/server_explan/server_explan?type=0">《服务协议》</navigator>和<navigator style="{{'color:'+(themeColor)+';'}}" hover-class="none" url="/pages/server_explan/server_explan?type=1">《隐私政策》</navigator></view></view><mplogin onClose="__e" onUpdate="__e" onInput="__e" vue-id="359d2442-6" value="{{mpLoginPopup}}" data-event-opts="{{[['^close',[['e0']]],['^update',[['handleSubmitInfo']]],['^input',[['__set_model',['','mpLoginPopup','$event',[]]]]]]}}" onVueInit="__l"></mplogin><mobile-login onClose="__e" onUpdate="__e" onInput="__e" vue-id="359d2442-7" value="{{mobilePopup}}" data-event-opts="{{[['^close',[['e1']]],['^update',[['handleSubmitMobile']]],['^input',[['__set_model',['','mobilePopup','$event',[]]]]]]}}" onVueInit="__l"></mobile-login></view>

View File

@ -380,6 +380,36 @@ var _default = {
}
}, _callee4);
}))();
},
// 测试账号一键登录
testLogin: function testLogin() {
var _this5 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
var _yield$accountLogin, code, data;
return _regenerator.default.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
_context5.next = 2;
return (0, _app.accountLogin)({
account: '15005837859',
password: 'wang199765',
client: _tools.client
});
case 2:
_yield$accountLogin = _context5.sent;
code = _yield$accountLogin.code;
data = _yield$accountLogin.data;
if (code == 1) {
_this5.loginHandle(data);
}
case 6:
case "end":
return _context5.stop();
}
}
}, _callee5);
}))();
}
}),
computed: _objectSpread({}, (0, _vuex.mapGetters)(['appConfig']))