微信小程序优化

This commit is contained in:
devil_gong 2019-11-28 17:14:13 +08:00
parent 373157e6b0
commit a18dc4c89b
24 changed files with 425 additions and 299 deletions

View File

@ -67,12 +67,16 @@ ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发
站点配置
> 站点设置
> 基础配置
> 备案信息
> 站点类型
> 用户注册
> 用户登录
> 密码找回
> 附件
> 图片验证码
> 订单售后
> 搜索
> 扩展项
> 短信设置
> 短信设置
> 消息模板

View File

@ -164,7 +164,14 @@ class User extends Common
$result = (new \base\Wechat(MyC('common_app_mini_weixin_appid'), MyC('common_app_mini_weixin_appsecret')))->GetAuthSessionKey($this->data_post['authcode']);
if($result !== false)
{
return DataReturn('授权登录成功', 0, $result);
// 先从数据库获取用户信息
$user = UserService::AppUserInfoHandle(null, 'weixin_openid', $result);
if(empty($user))
{
return DataReturn('授权登录成功', 0, ['is_alipay_user_exist'=>0, 'openid'=>$result]);
}
$user['is_alipay_user_exist'] = 1;
return DataReturn('授权登录成功', 0, $user);
}
return DataReturn('授权登录失败', -100);
}

View File

@ -265,7 +265,7 @@ App({
} else {
my.setStorageSync({
key: self.data.cache_user_login_key,
data: res.data.data.openid
data: data.openid
});
self.login_to_auth();
}

View File

@ -19,7 +19,7 @@ Page({
// 初始化
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
my.redirectTo({

View File

@ -289,7 +289,7 @@ Page({
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
my.navigateTo({
url: "/pages/login/login?event_callback=init"
url: "/pages/login/login?event_callback=goods_favor_event"
});
return false;
} else {
@ -601,7 +601,7 @@ Page({
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
my.navigateTo({
url: "/pages/login/login?event_callback=init"
url: "/pages/login/login?event_callback=goods_buy_confirm_event"
});
return false;
} else {

View File

@ -52,6 +52,7 @@ Page({
init() {
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
my.redirectTo({
@ -62,6 +63,12 @@ Page({
// 获取数据
this.get_data_list();
}
} else {
this.setData({
data_list_loding_status: 0,
data_bottom_line_status: false,
});
}
},
// 获取数据

View File

@ -68,7 +68,7 @@ App({
// 请求地址
request_url: "{{request_url}}",
request_url: 'http://tp5-dev.com/',
request_url: 'https://dev.shopxo.net/',
//request_url: 'https://dev.shopxo.net/',
// 基础信息
application_title: "{{application_title}}",
@ -154,6 +154,24 @@ App({
);
},
/**
* 获取用户信息,信息不存在则唤醒授权
* object 回调操作对象
* method 回调操作对象的函数
* return 有用户数据直接返回, 则回调调用者
*/
get_user_info(object, method) {
var user = this.get_user_cache_info();
if (user == false) {
// 唤醒用户授权
this.user_auth_login(object, method);
return false;
} else {
return user;
}
},
/**
* 从缓存获取用户信息
*/
@ -209,11 +227,28 @@ App({
header: { 'content-type': 'application/x-www-form-urlencoded' },
success: (res) => {
if (res.data.code == 0) {
var data = res.data.data;
if ((data.is_alipay_user_exist || 0) == 1) {
wx.hideLoading();
wx.setStorage({
key: self.data.cache_user_info_key,
data: data,
success: (res) => {
if (typeof object === 'object' && (method || null) != null) {
object[method]();
}
},
fail: () => {
self.showToast('用户信息缓存失败');
}
});
} else {
wx.setStorage({
key: self.data.cache_user_login_key,
data: res.data.data
data: data
});
self.get_user_login_info(object, method, res.data.data, auth_data);
self.get_user_login_info(object, method, data, auth_data);
}
} else {
wx.hideLoading();
self.showToast(res.data.msg);

View File

@ -13,7 +13,8 @@ Page({
// 初始化
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({
@ -21,6 +22,7 @@ Page({
});
return false;
}
}
},
/**

View File

@ -22,9 +22,9 @@ Page({
},
init(e) {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
var msg = (user == false) ? '授权用户信息' : '绑定手机号码';
if (app.user_is_need_login(user)) {
wx.showModal({
title: '温馨提示',
@ -48,6 +48,14 @@ Page({
} else {
this.get_data();
}
} else {
wx.stopPullDownRefresh();
this.setData({
data_list_loding_status: 0,
data_bottom_line_status: false,
data_list_loding_msg: '请先授权用户信息',
});
}
},
// 获取数据

View File

@ -80,7 +80,7 @@ Page({
// 优惠劵领取事件
coupon_receive_event(e) {
var user = app.get_user_cache_info(this, "coupon_receive_event");
var user = app.get_user_info(this, "coupon_receive_event");
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({

View File

@ -19,7 +19,7 @@ Page({
// 初始化
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({

View File

@ -288,11 +288,12 @@ Page({
// 收藏事件
goods_favor_event(e)
{
var user = app.get_user_cache_info(this, 'goods_favor_event');
var user = app.get_user_info(this, 'goods_favor_event');
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.navigateTo({
url: "/pages/login/login?event_callback=init"
url: "/pages/login/login?event_callback=goods_favor_event"
});
return false;
} else {
@ -327,15 +328,17 @@ Page({
}
});
}
}
},
// 加入购物车事件
goods_cart_event(e, spec) {
var user = app.get_user_cache_info(this, 'goods_buy_confirm_event');
goods_cart_event(spec) {
var user = app.get_user_info(this, 'goods_buy_confirm_event');
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.navigateTo({
url: "/pages/login/login?event_callback=init"
url: "/pages/login/login?event_callback=goods_buy_confirm_event"
});
return false;
} else {
@ -364,6 +367,7 @@ Page({
}
});
}
}
},
// 规格事件
@ -598,11 +602,12 @@ Page({
// 确认
goods_buy_confirm_event(e) {
var user = app.get_user_cache_info(this, 'goods_buy_confirm_event');
var user = app.get_user_info(this, 'goods_buy_confirm_event');
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.navigateTo({
url: "/pages/login/login?event_callback=init"
url: "/pages/login/login?event_callback=goods_buy_confirm_event"
});
return false;
} else {
@ -648,13 +653,14 @@ Page({
break;
case 'cart' :
this.goods_cart_event(e, spec);
this.goods_cart_event(spec);
break;
default :
app.showToast("操作事件类型有误");
}
}
}
},
// 详情图片查看
@ -782,7 +788,7 @@ Page({
// 商品海报分享
poster_event() {
var user = app.get_user_cache_info(this, 'poster_event');
var user = app.get_user_info(this, 'poster_event');
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.navigateTo({
@ -817,10 +823,10 @@ Page({
// 优惠劵领取事件
coupon_receive_event(e) {
var user = app.get_user_cache_info(this, "coupon_receive_event");
var user = app.get_user_nifo(this, "coupon_receive_event");
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({
my.redirectTo({
url: "/pages/login/login?event_callback=coupon_receive_event"
});
return false;

View File

@ -30,31 +30,20 @@ Page({
* 登录授权事件
*/
get_user_info_event(e) {
this.user_auth_code(null, null, e.detail);
this.user_auth_code(e.detail);
},
/**
* 用户授权
* object 回调操作对象
* method 回调操作对象的函数
* auth_data 授权数据
*/
user_auth_code(object, method, auth_data) {
// 请求授权接口
var self = this;
wx.getSetting({
success(res) {
if (!res.authSetting['scope.userInfo']) {
self.setData({ user: null});
user_auth_code(auth_data) {
if ((auth_data.encryptedData || null) != null && (auth_data.iv || null) != null) {
app.user_auth_login(this, 'user_auth_back_event', auth_data);
} else {
app.user_auth_login(self, 'user_auth_back_event', auth_data);
app.showToast("授权失败");
}
},
fail: (e) => {
app.showToast("授权校验失败");
}
});
},
/**
* 授权返回事件

View File

@ -14,7 +14,8 @@ Page({
},
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({
@ -25,6 +26,12 @@ Page({
// 获取数据
this.get_data_list();
}
} else {
this.setData({
data_list_loding_status: 0,
data_bottom_line_status: false,
});
}
},
get_data_list(is_mandatory) {

View File

@ -37,12 +37,17 @@ Page({
},
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({
url: "/pages/login/login?event_callback=init"
});
this.setData({
data_list_loding_status: 2,
data_list_loding_msg: '请先绑定手机号码',
});
return false;
} else {
// 获取地址数据
@ -54,6 +59,12 @@ Page({
// 获取省
this.get_province_list();
}
} else {
this.setData({
data_list_loding_status: 2,
data_list_loding_msg: '请先授权用户信息',
});
}
},
// 获取用户地址

View File

@ -19,7 +19,8 @@ Page({
// 初始化
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({
@ -30,6 +31,12 @@ Page({
// 获取数据
this.get_data_list();
}
} else {
this.setData({
data_list_loding_status: 0,
data_bottom_line_status: false,
});
}
},
// 获取数据列表

View File

@ -16,7 +16,8 @@ Page({
},
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({
@ -27,6 +28,12 @@ Page({
// 获取数据
this.get_data_list();
}
} else {
this.setData({
data_list_loding_status: 0,
data_bottom_line_status: false,
});
}
},
get_data_list(is_mandatory) {

View File

@ -23,7 +23,7 @@ Page({
},
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({

View File

@ -14,7 +14,8 @@ Page({
},
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({
@ -25,6 +26,12 @@ Page({
// 获取数据
this.get_data_list();
}
} else {
this.setData({
data_list_loding_status: 0,
data_bottom_line_status: false,
});
}
},
// 获取数据

View File

@ -14,7 +14,8 @@ Page({
},
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({
@ -25,6 +26,12 @@ Page({
// 获取数据
this.get_data_list();
}
} else {
this.setData({
data_list_loding_status: 0,
data_bottom_line_status: false,
});
}
},
// 获取数据

View File

@ -14,7 +14,8 @@ Page({
},
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({
@ -25,6 +26,12 @@ Page({
// 获取数据
this.get_data_list();
}
} else {
this.setData({
data_list_loding_status: 0,
data_bottom_line_status: false,
});
}
},
get_data_list(is_mandatory) {

View File

@ -49,7 +49,8 @@ Page({
},
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, 'init');
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({
@ -60,6 +61,12 @@ Page({
// 获取数据
this.get_data_list();
}
} else {
this.setData({
data_list_loding_status: 0,
data_bottom_line_status: false,
});
}
},
// 输入框事件

View File

@ -51,7 +51,8 @@ Page({
},
init() {
var user = app.get_user_cache_info(this, "init");
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
wx.redirectTo({
@ -62,6 +63,12 @@ Page({
// 获取数据
this.get_data_list();
}
} else {
this.setData({
data_list_loding_status: 0,
data_bottom_line_status: false,
});
}
},
// 获取数据

View File

@ -33,14 +33,14 @@ Page({
},
init(e) {
var user = app.get_user_cache_info(this, "init"),
var user = app.get_user_info(this, "init"),
self = this;
if (user != false) {
// 用户未绑定用户则转到登录页面
var msg = (user == false) ? '授权用户信息' : '绑定手机号码';
if (app.user_is_need_login(user)) {
wx.showModal({
title: '温馨提示',
content: msg,
content: '绑定手机号码',
confirmText: '确认',
cancelText: '暂不',
success: (result) => {
@ -59,6 +59,7 @@ Page({
} else {
self.get_data();
}
}
},
// 获取数据