index.obj.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  1. const uniIdCommon = require('uni-id-common')
  2. const uniCaptcha = require('uni-captcha')
  3. const {
  4. getType,
  5. checkIdCard
  6. } = require('./common/utils')
  7. const {
  8. checkClientInfo,
  9. Validator
  10. } = require('./common/validator')
  11. const ConfigUtils = require('./lib/utils/config')
  12. const {
  13. isUniIdError,
  14. ERROR
  15. } = require('./common/error')
  16. const middleware = require('./middleware/index')
  17. const universal = require('./common/universal')
  18. const {
  19. registerAdmin,
  20. registerUser,
  21. registerUserByEmail
  22. } = require('./module/register/index')
  23. const {
  24. addUser,
  25. updateUser
  26. } = require('./module/admin/index')
  27. const {
  28. login,
  29. loginBySms,
  30. loginByUniverify,
  31. loginByWeixin,
  32. loginByAlipay,
  33. loginByQQ,
  34. loginByApple,
  35. loginByWeixinMobile
  36. } = require('./module/login/index')
  37. const {
  38. logout
  39. } = require('./module/logout/index')
  40. const {
  41. bindMobileBySms,
  42. bindMobileByUniverify,
  43. bindMobileByMpWeixin,
  44. bindAlipay,
  45. bindApple,
  46. bindQQ,
  47. bindWeixin,
  48. unbindWeixin,
  49. unbindAlipay,
  50. unbindQQ,
  51. unbindApple
  52. } = require('./module/relate/index')
  53. const {
  54. setPwd,
  55. updatePwd,
  56. resetPwdBySms,
  57. resetPwdByEmail,
  58. closeAccount,
  59. getAccountInfo,
  60. getRealNameInfo
  61. } = require('./module/account/index')
  62. const {
  63. createCaptcha,
  64. refreshCaptcha,
  65. sendSmsCode,
  66. sendEmailCode
  67. } = require('./module/verify/index')
  68. const {
  69. refreshToken,
  70. setPushCid,
  71. secureNetworkHandshakeByWeixin
  72. } = require('./module/utils/index')
  73. const {
  74. getInvitedUser,
  75. acceptInvite
  76. } = require('./module/fission')
  77. const {
  78. authorizeAppLogin,
  79. removeAuthorizedApp,
  80. setAuthorizedApp
  81. } = require('./module/multi-end')
  82. const {
  83. getSupportedLoginType
  84. } = require('./module/dev/index')
  85. const {
  86. externalRegister,
  87. externalLogin,
  88. updateUserInfoByExternal
  89. } = require('./module/external')
  90. const {
  91. getFrvCertifyId,
  92. getFrvAuthResult
  93. } = require('./module/facial-recognition-verify')
  94. module.exports = {
  95. async _before () {
  96. // 支持 callFunction 与 URL化
  97. universal.call(this)
  98. const clientInfo = this.getUniversalClientInfo()
  99. /**
  100. * 检查clientInfo,无appId和uniPlatform时本云对象无法正常运行
  101. * 此外需要保证用到的clientInfo字段均经过类型检查
  102. * clientInfo由客户端上传并非完全可信,clientInfo内除clientIP、userAgent、source外均为客户端上传参数
  103. * 否则可能会出现一些意料外的情况
  104. */
  105. checkClientInfo(clientInfo)
  106. let clientPlatform = clientInfo.uniPlatform
  107. // 统一platform名称
  108. switch (clientPlatform) {
  109. case 'app':
  110. case 'app-plus':
  111. clientPlatform = 'app'
  112. break
  113. case 'web':
  114. case 'h5':
  115. clientPlatform = 'web'
  116. break
  117. default:
  118. break
  119. }
  120. this.clientPlatform = clientPlatform
  121. // 挂载uni-id实例到this上,方便后续调用
  122. this.uniIdCommon = uniIdCommon.createInstance({
  123. clientInfo
  124. })
  125. // 包含uni-id配置合并等功能的工具集
  126. this.configUtils = new ConfigUtils({
  127. context: this
  128. })
  129. this.config = this.configUtils.getPlatformConfig()
  130. this.hooks = this.configUtils.getHooks()
  131. this.validator = new Validator({
  132. passwordStrength: this.config.passwordStrength
  133. })
  134. // 扩展 validator 增加 验证身份证号码合法性
  135. this.validator.mixin('idCard', function (idCard) {
  136. if (!checkIdCard(idCard)) {
  137. return {
  138. errCode: ERROR.INVALID_ID_CARD
  139. }
  140. }
  141. })
  142. this.validator.mixin('realName', function (realName) {
  143. if (
  144. typeof realName !== 'string' ||
  145. realName.length < 2 ||
  146. !/^[\u4e00-\u9fa5]{1,10}(·?[\u4e00-\u9fa5]{1,10}){0,5}$/.test(realName)
  147. ) {
  148. return {
  149. errCode: ERROR.INVALID_REAL_NAME
  150. }
  151. }
  152. })
  153. /**
  154. * 示例:覆盖密码验证规则
  155. */
  156. // this.validator.mixin('password', function (password) {
  157. // if (typeof password !== 'string' || password.length < 10) {
  158. // // 调整为密码长度不能小于10
  159. // return {
  160. // errCode: ERROR.INVALID_PASSWORD
  161. // }
  162. // }
  163. // })
  164. /**
  165. * 示例:新增验证规则
  166. */
  167. // this.validator.mixin('timestamp', function (timestamp) {
  168. // if (typeof timestamp !== 'number' || timestamp > Date.now()) {
  169. // return {
  170. // errCode: ERROR.INVALID_PARAM
  171. // }
  172. // }
  173. // })
  174. // // 新增规则同样可以在数组验证规则中使用
  175. // this.validator.valdate({
  176. // timestamp: 123456789
  177. // }, {
  178. // timestamp: 'timestamp'
  179. // })
  180. // this.validator.valdate({
  181. // timestampList: [123456789, 123123123123]
  182. // }, {
  183. // timestampList: 'array<timestamp>'
  184. // })
  185. // // 甚至更复杂的写法
  186. // this.validator.valdate({
  187. // timestamp: [123456789, 123123123123]
  188. // }, {
  189. // timestamp: 'timestamp|array<timestamp>'
  190. // })
  191. // 挂载uni-captcha到this上,方便后续调用
  192. this.uniCaptcha = uniCaptcha
  193. Object.defineProperty(this, 'uniOpenBridge', {
  194. get () {
  195. return require('uni-open-bridge-common')
  196. }
  197. })
  198. // 挂载中间件
  199. this.middleware = {}
  200. for (const mwName in middleware) {
  201. this.middleware[mwName] = middleware[mwName].bind(this)
  202. }
  203. // 国际化
  204. const messages = require('./lang/index')
  205. const fallbackLocale = 'zh-Hans'
  206. const i18n = uniCloud.initI18n({
  207. locale: clientInfo.locale,
  208. fallbackLocale,
  209. messages: JSON.parse(JSON.stringify(messages))
  210. })
  211. if (!messages[i18n.locale]) {
  212. i18n.setLocale(fallbackLocale)
  213. }
  214. this.t = i18n.t.bind(i18n)
  215. this.response = {}
  216. // 请求鉴权验证
  217. await this.middleware.verifyRequestSign()
  218. // 通用权限校验模块
  219. await this.middleware.accessControl()
  220. },
  221. _after (error, result) {
  222. if (error) {
  223. // 处理中间件内抛出的标准响应对象
  224. if (error.errCode && getType(error) === 'object') {
  225. const errCode = error.errCode
  226. if (!isUniIdError(errCode)) {
  227. return error
  228. }
  229. return {
  230. errCode,
  231. errMsg: error.errMsg || this.t(errCode, error.errMsgValue)
  232. }
  233. }
  234. throw error
  235. }
  236. return Object.assign(this.response, result)
  237. },
  238. /**
  239. * 注册管理员
  240. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#register-admin
  241. * @param {Object} params
  242. * @param {String} params.username 用户名
  243. * @param {String} params.password 密码
  244. * @param {String} params.nickname 昵称
  245. * @returns
  246. */
  247. registerAdmin,
  248. /**
  249. * 新增用户
  250. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#add-user
  251. * @param {Object} params
  252. * @param {String} params.username 用户名
  253. * @param {String} params.password 密码
  254. * @param {String} params.nickname 昵称
  255. * @param {Array} params.authorizedApp 允许登录的AppID列表
  256. * @param {Array} params.role 用户角色列表
  257. * @param {String} params.mobile 手机号
  258. * @param {String} params.email 邮箱
  259. * @param {Array} params.tags 用户标签
  260. * @param {Number} params.status 用户状态
  261. * @returns
  262. */
  263. addUser,
  264. /**
  265. * 修改用户
  266. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#update-user
  267. * @param {Object} params
  268. * @param {String} params.id 要更新的用户id
  269. * @param {String} params.username 用户名
  270. * @param {String} params.password 密码
  271. * @param {String} params.nickname 昵称
  272. * @param {Array} params.authorizedApp 允许登录的AppID列表
  273. * @param {Array} params.role 用户角色列表
  274. * @param {String} params.mobile 手机号
  275. * @param {String} params.email 邮箱
  276. * @param {Array} params.tags 用户标签
  277. * @param {Number} params.status 用户状态
  278. * @returns
  279. */
  280. updateUser,
  281. /**
  282. * 授权用户登录应用
  283. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#authorize-app-login
  284. * @param {Object} params
  285. * @param {String} params.uid 用户id
  286. * @param {String} params.appId 授权的应用的AppId
  287. * @returns
  288. */
  289. authorizeAppLogin,
  290. /**
  291. * 移除用户登录授权
  292. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#remove-authorized-app
  293. * @param {Object} params
  294. * @param {String} params.uid 用户id
  295. * @param {String} params.appId 取消授权的应用的AppId
  296. * @returns
  297. */
  298. removeAuthorizedApp,
  299. /**
  300. * 设置用户允许登录的应用列表
  301. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#set-authorized-app
  302. * @param {Object} params
  303. * @param {String} params.uid 用户id
  304. * @param {Array} params.appIdList 允许登录的应用AppId列表
  305. * @returns
  306. */
  307. setAuthorizedApp,
  308. /**
  309. * 注册普通用户
  310. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#register-user
  311. * @param {Object} params
  312. * @param {String} params.username 用户名
  313. * @param {String} params.password 密码
  314. * @param {String} params.captcha 图形验证码
  315. * @param {String} params.nickname 昵称
  316. * @param {String} params.inviteCode 邀请码
  317. * @returns
  318. */
  319. registerUser,
  320. /**
  321. * 通过邮箱+验证码注册用户
  322. * @param {Object} params
  323. * @param {String} params.email 邮箱
  324. * @param {String} params.password 密码
  325. * @param {String} params.nickname 昵称
  326. * @param {String} params.code 邮箱验证码
  327. * @param {String} params.inviteCode 邀请码
  328. * @returns
  329. */
  330. registerUserByEmail,
  331. /**
  332. * 用户名密码登录
  333. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#login
  334. * @param {Object} params
  335. * @param {String} params.username 用户名
  336. * @param {String} params.mobile 手机号
  337. * @param {String} params.email 邮箱
  338. * @param {String} params.password 密码
  339. * @param {String} params.captcha 图形验证码
  340. * @returns
  341. */
  342. login,
  343. /**
  344. * 短信验证码登录
  345. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#login-by-sms
  346. * @param {Object} params
  347. * @param {String} params.mobile 手机号
  348. * @param {String} params.code 短信验证码
  349. * @param {String} params.captcha 图形验证码
  350. * @param {String} params.inviteCode 邀请码
  351. * @returns
  352. */
  353. loginBySms,
  354. /**
  355. * App端一键登录
  356. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#login-by-univerify
  357. * @param {Object} params
  358. * @param {String} params.access_token APP端一键登录返回的access_token
  359. * @param {String} params.openid APP端一键登录返回的openid
  360. * @param {String} params.inviteCode 邀请码
  361. * @returns
  362. */
  363. loginByUniverify,
  364. /**
  365. * 微信登录
  366. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#login-by-weixin
  367. * @param {Object} params
  368. * @param {String} params.code 微信登录返回的code
  369. * @param {String} params.inviteCode 邀请码
  370. * @returns
  371. */
  372. loginByWeixin,
  373. /**
  374. * 支付宝登录
  375. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#login-by-alipay
  376. * @param {Object} params
  377. * @param {String} params.code 支付宝小程序客户端登录返回的code
  378. * @param {String} params.inviteCode 邀请码
  379. * @returns
  380. */
  381. loginByAlipay,
  382. /**
  383. * QQ登录
  384. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#login-by-qq
  385. * @param {Object} params
  386. * @param {String} params.code QQ小程序登录返回的code参数
  387. * @param {String} params.accessToken App端QQ登录返回的accessToken参数
  388. * @param {String} params.accessTokenExpired accessToken过期时间,由App端QQ登录返回的expires_in参数计算而来,单位:毫秒
  389. * @param {String} params.inviteCode 邀请码
  390. * @returns
  391. */
  392. loginByQQ,
  393. /**
  394. * 苹果登录
  395. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#login-by-apple
  396. * @param {Object} params
  397. * @param {String} params.identityToken 苹果登录返回的identityToken
  398. * @param {String} params.nickname 用户昵称
  399. * @param {String} params.inviteCode 邀请码
  400. * @returns
  401. */
  402. loginByApple,
  403. loginByWeixinMobile,
  404. /**
  405. * 用户退出登录
  406. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#logout
  407. * @returns
  408. */
  409. logout,
  410. /**
  411. * 通过短信验证码绑定手机号
  412. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#bind-mobile-by-sms
  413. * @param {Object} params
  414. * @param {String} params.mobile 手机号
  415. * @param {String} params.code 短信验证码
  416. * @param {String} params.captcha 图形验证码
  417. * @returns
  418. */
  419. bindMobileBySms,
  420. /**
  421. * 通过一键登录绑定手机号
  422. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#bind-mobile-by-univerify
  423. * @param {Object} params
  424. * @param {String} params.openid APP端一键登录返回的openid
  425. * @param {String} params.access_token APP端一键登录返回的access_token
  426. * @returns
  427. */
  428. bindMobileByUniverify,
  429. /**
  430. * 通过微信绑定手机号
  431. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#bind-mobile-by-mp-weixin
  432. * @param {Object} params
  433. * @param {String} params.encryptedData 微信获取手机号返回的加密信息
  434. * @param {String} params.iv 微信获取手机号返回的初始向量
  435. * @returns
  436. */
  437. bindMobileByMpWeixin,
  438. /**
  439. * 绑定微信
  440. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#bind-weixin
  441. * @param {Object} params
  442. * @param {String} params.code 微信登录返回的code
  443. * @returns
  444. */
  445. bindWeixin,
  446. /**
  447. * 绑定QQ
  448. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#bind-qq
  449. * @param {Object} params
  450. * @param {String} params.code 小程序端QQ登录返回的code
  451. * @param {String} params.accessToken APP端QQ登录返回的accessToken
  452. * @param {String} params.accessTokenExpired accessToken过期时间,由App端QQ登录返回的expires_in参数计算而来,单位:毫秒
  453. * @returns
  454. */
  455. bindQQ,
  456. /**
  457. * 绑定支付宝账号
  458. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#bind-alipay
  459. * @param {Object} params
  460. * @param {String} params.code 支付宝小程序登录返回的code参数
  461. * @returns
  462. */
  463. bindAlipay,
  464. /**
  465. * 绑定苹果账号
  466. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#bind-apple
  467. * @param {Object} params
  468. * @param {String} params.identityToken 苹果登录返回identityToken
  469. * @returns
  470. */
  471. bindApple,
  472. /**
  473. * 更新密码
  474. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#update-pwd
  475. * @param {object} params
  476. * @param {string} params.oldPassword 旧密码
  477. * @param {string} params.newPassword 新密码
  478. * @returns {object}
  479. */
  480. updatePwd,
  481. /**
  482. * 通过短信验证码重置密码
  483. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#reset-pwd-by-sms
  484. * @param {object} params
  485. * @param {string} params.mobile 手机号
  486. * @param {string} params.mobile 短信验证码
  487. * @param {string} params.password 密码
  488. * @param {string} params.captcha 图形验证码
  489. * @returns {object}
  490. */
  491. resetPwdBySms,
  492. /**
  493. * 通过邮箱验证码重置密码
  494. * @param {object} params
  495. * @param {string} params.email 邮箱
  496. * @param {string} params.code 邮箱验证码
  497. * @param {string} params.password 密码
  498. * @param {string} params.captcha 图形验证码
  499. * @returns {object}
  500. */
  501. resetPwdByEmail,
  502. /**
  503. * 注销账户
  504. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#close-account
  505. * @returns
  506. */
  507. closeAccount,
  508. /**
  509. * 获取账户账户简略信息
  510. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#get-account-info
  511. */
  512. getAccountInfo,
  513. /**
  514. * 创建图形验证码
  515. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#create-captcha
  516. * @param {Object} params
  517. * @param {String} params.scene 图形验证码使用场景
  518. * @returns
  519. */
  520. createCaptcha,
  521. /**
  522. * 刷新图形验证码
  523. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#refresh-captcha
  524. * @param {Object} params
  525. * @param {String} params.scene 图形验证码使用场景
  526. * @returns
  527. */
  528. refreshCaptcha,
  529. /**
  530. * 发送短信验证码
  531. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#send-sms-code
  532. * @param {Object} params
  533. * @param {String} params.mobile 手机号
  534. * @param {String} params.captcha 图形验证码
  535. * @param {String} params.scene 短信验证码使用场景
  536. * @returns
  537. */
  538. sendSmsCode,
  539. /**
  540. * 发送邮箱验证码
  541. * @tutorial 需自行实现功能
  542. * @param {Object} params
  543. * @param {String} params.email 邮箱
  544. * @param {String} params.captcha 图形验证码
  545. * @param {String} params.scene 短信验证码使用场景
  546. * @returns
  547. */
  548. sendEmailCode,
  549. /**
  550. * 刷新token
  551. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#refresh-token
  552. */
  553. refreshToken,
  554. /**
  555. * 接受邀请
  556. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#accept-invite
  557. * @param {Object} params
  558. * @param {String} params.inviteCode 邀请码
  559. * @returns
  560. */
  561. acceptInvite,
  562. /**
  563. * 获取受邀用户
  564. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#get-invited-user
  565. * @param {Object} params
  566. * @param {Number} params.level 获取受邀用户的级数,1表示直接邀请的用户
  567. * @param {Number} params.limit 返回数据大小
  568. * @param {Number} params.offset 返回数据偏移
  569. * @param {Boolean} params.needTotal 是否需要返回总数
  570. * @returns
  571. */
  572. getInvitedUser,
  573. /**
  574. * 更新device表的push_clien_id
  575. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#set-push-cid
  576. * @param {object} params
  577. * @param {string} params.pushClientId 客户端pushClientId
  578. * @returns
  579. */
  580. setPushCid,
  581. /**
  582. * 获取支持的登录方式
  583. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#get-supported-login-type
  584. * @returns
  585. */
  586. getSupportedLoginType,
  587. /**
  588. * 解绑微信
  589. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#unbind-weixin
  590. * @returns
  591. */
  592. unbindWeixin,
  593. /**
  594. * 解绑支付宝
  595. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#unbind-alipay
  596. * @returns
  597. */
  598. unbindAlipay,
  599. /**
  600. * 解绑QQ
  601. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#unbind-qq
  602. * @returns
  603. */
  604. unbindQQ,
  605. /**
  606. * 解绑Apple
  607. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#unbind-apple
  608. * @returns
  609. */
  610. unbindApple,
  611. /**
  612. * 安全网络握手,目前仅处理微信小程序安全网络握手
  613. */
  614. secureNetworkHandshakeByWeixin,
  615. /**
  616. * 设置密码
  617. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#set-pwd
  618. * @returns
  619. */
  620. setPwd,
  621. /**
  622. * 外部注册用户
  623. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#external-register
  624. * @param {object} params
  625. * @param {string} params.externalUid 业务系统的用户id
  626. * @param {string} params.nickname 昵称
  627. * @param {string} params.gender 性别
  628. * @param {string} params.avatar 头像
  629. * @returns {object}
  630. */
  631. externalRegister,
  632. /**
  633. * 外部用户登录
  634. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#external-login
  635. * @param {object} params
  636. * @param {string} params.userId uni-id体系用户id
  637. * @param {string} params.externalUid 业务系统的用户id
  638. * @returns {object}
  639. */
  640. externalLogin,
  641. /**
  642. * 使用 userId 或 externalUid 获取用户信息
  643. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#external-update-userinfo
  644. * @param {object} params
  645. * @param {string} params.userId uni-id体系的用户id
  646. * @param {string} params.externalUid 业务系统的用户id
  647. * @param {string} params.nickname 昵称
  648. * @param {string} params.gender 性别
  649. * @param {string} params.avatar 头像
  650. * @returns {object}
  651. */
  652. updateUserInfoByExternal,
  653. /**
  654. * 获取认证ID
  655. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#get-frv-certify-id
  656. * @param {Object} params
  657. * @param {String} params.realName 真实姓名
  658. * @param {String} params.idCard 身份证号码
  659. * @returns
  660. */
  661. getFrvCertifyId,
  662. /**
  663. * 查询认证结果
  664. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#get-frv-auth-result
  665. * @param {Object} params
  666. * @param {String} params.certifyId 认证ID
  667. * @param {String} params.needAlivePhoto 是否获取认证照片,Y_O (原始图片)、Y_M(虚化,背景马赛克)、N(不返图)
  668. * @returns
  669. */
  670. getFrvAuthResult,
  671. /**
  672. * 获取实名信息
  673. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#get-realname-info
  674. * @param {Object} params
  675. * @param {Boolean} params.decryptData 是否解密数据
  676. * @returns
  677. */
  678. getRealNameInfo
  679. }