Jelajahi Sumber

Merge remote-tracking branch 'refs/remotes/yudao/master'

# Conflicts:
#	pages/order/confirm.vue
puhui999 8 bulan lalu
induk
melakukan
aaad12c50e

+ 2 - 2
manifest.json

@@ -184,7 +184,7 @@
     "versionCode": 100
   },
   "mp-weixin": {
-    "appid": "wx63c280fe3248a3e7",
+    "appid": "wx66186af0759f47c9",
     "setting": {
       "urlCheck": false,
       "minified": true,
@@ -236,4 +236,4 @@
   "_spaceID": "192b4892-5452-4e1d-9f09-eee1ece40639",
   "locale": "zh-Hans",
   "fallbackLocale": "zh-Hans"
-}
+}

+ 1 - 1
package.json

@@ -2,7 +2,7 @@
   "id": "shopro",
   "name": "shopro",
   "displayName": "芋道商城",
-  "version": "2.1.0",
+  "version": "2.2.0",
   "description": "芋道商城,一套代码,同时发行到iOS、Android、H5、微信小程序多个平台,请使用手机扫码快速体验强大功能",
   "scripts": {
     "prettier": "prettier --write  \"{pages,sheep}/**/*.{js,json,tsx,css,less,scss,vue,html,md}\""

+ 1 - 1
pages/order/aftersale/apply.vue

@@ -130,7 +130,7 @@
   import TradeConfigApi from '@/sheep/api/trade/config';
   import { fen2yuan } from '@/sheep/hooks/useGoods';
   import AfterSaleApi from '@/sheep/api/trade/afterSale';
-  import { SubscribeTemplate } from '@/sheep/util/const';
+  import { WxaSubscribeTemplate } from '@/sheep/util/const';
 
   const form = ref(null);
   const state = reactive({

+ 2 - 2
pages/pay/recharge.vue

@@ -47,7 +47,7 @@
   import { onLoad } from '@dcloudio/uni-app';
   import { fen2yuan } from '@/sheep/hooks/useGoods';
   import PayWalletApi from '@/sheep/api/pay/wallet';
-  import { SubscribeTemplate } from '@/sheep/util/const';
+  import { WxaSubscribeTemplate } from '@/sheep/util/const';
 
   const userWallet = computed(() => sheep.$store('user').userWallet);
   const statusBarHeight = sheep.$platform.device.statusBarHeight * 2;
@@ -82,7 +82,7 @@
       return;
     }
     // #ifdef MP
-    sheep.$platform.useProvider('wechat').subscribeMessage(SubscribeTemplate.WALLET_RECHARGER_PAID);
+    sheep.$platform.useProvider('wechat').subscribeMessage(WxaSubscribeTemplate.PAY_WALLET_RECHARGER_SUCCESS);
     // #endif
     sheep.$router.go('/pages/pay/index', {
       id: data.payOrderId,

+ 7 - 7
pages/pay/result.vue

@@ -49,9 +49,8 @@
         </button>
       </view>
 
-      <!-- TODO 芋艿:订阅 -->
       <!-- #ifdef MP -->
-      <view class="subscribe-box ss-flex ss-m-t-44" v-if="showSubscribeBtn">
+      <view class="subscribe-box ss-flex ss-m-t-44" v-if="showSubscribeBtn && state.orderType === 'goods'">
         <image class="subscribe-img" :src="sheep.$url.static('/static/img/shop/order/cargo.png')" />
         <view class="subscribe-title ss-m-r-48 ss-m-l-16">获取实时发货信息与订单状态</view>
         <view class="subscribe-start" @tap="subscribeMessage">立即订阅</view>
@@ -69,7 +68,7 @@
   import PayOrderApi from '@/sheep/api/pay/order';
   import { fen2yuan } from '@/sheep/hooks/useGoods';
   import OrderApi from '@/sheep/api/trade/order';
-  import { SubscribeTemplate } from '@/sheep/util/const';
+  import { WxaSubscribeTemplate } from '@/sheep/util/const';
 
   const state = reactive({
     id: 0, // 支付单号
@@ -146,7 +145,6 @@
   }
 
   function onOrder() {
-    // TODO 芋艿:待测试
     if (state.orderType === 'recharge') {
       sheep.$router.redirect('/pages/pay/recharge-log');
     } else {
@@ -154,14 +152,16 @@
     }
   }
 
-  // TODO 芋艿:待测试
   // #ifdef MP
   const showSubscribeBtn = ref(false) // 默认隐藏
   const SUBSCRIBE_BTN_STATUS_STORAGE_KEY = "subscribe_btn_status"
   function subscribeMessage() {
-    let event = [SubscribeTemplate.DELIVERY_ORDER];
+    if (state.orderType !== 'goods') {
+      return;
+    }
+    const event = [WxaSubscribeTemplate.TRADE_ORDER_DELIVERY];
     if (state.tradeOrder.type === 3) {
-      event.push(SubscribeTemplate.COMBINATION_RESULT);
+      event.push(WxaSubscribeTemplate.PROMOTION_COMBINATION_SUCCESS);
     }
     sheep.$platform.useProvider('wechat').subscribeMessage(event, () => {
       // 订阅后记录一下订阅状态

+ 22 - 0
sheep/api/member/social.js

@@ -49,6 +49,28 @@ const SocialApi = {
       },
     });
   },
+  // 获取订阅消息模板列表
+  getSubscribeTemplateList: () =>
+    request({
+      url: '/member/social-user/get-subscribe-template-list',
+      method: 'GET',
+      custom: {
+        showError: false,
+        showLoading: false,
+      },
+    }),
+  // 获取微信小程序码
+  getWxaQrcode: async (path, query) => {
+    return await request({
+      url: '/member/social-user/wxa-qrcode',
+      method: 'POST',
+      data: {
+        scene: query,
+        path,
+        checkPath: false, // TODO 开发环境暂不检查 path 是否存在
+      },
+    });
+  },
 };
 
 export default SocialApi;

+ 0 - 28
sheep/api/migration/third.js

@@ -1,34 +1,6 @@
 import request from '@/sheep/request';
 
 export default {
-  // 微信相关
-  wechat: {
-    // 小程序订阅消息
-    getSubscribeTemplateList: () =>
-      request({
-        url: '/member/social-user/get-subscribe-template-list',
-        method: 'GET',
-        custom: {
-          showError: false,
-          showLoading: false,
-        },
-      }),
-
-    // 获取微信小程序码
-    // TODO @puhui999:这个接口,挪到 /Users/yunai/Java/yudao-mall-uniapp/sheep/api/member/social.js
-    getWxacode: async (path, query) => {
-      return await request({
-        url: '/member/social-user/wxa-qrcode',
-        method: 'POST',
-        data: {
-          scene: query,
-          path,
-          checkPath: false, // TODO 开发环境暂不检查 path 是否存在
-        },
-      });
-    },
-  },
-
   // 苹果相关
   apple: {
     // 第三方登录

+ 2 - 2
sheep/components/s-share-modal/canvas-poster/poster/index.js

@@ -1,7 +1,7 @@
 import user from './user';
 import goods from './goods';
 import groupon from './groupon';
-import third from '@/sheep/api/migration/third';
+import SocialApi from '@/sheep/api/member/social';
 
 export function getPosterData(options) {
   switch (options.shareInfo.poster.type) {
@@ -34,6 +34,6 @@ export function formatImageUrlProtocol(url) {
 
 // 获得微信小程序码 (Base64 image)
 export async function getWxaQrcode(path, query) {
-  const res = await third.wechat.getWxacode(path, query);
+  const res = await SocialApi.getWxaQrcode(path, query);
   return 'data:image/png;base64,' + res.data;
 }

+ 1 - 2
sheep/platform/provider/wechat/miniProgram.js

@@ -1,4 +1,3 @@
-import third from '@/sheep/api/migration/third';
 import AuthUtil from '@/sheep/api/member/auth';
 import SocialApi from '@/sheep/api/member/social';
 import UserApi from '@/sheep/api/member/user';
@@ -164,7 +163,7 @@ const checkUpdate = async (silence = true) => {
 
 // 获取订阅消息模板
 async function getSubscribeTemplate() {
-  const { code, data } = await third.wechat.getSubscribeTemplateList();
+  const { code, data } = await SocialApi.getSubscribeTemplateList();
   if (code === 0) {
     subscribeEventList = data;
   }

+ 1 - 1
sheep/store/app.js

@@ -62,7 +62,7 @@ const app = defineStore({
         this.info = {
           name: '芋道商城',
           logo: 'https://static.iocoder.cn/ruoyi-vue-pro-logo.png',
-          version: '1.1.13',
+          version: '2.2.0',
           copyright: '全部开源,个人与企业可 100% 免费使用',
           copytime: 'Copyright© 2018-2024',
 

+ 7 - 6
sheep/util/const.js

@@ -56,14 +56,15 @@ export const TimeStatusEnum = {
     END: '已结束',
 }
 
-// TODO 订阅模版枚举
-export const SubscribeTemplate = {
-  WALLET_RECHARGER_PAID: "充值成功通知",
-  DELIVERY_ORDER: "订单发货通知",
-  COMBINATION_RESULT: "拼团结果通知"
+/**
+ * 微信小程序的订阅模版
+ */
+export const WxaSubscribeTemplate = {
+  TRADE_ORDER_DELIVERY: "订单发货通知",
+  PROMOTION_COMBINATION_SUCCESS: "拼团结果通知",
+  PAY_WALLET_RECHARGER_SUCCESS: "充值成功通知",
 }
 
-
 export const getTimeStatusEnum = (startTime, endTime) => {
     const now = dayjs();
     if (now.isBefore(startTime)) {