| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 
							- <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');
 
- 			let pathName  = this.getQueryString('pathName');
 
- 			this.globalData.projectId = projectId||'';
 
- 			this.globalData.shareToken = shareToken||'';
 
- 			this.globalData.pathName = pathName||'';
 
- 			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 href = location.href;
 
- 						let hrefs = href.split('#');
 
- 						let shareToken = this.getQueryString('shareToken')
 
- 						let projectId = this.getQueryString('projectId')
 
- 						let state = this.getQueryString('state');
 
- 						let url = location.origin+location.pathname + "?shareToken="+shareToken+"&projectId="+projectId+"&state="+state+"&pathName="+hrefs[1];
 
- 						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>
 
 
  |