export default {
	data() {
		return {
			authInfo: {}
		}
	},
	methods: {
		/**
		 * 获取用户登录凭证code
		 */
		getCode(callback) {
			// 微信小程序
			// #ifdef MP-WEIXIN
			uni.login({
				provider: 'weixin',
				timeout: 3000,
				success: res => {
					if (res.code) {
						this.$api.sendRequest({
							url: '/weapp/api/weapp/authcodetoopenid',
							data: {
								code: res.code
							},
							success: res => {
								if (res.code >= 0) {
									if (res.data.openid) this.authInfo.weapp_openid = res.data
										.openid;
									if (res.data.unionid) this.authInfo.wx_unionid = res.data
										.unionid;
									typeof callback == 'function' && callback(this.authInfo);
								} else {
									this.$util.showToast({
										title: res.message ? res.message : '小程序配置错误'
									});
								}
							}
						})
					}
				},
				fail: (res) => {
					// #ifdef MP-WEIXIN
					let scene = wx.getLaunchOptionsSync().scene;
					if ([1154, 1155].indexOf(scene) == -1) {
						this.$util.showToast({
							title: res.errMsg
						});
					}
					// #endif
				}
			})
			// #endif

			// #ifdef MP-ALIPAY
			uni.login({
				timeout: 3000,
				success: res => {
					if (res.code) {
						this.$api.sendRequest({
							url: '/aliapp/api/aliapp/authcodetouserid',
							data: {
								code: res.code
							},
							success: res => {
								if (res.code >= 0) {
									if (res.data.user_id) this.authInfo.ali_openid = res.data
										.user_id;
									typeof callback == 'function' && callback(this.authInfo);
								} else {
									this.$util.showToast({
										title: res.message ? res.message : '小程序配置错误'
									});
								}
							}
						})
					}
				},
				fail: (err) => {
					this.$util.showToast({
						title: res.errMsg
					});
				}
			})
			// #endif

			// #ifdef H5
			if (this.$util.isWeiXin()) {
				this.$api.sendRequest({
					url: '/wechat/api/wechat/authcode',
					data: {
						redirect_url: location.href,
						scopes: 'snsapi_userinfo'
					},
					success: res => {
						if (res.code >= 0) {
							location.href = res.data;
						}
					}
				});
			}
			// #endif
		}
	}
}