12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <script>
- const config = require('./static/config.js');
- export default {
- onLaunch: function() {
- let href = location.href;
- let code = this.getQueryString('code');
- /**
- * 解题思路,由于不可抗因素,导致必须想办法,现有如下想法
- * (一)如是不带code,则为自然进入,给他用微信加code;
- * (二)如果带了code,则有可能是分享(非图片分享)或者复制链接进来的
- * bug: 如果之前去掉code,则会进入(一)进入了死循环;
- * 想法:先去让他带着code去regist,成功则说明是新的code,失败则去掉code进入(一)
- */
- if(!code){
- let url = href.split('#')[0];
- url = encodeURIComponent(url);
- url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+config.appid+"&redirect_uri="+url+"&response_type=code&scope=snsapi_userinfo&state=123&connect_redirect=1#wechat_redirect"
- window.location.href = url;
- }
- this.globalData.BASE_URL = config.BASE_URL;
- },
- onShow: function() {
- let shareToken = this.getQueryString('shareToken');
- let projectId = this.getQueryString('projectId');
- this.globalData.projectId = projectId||'';
- this.globalData.shareToken = shareToken||'';
- this.regist();
- document.body.style.setProperty("background-color",this.globalData.color4);
- },
- onHide: function() {
- },
- methods: {
- getThemeInfo() {
-
- },
- getQueryString(name){
- var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i");
- return reg.test(location.href) ? unescape(RegExp.$2.replace(/\+/g, " ")) : ""
- },
- async regist() {
- let code = this.getQueryString('code');
- if(code){
- let ret = await this.$myRequest({
- url: "/regist",
- data: {
- "code": code,
- "shareToken":this.globalData.shareToken||"",
- "projectId":this.globalData.projectId||"",
- }
- });
- if (ret.data.success) {
- let userId = ret.data.single.userId;
- this.globalData.userId = userId;
- if (ret.data.single.authed == 1) {
- let token = ret.data.single.token;
- this.globalData.token = token
- }
- uni.$emit('request')
- }else{
- //注册失败,去掉老的code,会进入onLaunch,重新获取新的code
- let url = location.origin+location.pathname;
- window.location.href = url;
- }
- }
- },
- },
- globalData: {
- token: "",
- userId:"",
- projectId:"",
- shareToken:"",
- pathName:"",
- color1: "#F07423",
- color2: "#FD8F3C",
- color3: "#FFC444",
- color4: "#F5F5F7",
- color5: "#F7A98E",
- color6: "#FFF4EB",
- color7:"#F8BA91",
- color8:"#FFF4EB",
- color9:"#8B654D",
- color10:"#FCF6F1",
- BASE_URL:"https://dm-api.elab-plus.cn",//默认环境
- }
- }
- </script>
- <style>
-
- </style>
|