Commit 776105dc by ethanlamzs

新增应用安装状态的查询

1 parent 4b636338
...@@ -183,6 +183,28 @@ const proxy = { ...@@ -183,6 +183,28 @@ const proxy = {
"path": "/base/category/list" "path": "/base/category/list"
}); });
}, },
'GET /api/ywpt/wx/appinfo' :(req,res) =>{
res.send({
"list":[
{
"agentid":"80",
"allow_partys":[
"1"
],
"name":"学校-微课",
"square_logo_url":"http://wx.qlogo.cn/mmhead/Q3auHgzwzM6NAhlmVKZSdpJOVQGXMtJuWPdtsxibXrcdy6CwyFcZmpQ/0"
},
{
"agentid":"36",
"allow_partys":[
"1"
],
"name":"成绩查询",
"square_logo_url":"http://wx.qlogo.cn/mmhead/Q3auHgzwzM6BBhS1C7bzs3sRRL5aOyWtBOFiaSjygZGj7GQY5TPHT7w/0"
}
]
});
},
}; };
//export default noProxy ? { "GET /*": "http://www.weixiao100.cn/","POST /*": "http://www.weixiao100.cn/" } : delay(proxy, 1000); //export default noProxy ? { "GET /*": "http://www.weixiao100.cn/","POST /*": "http://www.weixiao100.cn/" } : delay(proxy, 1000);
......
...@@ -163,7 +163,7 @@ export const getRouterData = (app) => { ...@@ -163,7 +163,7 @@ export const getRouterData = (app) => {
component: dynamicWrapper(app, ['schools','areas'], () => import('../routes/devutil/schoollist')), component: dynamicWrapper(app, ['schools','areas'], () => import('../routes/devutil/schoollist')),
}, },
'/devutil/schoolmgr/:schcode': { '/devutil/schoolmgr/:schcode': {
component: dynamicWrapper(app, ['linkman'], () => import('../routes/devutil/schoolmgr')), component: dynamicWrapper(app, ['linkman','wxdata'], () => import('../routes/devutil/schoolmgr')),
}, },
// '/user/:id': { // '/user/:id': {
// component: dynamicWrapper(app, [], () => import('../routes/User/SomeComponent')), // component: dynamicWrapper(app, [], () => import('../routes/User/SomeComponent')),
......
...@@ -92,9 +92,9 @@ class BasicLayout extends React.PureComponent { ...@@ -92,9 +92,9 @@ class BasicLayout extends React.PureComponent {
getPageTitle() { getPageTitle() {
const { routerData, location } = this.props; const { routerData, location } = this.props;
const { pathname } = location; const { pathname } = location;
let title = 'Ant Design Pro'; let title = 'wx-works console Pro';
if (routerData[pathname] && routerData[pathname].name) { if (routerData[pathname] && routerData[pathname].name) {
title = `${routerData[pathname].name} - Ant Design Pro`; title = `${routerData[pathname].name} - Wx-works console Pro`;
} }
return title; return title;
} }
...@@ -199,24 +199,14 @@ class BasicLayout extends React.PureComponent { ...@@ -199,24 +199,14 @@ class BasicLayout extends React.PureComponent {
</div> </div>
<GlobalFooter <GlobalFooter
links={[{ links={[{
key: 'Pro 首页', key: 'wx 首页',
title: 'Pro 首页', title: 'wx 首页',
href: 'http://pro.ant.design', href: 'http://www.weixiao100.cn',
blankTarget: true,
}, {
key: 'github',
title: <Icon type="github" />,
href: 'https://github.com/ant-design/ant-design-pro',
blankTarget: true,
}, {
key: 'Ant Design',
title: 'Ant Design',
href: 'http://ant.design',
blankTarget: true, blankTarget: true,
}]} }]}
copyright={ copyright={
<div> <div>
Copyright <Icon type="copyright" /> 2018 蚂蚁金服体验技术部出品 Copyright <Icon type="copyright" /> 2018 wx出品
</div> </div>
} }
/> />
......
...@@ -21,7 +21,7 @@ const links = [{ ...@@ -21,7 +21,7 @@ const links = [{
href: '', href: '',
}]; }];
const copyright = <div>Copyright <Icon type="copyright" /> 2018 蚂蚁金服体验技术部出品</div>; const copyright = <div>Copyright <Icon type="copyright" /> 2018 wx</div>;
class UserLayout extends React.PureComponent { class UserLayout extends React.PureComponent {
getPageTitle() { getPageTitle() {
...@@ -42,10 +42,10 @@ class UserLayout extends React.PureComponent { ...@@ -42,10 +42,10 @@ class UserLayout extends React.PureComponent {
<div className={styles.header}> <div className={styles.header}>
<Link to="/"> <Link to="/">
<img alt="logo" className={styles.logo} src={logo} /> <img alt="logo" className={styles.logo} src={logo} />
<span className={styles.title}>Ant Design</span> <span className={styles.title}>wx-works console</span>
</Link> </Link>
</div> </div>
<div className={styles.desc}>Ant Design 是西湖区最具影响力的 Web 设计规范</div> <div className={styles.desc}></div>
</div> </div>
<Switch> <Switch>
{getRoutes(match.path, routerData).map(item => {getRoutes(match.path, routerData).map(item =>
......
import { wxCorpAppSetUpInfo } from '../services/devutil'
export default {
namespace : 'wxdata',
state : {
applist:[]
},
effects:{
*fetch({payload},{call,put}){
const response = yield call(wxCorpAppSetUpInfo,payload);
yield put({
type:'loadwxAppSetUp',
payload:response,
});
},
},
reducers:{
loadwxAppSetUp(state,action){
return {
...state,
applist:action.payload.list,
}
},
}
}
\ No newline at end of file \ No newline at end of file
...@@ -61,10 +61,10 @@ export default class LoginPage extends Component { ...@@ -61,10 +61,10 @@ export default class LoginPage extends Component {
login.status === 'error' && login.status === 'error' &&
login.type === 'account' && login.type === 'account' &&
!login.submitting && !login.submitting &&
this.renderMessage('账户或密码错误(admin/888888)') this.renderMessage('账户或密码错误')
} }
<UserName name="account" placeholder="admin/user" /> <UserName name="account" placeholder="请输入账号信息" />
<Password name="secret" placeholder="888888/123456" /> <Password name="secret" placeholder="请输入正确的密码" />
</Tab> </Tab>
<Tab key="mobile" tab="手机号登录"> <Tab key="mobile" tab="手机号登录">
{ {
......
...@@ -44,8 +44,9 @@ import linkman from '../../../mock/linkman'; ...@@ -44,8 +44,9 @@ import linkman from '../../../mock/linkman';
const { Search } = Input; const { Search } = Input;
const TreeNode = Tree.TreeNode; const TreeNode = Tree.TreeNode;
@connect(({ linkman, loading }) => ({ @connect(({ linkman,wxdata, loading }) => ({
linkman, linkman,
wxdata,
loading: loading.models.linkman, loading: loading.models.linkman,
})) }))
export default class schoolmgr extends Component{ export default class schoolmgr extends Component{
...@@ -76,6 +77,10 @@ export default class schoolmgr extends Component{ ...@@ -76,6 +77,10 @@ export default class schoolmgr extends Component{
payload:{schoolCode:schoolCode}, payload:{schoolCode:schoolCode},
}); });
dispatch({
type: 'wxdata/fetch',
payload:{schoolCode:schoolCode},
});
} }
//初始化对应的树节点数据 //初始化对应的树节点数据
...@@ -267,6 +272,19 @@ export default class schoolmgr extends Component{ ...@@ -267,6 +272,19 @@ export default class schoolmgr extends Component{
}); });
} }
//显示应用的安装情况
renderAppSetUpInfo=(appsList)=>(
appsList.map((app)=>{
const kejianfanwen = this.renderUserBelongGroupMath(app.allow_partys);
return <div className={styles.applist} key={`a_1_${app.agentid}`}>
<Avatar src={app.square_logo_url}/> &nbsp;
<span key={`a_2_${app.agentid}`}><font size="2" color="blue">{app.name}</font></span>&nbsp;&nbsp;&nbsp;
<span>可见范围:{kejianfanwen} </span>
</div>
})
)
render(){ render(){
const topColResponsiveProps = { const topColResponsiveProps = {
...@@ -278,7 +296,7 @@ export default class schoolmgr extends Component{ ...@@ -278,7 +296,7 @@ export default class schoolmgr extends Component{
style: { marginBottom: 24 }, style: { marginBottom: 24 },
}; };
const {linkman:{groups,schoolDetail}} = this.props; const {linkman:{groups,schoolDetail},wxdata:{applist}} = this.props;
this.cacheGroupsInfo(groups); this.cacheGroupsInfo(groups);
...@@ -346,8 +364,14 @@ export default class schoolmgr extends Component{ ...@@ -346,8 +364,14 @@ export default class schoolmgr extends Component{
<Button style={{ marginLeft: 8 }} onClick={() =>this.specopation(2)}>通讯录强刷</Button> <Button style={{ marginLeft: 8 }} onClick={() =>this.specopation(2)}>通讯录强刷</Button>
</div> </div>
</ChartCard> </ChartCard>
<br/>
<ChartCard
bordered={false}
title='应用安装情况'>
<div>
{this.renderAppSetUpInfo(applist)}
</div>
</ChartCard>
</Col> </Col>
</Row> </Row>
</div>; </div>;
......
...@@ -10,4 +10,10 @@ ...@@ -10,4 +10,10 @@
margin-left: 8px; margin-left: 8px;
padding-top: 4px; padding-top: 4px;
} }
}
.applist{
padding: 5px 0;
& > *{display: inline-block;vertical-align: middle;}
} }
\ No newline at end of file \ No newline at end of file
...@@ -38,7 +38,7 @@ export async function queryWxSchLkGroup(params){ ...@@ -38,7 +38,7 @@ export async function queryWxSchLkGroup(params){
export async function querySchoolMember(params){ export async function querySchoolMember(params){
console.log('querySchoolMember'); console.log('querySchoolMember');
params = availToken(params); params = availToken(params);
return request(`/api/ywpt/wx/linkman/list?${stringify(params)}`) return request(`/api/ywpt/wx/linkman/list?${stringify(params)}`);
} }
...@@ -46,13 +46,18 @@ export async function querySchoolMember(params){ ...@@ -46,13 +46,18 @@ export async function querySchoolMember(params){
export async function querySchoolMemberDetail(params){ export async function querySchoolMemberDetail(params){
console.log('querySchoolMemberDetail'); console.log('querySchoolMemberDetail');
params = availToken(params); params = availToken(params);
return request(`/api/ywpt/wx/linkman/user?${stringify(params)}`) return request(`/api/ywpt/wx/linkman/user?${stringify(params)}`);
} }
//发起通讯录的特殊操作 //发起通讯录的特殊操作
export async function sysOperationCmd(params){ export async function sysOperationCmd(params){
console.log('delWXSchoolMember'); console.log('delWXSchoolMember');
params = availToken(params); params = availToken(params);
return request(`/api/ywpt/wx/linkman/operation_cmd?${stringify(params)}`) return request(`/api/ywpt/wx/linkman/operation_cmd?${stringify(params)}`);
} }
//获取企业号的应用安装信息
export async function wxCorpAppSetUpInfo(params){
params = availToken(params);
return request(`/api/ywpt/wx/appinfo?${stringify(params)}`);
}
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!