Commit 22f6a439 by 姜雷

添加微信校验,进入页面必须授权

parent fa0d36c0
...@@ -27,30 +27,9 @@ class App extends Component { ...@@ -27,30 +27,9 @@ class App extends Component {
userinfo: defaultUserinfo, userinfo: defaultUserinfo,
updateUserInfo: this.updateUserInfo, updateUserInfo: this.updateUserInfo,
}, },
loadingText: '加载中...',
}; };
} }
renderLogin = props => {
// const { isWx } = this.state;
const isWx = true;
const { search } = props.location;
const paramsString = search.substring(1);
const searchParams = new URLSearchParams(paramsString);
const code = searchParams.get('code');
const state = searchParams.get('state');
console.log(isWx, code, state);
if (!isWx) {
return <div>请在微信客户端打开链接</div>;
} else if (!code) {
console.log(window.location);
let rUrl = encodeURIComponent('');
window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${APP_ID}&redirect_uri=${rUrl}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect`;
return <div>授权中。。。</div>;
} else {
return <Login {...props} code={code} />;
}
};
getParams = str => { getParams = str => {
let obj = {}; let obj = {};
const searchParams = new URLSearchParams(str); const searchParams = new URLSearchParams(str);
...@@ -66,11 +45,12 @@ class App extends Component { ...@@ -66,11 +45,12 @@ class App extends Component {
userContext: { userContext: {
userinfo: { login }, userinfo: { login },
}, },
loadingText,
} = this.state; } = this.state;
const { history, location } = props; const { history, location } = props;
let params = this.getParams(location.search); let params = this.getParams(location.search);
if (login) { if (login) {
return <div style={{ margin: '60px 24px 0' }}>加载中。。。</div>; return <div style={{ margin: '60px 24px 0' }}>{loadingText}</div>;
} }
if (params.code) { if (params.code) {
console.log('fetch UserInfo'); console.log('fetch UserInfo');
...@@ -92,18 +72,22 @@ class App extends Component { ...@@ -92,18 +72,22 @@ class App extends Component {
.catch(err => { .catch(err => {
console.log(err); console.log(err);
Toast.fail(err.msg || '获取授权失败!'); Toast.fail(err.msg || '获取授权失败!');
this.updateUserInfo({ login: true });
this.setState({
loadingText: '请求授权失败!请重新进入或刷新页面!',
});
}); });
} else { } else {
console.log('go in wxAuth'); console.log('go in wxAuth');
this.goWechatAuth(); this.goWechatAuth();
} }
return <div style={{ margin: '60px 24px 0' }}>加载中。。。</div>; return <div style={{ margin: '60px 24px 0' }}>{loadingText}</div>;
}; };
goWechatAuth = () => { goWechatAuth = () => {
let rUrl = encodeURIComponent(window.location.origin); let rUrl = encodeURIComponent(window.location.origin);
window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${APP_ID}&redirect_uri=${rUrl}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect`; window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${APP_ID}&redirect_uri=${rUrl}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect`;
return <div>授权中。。。</div>; return <div style={{ margin: '60px 24px 0' }}>授权中。。。</div>;
}; };
validateUserinfo = (props, code, Component) => { validateUserinfo = (props, code, Component) => {
const { const {
...@@ -115,8 +99,8 @@ class App extends Component { ...@@ -115,8 +99,8 @@ class App extends Component {
if (!login) { if (!login) {
console.log('no login'); console.log('no login');
// product 需要修改为去微信授权 // product 需要修改为去微信授权
return <Component />; // return <Component />;
// return this.goWechatAuth(); return this.goWechatAuth();
} }
let item = author.find(i => i.code === code); let item = author.find(i => i.code === code);
if (item.type) { if (item.type) {
......
class Store { class Store {
constructor() { constructor() {
this.userId = '34'; this.userId = '';
} }
getUserId = () => { getUserId = () => {
return this.userId; return this.userId;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment