Bläddra i källkod

Merge branch 'master' of http://gogs.ioobot.com:6680/xy/online

xy 7 år sedan
förälder
incheckning
3234888df7

+ 1 - 0
package.json

@@ -20,6 +20,7 @@
     "case-sensitive-paths-webpack-plugin": "2.1.2",
     "chalk": "2.4.1",
     "classnames": "^2.2.6",
+    "copy-to-clipboard": "^3.0.8",
     "css-loader": "1.0.0",
     "dotenv": "6.0.0",
     "dotenv-expand": "4.2.0",

+ 30 - 30
src/app/App.jsx

@@ -21,7 +21,7 @@ import Create from "./graphqlService/component/schema/Create";
 import WxCreate from "./wechatService/wxCreate/WxCreate";
 
 
-import {SHOW_ALL_SCHEMA, SHOW_CASE_SCHEMA,SHOW_PROJECT,CASE_SCHEMA_AND_PROJECT,CASE_WXCONFIG_AND_PROJECT} from "../gql";
+import {SHOW_ALL_SCHEMA, SHOW_CASE_SCHEMA,SHOW_PROJECT,CASE_AND_PROJECT} from "../gql";
 import axios from 'axios';
 import {getCookie, setCookie} from "../cookie";
 
@@ -358,27 +358,15 @@ class GraphqlSidebar extends Component {
 
     render() {
         return (
-            <Query query={gql(CASE_SCHEMA_AND_PROJECT)} variables={{projectType:'graphql',user_id: this.state.userID}}>
+            <Query query={gql(CASE_AND_PROJECT)} variables={{projectType:'graphql',user_id: this.state.userID}}>
                 {
                     ({loading, error, data}) => {
                         if (loading) return <Spin style={{marginLeft: 3}}/>;
                         if (error) return 'error!';
-                        // console.log('CASE_SCHEMA_AND_PROJECT data', data);
-                        data.caseProject.forEach((project) => {
-                            switch(project.schema_id.schemaName) {
-                                case 'ecommerce' :
-                                    localStorage.setItem('ecommerce', project.schema_id.schemaData);
-                                    break;
-                                case 'subscribe':
-                                    localStorage.setItem('subscribe', project.schema_id.schemaData);
-                                    break;
-                                case 'bills':
-                                    localStorage.setItem('bills', project.schema_id.schemaData);
-                                    break;
-                                default:
-                                    break;
-                            }
-                        });
+                        console.log('CASE_SCHEMA_AND_PROJECT data', data);
+                        localStorage.setItem('ecommerce', data.caseProject.find(project => project.schema_id.schemaName === 'ecommerce').schema_id.schemaData);
+                        localStorage.setItem('subscribe', data.caseProject.find(project => project.schema_id.schemaName === 'subscribe').schema_id.schemaData);
+                        localStorage.setItem('bills', data.caseProject.find(project => project.schema_id.schemaName === 'bills').schema_id.schemaData);
                         return (
                             <Menu
                                 theme="dark"
@@ -472,7 +460,7 @@ class WxConfigSiderbar extends Component {
 
     render() {
         return (
-            <Query query={gql(CASE_WXCONFIG_AND_PROJECT)} variables={{projectType:'wx',user_id: this.state.userID}}>
+            <Query query={gql(CASE_AND_PROJECT)} variables={{projectType:'wx',user_id: this.state.userID}}>
                 {
                     ({loading, error, data}) => {
                         console.log('CASE_WXCONFIG_AND_PROJECT data', data);
@@ -501,16 +489,26 @@ class WxConfigSiderbar extends Component {
                                     <span><FormattedMessage id="Case Show"/></span>
                                 </span>}>
                                     {
-                                        data.caseWxConfig.map((config) =>
-                                            <Menu.Item key={config.appName}>
-                                                <Link to={{
-                                                    pathname: `/wechat-service/trial-case/${config.appName}`,
-                                                    state: {
-                                                        appName: config.appName,
-                                                        configID: config.id
-                                                    }
-                                                }}>{config.appName}</Link>
-                                            </Menu.Item>)
+                                        data.caseProject.map((project) => {
+                                            if(project){
+                                                let appName = project.wxConfig_id.appName;
+                                                let configID = project.wxConfig_id.id;
+                                                let projectID = project.id;
+                                                return (
+                                                    <Menu.Item key={appName}>
+                                                        <Link to={{
+                                                            pathname: `/wechat-service/trial-case/${appName}`,
+                                                            state: {
+                                                                appName,
+                                                                configID,
+                                                                projectID
+                                                            }
+                                                        }}>{appName}</Link>
+                                                    </Menu.Item>
+                                                )
+                                            }
+                                            return false;
+                                        })
                                     }
                                 </SubMenu>
 
@@ -533,13 +531,15 @@ class WxConfigSiderbar extends Component {
                                             if(project){
                                                 let appName = project.wxConfig_id.appName;
                                                 let configID = project.wxConfig_id.id;
+                                                let projectID = project.id;
                                                 return (
                                                     <Menu.Item key={appName}>
                                                         <Link to={{
                                                             pathname: `/wechat-service/my-create/${appName}`,
                                                             state: {
                                                                 appName,
-                                                                configID
+                                                                configID,
+                                                                projectID
                                                             }
                                                         }}>{appName}</Link>
                                                     </Menu.Item>

+ 1 - 1
src/app/graphqlService/UserCreate.jsx

@@ -80,7 +80,7 @@ class UserCreate extends Component {
                             (() => {
                                 switch (this.state.menuLevel2) {
                                     case 'schema':
-                                        return <Schema trialcase={false} userID={this.state.userID} schemaName={schemaName} schemaID={schemaID} history={this.props.history} location={this.props.location}/>;
+                                        return <Schema trialcase={false} userID={this.state.userID} projectID={projectID} schemaName={schemaName} schemaID={schemaID} history={this.props.history} location={this.props.location}/>;
                                     case 'deploy':
                                         return <Deploy trialcase={false} userID={this.state.userID} projectID={projectID}/>;
                                     case 'manage':

+ 4 - 14
src/app/graphqlService/component/schema/Schema.jsx

@@ -591,13 +591,13 @@ class DeleteProjectButton extends Component {
         }
     }
 
-    showConfirm = (delete_project_and_schema, projectID, userID) => {
+    showConfirm = (delete_graphql_project, projectID, userID) => {
         let _this = this;
         confirm({
             title: 'Do you want to delete this schema?',
             content: 'It cannot be found back!',
             onOk() {
-                delete_project_and_schema({variables: {id:projectID, user_id: userID}});
+                delete_graphql_project({variables: {id:projectID, user_id: userID}});
                 _this.props.history.push({
                     pathname: '/graphql-service',
                 });
@@ -615,18 +615,8 @@ class DeleteProjectButton extends Component {
             <Mutation
                 mutation={gql(DELETE_PROJECT)}
                 refetchQueries={[{query: gql(SHOW_PROJECT), variables: {projectType:'graphql',user_id: userID}}]}
-                // update={(cache) => {
-                //     let data = cache.readQuery({query: gql(SHOW_PROJECT), variables: {projectType:"graphql",user_id: userID}});
-                //
-                //     data.project.splice(data.project.findIndex(obj => obj.projectName === schemaName), 1);
-                //     cache.writeQuery({
-                //         query: gql(SHOW_PROJECT),
-                //         variables:  {projectType:"graphql",user_id: userID},
-                //         data
-                //     });
-                // }}
             >
-                {(delete_project_and_schema, {loading, error}) => {
+                {(delete_graphql_project, {loading, error}) => {
                     if (error)
                         return 'error';
                     if (loading)
@@ -635,7 +625,7 @@ class DeleteProjectButton extends Component {
                         <Button
                             type="danger"
                             onClick={() => {
-                                this.showConfirm(delete_project_and_schema, projectID, userID);
+                                this.showConfirm(delete_graphql_project, projectID, userID);
                             }}
                         >
                             <FormattedMessage id="delete"/>

+ 1 - 1
src/app/wechatService/WxTrialCase.js

@@ -53,7 +53,7 @@ class WxTrialCase extends Component {
                         {(() => {
                             switch (this.state.menuLevel3) {
                                 case 'wechat-config':
-                                    return <WxConfig defaultAppName={'ecommerce'} defaultConfigID={'ecommerce_wxConfigID'} trialcase={true} history={this.props.history} location={this.props.location}/>;
+                                    return <WxConfig projectID={projectID} defaultAppName={'ecommerce'} defaultConfigID={'ecommerce_wxConfigID'} trialcase={true} history={this.props.history} location={this.props.location}/>;
                                 case 'wechat-deploy':
                                     return <WxDeploy trialcase={true} userID={this.state.userID} configID={configID}/>;
                                 case 'wechat-manage':

+ 2 - 1
src/app/wechatService/WxUserCreate.js

@@ -48,6 +48,7 @@ class WxUserCreate extends Component {
         let configID = this.props.location.state ? this.props.location.state.configID : "ecommerce_wxConfigID";
         let appName = this.props.location.state ? this.props.location.state.appName : "ecommerce";
         let projectID = this.props.location.state ? this.props.location.state.projectID : "";
+        // console.log('userId',this.state.userID,"projectID",projectID);
         return (
             <div>
                 <Menu
@@ -74,7 +75,7 @@ class WxUserCreate extends Component {
                         {(() => {
                             switch (this.state.menuLevel3) {
                                 case 'wechat-config':
-                                    return <WxConfig history={this.props.history} location={this.props.location}/>;
+                                    return <WxConfig projectID={projectID}  userID={this.state.userID} history={this.props.history} location={this.props.location}/>;
                                 case 'wechat-deploy':
                                     return <WxDeploy trialcase={false} userID={this.state.userID} configID={configID}/>;
                                 case 'wechat-manage':

+ 31 - 15
src/app/wechatService/wxConfig/WxConfig.jsx

@@ -1,7 +1,7 @@
 import React, {Component} from 'react';
 import {Input, Spin, Button, Icon, Modal} from 'antd';
 import './index.css';
-import {UPDATE_WXCONFIG, SHOW_WXCONTENT, DELETE_WXCONFIG, SHOW_WXCONFIG} from "../../../gql";
+import {UPDATE_WXCONFIG, SHOW_WXCONTENT, DELETE_WXCONFIG, SHOW_WXCONFIG,DELETE_PROJECT,SHOW_PROJECT} from "../../../gql";
 import gql from "graphql-tag";
 import {Mutation, Query} from "react-apollo";
 import {getCookie} from "../../../cookie";
@@ -15,13 +15,17 @@ class WxConfig extends Component {
             configs: ['appName', 'appID', 'appSecret', 'enter_url', 'token', 'welcome_words', 'pay_api_key', 'attach', 'mch_id', 'body', 'spbill_create_ip', 'notify_url'],
             configID: props.location.state === undefined ? props.defaultConfigID : props.location.state.configID,
             appName: props.location.state === undefined ? props.defaultAppName : props.location.state.appName,
+            projectID: props.location.state === undefined ? props.projectID : props.location.state.projectID,
+            userID:props.userID
         }
     }
 
     componentWillReceiveProps(next) {
         this.setState({
+            userID:next.userID,
             configID: next.location.state === undefined ? next.defaultConfigID : next.location.state.configID,
             appName: next.location.state === undefined ? next.defaultAppName : next.location.state.appName,
+            projectID: next.location.state === undefined ? next.projectID : next.location.state.projectID,
         });
     }
 
@@ -37,10 +41,12 @@ class WxConfig extends Component {
                             return 'error!';
                         }
                         let {history, location, trialcase} = this.props;
-                        let {appName, configID, configs} = this.state;
+                        let {appName, configID, configs,projectID,userID} = this.state;
                         return (
                             <Display
                                 configs={configs}
+                                userID={userID}
+                                projectID={projectID}
                                 configID={configID}
                                 appName={appName}
                                 location={location}
@@ -62,8 +68,10 @@ class Display extends Component {
     constructor(props) {
         super(props);
         this.state = {
+            userID:props.userID,
             configID: props.configID,
             appName: props.appName,
+            projectID:props.projectID,
             mch_id: props.data === null ? '' : props.data.mch_id,
             notify_url: props.data === null ? '' : props.data.notify_url,
             appSecret: props.data === null ? '' : props.data.appSecret,
@@ -80,8 +88,10 @@ class Display extends Component {
 
     componentWillReceiveProps(next) {
         this.setState({
+            userID:next.userID,
             configID: next.configID,
             appName: next.appName,
+            projectID:next.projectID,
             mch_id: next.data === null ? '' : next.data.mch_id,
             notify_url: next.data === null ? '' : next.data.notify_url,
             appSecret: next.data === null ? '' : next.data.appSecret,
@@ -107,7 +117,7 @@ class Display extends Component {
 
     render() {
         let {configs} = this.props;
-        let {configID, appName, mch_id, notify_url, appSecret, appID, token, spbill_create_ip, enter_url, pay_api_key, body, welcome_words, attach} = this.state;
+        let {userID,configID, appName,projectID, mch_id, notify_url, appSecret, appID, token, spbill_create_ip, enter_url, pay_api_key, body, welcome_words, attach} = this.state;
         return (
             <div>
                 {
@@ -139,8 +149,10 @@ class Display extends Component {
                                 welcome_words={welcome_words}
                                 attach={attach}
                             />
-                            <DeleteWXConfigButton
+                            <DeleteWXProjectButton
                                 id={configID}
+                                userID={userID}
+                                projectID={projectID}
                                 history={this.props.history}
                             />
                         </div>
@@ -194,21 +206,22 @@ class UpdateWXConfigButton extends Component {
     }
 }
 
-class DeleteWXConfigButton extends Component {
+class DeleteWXProjectButton extends Component {
     constructor(props) {
         super(props);
         this.state = {
-            userID: getCookie('user_id')
+            userID: props.userID,
+            projectID:props.projectID
         }
     }
 
-    showConfirm = (delete_wxConfig, id) => {
+    showConfirm = (delete_wx_project,  projectID, userID) => {
         let _this = this;
         confirm({
             title: 'Do you want to delete this config?',
             content: 'It cannot be found back!',
             onOk() {
-                delete_wxConfig({variables: {id}});
+                delete_wx_project({variables: {id:projectID, user_id: userID}});
                 _this.props.history.push({
                     pathname: `/wechat-service/trial-case/index`,
                 });
@@ -219,21 +232,24 @@ class DeleteWXConfigButton extends Component {
     };
 
     render() {
+        let {userID,projectID} = this.state;
+
         return (
             <Mutation
-                mutation={gql(DELETE_WXCONFIG)}
-                refetchQueries={[{query: gql(SHOW_WXCONFIG), variables: {user_id: this.state.userID}}]}
+                mutation={gql(DELETE_PROJECT)}
+                refetchQueries={[{query: gql(SHOW_PROJECT), variables: {projectType:'wx',user_id: userID}}]}
             >
-                {(delete_wxConfig, {loading, error}) => {
+                {(delete_wx_project, {loading, error}) => {
                     if (loading)
                         return <Spin style={{marginLeft: 30, marginTop: 10}}/>;
                     if (error)
                         return 'error';
-                    let {id} = this.props;
                     return (
-                        <Button type={'danger'} onClick={() => {
-                            this.showConfirm(delete_wxConfig, id);
-                        }}>delete</Button>
+                        <Button
+                            type={'danger'}
+                            onClick={() => {
+                                this.showConfirm(delete_wx_project, projectID, userID);
+                            }}>delete</Button>
                     )
                 }}
             </Mutation>

+ 0 - 6
src/case/BillApp/src/App.css

@@ -85,13 +85,7 @@
     text-align: center;
 }
 
-.myWrap .extra{
-    padding-top: 30px;
-}
 
-.myWrap .am-list{
-    margin: 3px 0;
-}
 
 
 

+ 7 - 4
src/case/BillApp/src/components/My/My.jsx

@@ -42,12 +42,15 @@ export default class My extends Component {
         <NavBars navBarText={this.state.navBarText} changePage={this.props.changePage}/>
         <div className="myWrap">
           <Head name="王刘永" icon="https://wx.qlogo.cn/mmopen/vi_32/WVmxTicpGCIAM13MBzSQTbqicMaWJNVpDqKHO9aC3SAdrSACCBcwOhIFSOeUY99iay8xlEkibhK0TaHElgtoBF1gzg/132"/>
+          <div style={{height:"30px"}}></div>
           <Lists callback={this.myAccount} text="我的账户" icon="https://wly-1254337200.cos.ap-guangzhou.myqcloud.com/bill.svg"/>
+          <div style={{height:"10px"}}></div>
           <Lists callback={this.myAssets} text="资产管理" icon="https://wly-1254337200.cos.ap-guangzhou.myqcloud.com/assets.svg"/>
-          <div className="extra">
-            <Lists callback={this.contactServer} text="联系客服"/>
-            <Lists callback={this.feedback} text="意见反馈"/>
-          </div>
+          <div style={{height:"20px"}}></div>
+          <Lists callback={this.contactServer} text="联系客服"/>
+          <div style={{height:"10px"}}></div>
+          <Lists callback={this.feedback} text="意见反馈"/>
+        
         </div>
       </div>
     )

+ 3 - 2
src/case/OrderApp/src/App.css

@@ -27,8 +27,8 @@
     z-index:2;
 }
 
-.orderApp  div.am-navbar{
-    background-color: black;
+.orderApp  .listText{
+    font-size: 14px;
 }
 
 
@@ -36,3 +36,4 @@
 
 
 
+

+ 0 - 45
src/case/OrderApp/src/components/HomePage/Cards.css

@@ -1,45 +0,0 @@
-*{
-    box-sizing: border-box;
-}
-
-div.Card{
-    font-size:15px;
-}
-.sidebar{
-    flex-grow:1;
-    flex-basis:178px;
-    
-}
-div.imgWrap{
-    text-align: left;
-    flex-basis:145px;
-}
-.bodyWrap{
-   display: flex; 
-}
-
-.p1{
-    text-align: left;
-    color: #108ee9;
-    font-size: 14px;
-}
-
-.p2{
-    text-align: left;
-    font-size: 12px;
-}
-
-.buttonWrap{
-    flex-basis:30px;
-    display: flex;
-    align-items: center;
-}
-
-
-.button{
-    width: 42px;
-    height: 42px;
-    border-radius: 50%;
-    border: none;
-    background: #d24a58;
-}

+ 0 - 65
src/case/OrderApp/src/components/HomePage/Cards.jsx

@@ -1,65 +0,0 @@
-import React, { Component } from 'react';
-import { Card, WingBlank, WhiteSpace } from 'antd-mobile';
-// import { Item } from 'antd-mobile/lib/tab-bar';
-import './Cards.css'
-
-
-class Cards extends Component{
-
-    componentWillReceiveProps(props){
-        console.log('++++333++++',props)
-    }
-
-    onClickChange(e,d){
-        //console.log('onClickChange',e,d)
-    }
-    
-    render(){
-        //console.log(this.props.products)
-        const Cardss=this.props.store.map((item,index)=>{
-            //console.log(item)
-            return (
-                <WingBlank size="lg" key={index} className="Card">
-                    <WhiteSpace size="lg" />
-                        <Card>
-                            <Card.Header
-                                title={item.name}
-                                extra={<span>this is extra</span>} 
-                            />
-                            <Card.Body>
-                                <div className="bodyWrap">
-                                    <div className="imgWrap">
-                                        <img src={item.img} alt="icon" height="100px" width="100px"/>
-                                    </div>
-                                    <div className="sidebar">
-                                        <p className="p1">{item.describle}</p>
-                                        <p className="p2">{item.address}</p>
-                                    </div>
-                                    <div className="buttonWrap">
-                                        <button onClick={(e)=>{this.onClickChange(e,item.id)}} className="button">详情</button>
-                                    </div>
-                                </div>
-                            </Card.Body>
-                            <Card.Footer content="" extra={<div></div>}/>
-                        </Card>
-                    <WhiteSpace size="lg" />
-                </WingBlank>
-            )
-        })
-
-        return (
-            <div>
-               {Cardss}
-            </div>
-        )
-    }
-}
-export default Cards
-
-
-
-
-
-
-
-

+ 18 - 3
src/case/OrderApp/src/components/HomePage/HomePage.jsx

@@ -3,7 +3,8 @@ import React ,{Component} from 'react';
 
 import NavBars from '../common/NavBar'
 import Slide from '../common/Slide'
-import Cards from './Cards'
+import Cards from '../common/Cards'
+import Lists from '../common/List'
 
 
 export default class HomePage extends Component{
@@ -16,12 +17,26 @@ export default class HomePage extends Component{
     }
 
     render(){
+        const store =this.props.store
+
         return (
             <div>
                 <NavBars navBarText="店铺" />
                 <Slide slide={this.props.slide}/>
-                <div className="subTitle">推荐店铺</div>
-                <Cards store={this.props.store||[]}/>
+                <Lists text="推荐商家" extra="更多"/>
+                <div className="cardlist" style={{padding:"0 5px"}}>
+                    {
+                        store.map((item,index)=>{
+                            if(item.recommended==='1'){
+                                return (
+                                    <Cards key={index} item={item} changePage={this.props.changePage}/>
+                                    )
+                            }else{
+                                return ''
+                            }
+                        })
+                    }
+                </div>
             </div>
         )
     }

+ 16 - 2
src/case/OrderApp/src/components/UserPage/userPage.jsx

@@ -1,9 +1,8 @@
 import React, { Component } from 'react';
 
-
 import NavBars from '../common/NavBar'
 import Head from '../common/Head'
-
+import Lists from '../common/List'
 
 
 class UserPage extends Component{
@@ -12,12 +11,27 @@ class UserPage extends Component{
         this.state={
 
         }
+
+
+        this.toOrder=this.toOrder.bind(this)
+    }
+
+    toOrder(){
+        console.log('toOrder')
     }
+    
     render(){
         return(
             <div>
                 <NavBars navBarText="我的"/>
                 <Head />
+                <div className="lists">
+                    <Lists text="我的预约" icon="https://wly-1254337200.cos.ap-guangzhou.myqcloud.com/order.svg" callback={this.toOrder}/>
+                    <div style={{height:"30px"}}></div>
+                    <Lists text="我的客服"  callback={this.toOrder}/>
+                    <div style={{height:"10px"}}></div>
+                    <Lists text="意见反馈"  callback={this.toOrder}/>
+                </div>
             </div>
         )
     }

+ 55 - 0
src/case/OrderApp/src/components/common/Cards.css

@@ -0,0 +1,55 @@
+div.Card{
+    font-size:15px;
+}
+
+div.imgWrap{
+    flex-basis:100px;
+}
+.hot{
+    color:red;
+    font-size: 12px;
+}
+.title{
+    font-size: 15px;
+}
+p{
+    padding: 0;
+    margin: 0;
+}
+
+
+.rightsidebar{
+    padding-left: 4px;
+}
+.rightsidebar .p1,.rightsidebar .p2{
+    font-size: 14px;
+    text-align: left;
+}
+
+
+.p3{
+    text-align: left;
+    margin-top: 60px;
+}
+.sidebar{
+    padding-left:10px;
+    font-size: 14px;
+    flex-grow: 1;
+}
+.bodyWrap{
+    display: flex;
+    overflow: hidden;
+}
+
+.rightsidebar{
+    flex-basis:100px;
+}
+
+div.am-tab-bar-item{
+    height: auto;
+    background-color: #ccc;
+}
+
+div.am-card{
+   
+}

+ 69 - 0
src/case/OrderApp/src/components/common/Cards.jsx

@@ -0,0 +1,69 @@
+import React, { Component } from 'react';
+import { Card, WingBlank, WhiteSpace } from 'antd-mobile';
+//import { Item } from 'antd-mobile/lib/tab-bar';
+import './Cards.css'
+
+class Cards extends Component{
+    constructor(props){
+        console.log('111',props)
+        super(props)
+        this.state={
+            product_id:''
+        }
+    }
+    /*
+    
+    address: "合肥蜀山那长江路545号"
+    admin_id: null
+    class: "美甲"
+    createdAt: "2018/3/12"
+    describle: "只属于你一个人的浪漫"
+    id: "12312"
+    img: "https://wly-1254337200.cos.ap-guangzhou.myqcloud.com/recommend_img_02.png"
+    name: "一个人美容"
+    recommended: "1"
+    telephone: "18355093647"
+    updatedAt: "String"
+    */ 
+    
+    render(){
+        const item =this.props.item
+        const changePage=this.props.changePage
+        return(
+            <WingBlank size="lg" className="Card">
+                {/*<Link to={"/detail?product_id="+item.id}>*/}
+                    <Card onClick={(e)=>{changePage('detail',item.id)}}>
+                        <Card.Header
+                            title={<span className="title">{item.name}</span>}
+                            extra={<span className="hot">热门</span>} 
+                        />
+                        <Card.Body>
+                            <div className="bodyWrap">
+                                <div className="imgWrap">
+                                    <img src={item.img} alt="xxx" height="100px" width="100px"/>
+                                </div>
+                                <div className="sidebar">
+                                    <p style={{fontSize:"10px"}}>{item.class}</p>
+                                    <p style={{fontSize:"10px"}}>{item.describle}</p>
+                                    <p style={{fontSize:"10px"}}>{item.address}</p>
+                                    <button style={{border:"none",padding:"5px 11px",background:"green",borderRadius:"3px",color:"#fff",fontSize:"10px",marginTop:"16px"}}>了解更多</button>
+                                </div>
+                            </div>
+                        </Card.Body>
+                        <Card.Footer content="" extra={<div></div>} />
+                    </Card>
+                {/*</Link>*/}
+            <WhiteSpace size="lg" />
+        </WingBlank>
+        )
+    }
+}
+export default Cards
+
+
+
+
+
+
+
+

+ 6 - 2
src/case/OrderApp/src/components/common/List.jsx

@@ -9,15 +9,17 @@ export default class Lists extends Component {
             {
                 this.props.icon ?
                 <Item
+                extra={this.props.extra}
                 thumb={this.props.icon}
                 arrow="horizontal"
                 onClick={() => {this.props.callback()}}
-                >{this.props.text}</Item>
+                ><span className="listText">{this.props.text}</span></Item>
                 :
                 <Item
+                extra={this.props.extra}
                 arrow="horizontal"
                 onClick={() => {this.props.callback()}}
-                >{this.props.text}</Item>
+                ><span className="listText">{this.props.text}</span></Item>
             }
         </List>
     )
@@ -27,3 +29,5 @@ export default class Lists extends Component {
 
 
 
+
+

+ 1 - 2
src/case/ShopApp/src/App.css

@@ -13,7 +13,7 @@
     overflow: hidden;
     overflow-x: hidden;
     overflow-y: hidden;
-    background:#fff;
+    background-color: #f5f5f5;;
 }
 
 .App *::-webkit-scrollbar {display:none !important}
@@ -35,7 +35,6 @@ p.p1,p.p2,p.p3{
 
 .pageWrap{
     margin-top: 45px;
-    background: #ffffff;
 }
 
 

+ 33 - 0
src/case/ShopApp/src/components/Common/List.jsx

@@ -0,0 +1,33 @@
+import React, { Component } from 'react'
+import { List } from 'antd-mobile';
+const Item = List.Item;
+
+export default class Lists extends Component {
+  render() {
+    return (
+        <List >
+            {
+                this.props.icon ?
+                <Item
+                extra={this.props.extra}
+                thumb={this.props.icon}
+                arrow="horizontal"
+                onClick={() => {this.props.callback()}}
+                >{this.props.text}</Item>
+                :
+                <Item
+                extra={this.props.extra}
+                arrow="horizontal"
+                onClick={() => {this.props.callback()}}
+                >{this.props.text}</Item>
+            }
+        </List>
+    )
+  }
+}
+
+
+
+
+
+

+ 3 - 1
src/case/ShopApp/src/components/HomePage/Cards.css

@@ -19,7 +19,7 @@ p{
 
 
 .rightsidebar{
-    padding-left: 4px;
+    padding-left: 8px;
 }
 .rightsidebar .p1,.rightsidebar .p2{
     font-size: 14px;
@@ -35,6 +35,8 @@ p{
     padding-left:10px;
     font-size: 14px;
     flex-grow: 1;
+    width: 100px;
+    overflow: hidden;
 }
 .bodyWrap{
     display: flex;

+ 0 - 1
src/case/ShopApp/src/components/HomePage/Cards.jsx

@@ -28,7 +28,6 @@ class Cards extends Component{
                     {({changePage})=>{
                         return(
                             <WingBlank size="lg" className="Card">
-                            <WhiteSpace size="lg" />
                                 {/*<Link to={"/detail?product_id="+item.id}>*/}
                                     <Card onClick={(e)=>{changePage('detail',item.id)}}>
                                         <Card.Header

+ 2 - 1
src/case/ShopApp/src/components/HomePage/HomePage.css

@@ -8,6 +8,7 @@
     -webkit-overflow-scrolling: touch;
     overflow-x: scroll;
     white-space: nowrap;
-    height: 300px;
+    height: 333px;
+    background-color: #f5f5f5;
 }
 

+ 1 - 7
src/case/ShopApp/src/components/UserPage/UserPage.css

@@ -2,7 +2,7 @@
     position: relative;
     z-index: 3;
     height: 100%;
-    padding: 0 5px;
+    background-color: #f5f5f5;
 }
 
 .UserPageWrap *{
@@ -33,12 +33,6 @@
     flex-basis: 16px;
 }
 
-.toOrderCenter span:nth-child(1){
-    background: url('https://wly-1254337200.cos.ap-guangzhou.myqcloud.com/order.svg') no-repeat center center;
-}
-.toAddressCenter span:nth-child(1){
-    background: url('https://wly-1254337200.cos.ap-guangzhou.myqcloud.com/address.svg') no-repeat center center;
-}
 
 
 .toOrderCenter span:nth-child(3) ,.toAddressCenter span:nth-child(3){

+ 3 - 6
src/case/ShopApp/src/components/UserPage/UserPage.jsx

@@ -1,5 +1,6 @@
 import React, { Component } from 'react';
 import Head from './Head'
+import Lists from '../Common/List'
 
 import {graphqls} from '../../api/graphql_request'
 import {getUserByProps} from '../../api/graphql/user'
@@ -39,12 +40,8 @@ class UserPage extends Component{
                 <div className="headerWrap">
                     <Head user={this.state.user}/></div>
                 <div className="toWrap">
-                    <div className='toOrderCenter' onClick={()=>this.props.changePage('orderCenter')}>
-                        <span></span><span>我的订单</span><span></span>
-                    </div>
-                    <div className='toAddressCenter' onClick={()=>this.props.changePage('addressPage')}>
-                        <span></span><span>我的地址</span><span></span>
-                    </div>
+                    <Lists text="我的订单" icon="https://wly-1254337200.cos.ap-guangzhou.myqcloud.com/order.svg" callback={()=>{this.props.changePage('orderCenter')}}/>
+                    <Lists text="我的地址" icon="https://wly-1254337200.cos.ap-guangzhou.myqcloud.com/address.svg" callback={()=>this.props.changePage('addressPage')}/>
                 </div>
             </div>
         )

+ 3 - 45
src/gql.js

@@ -345,8 +345,8 @@ const ADD_PROJECT_AND_WX = `
                  }
              `;
 
-const CASE_SCHEMA_AND_PROJECT = `
-            query CASE_SCHEMA_AND_PROJECT($user_id: ID, $projectType: String ) {
+const CASE_AND_PROJECT = `
+            query CASE_AND_PROJECT($user_id: ID, $projectType: String ) {
                 caseProject:project_by_props(
                     projectType: $projectType,
                     user_id: "ioobot"
@@ -395,47 +395,6 @@ const CASE_SCHEMA_AND_PROJECT = `
             }
          `;
 
-const CASE_WXCONFIG_AND_PROJECT = `
-            query CASE_WXCONFIG_AND_PROJECT($user_id: ID, $projectType: String ) {
-                caseWxConfig:wxConfig_by_props(user_id: "ioobot") {
-                    appID
-                    appName
-                    appSecret
-                    attach
-                    body
-                    enter_url
-                    id
-                    mch_id
-                    notify_url
-                    pay_api_key
-                    spbill_create_ip
-                    token
-                    welcome_words
-                }
-                
-                project:project_by_props(
-                    projectType: $projectType,
-                    user_id: $user_id
-                ) {
-                    updatedAt
-                    apiGWGroup_id {
-                        id
-                    }
-                    createdAt
-                    projectName
-                    id
-                    projectType
-                    wxConfig_id {
-                        id
-                        appName
-                    }
-                    schema_id {
-                        id
-                    }
-                }
-            }
-         `;
-
 const SHOW_PROJECT = `
              query PROJECT_BY_PROPS($projectType: String, $user_id: ID) {
                  project:project_by_props(
@@ -971,8 +930,7 @@ export {
     DELETE_PROJECT,
     SHOW_TABLE,
     ADD_PROJECT_AND_SCHEMA,
-    CASE_SCHEMA_AND_PROJECT,
-    CASE_WXCONFIG_AND_PROJECT,
+    CASE_AND_PROJECT,
     SHOW_PROJECT,
     ADD_CLOUD,
     SHOW_CLOUD,