Advertisement
Guest User

Untitled

a guest
May 12th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. //rpc file
  2. message LoginRequest {
  3. string userName = 1;
  4. string password = 2;
  5. }
  6.  
  7. message LoginResponse {
  8. string userName = 1;
  9. string password = 2;
  10. }
  11.  
  12. rpc login(LoginRequest) returns (LoginResponse) {
  13. option (error) = "Error";
  14. }
  15.  
  16. //rpc request file
  17. import {
  18. LoginReq,
  19. LoginResp,
  20. } from './LoginServiceObjs';
  21. import { generateUrl, errorHandling } from './helper';
  22. import promisify from "../utils/util"
  23.  
  24. const wxPromisify = promisify(wx)
  25. const wxRequest = wxPromisify('request')
  26.  
  27. export function Login(params:LoginReq): Promise<LoginResp|never> {
  28. let url: string = generateUrl(baseUrl, "LoginService", "MiniProgramLogin");
  29. wxPromisify(param).then(res =>{
  30. if (typeof res.data === 'string') {
  31. try {
  32. var data = JSON.parse(res.data);
  33. return Promise.resolve(data as MiniProgramLoginResp)
  34. } catch (e) {
  35. return Promise.reject(res.data);
  36. }
  37. }
  38. return Promise.reject(res.data);
  39. }).catch(err => {
  40. // handle error response
  41. return errorHandling(err)
  42. });
  43. }
  44.  
  45.  
  46. //promisify file
  47. /**
  48. * fn {function} API service
  49. */
  50.  
  51. const promisify = (wx) => {
  52. return (method) => {
  53. return (option) => {
  54. return new Promise ((resolve,reject) => {
  55. wx[method]({
  56. ...option,
  57. success:(res) => { resolve(res) },
  58. fail: (err) => {reject(err)}
  59. })
  60. })
  61. }
  62. }
  63. }
  64.  
  65. export default promisify
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement