From eddf5b2aba56b3707f680fa10208110f98a5e987 Mon Sep 17 00:00:00 2001 From: 77 <270260644@qq.com> Date: Thu, 26 Sep 2024 19:21:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages.json | 78 +- pages/subscribe/subscribe.vue | 673 ++++++++++++++++++ pages/user/user_vip/dayjs/dayjs.min.js | 309 ++++++++ pages/user/user_vip/home/index.vue | 107 +++ pages/user/user_vip/index.vue | 608 ++++++++++++++++ sheep/api/member/level.js | 20 + sheep/api/trade/delivery.js | 8 + sheep/platform/provider/wechat/miniProgram.js | 8 +- 8 files changed, 1780 insertions(+), 31 deletions(-) create mode 100644 pages/subscribe/subscribe.vue create mode 100644 pages/user/user_vip/dayjs/dayjs.min.js create mode 100644 pages/user/user_vip/home/index.vue create mode 100644 pages/user/user_vip/index.vue create mode 100644 sheep/api/member/level.js diff --git a/pages.json b/pages.json index 8d4e6f9..2085d81 100644 --- a/pages.json +++ b/pages.json @@ -20,6 +20,19 @@ "group": "商城" } }, + { + "path": "pages/subscribe/subscribe", + "style": { + "navigationBarTitleText": "预约", + "enablePullDownRefresh": true + }, + "meta": { + "auth": false, + "sync": true, + "title": "预约", + "group": "商城" + } + }, { "path": "pages/index/user", "style": { @@ -120,11 +133,10 @@ } }, { - "path" : "pages/mulu/mulu", - "style" : - { - "navigationBarTitleText" : "详情", - "enablePullDownRefresh" : true, + "path": "pages/mulu/mulu", + "style": { + "navigationBarTitleText": "详情", + "enablePullDownRefresh": true, "navigationStyle": "default" } } @@ -238,16 +250,16 @@ "title": "申请售后" } }, - { - "path": "aftersale/return-delivery", - "style": { - "navigationBarTitleText": "退货物流" - }, - "meta": { - "auth": true, - "title": "退货物流" - } - }, + { + "path": "aftersale/return-delivery", + "style": { + "navigationBarTitleText": "退货物流" + }, + "meta": { + "auth": true, + "title": "退货物流" + } + }, { "path": "aftersale/list", "style": { @@ -306,6 +318,18 @@ "group": "用户中心" } }, + { + "path": "user_vip/index", + "style": { + "navigationBarTitleText": "会员中心" + }, + "meta": { + "auth": true, + "sync": true, + "title": "会员中心", + "group": "用户中心" + } + }, { "path": "goods-collect", "style": { @@ -472,17 +496,17 @@ "group": "分销商城" } }, { - "path": "withdraw", - "style": { - "navigationBarTitleText": "申请提现" - }, - "meta": { - "auth": true, - "sync": true, - "title": "申请提现", - "group": "分销商城" - } - } + "path": "withdraw", + "style": { + "navigationBarTitleText": "申请提现" + }, + "meta": { + "auth": true, + "sync": true, + "title": "申请提现", + "group": "分销商城" + } + } ] }, { @@ -707,4 +731,4 @@ } ] } -} +} \ No newline at end of file diff --git a/pages/subscribe/subscribe.vue b/pages/subscribe/subscribe.vue new file mode 100644 index 0000000..c41de5f --- /dev/null +++ b/pages/subscribe/subscribe.vue @@ -0,0 +1,673 @@ + + + + + diff --git a/pages/user/user_vip/dayjs/dayjs.min.js b/pages/user/user_vip/dayjs/dayjs.min.js new file mode 100644 index 0000000..8cf21f8 --- /dev/null +++ b/pages/user/user_vip/dayjs/dayjs.min.js @@ -0,0 +1,309 @@ +! function(t, e) { + "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && + define.amd ? define(e) : t.dayjs = e() +}(this, function() { + "use strict"; + var t = "millisecond", + e = "second", + n = "minute", + r = "hour", + i = "day", + s = "week", + u = "month", + o = "quarter", + a = "year", + h = /^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/, + f = /\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, + c = function(t, e, n) { + var r = String(t); + return !r || r.length >= e ? t : "" + Array(e + 1 - r.length).join(n) + t + }, + d = { + s: c, + z: function(t) { + var e = -t.utcOffset(), + n = Math.abs(e), + r = Math.floor(n / 60), + i = n % 60; + return (e <= 0 ? "+" : "-") + c(r, 2, "0") + ":" + c(i, 2, "0") + }, + m: function(t, e) { + var n = 12 * (e.year() - t.year()) + (e.month() - t.month()), + r = t.clone().add(n, u), + i = e - r < 0, + s = t.clone().add(n + (i ? -1 : 1), u); + return Number(-(n + (e - r) / (i ? r - s : s - r)) || 0) + }, + a: function(t) { + return t < 0 ? Math.ceil(t) || 0 : Math.floor(t) + }, + p: function(h) { + return { + M: u, + y: a, + w: s, + d: i, + D: "date", + h: r, + m: n, + s: e, + ms: t, + Q: o + } [h] || String(h || "").toLowerCase().replace(/s$/, "") + }, + u: function(t) { + return void 0 === t + } + }, + $ = { + name: "en", + weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), + months: "January_February_March_April_May_June_July_August_September_October_November_December".split( + "_") + }, + l = "en", + m = {}; + m[l] = $; + var y = function(t) { + return t instanceof v + }, + M = function(t, e, n) { + var r; + if (!t) return l; + if ("string" == typeof t) m[t] && (r = t), e && (m[t] = e, r = t); + else { + var i = t.name; + m[i] = t, r = i + } + return !n && r && (l = r), r || !n && l + }, + g = function(t, e) { + if (y(t)) return t.clone(); + var n = "object" == typeof e ? e : {}; + return n.date = t, n.args = arguments, new v(n) + }, + D = d; + D.l = M, D.i = y, D.w = function(t, e) { + return g(t, { + locale: e.$L, + utc: e.$u, + $offset: e.$offset + }) + }; + var v = function() { + function c(t) { + this.$L = this.$L || M(t.locale, null, !0), this.parse(t) + } + var d = c.prototype; + return d.parse = function(t) { + this.$d = function(t) { + var e = t.date, + n = t.utc; + if (null === e) return new Date(NaN); + if (D.u(e)) return new Date; + if (e instanceof Date) return new Date(e); + if ("string" == typeof e && !/Z$/i.test(e)) { + var r = e.match(h); + if (r) return n ? new Date(Date.UTC(r[1], r[2] - 1, r[3] || 1, r[4] || 0, r[5] || 0, + r[6] || 0, r[7] || 0)) : new Date(r[1], r[2] - 1, r[3] || 1, r[4] || 0, + r[5] || 0, r[6] || 0, r[7] || 0) + } + return new Date(e) + }(t), this.init() + }, d.init = function() { + var t = this.$d; + this.$y = t.getFullYear(), this.$M = t.getMonth(), this.$D = t.getDate(), this.$W = t.getDay(), + this.$H = t.getHours(), this.$m = t.getMinutes(), this.$s = t.getSeconds(), this.$ms = t + .getMilliseconds() + }, d.$utils = function() { + return D + }, d.isValid = function() { + return !("Invalid Date" === this.$d.toString()) + }, d.isSame = function(t, e) { + var n = g(t); + return this.startOf(e) <= n && n <= this.endOf(e) + }, d.isAfter = function(t, e) { + return g(t) < this.startOf(e) + }, d.isBefore = function(t, e) { + return this.endOf(e) < g(t) + }, d.$g = function(t, e, n) { + return D.u(t) ? this[e] : this.set(n, t) + }, d.year = function(t) { + return this.$g(t, "$y", a) + }, d.month = function(t) { + return this.$g(t, "$M", u) + }, d.day = function(t) { + return this.$g(t, "$W", i) + }, d.date = function(t) { + return this.$g(t, "$D", "date") + }, d.hour = function(t) { + return this.$g(t, "$H", r) + }, d.minute = function(t) { + return this.$g(t, "$m", n) + }, d.second = function(t) { + return this.$g(t, "$s", e) + }, d.millisecond = function(e) { + return this.$g(e, "$ms", t) + }, d.unix = function() { + return Math.floor(this.valueOf() / 1e3) + }, d.valueOf = function() { + return this.$d.getTime() + }, d.startOf = function(t, o) { + var h = this, + f = !!D.u(o) || o, + c = D.p(t), + d = function(t, e) { + var n = D.w(h.$u ? Date.UTC(h.$y, e, t) : new Date(h.$y, e, t), h); + return f ? n : n.endOf(i) + }, + $ = function(t, e) { + return D.w(h.toDate()[t].apply(h.toDate("s"), (f ? [0, 0, 0, 0] : [23, 59, 59, 999]) + .slice(e)), h) + }, + l = this.$W, + m = this.$M, + y = this.$D, + M = "set" + (this.$u ? "UTC" : ""); + switch (c) { + case a: + return f ? d(1, 0) : d(31, 11); + case u: + return f ? d(1, m) : d(0, m + 1); + case s: + var g = this.$locale().weekStart || 0, + v = (l < g ? l + 7 : l) - g; + return d(f ? y - v : y + (6 - v), m); + case i: + case "date": + return $(M + "Hours", 0); + case r: + return $(M + "Minutes", 1); + case n: + return $(M + "Seconds", 2); + case e: + return $(M + "Milliseconds", 3); + default: + return this.clone() + } + }, d.endOf = function(t) { + return this.startOf(t, !1) + }, d.$set = function(s, o) { + var h, f = D.p(s), + c = "set" + (this.$u ? "UTC" : ""), + d = (h = {}, h[i] = c + "Date", h.date = c + "Date", h[u] = c + "Month", h[a] = c + + "FullYear", h[r] = c + "Hours", h[n] = c + "Minutes", h[e] = c + "Seconds", h[t] = c + + "Milliseconds", h)[f], + $ = f === i ? this.$D + (o - this.$W) : o; + if (f === u || f === a) { + var l = this.clone().set("date", 1); + l.$d[d]($), l.init(), this.$d = l.set("date", Math.min(this.$D, l.daysInMonth())).toDate() + } else d && this.$d[d]($); + return this.init(), this + }, d.set = function(t, e) { + return this.clone().$set(t, e) + }, d.get = function(t) { + return this[D.p(t)]() + }, d.add = function(t, o) { + var h, f = this; + t = Number(t); + var c = D.p(o), + d = function(e) { + var n = g(f); + return D.w(n.date(n.date() + Math.round(e * t)), f) + }; + if (c === u) return this.set(u, this.$M + t); + if (c === a) return this.set(a, this.$y + t); + if (c === i) return d(1); + if (c === s) return d(7); + var $ = (h = {}, h[n] = 6e4, h[r] = 36e5, h[e] = 1e3, h)[c] || 1, + l = this.$d.getTime() + t * $; + return D.w(l, this) + }, d.subtract = function(t, e) { + return this.add(-1 * t, e) + }, d.format = function(t) { + var e = this; + if (!this.isValid()) return "Invalid Date"; + var n = t || "YYYY-MM-DDTHH:mm:ssZ", + r = D.z(this), + i = this.$locale(), + s = this.$H, + u = this.$m, + o = this.$M, + a = i.weekdays, + h = i.months, + c = function(t, r, i, s) { + return t && (t[r] || t(e, n)) || i[r].substr(0, s) + }, + d = function(t) { + return D.s(s % 12 || 12, t, "0") + }, + $ = i.meridiem || function(t, e, n) { + var r = t < 12 ? "AM" : "PM"; + return n ? r.toLowerCase() : r + }, + l = { + YY: String(this.$y).slice(-2), + YYYY: this.$y, + M: o + 1, + MM: D.s(o + 1, 2, "0"), + MMM: c(i.monthsShort, o, h, 3), + MMMM: h[o] || h(this, n), + D: this.$D, + DD: D.s(this.$D, 2, "0"), + d: String(this.$W), + dd: c(i.weekdaysMin, this.$W, a, 2), + ddd: c(i.weekdaysShort, this.$W, a, 3), + dddd: a[this.$W], + H: String(s), + HH: D.s(s, 2, "0"), + h: d(1), + hh: d(2), + a: $(s, u, !0), + A: $(s, u, !1), + m: String(u), + mm: D.s(u, 2, "0"), + s: String(this.$s), + ss: D.s(this.$s, 2, "0"), + SSS: D.s(this.$ms, 3, "0"), + Z: r + }; + return n.replace(f, function(t, e) { + return e || l[t] || r.replace(":", "") + }) + }, d.utcOffset = function() { + return 15 * -Math.round(this.$d.getTimezoneOffset() / 15) + }, d.diff = function(t, h, f) { + var c, d = D.p(h), + $ = g(t), + l = 6e4 * ($.utcOffset() - this.utcOffset()), + m = this - $, + y = D.m(this, $); + return y = (c = {}, c[a] = y / 12, c[u] = y, c[o] = y / 3, c[s] = (m - l) / 6048e5, c[i] = (m - + l) / 864e5, c[r] = m / 36e5, c[n] = m / 6e4, c[e] = m / 1e3, c)[d] || m, f ? y : D.a(y) + }, d.daysInMonth = function() { + return this.endOf(u).$D + }, d.$locale = function() { + return m[this.$L] + }, d.locale = function(t, e) { + if (!t) return this.$L; + var n = this.clone(), + r = M(t, e, !0); + return r && (n.$L = r), n + }, d.clone = function() { + return D.w(this.$d, this) + }, d.toDate = function() { + return new Date(this.valueOf()) + }, d.toJSON = function() { + return this.isValid() ? this.toISOString() : null + }, d.toISOString = function() { + return this.$d.toISOString() + }, d.toString = function() { + return this.$d.toUTCString() + }, c + }(); + return g.prototype = v.prototype, g.extend = function(t, e) { + return t(e, v, g), g + }, g.locale = M, g.isDayjs = y, g.unix = function(t) { + return g(1e3 * t) + }, g.en = m[l], g.Ls = m, g +}); \ No newline at end of file diff --git a/pages/user/user_vip/home/index.vue b/pages/user/user_vip/home/index.vue new file mode 100644 index 0000000..1fa37eb --- /dev/null +++ b/pages/user/user_vip/home/index.vue @@ -0,0 +1,107 @@ + + + diff --git a/pages/user/user_vip/index.vue b/pages/user/user_vip/index.vue new file mode 100644 index 0000000..32b17e3 --- /dev/null +++ b/pages/user/user_vip/index.vue @@ -0,0 +1,608 @@ + + + + \ No newline at end of file diff --git a/sheep/api/member/level.js b/sheep/api/member/level.js new file mode 100644 index 0000000..395cff1 --- /dev/null +++ b/sheep/api/member/level.js @@ -0,0 +1,20 @@ +import request from '@/sheep/request'; + +const getExper = { + // 获得会员等级列表 + getLevelList: () => { + return request({ + url: '/app-api/member/level/list', + method: 'GET', + }); + }, + // 获得会员经验记录分页 + getExperienceRecordPage: () => { + return request({ + url: '/app-api/member/experience-record/page', + method: 'GET', + }); + }, +}; + +export default getExper; \ No newline at end of file diff --git a/sheep/api/trade/delivery.js b/sheep/api/trade/delivery.js index 7ba35aa..b8004f6 100644 --- a/sheep/api/trade/delivery.js +++ b/sheep/api/trade/delivery.js @@ -8,6 +8,14 @@ const DeliveryApi = { method: 'get', }); }, + // 获得自提门店列表 + getDeliveryPickUpStoreList: () => { + return request({ + url: `/trade/delivery/pick-up-store/list`, + method: 'get', + }); + }, }; + export default DeliveryApi; diff --git a/sheep/platform/provider/wechat/miniProgram.js b/sheep/platform/provider/wechat/miniProgram.js index e31408c..6d8d91c 100644 --- a/sheep/platform/provider/wechat/miniProgram.js +++ b/sheep/platform/provider/wechat/miniProgram.js @@ -164,10 +164,10 @@ const checkUpdate = async (silence = true) => { // 获取订阅消息模板 async function getSubscribeTemplate() { - const { error, data } = await third.wechat.subscribeTemplate(); - if (error === 0) { - subscribeEventList = data; - } + // const { error, data } = await third.wechat.subscribeTemplate(); + // if (error === 0) { + // subscribeEventList = data; + // } } // 订阅消息