• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

校友录小程序开发笔记三十:用户认证与审核方案

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

整体说明

  1. 小程序校友数据基母校开发。由于历史数据繁多,数据库中难免存在疏漏。若无法成功认证身份,请您提交人工审核后耐心等待,或联系校友会由管理员手动审核。

     

  2. 校友数据库目前只收录建院以来全日制本科生、研究生数据,暂不支持教职工、附中、继续教育学院等部门进行认证。未收录部分已纳入系统后期开发计划,敬请期待。

     

  3. 目前在校学生可以正常认证登录,校友类型显示为“在校生”,在校生将在毕业后由校友会统一转换为校友身份。

     

  4. 海外手机号、非大陆学籍校友可能会出现身份认证不成功的情况,请电话联系校友会,由管理员手动认证。

     

  5. 所有校友数据信息将按照法律规定严格保密,不提供给任何第三方,也不用于任何商业目的。

 

  

注册与认证模块

 

进入小程序后,依次点击“我的”-“点击登录账号”(蓝色线框处)进入校友身份认证环节

 

 

认证界面如下图所示,已在完成注册认证的校友,请直接点击图标即可一键完成认证注册步骤

 

 

 

 

 

若不方便进行实名信息认证,可点击下方人工认证,选择对应校友类型填写验证信息。

 

 

 

 相关表

