Sfoglia il codice sorgente

修复getDefaultNickName

萤火科技 2 anni fa
parent
commit
74b9b2e940
2 ha cambiato i file con 85 aggiunte e 0 eliminazioni
  1. 18 0
      app/api/service/passport/Party.php
  2. 67 0
      app/common/enum/Client.php

+ 18 - 0
app/api/service/passport/Party.php

@@ -15,6 +15,7 @@ namespace app\api\service\passport;
 use app\api\model\UserOauth as UserOauthModel;
 use app\api\service\user\Oauth as OauthService;
 use app\api\service\user\Avatar as AvatarService;
+use app\common\enum\Client as ClientEnum;
 use app\common\service\BaseService;
 use cores\exception\BaseException;
 
@@ -153,4 +154,21 @@ class Party extends BaseService
         }
         return null;
     }
+
+    /**
+     * 根据第三方来源生成默认用户昵称
+     * @param array $partyData
+     * @return string
+     */
+    private static function getDefaultNickName(array $partyData): string
+    {
+        $default = [
+            ClientEnum::MP_WEIXIN => '微信',
+            ClientEnum::MP_ALIPAY => '支付宝',
+            ClientEnum::WXOFFICIAL => '公众号',
+            ClientEnum::H5 => 'H5',
+            ClientEnum::APP => 'APP',
+        ];
+        return isset($default[$partyData['oauth']]) ? "{$default[$partyData['oauth']]}用户" : '商城用户';
+    }
 }

+ 67 - 0
app/common/enum/Client.php

@@ -0,0 +1,67 @@
+<?php
+
+namespace app\common\enum;
+
+/**
+ * 枚举类:客户端类型
+ * Class Client
+ * @package app\common\enum
+ */
+class Client extends EnumBasics
+{
+    // APP端
+    const APP = 'APP';
+
+    // H5端
+    const H5 = 'H5';
+
+    // 微信公众号端
+    // 相当于H5端运行在微信内置浏览器, 但是需要使用微信的jssdk所以要单独区分
+    const WXOFFICIAL = 'WXOFFICIAL';
+
+    // 微信小程序端
+    const MP_WEIXIN = 'MP-WEIXIN';
+
+    // 支付宝小程序端
+    const MP_ALIPAY = 'MP-ALIPAY';
+
+    /**
+     * 获取订单类型值
+     * @return array
+     */
+    public static function data(): array
+    {
+        return [
+            self::APP => [
+                'name' => 'APP端',
+                'value' => self::APP,
+            ],
+            self::H5 => [
+                'name' => 'H5端',
+                'value' => self::H5,
+            ],
+            self::MP_WEIXIN => [
+                'name' => '微信小程序端',
+                'value' => self::MP_WEIXIN,
+            ],
+            self::WXOFFICIAL => [
+                'name' => '微信公众号端',
+                'value' => self::WXOFFICIAL,
+            ],
+            self::MP_ALIPAY => [
+                'name' => '支付宝小程序端',
+                'value' => self::MP_ALIPAY,
+            ]
+        ];
+    }
+
+    /**
+     * 根据值获取名称
+     * @param string $value
+     * @return string
+     */
+    public static function getName(string $value): string
+    {
+        return self::data()[$value]['name'];
+    }
+}