提交 de4a3734 编写于 作者: 芊里

Merge branch 'master' of https://gitee.com/dcloud/base-app

{ {
"name" : "云端一体搜索模板", "name" : "base-app",
"appid" : "__UNI__BC54A00", "appid" : "__UNI__BC54A00",
"description" : "", "description" : "",
"versionName" : "1.0.0", "versionName" : "1.0.0",
...@@ -15,29 +15,63 @@ ...@@ -15,29 +15,63 @@
"autoclose" : true, "autoclose" : true,
"delay" : 0 "delay" : 0
}, },
"modules" : {}, "modules" : {
"OAuth" : {},
"Share" : {}
},
"distribute" : { "distribute" : {
"android" : { "android" : {
"permissions" : [ "permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", "<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>", "<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>", "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
] ]
}, },
"ios" : {}, /* ios打包配置 */
"sdkConfigs" : {} "ios" : {
"capabilities" : {
"plists" : {
"DCloudConfig" : {
"miniServer" : true
}
},
"entitlements" : {
"com.apple.developer.associated-domains" : [ "applinks:uniapp.dcloud.io" ]
}
},
"privacyDescription" : {
"NSLocalNetworkUsageDescription" : "展示游戏页面"
}
},
"sdkConfigs" : {
"oauth" : {
"apple" : {},
"weixin" : {
"appid" : "wx0411fa6a39d61297",
"appsecret" : "",
"UniversalLinks" : "https://uniapp.dcloud.io/ulink-catgame/"
}
},
"share" : {
"weixin" : {
"appid" : "wx0411fa6a39d61297",
"UniversalLinks" : "https://uniapp.dcloud.io/ulink-catgame/"
}
},
"payment" : {}
}
} }
}, },
"quickapp" : {}, "quickapp" : {},
......
...@@ -2,13 +2,29 @@ ...@@ -2,13 +2,29 @@
"pages": [{ "pages": [{
"path": "pages/list/list", "path": "pages/list/list",
"style": { "style": {
"navigationStyle":"custom", "navigationStyle": "custom"
"enablePullDownRefresh":true }
},
{
"path": "pages/grid/grid",
"style": {
"navigationStyle": "custom"
} }
}, { }, {
"path":"pages/grid/grid", "path": "uni_modules/uni-login-page/pages/index/index",
"style":{ "style": {
"navigationStyle":"custom" "navigationBarTitleText": "",
"navigationBarBackgroundColor": "#FFFFFF",
"app-plus": {
"titleNView": {
"buttons": [{
"text": "帮助",
"type": "none",
"fontSize": "16px",
"width": "60px"
}]
}
}
} }
}, { }, {
"path": "pages/search/search", "path": "pages/search/search",
...@@ -37,47 +53,41 @@ ...@@ -37,47 +53,41 @@
}, { }, {
"path": "pages/ucenter/ucenter", "path": "pages/ucenter/ucenter",
"style":{ "style": {
"navigationBarTitleText": "个人中心", "navigationBarTitleText": "个人中心",
"navigationBarBackgroundColor":"#2F85FC", "navigationBarBackgroundColor": "#2F85FC",
"navigationBarTextStyle":"white" "navigationBarTextStyle": "white"
} }
},{ }, {
"path":"pages/uni-feedback/uni-feedback", "path": "pages/uni-feedback/uni-feedback",
"style":{ "style": {
"navigationBarTitleText":"问题反馈" "navigationBarTitleText": "问题反馈"
} }
} ,{ }, {
"path" : "pages/about/about", "path": "pages/about/about",
"style" : "style": {
{
"navigationBarTitleText": "关于" "navigationBarTitleText": "关于"
} }
},{ }, {
"path" : "pages/agree-list/agree-list", "path": "pages/agree-list/agree-list",
"style" : "style": {
{
"navigationBarTitleText": "政策与协议" "navigationBarTitleText": "政策与协议"
} }
} }, {
,{ "path": "pages/agree-list/privacy/privacy",
"path" : "pages/agree-list/privacy/privacy", "style": {
"style" :
{
"navigationBarTitleText": "隐私政策" "navigationBarTitleText": "隐私政策"
} }
} }, {
,{ "path": "pages/agree-list/service/service",
"path" : "pages/agree-list/service/service", "style": {
"style" :
{
"navigationBarTitleText": "服务协议" "navigationBarTitleText": "服务协议"
} }
},{ }, {
"path": "uni_modules/uni-upgrade-center-app/pages/upgrade-popup", "path": "uni_modules/uni-upgrade-center-app/pages/upgrade-popup",
"style": { "style": {
"disableScroll": true, "disableScroll": true,
...@@ -92,86 +102,66 @@ ...@@ -92,86 +102,66 @@
} }
} }
} }, {
,{ "path": "pages/settings/settings",
"path" : "pages/settings/settings", "style": {
"style" :
{
"navigationBarTitleText": "设置" "navigationBarTitleText": "设置"
} }
} }, {
,{ "path": "pages/ucenter/edit/edit",
"path" : "pages/ucenter/edit/edit", "style": {
"style" :
{
"navigationBarTitleText": "编辑资料" "navigationBarTitleText": "编辑资料"
} }
},{ }, {
"path":"pages/ucenter/edit/uploadCutImageToUnicloud", "path": "pages/ucenter/edit/uploadCutImageToUnicloud",
"style":{ "style": {
"navigationStyle":"custom" "navigationStyle": "custom"
}
},{
"path":"uni_modules/uni-login-page/pages/index/index",
"style":{
"navigationBarTitleText":"",
"navigationBarBackgroundColor":"#FFFFFF",
"app-plus":{
"titleNView":{
"buttons":[{
"text":"帮助",
"type":"none",
"fontSize":"16px",
"width":"60px"
}]
}
}
} }
},{ }, {
"path":"uni_modules/uni-login-page/pages/index/phone-login", "path": "uni_modules/uni-login-page/pages/index/phone-login",
"style":{ "style": {
"navigationBarTitleText":"", "navigationBarTitleText": "",
"navigationBarBackgroundColor":"#FFFFFF", "navigationBarBackgroundColor": "#FFFFFF",
"app-plus":{ "app-plus": {
"titleNView":{ "titleNView": {
"buttons":[{ "buttons": [{
"text":"帮助", "text": "帮助",
"type":"none", "type": "none",
"fontSize":"16px", "fontSize": "16px",
"width":"60px" "width": "60px"
}] }]
} }
} }
} }
},{ }, {
"path":"uni_modules/uni-login-page/pages/index/pwd-login", "path": "uni_modules/uni-login-page/pages/index/pwd-login",
"style":{ "style": {
"navigationBarTitleText":"", "navigationBarTitleText": "",
"navigationBarBackgroundColor":"#FFFFFF", "navigationBarBackgroundColor": "#FFFFFF",
"app-plus":{ "app-plus": {
"titleNView":{ "titleNView": {
"buttons":[{ "buttons": [{
"text":"帮助", "text": "帮助",
"type":"none", "type": "none",
"fontSize":"16px", "fontSize": "16px",
"width":"60px" "width": "60px"
}] }]
} }
} }
} }
},{ }, {
"path":"uni_modules/uni-login-page/pages/index/pwd-retrieve", "path": "uni_modules/uni-login-page/pages/index/pwd-retrieve",
"style":{ "style": {
"navigationBarTitleText":"", "navigationBarTitleText": "",
"navigationBarBackgroundColor":"#FFFFFF", "navigationBarBackgroundColor": "#FFFFFF",
"app-plus":{ "app-plus": {
"titleNView":{ "titleNView": {
"buttons":[{ "buttons": [{
"text":"帮助", "text": "帮助",
"type":"none", "type": "none",
"fontSize":"16px", "fontSize": "16px",
"width":"60px" "width": "60px"
}] }]
} }
} }
......
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
if (!this.login) { if (!this.login) {
console.log('点击前往登录'); console.log('点击前往登录');
uni.navigateTo({ uni.navigateTo({
url: '/uni_modules/login-page/pages/index/index' url: '/uni_modules/uni-login-page/pages/index/index'
}); });
} }
else { else {
......
'use strict'; 'use strict';
const uniID = require('uni-id') const uniID = require('uni-id')
const uniCaptcha = require('uni-captcha') const uniCaptcha = require('uni-captcha')
const db = uniCloud.database() const db = uniCloud.database()
const dbCmd = db.command const dbCmd = db.command
exports.main = async (event, context) => { exports.main = async (event, context) => {
let params = event.params || {} let params = event.params || {}
// 登录记录 // 登录记录
const loginLog = async (res = {}, type = 'login') => { const loginLog = async (res = {}, type = 'login') => {
const now = Date.now() const now = Date.now()
......
// 本文件中的json内容将在云函数【运行】时作为参数传给云函数。
// 配置教程参考:https://uniapp.dcloud.net.cn/uniCloud/quickstart?id=runparam
{
"action": "quickLogin",
"params": {
"access_token": "43_Ga0tBbkdkFxu746Ub2njRpyR49M7kf4XxtV9InxFoCWOjyR9m7a43akiQyzuqverhi1qCfKj2j6SOOvDHwfyphSYcvIC7tUXe4bJRLZ7n7g",
"expires_in": 7200,
"refresh_token": "43_B7KJlMrcAnr2Hq6hMUgBVGSO8pgJpnAaFAANu7wP17FJC2chJ1tqdaeBrLDrDN1osRAf0RNBjv0yIp2muUOl9bqzrKeIp0TL4AfOcY1mdMM",
"openid": "oRrdQty-Zb6VwWjru6RV81_HwW4k",
"scope": "snsapi_userinfo",
"unionid": "oU5Yyt4zSdenNh8ZcwSNtzoXgAkM",
"type": "weixin"
}
}
...@@ -14,6 +14,9 @@ ...@@ -14,6 +14,9 @@
"weixin" : { "weixin" : {
"appid": "wx0411fa6a39d61297", "appid": "wx0411fa6a39d61297",
"appsecret": "fdc6251421d3d688a563b4f00dd540e7" "appsecret": "fdc6251421d3d688a563b4f00dd540e7"
},
"apple": {
"bundleId": "io.dcloud.game.cat"
} }
} }
}, },
...@@ -37,8 +40,8 @@ ...@@ -37,8 +40,8 @@
"sms": { "sms": {
"name": "DCloud", "name": "DCloud",
"codeExpiresIn": 300, "codeExpiresIn": 300,
"smsKey": "your sms key", "smsKey": "71a19f38c954f7d768d68a050486bf15",
"smsSecret": "your sms secret" "smsSecret": "d6c424b702d73baa3b6e1a1452469213"
}, },
"univerify":{ "univerify":{
"appid": "__UNI__GameCat", "appid": "__UNI__GameCat",
......
...@@ -6,23 +6,7 @@ ...@@ -6,23 +6,7 @@
"packages": { "packages": {
"": { "": {
"version": "3.0.8", "version": "3.0.8",
"license": "Apache-2.0",
"dependencies": {
"uni-config-center": "file:../../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center"
}
},
"../../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center": {
"version": "0.0.1",
"license": "Apache-2.0" "license": "Apache-2.0"
},
"node_modules/uni-config-center": {
"resolved": "../../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center",
"link": true
}
},
"dependencies": {
"uni-config-center": {
"version": "file:../../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center"
} }
} }
} }
<template> <template>
<view class="flex flex-column flex-1 w-750 bg-white"> <view class="flex flex-column flex-1 w-750 bg-white">
<!-- 登录主体 --> <view class="flex-1 flex flex-column justify-start align-center">
<view class="flex flex-column flex-1 w-750 justify-center align-center"> <view class="w-630 flex flex-column">
<view class="flex justify-center align-center show-phone"> <!-- 顶部文字 -->
<text class="font-28">登陆后即可展示自己</text> <text class="font-32 font-blod pt-5">登陆后即可展示自己</text>
<text class="font-50">{{phoneNumberShow}}</text> <login-ikonw class="lgnin-iknow" :link="link" text="登录即表示同意用户协议和隐私政策"></login-ikonw>
<text class="font-26 text-sub">认证服务由(某服务商)提供</text>
<!-- 登录框 (选择手机号所属国家和地区需要另行实现) -->
<view class="phone-input-box round flex flex-row flex-nowrap align-center justify-center">
<picker mode="selector" :range="phoneArea" @change="selectPhoneArea">
<text class="px-2 font-30">{{currenPhoneArea}}</text>
</picker>
<input type="number" class="flex-1 phone-input px-2 font-30" placeholder="请输入手机号"
v-model="phoneNumber" />
</view> </view>
<view class="">
<button type="primary" class="w-630 round">本机号码一键登录</button> <!-- tip -->
<button type="default" class="w-630 round my-2" @click="toOtherPhone">其他手机号码登陆</button> <text class="text-sub font-26 tip-text">未注册的手机号验证通过后蒋自动注册</text>
<!-- 发送按钮 -->
<view class="send-btn-box flex w-630 justify-center align-center round" hover-class="hover"
@click="sendShortMsg" :class="canGetShortMsg?'send-btn-active':''">
<text class="text-white">获取短信验证码</text>
</view> </view>
<view class="w-400 py-2 justify-center align-center flex">
<login-ikonw :link="link" text="登录即表示同意用户协议和隐私政策以及(某服务商)认证服务条款"></login-ikonw> <!-- 其他登录方式 -->
<view class="w-630 flex flex-row align-center justify-between">
<text class="font-26 login-text" hover-class="hover" @click="toPwdLogin">密码登录</text>
<text class="font-26 login-text" hover-class="hover" @click="openLoginList">其他登录方式</text>
</view> </view>
</view> </view>
<!-- 第三方登陆 -->
<view class="py-2">
<auth-btn @login="authLogin"></auth-btn>
</view> </view>
<!-- 登录按钮弹窗 -->
<login-action-sheet ref="loginActionSheet"></login-action-sheet>
<uni-quick-login></uni-quick-login>
</view> </view>
</template> </template>
...@@ -26,46 +41,44 @@ ...@@ -26,46 +41,44 @@
export default { export default {
data() { data() {
return { return {
phoneNumber:'', link: [{
link:[{ text: '用户协议',
text:'用户协议', to: '/baidu.com'
to:'/baidu.com'
}, {
text:'隐私政策',
to:'baidu'
}, { }, {
text:'(某服务商)认证服务条款', text: '隐私政策',
to:'baidu' to: 'baidu'
}] }],
phoneArea: ['+86', '+87'],
currenPhoneArea: '+86',
phoneNumber: ''
} }
}, },
onLoad() { computed: {
this.phoneNumber = '17731252731'; canGetShortMsg() {
}, let reg = /^1\d{10}$/;
computed:{ return reg.test(this.phoneNumber);
// 手机号中间隐藏
phoneNumberShow(){
let phone = this.phoneNumber;
if(phone == '')return '';
return phone.replace(/^(\d{3})\d{4}(\d{4})$/, '$1****$2');
} }
}, },
methods: { methods: {
selectPhoneArea(event) {
this.currenPhoneArea = this.phoneArea[event.detail.value];
},
sendShortMsg() {
if (!this.canGetShortMsg) return;
/** /**
* @param {Object} auth 第三方登录回调 * 发送验证吗
* value
* image
*/ */
authLogin(auth){
console.log('auth_', auth);
}, },
/** /**
* 其他手机号码登陆 * 去密码登录页
*/ */
toOtherPhone(){ toPwdLogin() {
uni.navigateTo({ uni.navigateTo({
url:'./phone-login' url: './pwd-login'
}) })
},
openLoginList() {
this.$refs.loginActionSheet.open();
} }
} }
} }
...@@ -73,7 +86,38 @@ ...@@ -73,7 +86,38 @@
<style> <style>
@import url("../../common/myStyle.css"); @import url("../../common/myStyle.css");
.show-phone{
padding-bottom: 120rpx; .lgnin-iknow {
padding-top: 24rpx;
padding-bottom: 48rpx;
}
.phone-input-box {
height: 85rpx;
background-color: #f9f9f9;
}
.phone-input {
border-left-width: 1px;
border-left-color: #d7d9d8;
}
.tip-text {
padding-top: 20rpx;
padding-bottom: 36rpx;
}
.send-btn-box {
height: 85rpx;
background-color: #d8d8da;
margin-bottom: 50rpx;
}
.send-btn-active {
background-color: #007aff;
}
.login-text {
color: #1c436e;
} }
</style> </style>
\ No newline at end of file
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
</view> </view>
<!-- 登录按钮弹窗 --> <!-- 登录按钮弹窗 -->
<login-action-sheet ref="loginActionSheet"></login-action-sheet> <login-action-sheet ref="loginActionSheet"></login-action-sheet>
<uni-quick-login></uni-quick-login>
</view> </view>
</template> </template>
......
<template>
<view class="quick-login-box">
<view class="item" v-for="({text,logo,name},index) in providerList" :key="index" @click="login(name)">
<image class="logo" :src="logo" mode="widthFix"></image>
<text class="login-title">{{text}}</text>
</view>
</view>
</template>
<script>
export default {
data() {
return {
config: {
"weixin": {
"text": "微信登陆",
"logo": "../../static/login/img/weixin.png"
},
"qq": {
"text": "QQ登陆",
"logo": "../../static/login/img/qq.png"
},
"xiaomi": {
"text": "小米登陆",
"logo": "../../static/login/img/qq.png"
},
"apple": {
"text": "苹果登陆",
"logo": "../../static/login/img/apple.png"
},
"sinaweibo": {
"text": "微博登录",
"logo": "../../static/login/img/sinaweibo.png"
},
"univerify": {
"text": "一键登陆",
"logo": "../../static/login/img/univerify.png"
}
},
providerList: [],
univerifyStyle: {
"fullScreen": false, // 是否全屏显示,true表示全屏模式,false表示非全屏模式,默认值为false。
"backgroundColor": "#ffffff", // 授权页面背景颜色,默认值:#ffffff
}
}
},
mounted() {
uni.getProvider({
"service": "oauth",
success: res => {
this.providerList = res.provider.map((name) => {
return {...this.config[name],name}
})
this.login('univerify')
},
fail: (err) => {
console.error('获取服务供应商失败:' + JSON.stringify(err));
}
})
},
methods: {
login(type) {
uni.showLoading({mask: true});
uni.login({
"provider": type,
"univerifyStyle":this.univerifyStyle,
success:async e => {
console.log(e);
if(type=='apple'){
let res = await this.getUserInfo({provider:"apple"})
Object.assign(e.authResult,res.userInfo)
}
this.quickLogin(e.authResult,type)
},
fail: (err) => {
uni.hideLoading()
console.log(err);
if(err.errCode===30002){
console.log('你手动关闭了,一键登陆');
}
}
})
},
quickLogin(authResult,type){
//请勿直接使用authResult中的unionid或openid直接用于登陆,前端的数据都是不可靠的
console.log({...authResult,type});
uniCloud.callFunction({//联网验证登陆
"name": "user",
"data": {
"action": "quickLogin",
"params": {...authResult,type}
},
success: (e) => {
console.log(e.result);
uni.showModal({
content: JSON.stringify(e.result),
showCancel: false
});
if(type=='univerify'){
uni.closeAuthView()
}
},
fail: (err) => {
console.log(err);
if(err.errCode===30002){
}
},
complete: () => {
uni.hideLoading()
}
})
},
async getUserInfo(e){
return new Promise((resolve, reject)=>{
uni.getUserInfo({
...e,
success: (res) => {
resolve(res);
},
fail: (err) => {
uni.showModal({
content: JSON.stringify(err),
showCancel: false
});
reject(err);
}
})
})
}
}
}
</script>
<style scoped>
.quick-login-box {
flex-direction: row;
width: 750rpx;
justify-content: space-around;
}
.item {
flex-direction: column;
justify-content: center;
align-items: center;
height: 200rpx;
}
.logo {
width: 60rpx;
height: 60rpx;
}
.login-title {
font-size: 26rpx;
}
</style>
\ No newline at end of file
{
"id": "quick-login",
"displayName": "quick-login",
"version": "1.0.0",
"description": "quick-login",
"keywords": [
"quick-login"
],
"repository": "",
"engines": {
"HBuilderX": "^3.1.0"
},
"dcloudext": {
"category": [
"uniCloud",
"云端一体页面模板"
],
"sale": {
"regular": {
"price": "0.00"
},
"sourcecode": {
"price": "0.00"
}
},
"contact": {
"qq": ""
},
"declaration": {
"ads": "",
"data": "",
"permissions": ""
},
"npmurl": ""
},
"uni_modules": {
"dependencies": [],
"encrypt": [],
"platforms": {
"cloud": {
"tcb": "u",
"aliyun": "u"
},
"client": {
"App": {
"app-vue": "u",
"app-nvue": "u"
},
"H5-mobile": {
"Safari": "u",
"Android Browser": "u",
"微信浏览器(Android)": "u",
"QQ浏览器(Android)": "u"
},
"H5-pc": {
"Chrome": "u",
"IE": "u",
"Edge": "u",
"Firefox": "u",
"Safari": "u"
},
"小程序": {
"微信": "u",
"阿里": "u",
"百度": "u",
"字节跳动": "u",
"QQ": "u"
},
"快应用": {
"华为": "u",
"联盟": "u"
}
}
}
}
}
\ No newline at end of file
# uni-quick-login
\ No newline at end of file
...@@ -21,59 +21,14 @@ class User { ...@@ -21,59 +21,14 @@ class User {
case 'univerify': case 'univerify':
return uniID.loginByUniverify({access_token,openid}) return uniID.loginByUniverify({access_token,openid})
break; break;
case 'apple':
return await uniID.loginByApple(params)
break;
default: default:
return {"code":100,"msg":"暂不提供"+type+"登陆的云端接口演示"}
break; break;
} }
} }
/*
async loginLog(){
const now = Date.now()
const uniIdLogCollection = db.collection('uni-id-log')
let logData = {
deviceId: params.deviceId || context.DEVICEID,
ip: params.ip || context.CLIENTIP,
type:"login",
ua: context.CLIENTUA,
create_date: now
};
Object.assign(logData,
res.code === 0 ? {
user_id: res.uid,
state: 1
} : {
state: 0
})
return await uniIdLogCollection.add(logData)
}
async register(){
return await uniID.register(params);
}
async login(){
let passed = false;
let needCaptcha = await getNeedCaptcha();
if (needCaptcha) {
res = await uniCaptcha.verify(params)
if (res.code === 0) passed = true;
}
if (!needCaptcha || passed) {
res = await uniID.login(params);
await loginLog(res);
needCaptcha = await getNeedCaptcha();
}
res.needCaptcha = needCaptcha;
}
async loginByWeixin(){
}
async checkToken(){
return uniID.checkToken(event.uniIdToken);
}
async logout(){
return await uniID.logout(event.uniIdToken)
}
async sendSmsCode(){ async sendSmsCode(){
// 简单限制一下客户端调用频率 // 简单限制一下客户端调用频率
const ipLimit = await db.collection('uni-verify').where({ const ipLimit = await db.collection('uni-verify').where({
...@@ -86,7 +41,7 @@ class User { ...@@ -86,7 +41,7 @@ class User {
msg: '请求过于频繁' msg: '请求过于频繁'
} }
} }
const templateId = '' // 替换为自己申请的模板id const templateId = '11753' // 替换为自己申请的模板id
if (!templateId) { if (!templateId) {
return { return {
code: 500, code: 500,
...@@ -102,67 +57,6 @@ class User { ...@@ -102,67 +57,6 @@ class User {
templateId templateId
}) })
} }
async loginBySms(){
if (!params.code) {
return {
code: 500,
msg: '请填写验证码'
}
}
if (!/^1\d{10}$/.test(params.mobile)) {
return {
code: 500,
msg: '手机号码填写错误'
}
}
res = await uniID.loginBySms(params)
loginLog(res)
}
async inviteLogin(){
if (!params.code) {
return {
code: 500,
msg: '请填写验证码'
}
}
res = await uniID.loginBySms({
...params,
type: 'register'
})
}
async getInviteCode(){
let res = await uniID.getUserInfo({
uid: params.uid,
field: ['my_invite_code']
})
if (res.code === 0) {
res.myInviteCode = res.userInfo.my_invite_code
delete res.userInfo
}
}
async getInvitedUser(){
return uniID.getInvitedUser(params)
}
async loginByUniverify(){
return await uniID.loginByUniverify(params)
}
async loginByApple(){
res = await uniID.loginByApple(params)
loginLog(res)
}
async updatePwd(){
return await uniID.updatePwd({
uid: params.uid,
...params
})
}
async createCaptcha(){
return await uniCaptcha.create(params)
}
async refreshCaptcha(){
return await uniCaptcha.refresh(params)
}
*/
} }
const userClass = new User(); const userClass = new User();
exports.main = async (event, ctx) => { exports.main = async (event, ctx) => {
......
...@@ -8,20 +8,20 @@ ...@@ -8,20 +8,20 @@
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"uni-captcha": "file:../../../uni_modules/uni-captcha/uniCloud/cloudfunctions/common/uni-captcha", "uni-captcha": "file:../../../../uni-captcha/uniCloud/cloudfunctions/common/uni-captcha",
"uni-config-center": "file:../../../uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center", "uni-config-center": "file:../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center",
"uni-id": "file:../../../uni_modules/uni-id/uniCloud/cloudfunctions/common/uni-id" "uni-id": "file:../../../../uni-id/uniCloud/cloudfunctions/common/uni-id"
} }
}, },
"../../../uni_modules/uni-captcha/uniCloud/cloudfunctions/common/uni-captcha": { "../../../../uni-captcha/uniCloud/cloudfunctions/common/uni-captcha": {
"version": "0.1.0", "version": "0.1.0",
"license": "Apache-2.0" "license": "Apache-2.0"
}, },
"../../../uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center": { "../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center": {
"version": "0.0.1", "version": "0.0.1",
"license": "Apache-2.0" "license": "Apache-2.0"
}, },
"../../../uni_modules/uni-id/uniCloud/cloudfunctions/common/uni-id": { "../../../../uni-id/uniCloud/cloudfunctions/common/uni-id": {
"version": "3.0.8", "version": "3.0.8",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
...@@ -29,27 +29,27 @@ ...@@ -29,27 +29,27 @@
} }
}, },
"node_modules/uni-captcha": { "node_modules/uni-captcha": {
"resolved": "../../../uni_modules/uni-captcha/uniCloud/cloudfunctions/common/uni-captcha", "resolved": "../../../../uni-captcha/uniCloud/cloudfunctions/common/uni-captcha",
"link": true "link": true
}, },
"node_modules/uni-config-center": { "node_modules/uni-config-center": {
"resolved": "../../../uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center", "resolved": "../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center",
"link": true "link": true
}, },
"node_modules/uni-id": { "node_modules/uni-id": {
"resolved": "../../../uni_modules/uni-id/uniCloud/cloudfunctions/common/uni-id", "resolved": "../../../../uni-id/uniCloud/cloudfunctions/common/uni-id",
"link": true "link": true
} }
}, },
"dependencies": { "dependencies": {
"uni-captcha": { "uni-captcha": {
"version": "file:../../../uni_modules/uni-captcha/uniCloud/cloudfunctions/common/uni-captcha" "version": "file:../../../../uni-captcha/uniCloud/cloudfunctions/common/uni-captcha"
}, },
"uni-config-center": { "uni-config-center": {
"version": "file:../../../uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center" "version": "file:../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center"
}, },
"uni-id": { "uni-id": {
"version": "file:../../../uni_modules/uni-id/uniCloud/cloudfunctions/common/uni-id", "version": "file:../../../../uni-id/uniCloud/cloudfunctions/common/uni-id",
"requires": { "requires": {
"uni-config-center": "file:../../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center" "uni-config-center": "file:../../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center"
} }
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"uni-captcha": "file:../../../uni_modules/uni-captcha/uniCloud/cloudfunctions/common/uni-captcha", "uni-captcha": "file:../../../../uni-captcha/uniCloud/cloudfunctions/common/uni-captcha",
"uni-config-center": "file:../../../uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center", "uni-config-center": "file:../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center",
"uni-id": "file:../../../uni_modules/uni-id/uniCloud/cloudfunctions/common/uni-id" "uni-id": "file:../../../../uni-id/uniCloud/cloudfunctions/common/uni-id"
} }
} }
// 本文件中的json内容将在云函数【运行】时作为参数传给云函数。
// 配置教程参考:https://uniapp.dcloud.net.cn/uniCloud/quickstart?id=runparam
{
"action": "sendSmsCode",
"params": {
"mobile":"17769516081",
"type":"register"
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册