UserModel.DB_STRUCTURE = {
	USER_ID: \'string|true\',

	USER_NAME: \'string|true|comment=用户姓名\',
	USER_PIC: \'string|true|comment=用户头像\',
	USER_PIC_CLOUD_ID: \'string|false|comment=用户头像云存储地址\',

	USER_PHONE_CHECKED: \'string|true|comment=已校验的手机号码\',
	USER_MINI_QRCODE: \'object|false|comment=小程序码地址{url,cloudId}\',

	USER_MINI_OPENID: \'string|true|comment=小程序openid\', 
	USER_UNIONID: \'string|false|comment=微信开放平台unionid\',

	USER_WX_OPENID: \'string|false|comment=公众号openid\',
	USER_IS_SUBSCRIBE: \'int|true|default=0|comment=公众号是否关注 0/1\',
	USER_SUBSCRIBE_TIME: \'int|true|default=0|comment=公众号关注时间\',

	USER_IS_MASK: \'int|true|default=0|comment=是否马甲 0/1\',
	USER_STATUS: \'int|true|default=1|comment=状态 0=待审核,1=正常,8=VIP(###1-8为正常区间),9=禁用, 10=已删除\',
	USER_INVITE_ID: \'string|false|comment=邀请码\',

	USER_TYPE: \'int|true|default=0|comment=用户类型 0=店主\',

	USER_CHECK_PIC: \'array|false|default=[]|comment=审核图片 对象数组[{cloudId,url}]\',


	USER_SEX: \'int|true|default=1|comment=性别 1=男,2=女\',

	USER_MOBILE: \'string|false|comment=联系电话\',
	USER_WECHAT: \'string|false|comment=微信\',

	USER_COMPANY: \'string|false|comment=当前单位\', 

	USER_CITY: \'string|false|comment=当前城市\',

	USER_DESC: \'string|false|comment=自我介绍\',
	USER_RESOURCE: \'string|false|comment=可提供资源\',
	USER_NEED: \'string|false|comment=需求\',


	USER_SUPP: \'string|false|comment=注册补充说明\',

	USER_ALL_MONEY: \'int|true|default=0|comment=用户总金币\',
	USER_NOW_MONEY: \'int|true|default=0|comment=已使用金币\',

	USER_FAV_CNT: \'int|true|default=0|comment=被收藏人数\',
	USER_INVITE_CNT: \'int|true|default=0|comment=邀请人数\',
	USER_WX_GENDER: \'int|true|default=0|comment=微信性别 0=未定义,1=男,2=女\',
	USER_WX_AVATAR_URL: \'string|false|comment=微信头像链接\',
	USER_WX_NICKNAME: \'string|false|comment=微信昵称\',
	USER_WX_LANGUAGE: \'string|false|comment=微信语言\',
	USER_WX_CITY: \'string|false|comment=微信城市\',
	USER_WX_PROVINCE: \'string|false|comment=微信省份\',
	USER_WX_COUNTRY: \'string|false|comment=微信国家\',
	USER_WX_UPDATE_TIME: \'int|false|comment=微信信息更新时间\',


	USER_LOGIN_CNT: \'int|true|default=0|comment=登陆次数\',
	USER_LOGIN_TIME: \'int|false|comment=最近登录时间\',

	USER_ADD_TIME: \'int|true\',
	USER_ADD_IP: \'string|false\',

	USER_EDIT_TIME: \'int|true\',
	USER_EDIT_IP: \'string|false\',
}

  

 相关代码

	async register(userId, {
		phone,
		formData,
		inviteData,
		wechatData
	}) {

		// ### 判断openid唯一性
		let whereCnt = {
			USER_MINI_OPENID: userId
		}
		let cnt = await UserModel.count(whereCnt);
		if (cnt) {
			// 已经存在
			return await this.login(userId);
		}

		let wherePhone = {
			USER_PHONE_CHECKED: phone
		}
		let cntPhone = await UserModel.count(wherePhone);
		if (cntPhone)
			this.AppError(\'该手机号已经注册,请更换手机号码\');



		// 判断邀请信息
		let inviteId = \'\';
		if (inviteData && inviteData.code) {

			let where = {
				USER_ID: inviteData.code,
				USER_STATUS: UserModel.STATUS.COMM
			}
			let parentUser = await UserModel.getOne(where, \'USER_MINI_OPENID\');
			if (parentUser) inviteId = parentUser.USER_MINI_OPENID;

		}

		// 取得系统配置
		let setup = await SetupModel.getOne({}, \'SETUP_REG_CHECK,SETUP_TITLE\');

		if (!setup)
			this.AppError(\'系统故障\');

		// 表单值
		let data = {};

		// 设定值    
		data.USER_PHONE_CHECKED = phone; // 已校验的手机号码
		data.USER_PIC = wechatData.avatarUrl; //默认头像 

		if (wechatData.unionId)
			data.USER_UNIONID = wechatData.unionId;

		data.USER_MINI_OPENID = userId;
		data.USER_INVITE_ID = inviteId;


		// 是否审核
		data.USER_STATUS = (setup.SETUP_REG_CHECK == 1) ? UserModel.STATUS.UNUSE : UserModel.STATUS.COMM;


		// 保存用户数据
		this.fmtUserFormData(data, formData);

		// 审核补充说明
		data.USER_SUPP = formData.supp;

		// 更新时间
		data.USER_LOGIN_TIME = this._timestamp;

		// 微信值
		data.USER_WX_GENDER = wechatData.gender;
		data.USER_WX_AVATAR_URL = wechatData.avatarUrl;
		data.USER_WX_NICKNAME = wechatData.nickName;
		data.USER_WX_LANGUAGE = wechatData.language;
		data.USER_WX_CITY = wechatData.city;
		data.USER_WX_PROVINCE = wechatData.province;
		data.USER_WX_COUNTRY = wechatData.country;
		data.USER_WX_UPDATE_TIME = this._timestamp;


		await UserModel.insert(data);

		// 异步生成小程序码
		this.genMiniQr(userId);

		// 异步统计邀请
		if (inviteId) this.statMoney(inviteId);


		// 判断是否要等待审核
		if (setup.SETUP_REG_CHECK == 1) {
			let res = {
				code: \'CODE_WAITCHECK\',
				userId
			}
			return res;
		} else {
			// 异步消息提醒
			let msgService = new MsgService();
			msgService.sendRegOkMsg(userId);
		}

		return await this.login(userId);
	}

  

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap