紫菜是什么颜色| 真菌感染是什么引起的| 总出虚汗什么原因怎么解决| 琪字五行属什么| 仰卧是什么姿势| 肯德基为什么叫kfc| 7月份是什么星座| 虫加合念什么| 1988年什么命| 敖是什么意思| 豕是什么动物| 舌战群儒是什么意思| 草字头下面一个高字读什么| 脾大是怎么回事有什么危害| 泡脚有什么好处和坏处| 真菌镜检阴性是什么意思| us什么意思| 一天当中什么时候最热| 汉坦病毒是什么病| 痱子用什么药| 和五行属什么| 775是什么意思| 葳蕤是什么意思| 姑娘是什么意思| 里急后重吃什么药最好| 刮痧有什么好处| 甲状腺是什么部位| 蜜蜂吃什么食物| 66什么意思| ups是什么快递公司| 子宫在什么位置| 做梦被杀了是什么征兆| 本科专科有什么区别| 冷面是什么做的| 阳痿吃什么药好| editor是什么意思| 夏天做什么菜| 胃老是恶心想吐是什么原因| 今天是什么日子老黄历| 快递客服主要做什么| 心慌挂什么科| 99年发生了什么事情| 人造石是什么材料做的| 无脑是什么意思| 阑尾是干什么用的| 脱水是什么意思| 什么颜色属木| 台湾什么时候收复| 9月30日是什么纪念日| 为什么减肥不建议喝粥| 机智如你是什么意思| 同人文是什么意思| 八月六号是什么星座| 灰指甲有什么特效药可以治好| 三餐两点什么意思| 合伙人是什么意思| 究竟涅盘是什么意思| 吃维生素e软胶囊有什么好处| 八五年属什么生肖| 裹腹是什么意思| 补气补血吃什么药| 恶露是什么意思| 后羿是一个什么样的人| 生忌是什么意思| 什么叫化学| 泡泡纱是什么面料| 增加白细胞吃什么食物最好| 椎间盘膨隆是什么意思| 本科是什么学历| led什么意思| 梦见家被偷了什么预兆| 甘油三酯高是指什么| 本色出演是什么意思| 红颜什么意思| 什么叫肺间质病变| 艾滋病是什么症状| 什么是框架协议| 身份证尾号代表什么| 靠北是什么意思| 姨妈推迟是什么原因| 718什么星座| 幼犬可以吃什么| 孙权孙策什么关系| 早上为什么不能洗澡| 宝宝不吃奶是什么原因| 出圈是什么意思| 什么是脑死亡| 三点水加邑念什么| 1973年属什么生肖| 晖字五行属什么| 晒伤用什么药膏| 女鼠和什么属相最配对| miles是什么意思| 陈百强属什么生肖| 去湿气喝什么好| 脚背痛什么原因引起的| 乩童是什么意思| 十指不沾阳春水什么意思| 摸不到心跳是什么情况| 一什么粽子| 血液科是看什么病| 什么是切片| 666代表什么意思| 癌抗原125是什么意思| 榴莲壳有什么用处| 纯粹的人是什么性格| 什么克水| 最难做的饭是什么| 怎么判断自己什么脸型| u1是什么意思| 司令是什么军衔| 谷氨酰基转移酶低是什么原因| 嘴角烂了擦什么药| 什么叫吐槽| 海灵菇是什么东西| 鱼油有什么用| 小苏打和柠檬酸反应产生什么| 白塞病是什么病| 结核抗体阴性代表什么| 火龙果是什么颜色| 甘油三酯高吃什么食物降得快| 幽门螺旋杆菌阳性代表什么| 捡和拣有什么区别| 鱼肝油又叫什么名字| 3月30日什么星座| 雄字五行属什么| 股骨头坏死有什么症状| 檀是什么意思| 白蛋白低是什么原因| 心肌病是什么病| 吃阿胶有什么好处| 发烧吃什么水果| 提高免疫力吃什么药| 均可是什么意思| 11.22什么星座| 佛牌是什么| 咽炎是什么症状| 植物园有什么植物| 农历10月26日是什么星座| 桥本甲状腺炎有什么症状| 盆腔少量积液什么意思| 左旋是什么| 减肥有什么方法| 92属什么| 血小板过低有什么危害| 什么持不什么| 月经推迟吃什么药| 世界之大无奇不有是什么意思| 前列腺增生吃什么药效果最好| 皮肤一块块白是什么病| 肺结节是什么症状| 补肾吃什么药效果最好| 曾舜晞是什么星座| 三伏吃什么| 睡醒口干舌燥是什么原因| 肺肾两虚吃什么中成药| 一个人自言自语的说话是什么病| 烧碱是什么| 干咳无痰吃什么药好| 马与什么属相相克相冲| 维c不能和什么一起吃| 星字五行属什么| 农转非是什么意思| 手足口挂什么科| 红花和藏红花有什么区别| 弥漫什么意思| 心力衰竭吃什么药最好| 一什么眉毛填量词| 长残了是什么意思| 风起云涌是什么生肖| 牙虫长什么样子| 上朝是什么意思| 牙龈炎吃什么药最有效| 波推飞机什么意思| 荒诞是什么意思| 马齿苋与什么食物相克| 鲁迅是著名的什么家| 1966年属什么| 乌龟死了是什么样子| 爬坡是什么意思| 寄生茶在什么树上最好| .什么意思| 猫咪为什么害怕黄瓜| 血热吃什么| 黄芪加陈皮有什么功效| 中药什么时间喝效果最好| 身份证最后一位x是什么意思| 亚五行属什么| 什么茶好喝又对身体好| 喝莓茶有什么好处| 做nt需要做什么准备| 宇五行属性是什么| 什么叫十二指肠球炎| 北京友谊医院擅长什么| 舌苔厚白吃什么食物好| 臀疗是什么| 支付宝余额和余额宝有什么区别| 鼻炎和鼻窦炎有什么区别| 1902年属什么生肖| 体位是什么意思| 镇团委书记是什么级别| 天妇罗是什么意思| 吃什么油好| 胃息肉是什么原因造成的| 新生儿干呕是什么原因| 外阴白斑瘙痒抹什么药| 病理检查是什么意思| 卧虎藏龙是什么生肖| 化疗是什么样的过程| 嘴唇肿起来一般是什么原因引起的| 吃什么化痰效果最好最快| 什么是宫颈纳囊| 老戏骨是什么意思| 口是心非是什么生肖| 布病吃什么药| 咳嗽有痰吃什么药好得最快最有效| 破伤风有什么作用| 柳絮吃了有什么好处| 什么明月| 坐飞机要带什么证件| 脑梗死吃什么药| 慎独什么意思| 寒酸是什么意思| 抵税是什么意思| 什么是埋线减肥| 孕妇吃红枣对胎儿有什么好处| 小猫吃什么食物| 减肥吃什么坚果| 蜂胶有什么作用和功效| 棕色皮鞋配什么颜色裤子| 等不到天黑烟火不会太完美什么歌| 乌龟喜欢吃什么| 护肝吃什么药| 咳嗽不停是什么原因| 氨基酸是什么| 淼淼是什么意思| 眉头有痣代表什么意思| 射手座男和什么星座最配| 脸上肉跳动是什么原因| 唐伯虎属什么生肖| 为什么妇科病要肛门塞药| 头疼看什么科| 打胰岛素有什么副作用| 鸽子吃什么食物| 女生被操是什么感觉| 一什么沙发| hda是什么| 87年属什么| 肌酐高有什么症状表现| 聚首一堂是指什么生肖| 调理牛肉是什么意思| 蛋白粉什么时候喝效果最好| lady是什么意思啊| 磺胺是什么药| 长红疹是什么原因| 骨质疏松打什么针| 结婚15年是什么婚| 胡萝卜不能和什么食物一起吃| 梦见长白头发是什么意思| 齁不住是什么意思| 变异性哮喘什么症状| 2月9号什么星座| 吃东西容易呛到是什么原因| 肝回声密集是什么意思| 百度

车讯:未来引入中国销售 起亚Stinger国内谍照

百度   首先,我们要把红色基因的内容告诉广大青少年,要将内容融入学校教育。

“人民网+”小程序 提供了支持小程序复用微信登录支付的能力, 针对 wx.login, wx.getUserProfile, button - getphonenumber, requestPayment等常用功能,当小程序运行在 “人民网+”小程序 中时,在配置了之后,可以自动跳转的微信对应的小程序去获取相关的数据,完成业务闭环。

# 1. 快速开始

# 第一步:添加跳转页面

添加跳转页面至微信小程序中,并将微信小程序发布上线。跳转页面作为 “人民网+”小程序与微信小程序的通信桥梁,“人民网+”小程序 目前提供了模板页面快速集成,可以通过以下两种方式获取:

# 方式一:通过 开发者工具自动集成

在 开发者工具中打开小程序工程,选择小程序页面目录-右键-新增授权页,开发者工具将会自动插入相关页面 image.png

# 方式二:自行手动集成

小程序授权页面资源 (opens new window) 下载并解压到小程序中,并将页面路径添加到 app.json

# 第二步:配置关联

前往 “人民网+”小程序 管理后台【小程序管理-我的小程序-微信关联支持-关联微信小程序】进行配置

配置参数

小程序原始id:可在微信公众平台-设置-基本设置-页面底部-原始 id

关联页面:第一步中添加的对应页面路径

# 第三步:APP 实现接口

集成微信开放 SDK,实现打开小程序以及接受回调

# 方式一

集成 “人民网+”小程序 微信扩展 SDK

# 方式二

# iOS 示例代码
// 注入登录方法
    [[FATClient sharedClient] registerExtensionApi:@"login" handler:^(FATAppletInfo *appletInfo, id param, FATExtensionApiCallback callback) {
        NSString *wxid = appletInfo.wechatLoginInfo[@"wechatOriginId"];
        NSString *path = appletInfo.wechatLoginInfo[@"profileUrl"];
        BOOL canWXLogin = [WXApi isWXAppInstalled] && [wxid length] > 0 && [path length] > 0;
        if (!canWXLogin) {
            callback(FATExtensionCodeFailure, @{@"errMsg" : @"login:fail"});
            return;
        }
        self.callback = callback;
        WXLaunchMiniProgramReq *req = [WXLaunchMiniProgramReq object];
        req.userName = wxid;
        req.path = path;
        req.miniProgramType = WXMiniProgramTypeRelease;
        [WXApi sendReq:req completion:^(BOOL success) {
            NSLog(@"打开微信:%d", success);
        }];
    }];

// 注入支付方法
    [[FATClient sharedClient] registerExtensionApi:@"requestPayment" handler:^(FATAppletInfo *appletInfo, id param, FATExtensionApiCallback callback) {
        FATAppletInfo *appInfo = [[FATClient sharedClient] currentApplet];
        NSDictionary *info = appInfo.wechatLoginInfo;
        NSDictionary *dataDic = param;
        NSString *payString = [NSString stringWithFormat:@"?appId=%@&nonceStr=%@&package=%@&paySign=%@&signType=%@&timeStamp=%@&type=%@", dataDic[@"appId"], dataDic[@"nonceStr"], dataDic[@"package"], dataDic[@"paySign"], dataDic[@"signType"], dataDic[@"timeStamp"], dataDic[@"type"]];
        WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
        launchMiniProgramReq.userName = info[@"wechatOriginId"];
        launchMiniProgramReq.path = [NSString stringWithFormat:@"%@%@", info[@"paymentUrl"], payString];
        if (appInfo.appletVersionType == FATAppletVersionTypeRelease) {
            launchMiniProgramReq.miniProgramType = WXMiniProgramTypeRelease; //正式版
        } else if (appInfo.appletVersionType == FATAppletVersionTypeTrial) {
            launchMiniProgramReq.miniProgramType = WXMiniProgramTypePreview; //开发版
        } else {
            launchMiniProgramReq.miniProgramType = WXMiniProgramTypePreview; //体验版
        }
        [WXApi sendReq:launchMiniProgramReq completion:^(BOOL success) {
            NSLog(@"打开微信:%d", success);
        }];
    }];
        
//微信结果回调
- (void)onResp:(BaseResp *)resp {
    FATExtensionCode code = FATExtensionCodeSuccess;
    if (resp.errCode != WXSuccess) {
        code = FATExtensionCodeFailure;
    }
    if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]]) {//打开小程序
        NSString *extMsg = ((WXLaunchMiniProgramResp *)resp).extMsg;
        if (extMsg.length <= 0) {
            self.callback(FATExtensionCodeFailure, nil);
        }
        else {
            self.callback(code, [self dictionaryWithJsonString:extMsg]);
        
        }
    }
}

//字符串转成字典
- (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {
    if (jsonString == nil) return nil;

    NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
    NSError *err;
    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData  options:NSJSONReadingMutableContainers error:&err];
    if(err) {
        NSLog(@"json解析失败:%@",err);
        return nil;
    }
    return dic;
}
# Android 示例代码
class WxModule(context: Context) : AppletApi(context) {
    private var globalWechatLoginCallback: ICallback? = null

    override fun apis(): Array<String> {
        return arrayOf("login", "requestPayment")
    }

    override fun invoke(appId: String, event: String, param: JSONObject, callback: ICallback) {
        val finAppInfo = appletApiManager.getAppletInfo(appId)
        if (finAppInfo == null) {
            callback.onFail()
            return
        }
        val wechatLoginInfo = finAppInfo.wechatLoginInfo
        if (wechatLoginInfo == null || TextUtils.isEmpty(wechatLoginInfo.wechatOriginId)) {
            callback.onFail()
            return
        }
        globalWechatLoginCallback = callback
        when (event) {
            "login"-> login(wechatLoginInfo)
            "requestPayment"-> requestPayment(wechatLoginInfo, param)
        }
    }

    private fun login(wechatLoginInfo: WechatLoginInfo){
        val req = WXLaunchMiniProgram.Req()
        // 微信小程序原始id
        req.userName = wechatLoginInfo.wechatOriginId
        // 拉起小程序页面的可带参路径,不填默认拉起小程序首页
        req.path = wechatLoginInfo.profileUrl ?: ""
        // 可选打开 开发版,体验版和正式版
        req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE
        val done = WXAPiHandler.wxApi?.sendReq(req)
    }

    private fun requestPayment(wechatLoginInfo: WechatLoginInfo, param: JSONObject){
        val req = WXLaunchMiniProgram.Req()
        // 微信小程序原始id
        req.userName = wechatLoginInfo.wechatOriginId
        // 拉起小程序页面的可带参路径,不填默认拉起小程序首页
        // 此处拼接上支付所需的参数
        val profileUrlSB = StringBuilder(wechatLoginInfo.paymentUrl)
        profileUrlSB.append("?type=${param.optString("type")}")
        profileUrlSB.append("&appId=${param.optString("appId")}")
        profileUrlSB.append("&nonceStr=${param.optString("nonceStr")}")
        profileUrlSB.append("&package=${param.optString("package")}")
        profileUrlSB.append("&paySign=${param.optString("paySign")}")
        profileUrlSB.append("&signType=${param.optString("signType")}")
        profileUrlSB.append("&timeStamp=${param.optString("timeStamp")}")
        req.path = profileUrlSB.toString()
        // 可选打开 开发版,体验版和正式版
        req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE
        val done = WXAPiHandler.wxApi?.sendReq(req)
    }
}

/**
 * 微信回调
 *
 * 此示例中无论是login还是requestPayment,都是通过微信小程序去执行,
 * 因此只需处理 WXLaunchMiniProgram 这一种类型的响应即可。
 */
override fun onResp(resp: BaseResp) {
    if (resp is WXLaunchMiniProgram.Resp && !TextUtils.isEmpty(resp.extMsg)) {
        val json = JSONObject()
        json.put("result", resp.extMsg)
        globalWechatLoginCallback?.onSuccess(json)
    } else {
        globalWechatLoginCallback?.onFail()
    }
}

# 2. 原理说明

具体流程图如下所示。

如上图所示,本功能的实现方式如下:

  • “人民网+”小程序调用接口(wx.login, wx.getUserProfilewx.getPhoneNumberwx.requestPayment);
  • App 端注入接口(wx.login, wx.getUserProfilewx.getPhoneNumberwx.requestPayment);
  • App端引入 wx 端 openSDK,获取管理后台配置的微信登录小程序相关信息;
  • 执行 WXLaunchMiniProgram 方法打开微信登录小程序的授权页面;
  • 小程序根据 App 的参数执行相关的微信接口获取信息,并返回 App;
  • App 把接口数据回传给 “人民网+”小程序。

请注意

微信官方公告 (opens new window),自 2021 年 12 月 27 日后不再向开发者输出用户昵称与头像信息,您可能需要自行处理获取用户头像与昵称的相关逻辑。

# 3. 帮助

若您需要使用帮助,可使用 “人民网+”小程序 中的工单功能,或加入开发者社群获得更多帮助与支持。

您也可以查看我们的官方 DEMO 项目(iOS (opens new window)Android (opens new window)),获得更多代码示例。

为什么掉头发很厉害 中气不足是什么意思 猪与什么属相相冲 肾阳虚和肾阴虚有什么区别症状 qeelin是什么牌子
手上为什么会有小水泡 吃巧克力有什么好处 hhh是什么意思 ab和a型血生的孩子是什么血型 黄瓜不能和什么一起吃
奶头疼是什么原因 滋阴润燥是什么意思 诸事顺遂是什么意思 lo什么意思 可可和咖啡有什么区别
青岛市市长什么级别 外阴瘙痒是什么原因 砚是什么东西 综合体是什么意思 乙肝恢复期是什么意思
妈妈的堂哥叫什么hcv8jop1ns1r.cn nos是什么单位hcv8jop7ns2r.cn 肝功能异常挂什么科bfb118.com 傻瓜是什么意思sscsqa.com 真皮是什么皮weuuu.com
热痱子是什么样子图片aiwuzhiyu.com 甲钴胺有什么副作用hcv7jop9ns3r.cn 什么是事实婚姻hcv8jop4ns2r.cn 早上七点是什么时辰hcv9jop4ns6r.cn 金益什么字hcv8jop0ns2r.cn
remember是什么意思hcv8jop8ns4r.cn 海鲜不能和什么食物一起吃hcv8jop8ns7r.cn 左侧腰疼是什么原因clwhiglsz.com 离婚要带什么hcv8jop5ns9r.cn 太平天国失败的根本原因是什么hcv9jop8ns1r.cn
吃完饭恶心是什么原因hcv9jop0ns7r.cn 载歌载舞的载是什么意思hcv9jop6ns8r.cn 梦见采蘑菇是什么预兆hcv9jop1ns8r.cn 白牌车是什么身份onlinewuye.com 咸池是什么意思hcv9jop6ns1r.cn
百度