财务系统开发文档>三方登录(Oauth)
ce oauth\weixin;2)、创建类名 weixin (类名和文件名一致)3)、类中配置函数 (下面四个函数名是固定,不能改也不能缺失,其它需要的功能自己写函数) 插件信息函数 meta() 插件接口配置信息 config() 生成授权地址函数 url($params) 回调地址函数 callback($params)3、插件信息函数 meta() 参数键名(固定不能修改)是否必填描述name是插件名称description否插件描述author否开发者logo_url是接口图片地址,会在后台设置/客户登录页,绑定账号页面显示这个图片。格式如下:return [ 'name' => '微信登录',//插件名称 'description' => '微信登录',//描述 'author' => '智简魔方',//开发者 'logo_url'=> 'weixin.svg',//接口图片地址,会在后台设置/客户登录页,绑定账号页面显示这个图片。];复制代码备注:meta() 返回的是一维数组4、插件接口配置信息 config()参数键名(固定不能改)是否必填描述type是type值 有 text ,textarea(只能这两种类型)name是name 的值自定义,在下面的url和callback中会使用到desc否描述信息格式如下:return [ 'App Key'=> [ 'type' => 'text', 'name' => 'appid', 'desc' => '应用唯一标识,在微信开放平台提交应用审核通过后获得' ], 'App Secret'=> [ 'type' => 'text', 'name' => 'appSecret', 'desc' => '应用密钥AppSecret,在微信开放平台提交应用审核通过后获得' ],];复制代码备注:config() 返回的是二维数组 上面的例子中的 App Key 和 App Secret不是固定的,自定义5、生成授权地址函数 url($params)接收参数$params ,$params是数组,包含了下面两种信息①数组包含了 config()函数中的所有参数(config函数中name的值就是数组键,②外加一个$params['callback']回调地址 返回的类型:string返回的数据:三方登录地址6、回调地址函数 callback($params)接收参数$params ,$params是数组,包含了下面三种信息①数组包含了 config()函数中的所有参数(就是config()函数中的name的值是这里的键)②外加一个$params['callback']回调地址③三方登录成功后跳转返回的参数 返回的类型:array返回的数据:键名是否必填描述openid是三方登录授权成功后返回的用户唯一标识callbackBind否all,邮箱和手机号任选绑定。bind_mobile,输入手机号绑定,bind_email,输入邮箱绑定login,三方授权登录后跳转到会员中心,直接登录,会创建一个邮箱和手机号是空的用户并绑定该插件模块。不返回这个参数就会默认是all,(如果是在会员中心绑定账号,该参数会忽略,只有在第一次用相应的三方登录的时候才会判断这个参数)data否'username'=>'用户昵称','sex'=>’性别1男2女,只能是这2个值,不是需要转换‘,'province'=>'省份','city'=>'城市','avatar'=>'头像图片',return [ 'openid'=>$openid['openid'],//必须 'data'=>[ 'username'=>'用户昵称', 'sex'=>’性别1男2女,只能是这2个值,不是需要转换‘, 'province'=>'省份', 'city'=>'城市', 'avatar'=>'头像图片', ], 'callbackBind'=>'all',];复制代码说明:1)、在申请第三方登录API的时候,有的会要求填回调地址 回调地址就是(当前的域名/oauth/callback/当前开发的插件文件名,例如微信扫码登陆,的回调地址http://www.xxx.com/oauth/callback/weixin)。有的要求填回调域,就填当前域名网址(例如http://www.xxx.com/)。2)、插件目录名和文件名和类名要一致。