index.obj.js 21 KB

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