Your Name vor 3 Jahren
Ursprung
Commit
4d95d26a8b
3 geänderte Dateien mit 47 neuen und 6 gelöschten Zeilen
  1. 5
    5
      config/prod.js
  2. 1
    1
      project.config.json
  3. 41
    0
      src/utils/hooks/useLike.js

+ 5
- 5
config/prod.js Datei anzeigen

@@ -3,14 +3,14 @@ module.exports = {
3 3
     NODE_ENV: '"production"'
4 4
   },
5 5
   defineConstants: {
6
-    HOST: '"https://xlj.newlandsh.com"', //正式
7
-    WSS_HOST: '"wss://xlj.newlandsh.com"',
8
-    // HOST: '"https://xlk.njyz.tech"', //正式
9
-    // WSS_HOST: '"wss://xlk.njyz.tech"',
6
+    // HOST: '"https://xlj.newlandsh.com"', //正式
7
+    // WSS_HOST: '"wss://xlj.newlandsh.com"',
8
+    HOST: '"https://xlk.njyz.tech"', //正式
9
+    WSS_HOST: '"wss://xlk.njyz.tech"',
10 10
     OSS_PATH: '"https://xlk-assets.oss-accelerate.aliyuncs.com/"',
11 11
     OSS_FAST_PATH: '"https://xlk-assets.oss-accelerate.aliyuncs.com/"',
12 12
     ICON_FONT: '"https://yz-websit.oss-cn-hangzhou.aliyuncs.com/xlk/css/iconfont.ttf"',
13
-    Version: '"V0.0.23-20210806"'
13
+    Version: '"V0.0.25-20210807"'
14 14
   },
15 15
   mini: {},
16 16
   h5: {

+ 1
- 1
project.config.json Datei anzeigen

@@ -2,7 +2,7 @@
2 2
 	"miniprogramRoot": "dist/",
3 3
 	"projectname": "miniapp",
4 4
 	"description": "",
5
-	"appid": "wxc96058d57e77f373",
5
+	"appid": "wxe44244d1a5ea3364",
6 6
 	"setting": {
7 7
 		"urlCheck": false,
8 8
 		"es6": false,

+ 41
- 0
src/utils/hooks/useLike.js Datei anzeigen

@@ -0,0 +1,41 @@
1
+import { useEffect, useState } from 'react'
2
+import Taro from '@tarojs/taro'
3
+import { fetch } from '@/utils/request'
4
+import { resolvePath } from '@/constants/api'
5
+import track from '@/utils/tracking/track'
6
+
7
+const addLike = (type, id) => fetch({ url: resolvePath(`${type}/like/${id}`),  method: 'POST' })
8
+const cancelLike = (type, id) => fetch({ url: resolvePath(`${type}/like/${id}`),  method: 'POST' })
9
+
10
+export default function(saved, options = {}) {
11
+  const { id, eventType } = options
12
+  const [isLiked, setIsLiked] = useState(saved)
13
+
14
+  useEffect(() => setIsLiked(saved), [saved])
15
+
16
+  const handleLike = () => {
17
+    if (isLiked) {
18
+      cancelLike(eventType, id).then(() => {
19
+        setIsLiked(false)
20
+        Taro.showToast({
21
+          title: '已取消点赞',
22
+          icon: 'none',
23
+        })
24
+      })
25
+    } else {
26
+      addLike(eventType, id).then(() => {
27
+        setIsLiked(true)
28
+        Taro.showToast({
29
+          title: '点赞成功',
30
+          icon: 'none',
31
+        })
32
+      })
33
+    }
34
+    track({
35
+      event: 'save',
36
+      ...options,
37
+    })
38
+  }
39
+
40
+  return [isLiked, handleLike];
41
+}