auth.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // start
  2. getUrlCode() {
  3. var url = location.search
  4. this.winUrl = url
  5. var theRequest = new Object()
  6. if (url.indexOf("?") != -1) {
  7. var str = url.substr(1)
  8. var strs = str.split("&")
  9. for (var i = 0; i < strs.length; i++) {
  10. theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1])
  11. }
  12. }
  13. return theRequest
  14. },
  15. getUrlPrams(key) {
  16. var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)", "i");
  17. var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
  18. var context = "";
  19. if (r != null) {
  20. context = r[2];
  21. }
  22. return context;
  23. },
  24. export const authInit = (options) => {
  25. var appId = "wx4eab2e3b5531d58b";
  26. var params = {};
  27. var CODE = getUrlCode();
  28. var code = CODE['code'];
  29. // alert("CODE="+code);
  30. if (code) {
  31. // console.log("打印参数",JSON.stringify(params));
  32. params.code=code;
  33. // alert(code);
  34. // alert(JSON.stringify(params));
  35. //使用code请求服务器接口,换取用户用户openID
  36. const res = await this.$myRequest({
  37. url: 'Com/getPageAuthorization',
  38. data:params
  39. })
  40. // alert(res.data.flag);
  41. if(res.data.flag==3000){
  42. alert("授权失败,请重新登录");
  43. uni.navigateTo({
  44. url: '/pages/login/login',
  45. });
  46. }
  47. if(res.data.flag==3002){
  48. alert("授权失败,请重新登录");
  49. uni.navigateTo({
  50. url: '/pages/login/login',
  51. });
  52. }
  53. return "ok";
  54. }
  55. // alert("授权开始");
  56. var cs = {};
  57. var curl=window.location.href;
  58. cs.curl=curl;
  59. // alert("当前页面路径"+curl);
  60. const res1 = await this.$myRequest({
  61. url: 'Com/getAuthorizationUrl',
  62. data:cs
  63. })
  64. // alert(res1.data);
  65. var turl=res1.data.turl;
  66. // alert(turl)
  67. window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx4eab2e3b5531d58b&redirect_uri='+turl+'&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect';
  68. }