자유해결사 5 år sedan
förälder
incheckning
3d77bc8781

+ 1 - 0
android/app/src/main/AndroidManifest.xml

@@ -9,6 +9,7 @@
       android:icon="@mipmap/ic_launcher"
       android:roundIcon="@mipmap/ic_launcher_round"
       android:allowBackup="true"
+      android:usesCleartextTraffic="true"
       android:theme="@style/AppTheme">
 
        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

+ 4 - 4
src/data/dummy.js

@@ -9,10 +9,10 @@ const BTNS_ORG = [
       {title: "身" ,subtitle : "body"                 },  
   ],
   [
-      {title:"사랑", subtitle : "Love"                                  , type: "mind" , section : "work",     contensTitle : "사랑" , contensSubTitle : "(애별리고)" , contens:"우리는 우리와 가까운, 우리가 원하는, 우리가 좋아하는, 우리를 편리하게 해 주고 행복하게 해 주던 많은 것들과 이별을 해야 하는 괴로움을 버려야 합니다.", img : require("../res/Working_meditation.png")},
-      {title:"미움", subtitle : "Hate"                                  , type: "mind" , section : "stand",contensTitle : "미움" , contensSubTitle : "(원증회고)" , contens:"싫어하는 것을 해야 하는 것, 싫어하는 사람과 함께 있는 것이란 얼마나 큰 괴로움인가. 이는 가장 큰 괴로움이며 여기서 벗어나야 합니다.", img : require("../res/Standing_meditation.png")},
-      {title:"탐욕", subtitle : "Avarice"                             , type: "mind" , section : "seat",  contensTitle : "탐욕" , contensSubTitle : "(구부득고)" , contens:"좋아하는 사람, 물건, 재산, 명예, 권력, 지위, 출세, 행복, 건강 등 얻고자 하고 바라지만 마음대로 구할 수 없는데서 괴로움은 시작된다.", img : require("../res/Seatand_meditation.png")},
-      {title:"탐식", subtitle : "Voracity"                           , type: "mind" , section : "lying", contensTitle : "탐식" , contensSubTitle : "(구부득고)" , contens:"현대사회에서 물질적 풍요와 상반되게 정신적 빈곤으로 인한 강박장애, 불안장애 같은 정신적 증상은 얻고자 하는 욕심으로 인하여 나타나는 화병의 일환", img : require("../res/Lying_meditation.png")},
+      {title:"사랑", subtitle : "Love"                                  , type: "mind" , section : "love",     contensTitle : "사랑" , contensSubTitle : "(애별리고)" , contens:"우리는 우리와 가까운, 우리가 원하는, 우리가 좋아하는, 우리를 편리하게 해 주고 행복하게 해 주던 많은 것들과 이별을 해야 하는 괴로움을 버려야 합니다.", img : require("../res/Working_meditation.png")},
+      {title:"미움", subtitle : "Hate"                                  , type: "mind" , section : "hate",contensTitle : "미움" , contensSubTitle : "(원증회고)" , contens:"싫어하는 것을 해야 하는 것, 싫어하는 사람과 함께 있는 것이란 얼마나 큰 괴로움인가. 이는 가장 큰 괴로움이며 여기서 벗어나야 합니다.", img : require("../res/Standing_meditation.png")},
+      {title:"탐욕", subtitle : "Avarice"                             , type: "mind" , section : "avarice",  contensTitle : "탐욕" , contensSubTitle : "(구부득고)" , contens:"좋아하는 사람, 물건, 재산, 명예, 권력, 지위, 출세, 행복, 건강 등 얻고자 하고 바라지만 마음대로 구할 수 없는데서 괴로움은 시작된다.", img : require("../res/Seatand_meditation.png")},
+      {title:"탐식", subtitle : "Voracity"                           , type: "mind" , section : "voracity", contensTitle : "탐식" , contensSubTitle : "(구부득고)" , contens:"현대사회에서 물질적 풍요와 상반되게 정신적 빈곤으로 인한 강박장애, 불안장애 같은 정신적 증상은 얻고자 하는 욕심으로 인하여 나타나는 화병의 일환", img : require("../res/Lying_meditation.png")},
       {title: "心" , subtitle : "Mind"},  
   ]
 ]

+ 4 - 4
src/navigation/SwitchNavigator.js

@@ -48,16 +48,16 @@ const SwitchNavigator = createStackNavigator(
     FAQ,
     ChangeLanguage,
     Support,
-    ServiceAlarm,
+    ServiceAlarm, 
     About,
 
     // Player,
     
-  },
+  }, 
   {
     initialRouteName: "Login",   
-
-    mode: 'modal',
+ 
+    mode: 'modal', 
     headerMode: 'none',
     cardStyle: {
       opacity: 1,

+ 48 - 10
src/pages/_6_Main.js

@@ -1,11 +1,44 @@
-import React from 'react';
+import React , {useState, useEffect}from 'react';
 
 import C from 'rn-class'
+import Net from '../provider/Net'
+import {BTNS_ORG as BTNS} from '../data/dummy';
+import _ from 'lodash'
 C.addColor("#d7d7d7", "color-listbg");
 
+ 
 
 export default (props)=>{
-   
+    let [list, setList ] = useState([]);
+    let [todayItem , setTodayItem] = useState({content : ""});
+    let [weekdayList , setWeekdayList] = useState([]);
+    let [weekendList , setWeekendList] = useState([]);
+
+    let getList = async (p)=>{
+        let {Pages : {type  :type } , Pages : {section  :section }    } = p ;
+        let {result} = await Net.meditation({size : 20, page	: 1 ,section : section , type : type , rcmd:"A"});
+        _.forEach(result , (obj)=>{
+            // console.log(obj)
+            for ( idx in BTNS){
+                let rtn =  _.find(BTNS[idx] ,{"type":obj.type, "section" : obj.section} )
+                if(rtn){
+                    obj.categoryText = `${rtn.type} - ${rtn.contensTitle}`;
+                }
+            }
+        })
+        let tdayDatas = _.filter(result, {recommand: "T"});
+        if(tdayDatas.length){
+            setTodayItem(tdayDatas[0]);
+        }
+        setWeekdayList(_.filter(result, {recommand: "WD"}));
+        setWeekendList(_.filter(result, {recommand: "WE"}));
+        
+    }
+    console.log(todayItem);  
+    // console.log(props);
+    useEffect(()=>{
+        getList(props);
+    },[])
     return (
         <C.View cls="flx1 bgc-color-white"> 
             <C.View cls="w100% ai-c flx1"> 
@@ -24,16 +57,20 @@ export default (props)=>{
                                             오늘의 생각   
                                         </C.Text>
                                         <C.Text cls="f2.3 color-white txt-sdof2 tsdo-r20 tsdoc-rgba-black-0_9 ">
-                                            Category 
+                                            {
+                                                todayItem.categoryText 
+                                            } 
                                         </C.Text>
                                     </C.View>
-
+ 
                                     <C.View cls="w100% ai-c pt1">
                                         <C.Text cls="f3.4 color-white txt-sdof2 tsdo-r20 tsdoc-rgba-black-0_9 ">
                                             마음의 양식 
                                         </C.Text>
-                                        <C.Text cls="f2.2 ta-c w80% flx-w color-white txt-sdof2 tsdo-r20 tsdoc-rgba-black-0_9">
-                                            가나다라마바사아자차카타파하 가나다라마바사아자차카타파하 
+                                        <C.Text cls="f2.2 ta-c w80% flx-w color-white txt-sdof2 tsdo-r20 tsdoc-rgba-black-0_9 mt1">
+                                            { 
+                                                todayItem.content && todayItem.content.length > 30? todayItem.content.substr(0,30) + "..." : todayItem.content
+                                            }
                                         </C.Text>
                                     </C.View>
 
@@ -54,10 +91,11 @@ export default (props)=>{
                     </C.View>
                     <C.View cls="pt2">
                          <C.ScrollView horizontal cls="pv1"> 
-                            <Imgs></Imgs> 
-                            <Imgs></Imgs>
-                            <Imgs></Imgs>
-
+                         {
+                            weekdayList.map((o)=>{
+                                <Imgs  {...o}/>
+                            }) 
+                        }
                          </C.ScrollView>
                     </C.View>
 

+ 5 - 10
src/pages/_7_List.js

@@ -32,7 +32,7 @@ export default (props)=>{
         <C.View cls="flx1 bgc-color-white"> 
             <C.View cls="w100% ai-c flx1">     
                 <C.ScrollView cccls="ai-c">  
-                    <C.View  cls="w80 br50 flx-row" >  
+                    <C.View  cls="w80% br50 flx-row" >      
                         <C.Image source={props.Pages.img} resizeMode="contain"  cls="w14" /> 
                         <C.View>
                             <C.View cls="bgc-color-gray-light-v3 flx0.1 jc-c ph3">   
@@ -43,13 +43,8 @@ export default (props)=>{
                         </C.View>
                     </C.View> 
                  
-                 <C.View cls="w100 flx-w jc-c flx-row">
-                        {/* <Imgs onClickPlay={onClickPlay} ></Imgs>
-                        <Imgs onClickPlay={onClickPlay} ></Imgs>
-                        <Imgs onClickPlay={onClickPlay} ></Imgs>
-                        <Imgs onClickPlay={onClickPlay} ></Imgs>
-                        <Imgs onClickPlay={onClickPlay} ></Imgs>
-                        <Imgs onClickPlay={onClickPlay} ></Imgs> */}
+                 <C.View cls="w100 flx-w flx-row"> 
+                   
                         {  
                             list.map((v,i) => {
                                 return (<Imgs key={`i${v.title}`}  {...v} soundDuration={v.soundDuration} onClickPlay={()=>{
@@ -76,7 +71,7 @@ export default (props)=>{
 const Imgs = (props)=>{
     console.log(props);
     return (
-        <C.View cls="w45 br3">
+        <C.View cls="w45 mh2 br3">
                 <C.ImageBackground 
                     source={{uri : `http://133.186.211.179/api/v3/meditation/${props.poster}` }}
                     cls="h20 mh2 mt2 "
@@ -94,7 +89,7 @@ const Imgs = (props)=>{
                         <C.View cls="ai-c ">
                             <C.EL.Icon type="entypo" name="controller-play" ccls="ma2" {...C.n2cls("color-white")}  {...C.n2cls("size10")} onPress={props.onClickPlay}/>
                         </C.View>
-                        <C.View cls="w100% jc-c ai-c flx0.7  bgc-rgba-black-0_4 br-tl3 br-tr3">
+                        <C.View cls="w100% jc-c ai-c flx0.7  bgc-rgba-black-0_4 br3">
                             <C.Text cls="f2 color-white">  
                                 {props.title} 
                             </C.Text>

+ 15 - 11
src/popup/_10_2_Notice.js

@@ -1,20 +1,24 @@
-import React, {useState} from 'react';
+import React, {useState, useEffect} from 'react';
 import {StyleSheet} from  'react-native'; 
  
 import C from 'rn-class'
 import Accordion from 'react-native-collapsible/Accordion';
 import moment  from 'moment';
+import Net from '../provider/Net'   
 
-export default (props)=>{
-    let [activeSections , setActiveSections] = useState([0])
-    let arr = [ { title : "뉴욕 서비스가 3월 13일 시작됩니다. " , content : "뉴욕 서비스가 3월 13일 시작됩니다.  뉴욕 서비스가 3월 13일 시작됩니다.  "  , createdAt : "2019-08-19T13:02:00.184Z"},
-                        { title : " 서비스 장애데 대하여 알려드립니다.  " , content : "서울에서 가장 오래된 초등학교를 찾아 뒷문을 찾아보세요!!!\n주신 박카스의 은총이 깃들어 있답니다."  , createdAt : "2019-08-19T13:02:00.184Z"},
-                        { title : "asdf1" , content : "sadjsaljdkasjdklajsdkl"  , createdAt : "2019-08-19T13:02:00.184Z"},
-                        { title : "asdf1" , content : "sadjsaljdkasjdklajsdkl"  , createdAt : "2019-08-19T13:02:00.184Z"}
-                    ];
 
+export default (props)=>{
+    let [activeSections , setActiveSections] = useState([])
+    let [noticeData, setnoticeData] = useState([]);
 
 
+    let getNotice = async()=>{
+        let {result} = await Net.notice();
+        setnoticeData(result);
+    }
+    
+    useEffect(()=>{getNotice()},[])
+    
     _renderHeader = (section, idx )=> {
         return (
         <C.View cls={`flx-row bgc-color-gray-light-v1 ma2 br3 pa2 ai-c ${activeSections[0] == idx ?  "mb0 br-bl0 br-br0" : ""}`}> 
@@ -22,8 +26,8 @@ export default (props)=>{
 
             <C.Text cls="flx0.2 f1.5 jc-c">{moment(section.createdAt).format("YYYY-MM-DD") }</C.Text>
   
-            <C.View cls="flx0.1">
-                <C.EL.Icon name={activeSections[0] == idx ? "caretup":"caretdown"} type="antdesign" ccls="f3" />
+            <C.View cls="flx0.1"> 
+                <C.EL.Icon name={activeSections[0] == idx ? "caretup":"caretdown"} type="antdesign"  />
             </C.View>
         </C.View>
         );
@@ -50,7 +54,7 @@ export default (props)=>{
             </C.View>
             <C.View cls="flx1">
                 <Accordion  
-                      sections={arr} 
+                      sections={noticeData} 
                       underlayColor ={"#FFF"}
                       activeSections={activeSections}
                     //   renderSectionTitle={_renderSectionTitle}

+ 13 - 8
src/popup/_10_3_FAQ.js

@@ -1,18 +1,23 @@
-import React, {useState} from 'react';
+import React, {useState,useEffect} from 'react';
 import {StyleSheet} from  'react-native'; 
  
 import C from 'rn-class'
 import Accordion from 'react-native-collapsible/Accordion';
 import moment  from 'moment';
+import Net from '../provider/Net'   
 
 export default (props)=>{
-    let [activeSections , setActiveSections] = useState([0])
-    let arr = [ { title : "뉴욕 서비스가 3월 13일 시작됩니다. " , content : "뉴욕 서비스가 3월 13일 시작됩니다.  뉴욕 서비스가 3월 13일 시작됩니다.  "  , createdAt : "2019-08-19T13:02:00.184Z"},
-                        { title : " 서비스 장애데 대하여 알려드립니다.  " , content : "서울에서 가장 오래된 초등학교를 찾아 뒷문을 찾아보세요!!!\n주신 박카스의 은총이 깃들어 있답니다."  , createdAt : "2019-08-19T13:02:00.184Z"},
-                        { title : "asdf1" , content : "sadjsaljdkasjdklajsdkl"  , createdAt : "2019-08-19T13:02:00.184Z"},
-                        { title : "asdf1" , content : "sadjsaljdkasjdklajsdkl"  , createdAt : "2019-08-19T13:02:00.184Z"}
-                    ];
+    let [activeSections , setActiveSections] = useState([])
 
+    let [faqeData, setfaqeData] = useState([]);
+
+ 
+    let getFaq = async()=>{
+        let {result} = await Net.faq();
+        setfaqeData(result);
+    }
+    
+    useEffect(()=>{getFaq()},[])
 
 
     _renderHeader = (section, idx )=> {
@@ -50,7 +55,7 @@ export default (props)=>{
             </C.View>
             <C.View cls="flx1">
                 <Accordion  
-                      sections={arr} 
+                      sections={faqeData} 
                       underlayColor ={"#FFF"}
                       activeSections={activeSections}
                     //   renderSectionTitle={_renderSectionTitle}

+ 3 - 2
src/provider/Net.js

@@ -47,13 +47,14 @@ class Net {
     async notice(){
        // 공지 사항
         let {data} =    await axios.get("/bbs/notice");  
-        console.log(data);
+        // console.log(data);
+        return data;
     }
 
     async faq(){
         // FAQ 
         let {data} =    await axios.get("/bbs/faq");  
-        console.log(data);
+        return data;
     }
  
 }