[ios]ios复制优惠券打开淘宝(连载12)
国际惯例,先看看我们的成果。### 开发环境
> Xocde 12.4
>
> Swift 5.3
>
> Mac OS 10.15.6
###生成商品优惠券
接口
```shell
https://api.sunofbeach.net/shop/tpwd
post
body:
{
"title":"商品的title",
"url":"https: + couponClickUrl"
}
//返回数据
{
"success": true,
"code": 10000,
"message": "淘宝口令构建成功!",
"data": {
"tbk_tpwd_create_response": {
"data": {
"model": "4¥rm11X0tDlMV¥ https://m.tb.cn/h.4Mybft3亲亲纯蛋糕400g零食早餐速食整箱懒人面包手工鸡蛋糕點营养食品"
},
"request_id": "nx55f5sw7i9b"
}
}
}
```
编写返回数据的模型
```java
把上面返回的json复制,然后打开软件JSONExport。选择swift,object mapping一件生成。
```
请求接口部分
```swift
func getCoupons() {
//获取优惠券
//let paraData = CouponsPara(title: goodsData?.title ?? "", url: goodsData?.couponClickUrl ?? "")
//获取优惠券的url
let clickUrl = goodsData?.couponClickUrl ?? ""
//拼接https
let targetUrl = "https:\(clickUrl)"
let paraData: NSDictionary = ["title":goodsData?.title ?? "", "url":targetUrl]
let headers = [
"Content-Type": "application/json"
]
Alamofire.request(UnionApi.getCouponsUrl(), method: .post, parameters: paraData as! Parameters,encoding: JSONEncoding.default, headers: headers).responseObject{(response: DataResponse<CouponsResult>) in
let data = response.result.value
//print(data?.data?.tbkTpwdCreateResponse?.data?.model)
//显示优惠券数据
if let model = data?.data?.tbkTpwdCreateResponse?.data?.model{
self.labCouponContent.text = model
}
}
}
```
获取成功之后,显示到页面上面就行了。设置text。
### 把优惠券复制到粘贴板和打开淘宝
### !(https://www.moonlightshadow.cn/portal/image/1616850923005_825478130717163520.png)
复制文本到粘贴板很简单
```swift
UIPasteboard.general.string = "需要放到粘贴板的文本"
```
打开一个窗口,让我们选择是否直接打开淘宝
```swift
// 复制到粘贴板中
@objc func copyToPasteboard(sender: UIButton){
//UIPasteboard.general.string = self.labCouponContent.text
let pboard = UIPasteboard.general
pboard.string = self.labCouponContent.text
let titleStr = "淘口令复制成功,是否跳转到手机淘宝APP?"
let jumpStr = "taobao://item.taobao.com/item.htm"
let alertCtr = UIAlertController.init(title: titleStr, message: nil, preferredStyle: UIAlertController.Style.alert)
alertCtr.addAction(UIAlertAction.init(title: "取消", style: UIAlertAction.Style.cancel, handler: nil))
alertCtr.addAction(UIAlertAction.init(title: "确定", style: UIAlertAction.Style.default, handler: { (action) in
if let url = URL.init(string: jumpStr) {
if UIApplication.shared.canOpenURL(url) == true {
UIApplication.shared.openURL(url)
} else {
let alertC = UIAlertController.init(title: "您未安装手机淘宝APP,是否前往AppStore下载安装?", message: nil, preferredStyle: UIAlertController.Style.alert)
alertC.addAction(UIAlertAction.init(title: "取消", style: UIAlertAction.Style.cancel, handler: nil))
alertC.addAction(UIAlertAction.init(title: "确定", style: UIAlertAction.Style.default, handler: { (action: UIAlertAction) in
let AppStoreVC = UIViewController.init()
AppStoreVC.modalTransitionStyle = UIModalTransitionStyle.coverVertical
let webView = UIWebView.init(frame: AppStoreVC.view.bounds)
let request = NSURLRequest.init(url: URL.init(string: "itms-apps://itunes.apple.com/cn/app/tao-bao-sui-shi-sui-xiang/id387682726?mt=8")!) //AppStore手机淘宝地址
webView.loadRequest(request as URLRequest)
AppStoreVC.view.addSubview(webView)
self.present(AppStoreVC, animated: true, completion: {
AppStoreVC.dismiss(animated: true, completion: nil)
})
}))
self.present(alertC, animated: true, completion: nil)
}
}
}))
self.present(alertCtr, animated: true, completion: nil)
}
```
这样打开,是会失败的,我们还需要在`info.plist`中配置一个值,支持打开淘宝和天猫
```shell
LSApplicationQueriesSchemes
Array类型
保存2个值,taobao,tmall
```
代码地址:
https://github.com/cat13954/IOSUiTableViewSample
> 最近比较忙,一个星期没更新了,今天就先到这里先啦
>
> 下一篇文章的内容,应该是显示多个不同类型的商品列表
dxaw2458 发表于 2021-3-29 19:00
好吧 我还是慢慢的先把你的帖子看完先 就一台电脑 win 有ios开发的基础教程没 ?
https://www.bilibili.com/video/BV144411C7Gg
https://www.bilibili.com/video/BV1NJ411T78u/?spm_id_from=333.788.recommend_more_video.1
我是看这2个自学的。
熟悉oc基础,然后熟悉swift的基础,就直接开始写app了。遇到不懂的就查。 如此如何 发表于 2021-3-27 23:35
怎么使用啊 看不懂
开发环境xocde 12,语言swift 5+。
这个iOS的app来的。需要swift基础才好看,如果你有其他语言基础也很好学习的。
你可以翻翻,我个人中心,里面我已经写了10篇文章了,从最开始的页面编写,到现在这样模样。
文章末尾有整个项目的代码。直接下载就行了。 好家伙,又更新了,太快了吧{:301_997:} 太厉害了,这下就方便了 感谢楼主分享 lyl610abc 发表于 2021-3-27 21:33
好家伙,又更新了,太快了吧
离开家里一周了,今天得补回来了,很舒服:lol cjc3528 发表于 2021-3-27 21:43
太厉害了,这下就方便了
哈哈,我是一个小萌新,如何喜欢一起学习{:1_918:} 莫问刀 发表于 2021-3-27 22:30
哈哈,我是一个小萌新,如何喜欢一起学习
大佬又开始装萌新了{:301_998:}
我才是真萌新{:301_980:} 微信中打开复制 会提示跳转吗
谢谢老板热心分享,~~{:1_893:} 感谢分享哈~~~~~~~~~~~~~~~~