unigui同页面内重定向跳转,企业微信内部应用开发获取用户code例子

Delphi 复制代码
procedure TMainForm.UniFormCreate(Sender: TObject);
var
  url: string;
  code: string;
begin
//如果没有code值,将进行重定向
  if UniApplication.Parameters.Values['code'] = '' then
  begin
    url :=
      'https://open.weixin.qq.com/connect/oauth2/authorize?appid=你们的企业ID&redirect_uri=' +
      '这里放原网站原域名地址,需要和企业微信应用中的可信域名一致&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect ';
    unisession.addjs('window.location.href="' + url + '";')
  end
  else
  begin
//读取到code,也就是可以进一步解析到用户的信息了
    ShowMessage(UniApplication.Parameters.Values['code']);
  end;
end;

当用户在非企业微信中打开时,将提示:

企业微信中打开会获取到code的代码

后续逻辑就根据自己的应用场景进行操作,可以通过code发送给后端认证服务,之后返回用户的基础信息,也可以直接在unigui中进行直接读取。

相关推荐
guhy fighting3 分钟前
new Map,Array.from,Object.entries的作用以及使用方法
开发语言·前端·javascript
大漠_w3cpluscom4 分钟前
CSS 技巧:CSS 单位使用指南
前端
STATICHIT静砸15 分钟前
了解Monorepo结构
前端
星光不问赶路人27 分钟前
Node.js 如何判断入口文件:从 require.main 到 ES Module 实现
前端·node.js
Hello--_--World37 分钟前
Vue2的 双端 diff算法 与 Vue3 的 快速diff 算法
前端·vue.js·算法
gongzemin1 小时前
怎么在VS Code 调试vue2 源码
前端·vue.js
烟话61 小时前
Vue3响应式原理【通俗理解】
前端·javascript·vue.js
浩星1 小时前
electron系列5:深入理解Electron打包
前端·javascript·electron
患得患失9491 小时前
【前端WebSocket】心跳功能,心跳重置策略、双向确认(Ping-Pong) 以及 指数退避算法(Exponential Backoff)
前端·websocket·算法