ソースを参照

Merge branch 'master' of http://git.ycjcjy.com/xiangsong/miniapp

张延森 4 年 前
コミット
0fbd506dae
共有2 個のファイルを変更した26 個の追加14 個の削除を含む
  1. 9
    5
      src/app.js
  2. 17
    9
      src/pages/ShouYe/index.jsx

+ 9
- 5
src/app.js ファイルの表示

1
 import React, { Component } from 'react'
1
 import React, { Component } from 'react'
2
 import Taro, { getCurrentInstance } from '@tarojs/taro'
2
 import Taro, { getCurrentInstance } from '@tarojs/taro'
3
 import { StoreRoot, store } from './store'
3
 import { StoreRoot, store } from './store'
4
-import { deepCopy } from './utils'
4
+// import { deepCopy } from './utils'
5
 import request, { apis } from './utils/request'
5
 import request, { apis } from './utils/request'
6
 import { trackUserSource } from './utils/track'
6
 import { trackUserSource } from './utils/track'
7
 import * as log from './utils/rtLog'
7
 import * as log from './utils/rtLog'
10
 class App extends Component {
10
 class App extends Component {
11
   updateTracing;
11
   updateTracing;
12
 
12
 
13
-  onLaunch (options) {
13
+  onLaunch () {
14
+
15
+    Taro.setEnableDebug({
16
+      enableDebug: true
17
+    })
14
     // 此处获取不到 state, 因为 app 不会刷新
18
     // 此处获取不到 state, 因为 app 不会刷新
15
     const { setSysInfo } = store.getModel('sys').getState()
19
     const { setSysInfo } = store.getModel('sys').getState()
16
 
20
 
17
     // 预拉取数据
21
     // 预拉取数据
18
-    wx.getBackgroundFetchData({
22
+    Taro.getBackgroundFetchData({
19
       fetchType: 'pre',
23
       fetchType: 'pre',
20
       success (res) {
24
       success (res) {
21
         if (res.errMsg === 'getBackgroundFetchData:ok') {
25
         if (res.errMsg === 'getBackgroundFetchData:ok') {
44
     // scene 与其它参数时互斥的. 有 scene 说明时扫码进来的
48
     // scene 与其它参数时互斥的. 有 scene 说明时扫码进来的
45
     const params = router.params || {}
49
     const params = router.params || {}
46
     const { from = '', recommender = '', scene = '', mpOpenId = '' } = params
50
     const { from = '', recommender = '', scene = '', mpOpenId = '' } = params
47
-    setAppParams({...params})
51
+    setAppParams({ ...params })
48
 
52
 
49
     // 登录
53
     // 登录
50
     Taro.login({
54
     Taro.login({
51
       success: res => {
55
       success: res => {
52
         if (res.errMsg === 'login:ok') {
56
         if (res.errMsg === 'login:ok') {
53
           request({ ...apis.login, params: { code: res.code, from, recommender, scene, mpOpenId } }).then(x => {
57
           request({ ...apis.login, params: { code: res.code, from, recommender, scene, mpOpenId } }).then(x => {
54
-            setUser({...x.person, ShowIndexAdv: false, FirstComing: true})
58
+            setUser({ ...x.person, ShowIndexAdv: false, FirstComing: true })
55
             Taro.setStorage({ key: 'token', data: x.token })
59
             Taro.setStorage({ key: 'token', data: x.token })
56
             Taro.setStorage({ key: 'sessionKey', data: x.sessionKey })
60
             Taro.setStorage({ key: 'sessionKey', data: x.sessionKey })
57
 
61
 

+ 17
- 9
src/pages/ShouYe/index.jsx ファイルの表示

47
 
47
 
48
   useEffect(() => {
48
   useEffect(() => {
49
     if (NoticeInfo !== null) {
49
     if (NoticeInfo !== null) {
50
-      window.setTimeout(() => {
51
-        let QueryParent = Taro.createSelectorQuery()
52
-        let QueryChild = Taro.createSelectorQuery()
50
+      let WidthTimer = null
51
+      CalcWidth(WidthTimer)
52
+    }
53
+  }, [NoticeInfo])
54
+
55
+  const CalcWidth = (timer = null) => {
56
+    timer = setTimeout(() => {
57
+      let QueryParent = Taro.createSelectorQuery()
58
+      let QueryChild = Taro.createSelectorQuery()
59
+      if (QueryParent.select('#NoticeParent')) {
60
+        clearTimeout(timer)
53
         QueryParent.select('#NoticeParent').boundingClientRect()
61
         QueryParent.select('#NoticeParent').boundingClientRect()
54
         QueryChild.select('#NoticeText').boundingClientRect()
62
         QueryChild.select('#NoticeText').boundingClientRect()
55
         QueryParent.exec((res) => {
63
         QueryParent.exec((res) => {
58
             setNoticeWidth(cres[0].width)
66
             setNoticeWidth(cres[0].width)
59
           })
67
           })
60
         })
68
         })
61
-      }, 100)
62
-      // let NoticeText = document.getElementById('NoticeText')
63
-      // console.log(NoticeText.boundingClientRect[0].width)
64
-    }
65
-  }, [NoticeInfo])
69
+      } else {
70
+        CalcWidth(timer)
71
+      }
72
+    }, 100)
73
+  }
66
 
74
 
67
   const Init = (done = () => { }) => { // 初始化
75
   const Init = (done = () => { }) => { // 初始化
68
     GetNotice() // 获取通知
76
     GetNotice() // 获取通知
203
                 <view>
211
                 <view>
204
 
212
 
205
                   {/* 通知栏 */}
213
                   {/* 通知栏 */}
206
-                  <view className='NoticeContent' style={{display: ShowNotice ? 'block' : 'none'}}>
214
+                  <view className='NoticeContent' style={{ display: ShowNotice ? 'block' : 'none' }}>
207
                     <view className='flex-h'>
215
                     <view className='flex-h'>
208
                       <text className='iconfont icontongzhi1'></text>
216
                       <text className='iconfont icontongzhi1'></text>
209
                       <view id='NoticeParent' className='flex-item' onClick={() => { Taro.navigateTo({ url: `/pages/WuYe/GongGaoDetail/index?id=${NoticeInfo.id}` }) }}>
217
                       <view id='NoticeParent' className='flex-item' onClick={() => { Taro.navigateTo({ url: `/pages/WuYe/GongGaoDetail/index?id=${NoticeInfo.id}` }) }}>